Hallo und einen Guten Abend.
Kurz zu meinem Problem: Ich schreibe gerade an einem Programm, mit dem Kunden Dateien zu uns schicken können. Die Dateien werden vor dem Versenden verschlüsselt. Der Schlüssel wird aus gewissen persönlichen Daten gebildet.
Jetzt könnte man doch aber theoretisch mit einem Reflector rangehen, und schauen wie ich den Schlüssel bilde. Habe jetzt schon ziemlich viel gelesen über Obfuscator und der gleichen gelesen, aber immernoch ein paar Fragen.
Was könnte ich den noch tun, um zu verhinden, das jemand die Schlüsselbildung herausbekommt?
Eine Extra-DLL in C++ kann ich leider nicht machen, da die Vorgabe ist, das nur eine EXE rauskommen darf.
Oder bin ich einfach zu Paranoid???
Bin gespannt auf eure Antworten 🙂
Wünsch euch einen schönen Abend,
Tobias
such mal nach obfuscator, das wird dir weiterhelfen 😉
Hi Balu,
wenn ich das richtig sehe, verschlüsselt der Kunde nur, und nur Ihr müsst nur bei euch entschlüsseln können. Dann verwendet doch ein asymmetrischen Verfahren. RSA. Da kann der Schlüssel auch gern Public sein und jeder darf ihn kennen. Jeder kann alles verschlüsseln. Aber entschlüsseln könnt dann nur ihr. Der Public-Key wird dann einfach mit der Anwendung (irgendwie, in den Konfigs oder so) ausgeliefert.
beste Grüße
zommi
Hallo B A L U,
das Thema hatten wir öfters im Form. Möchtest du deine Anwendung schützen hilft in erster Linie ein Obfuscator, jedoch sind gute Obfuscatoren recht teuer und kostenlose haben nicht sehr großen Schutz.
Aber denk daran, dass wenn du einen Schüssel bzw. einen String hast diesen zu verschlüsseln, da man diese auch im Arbeitsspeicher auslesen kann.
Ansonsten findest du hier: [FAQ] .net Assembly vor Disassembling schützen (Obfuscator) weitere Informationen. Die Forensuche sollte dir auch weiterhelfen. 😉
zero_x
zero_x | <span style="font-size: 10;">my</span><span style="font-size: 10;">CSharp</span><span style="font-size: 10;">.de</span> - gemeinsam mehr erreichen
Für längere Zeit inaktiv.
Hallo B A L U,
Oder bin ich einfach zu Paranoid???
im konkreten Fall würde ich Ja sagen. Wer ist denn der potentielle Angreifer in deinem Szenario? Doch ein Dritter. Dessen Hauptproblem wird ohnehin das Abfangen der Übertragung der verschlüsselten Daten sein, nicht deren Entschlüsselung.
herbivore
Hi,
also wie gesagt mit dem Obfuscator habe ich mich schon beschäftigt.
Mein Horrorszenario wäre halt das jemand meine Exe Refactored, dann die Verschlüsselung rausnimmt, und die Daten an einen anderen Rechner sendet.
Ist sowas konkret möglich?
Falls ja, kann ich mich dafür irgendwie schützen?
Wenn das nicht möglich ist, dann denke ich reicht meine AES verschlüsselung aus...
Viele Grüße
Tobias
Hallo B A L U,
Mein Horrorszenario wäre halt das jemand meine Exe Refactored, dann die Verschlüsselung rausnimmt, und die Daten an einen anderen Rechner sendet.
dazu müsste der Angreifer doch vollen Zugang zum dem Rechner des Angegriffenen haben und könnte damit viel einfacher die Daten gelangen. Also ich halte das Angriffsszenario für eher unwahrscheinlich.
herbivore
Ok, dann bin ich ja beruhigt 🙂
Danke für die Hilfe
Tobias