0l1: Datenbankpasswort sichern

Beitrag lesen

Und du schreibst dann jedes Mal dein System so um, dass sich beim Angreifer beim nächsten Versuch eine neue Verwirrung breit macht? Die Sicherheitslücke finden und stopfen, durch die er hereingekommen ist, musst du nebenbei auch noch.

Das ist alles richtig. Auf diese Fragen muss dann jemand Antworten finden. Aber ich fand die Idee, es wenigstens zu merken und erstmal Schlimmeres zu verhindern ganz sexy.

Nur über den Codebereich prüfen setzte voraus, dass du den kennst. Und wenn du darauf zugreifen kannst, kann das jemand anderes auch, um sich nach der Prüfung das Passwort zu holen.
Also ich denke, ich kann den sensiblen Scope genau abgrenzen.

Ich gehe mal davon aus, du hast mich so verstanden, dass ich ein Verzeichnis auf der Festplatte meinte. Ich meinte jedoch den Codebereich im Arbeitsspeicher. Wenn du solche guten Systemkenntnisse hättest, würdest du vermutlich nicht solche Fragen stellen müssen.

Das habe ich tatsächlich nicht verstanden...

In meinem Kopf könnte der Apache vom Passwort-Server eine Ausgabe anfordern. Der Passwort-Server hätte die Prüfsumme einer Datei, die er dann wiederum ausführt, so "wüsste" ich, was ich da ausführe. Aber wie Du weiter unten ja beschreibst, sollte die Prüfsumme ja doch im Speicher lesbar sein, was den Schritt ad absurdum führt. Ich führe keine Prüfungen im Speicher durch.

Dann liegt der Schlüssel also doch wieder irgendwo rum, nämlich im Speicher, und mit einem Debugger (und einem kleinen Root-Exploit vorher) kann man ihn erreichen. Damit bleibt das Prinzip wie beschrieben bestehen.

Nun, wenn der Angreifer soweit ist, es dann doch grundsätzlich egal. Denn wenn er in der Lage ist, das zu lesen, dann brauch er ja einfach nur die echten Inputs der User, die genauso durch den Speicher wandern müssen, auszulesen (ok, das gibt dann vielleicht auch nicht gleich die ganze Datenbank her, aber zumindest einen aktiven Teil).

Gibt es praktisch eine Lösung für dieses Problem? Kann man die Variablen im Speicher in irgendeiner Weise davor schützen, für andere als den schreibenden Prozess lesbar zu sein?

Versuch lieber deine(n) Server insgesamt sicher zu halten. Jedes Tool, das du zusätzlich verwendest, erhöht auch die Komplexität, die Anzahl der einbaubaren Fehler und damit die möglichen Angriffspunkte.

Naja, dem will ich auch gar nicht widersprechen. Ich finde diesen Baustein, dass Passworte irgendwo im Klartext rumliegen müssen, trotzdem nicht akzeptabel ;D