Warum hat uns Scott Guthrie vorgeschlagen, in Error.aspx eine zufällige, kleine Verzögerung zu verwenden?

8

Ich kann nicht herausfinden, wie eine zufällige, kleine Schlafverzögerung eine Lösung sein kann, um zu verhindern, dass ein Angreifer unsere Website sondiert.

Dies ist sein Code-Snippet:

%Vor%     
xport 28.09.2010, 02:08
quelle

2 Antworten

6

Dies soll verhindern, dass Leute ständig Ihre Fehlerseite aufrufen und die aktuelle ASP.NET-Schwachstelle . Sie benötigen eine große Anzahl von Fehlern, um diesen Exploit auszunutzen.

Die Schlafverzögerung verhindert nicht den Zugriff auf Ihre Seite. Stellen Sie es sich so vor, als wäre es ein brutales Erzwingen eines Passworts; Wenn Sie 5 Sekunden warten müssen, anstatt zwischen 5 ms, brauchen Sie etwas mehr Zeit, um den Pw zu finden.

    
Alex 28.09.2010, 02:10
quelle
4

Vereinfacht ausgedrückt, handelt es sich um die Möglichkeit, ein wirklich langes Passwort zu erraten. (Welcher Schlüssel wird unter anderem zum Verschlüsseln des Sitzungsstatus verwendet?)

Stellen Sie sich vor, Sie haben eine Routine geschrieben, um ein Passwort zu überprüfen:

%Vor%

Dies würde einen Timing-Angriff auf den Passwort-Algorithmus ermöglichen, da Sie ein Zeichen pro Zeit überprüfen können, weil es länger dauert, je korrekter Ihr Passwort ist. dh. Stellen Sie sich vor, das Passwort ist 'Karotten'

Aufruf checkPassword ('ca') dauert länger als checkPassword ('aa'), so dass Sie das Zeichen auf einmal durchlaufen können.

Da irgendwo im asp.net-Stack eine schlechte Implementierung wie diese ist, hilft das Hinzufügen eines zufälligen Schlafes, den Timing-Angriff auszulöschen ... (aber es ist nicht perfekt, stelle ich mir vor)

Weitere Informationen finden Sie unter

Ссылка

    
icedtoast 28.09.2010 02:27
quelle

Tags und Links