Passwörter in Klartext im Code Speichern (Sicherheitsfrage?)
-
hi,
ich hab gerade ein Programm geschrieben das über die WinApi eine Datei peer
FTP auf einen Server schiebt. Ich habe die Zugangsdaten direkt im Quelltext
gecodet. Wenn ich jetzt anderen Leuten (vielleicht auch Leuten die Böse sind)
diese Datei schicke, können die anhand der *.exe meine Zugangsdaten bekommen, die
ich im Builder so eingegeben habe?Wenn ja, bietet der Builder eine möglichkeit der verschlüsslung oder
hab ihr andere Tipps für mich.Danke,
d0x.
-
Hallo
Ja grundsätzlich lassen sich String-Literale mit einem Hex-Editor herlesen.
Mit einem Dissambler geht es vielleicht noch einfacher, vor allem wenn noch die Debug-Infos drin sind.Also als erstes las dein Projekt als Final kompilieren, so das die Namen der Variablen nicht übernommen werden. Dann taucht schon mal der Begriff Password o.ä. nicht auf, wenn du sinnvollerweise dein Password-Literal so genannt hast.
Desweiteren kannst du das Literal auch kodieren, am einfachsten per ROT13. Dann must du nur zur Laufzeit wieder entschlüsseln, und nirgendwo in der EXE taucht das Password im Klartext auf.
bis bald
akari
-
Wenn man noch weiter gehen will, kann man die im Link angegebene Komponente verwenden.
http://www.cityinthesky.co.uk/cryptography.html
-
ich schreibe passwörter etc immer verschlüsselt rein (eigene verschlüsselung die sonst keiner kennt). dann wenn die daten gebraucht werden, werden die daten entschlüsselt und benutzt (sind ca. 1sek in einem string gespeichert).
ist das sicher?
-
Hallo
Es gibt keine 100% Sicherheit und damit auch keine allgemeingültige Antwort auf deine Frage.
Den alle bisher entwickelten Prinzipien zur Verschlüsselung lassen sich mit entsprechenden Aufwand knacken. Es stellt sich also eher dir Frage, ob der Aufwand zum Knacken einer verwendete Verschlüsselungsimplementation sich in Bezug zu den dnn zugänglichen Daten lohnt. Und da du selber schreibst das du ein nur dir bekanntes Verfahren verwendest, kannst nur du das beantwortet.
Auf jedenfall ist das aber schon besser als das Passwort im Klartext mit zu kompilieren.bis bald
akari
-
oder man speichert die Passwörter gar nicht mit ab, sondern statt dessen einen Hashwert gegen den man prüfen kann.
-
Hallo
@ Braunstein :
aber das läßt sich grd in diesem Fall nur schlecht machen, denn es geht dem OP um ein fest eingebautes Password für FTP-Zugriff. Das heißt das Password muß im Klartext vorhanden sein, und sei es nur zur aktuellen Laufzeit. Ein Hash reicht da nicht mehr aus.bis bald
akari
-
Das ist natürlich wahr.
-
Das Verschlüsseln kannst du dir sparen, da bei FTP das Passwort immer im Klartext übertragen wird.
D.h. jeder Anwender deines Programmes kann die Login-Daten mit einem Netzwerksniffer auslesen, und die sind heute fast so leicht zu bedienen wie ein Hexeditor.Je nach dem, was du mit den Daten auf dem Server vorhast, solltest du die Zugriffe eher über die Datei- und Verzeichnisberechtigungen auf dem Server steuern. Also z.B. nur das Schreiben erlauben, das Lesen aber verbieten.