Seitenkanalangriff, aber wie?
Hey Leute,
ich studiere Informatik und habe eine Hausaufgabe, für die ich das Passwort eines Programmes per Seitenkanalangriff knacken soll.
Dazu nutzt das Programm die folgende Routine zur Überprüfung:
So, nun habe ich die Länge des Passworts, aber wie geht's weiter? Gibt es vielleicht jemanden, der mir Anregungen geben kann? Danke im Voraus!
Greetz babaice
ich studiere Informatik und habe eine Hausaufgabe, für die ich das Passwort eines Programmes per Seitenkanalangriff knacken soll.
Dazu nutzt das Programm die folgende Routine zur Überprüfung:
int compare_key () {
unsigned int len = strlen ( key_input );
unsigned int correct_len = strlen ( correct_key );
int i , random_time , false_key = 0;
unsigned int seed = getpid () + key_input ;
srand ( seed );
if ( len != correct_len )
return 1;
for ( i = correct_len - 1; i >= 0; i - -) {
if ( key_input [i] != correct_key [i ]) {
usleep (500000) ;
false_key = 1; }
}
random_time = 500000 * ( rand () % 3);
usleep ( random_time );
return false_key ;
}
So, nun habe ich die Länge des Passworts, aber wie geht's weiter? Gibt es vielleicht jemanden, der mir Anregungen geben kann? Danke im Voraus!
Greetz babaice
Please also mark the comments that contributed to the solution of the article
Content-Key: 373765
Url: https://administrator.de/contentid/373765
Printed on: April 18, 2024 at 19:04 o'clock
1 Comment
Hi,
du könntest mit der timing attack anfangen. Die Variable seed ist beeinflussbar. Du musst dazu nur die Prozess Id fälschen und das passende erste Zeichen eingeben. Srand setzt einen ersten Wert für die Zufallszahlengenerierung, ohne den wären die Zufallszahlen immer die selben und da du denn bestimmen kannst,kannst du die "Zufallszeit" bestimmen.
Den Rest musst du wohl selbst rausfinden.
Gruß
du könntest mit der timing attack anfangen. Die Variable seed ist beeinflussbar. Du musst dazu nur die Prozess Id fälschen und das passende erste Zeichen eingeben. Srand setzt einen ersten Wert für die Zufallszahlengenerierung, ohne den wären die Zufallszahlen immer die selben und da du denn bestimmen kannst,kannst du die "Zufallszeit" bestimmen.
Den Rest musst du wohl selbst rausfinden.
Gruß