Entwickler-Ecke
Algorithmen, Optimierung und Assembler - Sicherheitsproblem in Verbindung mit MD5
andras - Do 05.01.06 23:12
Titel: Sicherheitsproblem in Verbindung mit MD5
hallo!
also ich hab grad mit md5 gearbeitet und bei einem prog das eingebaut um passwörter zu speichern. ich bin jedoch auf eine kleine sicherheitlücke gestoßen (die sicher umgangenwerden kann, nur ich weiß es eben nicht).
bei mir wird der wert in einer textdatei abgelegt. wenn also jetzt jemand diese datei findet braucht er nur den wert der drin steht durch irgendeinen eigenen ersetzten. wenn er jetzt das prog startet braucht er nur sein eigenes kennwort einzugeben und er ist drin.
wie kann man dieses problem beheben??
DaRkFiRe - Fr 06.01.06 00:21
Textdatei mit einem unbekannten Key verschlüsseln.
BenBE - Fr 06.01.06 15:03
Man saltet das Passwort vor dem Verschlüsseln, d.h. man setzt vor das Passwort noch zusätzliche Zeichen:
Delphi-Quelltext
1:
| InhaltDerDatei := MD5('SaltedSoup:=' + MD5(''''+DasPasswort)+''''); |
Ein Angreifer müsste nun erstmal diesen zusätzlichen String in Erfahrung bringen, bevor er sein eigenes Passwort verschlüsseln kann. Dieser Aufwand ist je nach Aufwand für das Verstecken dieses Strings non-trivial (auch wenn es immernoch genug leute geben sollte, die das können.
DaRkFiRe - Fr 06.01.06 15:45
Man muss sich sowieso klar machen, dass es keine absolute Sicherheit gibt - schon gar nicht im PC-Bereich. Man muss den Aufwand mit dem Nutzen abschätzen.
andras - Fr 06.01.06 16:15
ok, dass es keine ABSOLUTE sicherheit gibt, ist mir klar, aber ich wollte halt wissen, wie ich die sicherheit zumindest erhöhen kann.
DaRkFiRe - Fr 06.01.06 16:24
Is ja richtig - dann greift die 2. Regel:
Wieviel Aufwand will ich im Vergleich zum Nutzen betreiben, damit das Programm für bestimmte Gruppen sicher/nicht kompromittierbar wird!?
andras - Fr 06.01.06 16:29
ich hab nur das problem, dass ich einen jüngeren bruder hab, der im moment alles daran setzt, meine passwörter zu durschaun. nachdem ich selbst nach 2 minuten nachdenken über md5 auf mein oberes problem draufgekommen bin, hab ich mir gedacht, ich sollt das etwas sicherer machen. das mit dem dazwischenstreun passt mir aber. DANKE!!
DaRkFiRe - Sa 07.01.06 11:32
Was spricht dagegen, die Textdatei mit einem gehashten Passwort zu verschlüsseln.
Sprich: Encrypt(Text,MD5(Passwort))
Entschlüsselt man sie, hat man immer noch nicht den waren Schlüssel, sondern nur den Hash.
Und: solange der Algorithmus unbekannt ist, bist Du auf der sicheren Seite, wenn Dein Bruder allerdings mit Debuggern und Disassemblern umgehen kann, bist Du aufgeschmissen ;)
tommie-lie - Sa 07.01.06 12:00
andras hat folgendes geschrieben: |
ich hab nur das problem, dass ich einen jüngeren bruder hab, der im moment alles daran setzt, meine passwörter zu durschaun. |
Deinem Profil entnehme ich, daß du (auch) WindowsXP benutzt. Warum nutzt du nicht das Benutzer- und Rechte-Management von NT-Systemen? Richte ihm einen zweiten Benutzer ein ändere das Passwort für deinen Benutzer und entziehe ihm die Leserechte in den Verzeichnissen, in denen er nichts zu lesen hat.
Des Weiteren frage ich mich, was für Passwörter du da hast. Wenn dein Bruder drankommen will, werden es wohl nicht Passwörter deiner Software auf deinem Rechner sein, oder? Wenn du eine Liste deiner verwendeten Passwörter in einer TXT-Datei hast, warum willst du sie dann mit MD5 hashen? Wenn du mal ein Passwort vergisst, kommst du mit MD5 nicht wieder an das Passwort dran. Zur sicheren Verschlüsselung und Signierung von Dateien (und eMails) empfehle ich dir den
GNU Privacy Guard [
http://gnupg.org]. Das sind immerhin Verschlüsselungsverfahren, die reversibel sind.
andras - So 08.01.06 01:19
Zitat: |
Warum nutzt du nicht das Benutzer- und Rechte-Management von NT-Systemen? Richte ihm einen zweiten Benutzer ein ändere das Passwort für deinen Benutzer und entziehe ihm die Leserechte in den Verzeichnissen, in denen er nichts zu lesen hat.
|
so was gibts?!
könntest du mir sagen wie das genauer geht, weil so was such ich schon länger...
Zitat: |
Warum nutzt du nicht das Benutzer- und Rechte-Management von NT-Systemen? Richte ihm einen zweiten Benutzer ein ändere das Passwort für deinen Benutzer und entziehe ihm die Leserechte in den Verzeichnissen, in denen er nichts zu lesen hat.
|
danke, ich glaub mit dem wirds besser funzn. hab md5 eig nur verwendet weil ich einen informatiker mal gefragt hab mit was man passwörter speichert und er md5 gesagt hat.
tommie-lie - So 08.01.06 22:19
andras hat folgendes geschrieben: |
so was gibts?! |
Ja.
andras hat folgendes geschrieben: |
könntest du mir sagen wie das genauer geht, weil so was such ich schon länger... |
Irgendwo in der Systemsteuerung gibt es einen Punkt Benutzer, über den du neue Benutzer anlegen kannst.
Im Eigenschaften-Menü von Dateien müsstest du einen Reiter "Sicherheit" haben, über den ganz du Rechte an gewisse Benutzer verteilen oder sie ihnen entziehen. Das vernünftige Rechtemanagement muss gegebenenfalls erst aktiviert werden, das geht IIRC in den Ordneroptionen (ebenfalls Systemsteuerung), dort ist irgendwo ein Häkchen "Einfache Dateifreigabe verwenden" (oder ähnlich) gesetzt.
Ist schon etwas länger her bei mir, deswegen nur die vagen Informationen.
andras hat folgendes geschrieben: |
hab md5 eig nur verwendet weil ich einen informatiker mal gefragt hab mit was man passwörter speichert und er md5 gesagt hat. |
War sicherlich einer von Microsoft? Ahnlehnend an bekannten Witz: Die Information war zwar sachlich vollkommen richtig, aber in Bezug auf die gegebene Situation vollkommen unbrauchbar. MD5 wird lediglich dazu verwendet, um Passwörter zu speichern, die abgefragt werden. Hier im Forum werden beispielsweise deine Passwörter nicht im Klartext in der Datenbank gespeichert, sondern als MD5-Hash. Gibst du beim Einloggen dein Passwort ein, wird dieses ebenfalls gehasht und mit dem Hash aus der Datenbank verglichen. Fällt jemandem die Datenbank in die Hände, ist es für ihn unmöglich die Passwörter der Benutzer herauszufinden, ebenso wie für die Admins.
Delete - So 08.01.06 22:52
andras hat folgendes geschrieben: |
Zitat: |
Warum nutzt du nicht das Benutzer- und Rechte-Management von NT-Systemen? Richte ihm einen zweiten Benutzer ein ändere das Passwort für deinen Benutzer und entziehe ihm die Leserechte in den Verzeichnissen, in denen er nichts zu lesen hat.
|
so was gibts?! |
Autsch. :?
Erstell aber kein Administratorenkonto für deinen Bruder, dann wäre nämlich die ganze Mühe umsonst. Und wenn du deine Daten nur in den "eigenen Dateien" gespeichert hast, brauchst du auch nichst an den Rechten ändern. Genauso, wenn sie in Ordnern liegen, die du erstellt hast. Denn da hat nur der Besitzer und der Administrator (bzw. kann sich die nötigen Rechte beschaffen.) Schreib- und Leserechte.
Und als eingeschränkter Benutzer kann er dir auch nichts ungewollt installieren oder deinstallieren bzw. er kann ur Systemeinstellungen vornehmen, die sein Konto betreffen.
Und aus Sicherheitsgründen würde ich dir auch empfehlen nur mit einem eingeschränkten Konto zu arbeiten.
tommie-lie - So 08.01.06 22:58
Luckie hat folgendes geschrieben: |
Autsch. :? |
Der XP-Home-Effekt eben ;-)
alias5000 - So 08.01.06 23:06
tommie-lie hat folgendes geschrieben: |
Luckie hat folgendes geschrieben: | Autsch. :? | Der XP-Home-Effekt eben ;-) |
Wie heißt es so schön des öfteren in WinXP: "Bei weiteren Problemen fragen sie bitte ihren Systemasministrator"
->Der wirds ja wissen, wo die Optionen versteckt sind...
Delete - So 08.01.06 23:16
tommie-lie hat folgendes geschrieben: |
Luckie hat folgendes geschrieben: | Autsch. :? | Der XP-Home-Effekt eben ;-) |
Genua deswegen habe ich im Regal zu XP Professional gegriffen. ;) Der erste angelegte Benutzer ist zwar auch automnatisch Administrator, aber man muss nicht so viele Klimmzüge machen, wenn es um die Sicherheitseinstellungen bei den Ordner geht. Das funktioniert unter XP Home angeblich nur im Abgesicherten Modus. :autsch: Wer sich so was ausgedacht hat gehört erschossen und gevierteilt.
Delete - Mo 09.01.06 11:46
alias5000 hat folgendes geschrieben: |
tommie-lie hat folgendes geschrieben: | Luckie hat folgendes geschrieben: | Autsch. :? | Der XP-Home-Effekt eben ;-) |
Wie heißt es so schön des öfteren in WinXP: "Bei weiteren Problemen fragen sie bitte ihren Systemasministrator"
->Der wirds ja wissen, wo die Optionen versteckt sind... |
Richtig amüsant wird es, wenn Leute ihren
Internetprovider (sprich: DSL-Anbieter) anrufen, weil sie diese Meldung am Rechner sehen. :lol: Und das ist nicht mal ein Witz!
tommie-lie - Mo 09.01.06 15:01
MathiasSimmack hat folgendes geschrieben: |
Richtig amüsant wird es, wenn Leute ihren Internetprovider (sprich: DSL-Anbieter) anrufen, weil sie diese Meldung am Rechner sehen. :lol: Und das ist nicht mal ein Witz! |
"Ja? Hallo? Mein Internet geht nicht." - "Wartensema, die haben wir auf Lager, ich schick' Ihnen eins als Ersatz."
DaRkFiRe - Mo 09.01.06 15:53
Internet hab ich doch bei geizhals vor kurzem erst für 99,95 gesehen...
Die User-Problematik unter Windows XP ist schon seltsam - andererseits: wer kann außer einem Administrator noch einen Admin-Account anlegen?
Wenn der erste ein Normal-User ist, kann der keine Admin-Accounts mehr anlegen - von daher macht das schon Sinn...
Delete - Mo 09.01.06 16:20
tommie-lie hat folgendes geschrieben: |
MathiasSimmack hat folgendes geschrieben: | Richtig amüsant wird es, wenn Leute ihren Internetprovider (sprich: DSL-Anbieter) anrufen, weil sie diese Meldung am Rechner sehen. :lol: Und das ist nicht mal ein Witz! | "Ja? Hallo? Mein Internet geht nicht." - "Wartensema, die haben wir auf Lager, ich schick' Ihnen eins als Ersatz." |
Oder "Hallo? Ich bin neuer Kunde bei Ihnen, und seitdem funktioniert bei Ihrem Saftladen das Internet nicht!!! - Wie? Welches Modem ich benutze? - Hm, Moment, das muss ich dann erst mal auspacken." :mrgreen: Und lacht nicht! Auch das gab´s schon.
tommie-lie - Mo 09.01.06 16:27
DaRkFiRe hat folgendes geschrieben: |
Die User-Problematik unter Windows XP ist schon seltsam - andererseits: wer kann außer einem Administrator noch einen Admin-Account anlegen? |
Niemand. Und was willst du auch mit mehr als einem Administrator? Entweder du hast ein Administratorenteam, dann gibt es *ein* Passwort für *alle* Administratoren, oder du hast nur einen Admin, dann haben alle anderen ihre Finger vom System zu lassen. Die meisten Unixoide lassen nichtmal mehr als einen echten Superuser zu (User-ID 0 gibt's nur einmal).
DaRkFiRe hat folgendes geschrieben: |
Wenn der erste ein Normal-User ist, kann der keine Admin-Accounts mehr anlegen - von daher macht das schon Sinn... |
Man kann es sich von nahezu allen Consumer-Linux-Distributionen abgucken: Bei der Installation wird neben dem root-Passwort auch ein gewöhnlicher Benutzer angelegt und im Hinweistext steht, daß man sich nur zu administrationszwecken als root einloggen soll. MacOS X, Ubuntu und einige wenige andere Distributionen gehen noch weiter, der root-Account ist gesperrt, einloggen geht also nur als normaler Benutzer, administriert wird mit sudo oder gksudo (Linux, was MacOS X dafür für ein Frontend hat, weiß ich nicht, sudo wird aber in der BSD-Shell auch gehen).
Delete - Mo 09.01.06 17:46
Ich denke, es ist eine Sache von 10 Minuten das Setup so zu gestallten, dass er erst nach einem Account fragt, der zum Arbeiten genutzt wird und wenn der angelegt ist, wird dem Installateur gesagt, dass jetzt noch ein zweiter Account angelegt wird, der zum Administrieren des Computers nötig ist. Dann vielleicht noch etwas Text, wo der Unterschied erklärt wird und dann geht es erst weiter im Setup. Das schwierigste an der ganzen Sache ist der erklärende Text. Der Text muss nämlich so geschrieben sein, dass er auch gelesen wird. :roll:
Und bei den Aldi Kistn das gleiche. Beim ersten Start muss ein eingeschränktes Konto eingerichtet werden, dass dann immer automatisch eingeloggt wird, sonst geht es gar nicht erst weiter.
Delete - Mo 09.01.06 17:54
Normalerweise hätte Microsoft das XP-Setup gleich richtig gestalten können. Du wirst gefragt, welche Konten du einrichten möchtest. Unabhängig davon wird aber trotzdem und immer das Admin-Konto angelegt. Warum also noch für den ersten Benutzer (oder für alle? :gruebel: mehr als meinen "Mathias" habe ich nie angelegt :)) Admin-Rechte?
Das einzige Problem, mit dem ich momentan zu kämpfen habe: Das Update von Programmen. Ummelden als Admin kann und will ich mich nicht, also muss ich bei einem Update das zu aktualisierende Programm einmal als Admin starten, damit es auch tatsächlich in der Lage ist, seine eigenen Programmdateien zu erneuern.
alias5000 - Mo 09.01.06 18:29
Das stimmt. Bei mir schmiert der Admin-Account auch ständig ab. Als Programmierer des Netzwerkchats LanChat2 muss ich regelmäßig neue Port und/oder Anwenungen freigeben und dann nervts, wenn man ständig auf den instabilen Admin-Account wechseln muss.
JayK - Mo 09.01.06 19:14
wisst ihr zufällig, ob es einen Registryeintrag für diese nette Option "Einfache Dateifreigabe verwenden", die in XP Home (welches ich habe) ja nicht durch eine hübsche CheckBox repräsentiert wird, gibt? :) Vllt ist es ja so wie damals unter Windows 95, wo mit dem Plus-Pack nur die Schalter nachgeliefert wurden :lol:
dummerweise bin ich ATM gezwungen als Admin etc zu surfen, da das Steuerungsprogramm für die USB-Antenne hier Admin-Rechte braucht, sonst funzt es nicht :bawling: ich muss mal Siemens schreiben, ich find das nich in Ordnung...
andras - Mo 09.01.06 19:59
ich muss jetzt leider nochmal auf einen etwas früheren beitrag zurückgreifen:
Zitat: |
erstell aber kein Administratorenkonto für deinen Bruder, dann wäre nämlich die ganze Mühe umsonst. Und wenn du deine Daten nur in den "eigenen Dateien" gespeichert hast, brauchst du auch nichst an den Rechten ändern. Genauso, wenn sie in Ordnern liegen, die du erstellt hast. Denn da hat nur der Besitzer und der Administrator (bzw. kann sich die nötigen Rechte beschaffen.) Schreib- und Leserechte.
|
1. bei mir hat jeder sein eigenes eingeschränktes konto.
2. ich bring das nciht hin mit der zugriffsbeschränkung
3. irgendwie kann jeder über das verzeichnis C.\Dokumente und Einstellungen\Benutzername auf die daten des anderen benutzers zugreifen, egal welcher konotyp
JayK - Mo 09.01.06 20:46
du musst ggf noch bei deinem Ordner in den Eigenschaften unter dem Reiter Freigabe die Checkbox "Diesen Ordner nicht freigeben" aktivieren, der sollte auch da sein auch unter XP Home.
Delete - Mo 09.01.06 21:32
andras hat folgendes geschrieben: |
1. bei mir hat jeder sein eigenes eingeschränktes konto. |
Gut.
Zitat: |
2. ich bring das nciht hin mit der zugriffsbeschränkung
3. irgendwie kann jeder über das verzeichnis C.\Dokumente und Einstellungen\Benutzername auf die daten des anderen benutzers zugreifen, egal welcher konotyp |
Bedingung ist natürlich dass die Partitionen mit NTFS formatiert sind.
andras - Di 10.01.06 16:39
Zitat: |
Bedingung ist natürlich dass die Partitionen mit NTFS formatiert sind.
|
:oops: das ist mir neu. ok, meins ist auf FAT32. dann muss ich wohl formatieren...
Delete - Di 10.01.06 17:06
Nein, im Windows Verzeichnis liegt ein Konsolenprogramm namesn covert.exe welches das ohne Formatieren kann.
andras - Di 10.01.06 20:12
also ich hab jetzt folgenden befehlk eingegeben:
Quelltext
1:
| C:\WINDOWS\SYSTEM32\CONVERT [D:]/FS:NTFS |
Ich bekomm aber immer die Meldung: ungültige laufwerkangabe
andras - Mi 11.01.06 16:24
fehler gefunden:
Quelltext
1:
| C:\WINDOWS\SYSTEM32\CONVERT D: /FS:NTFS |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!