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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 373765
Url: https://administrator.de/forum/seitenkanalangriff-aber-wie-373765.html
Ausgedruckt am: 10.04.2025 um 15:04 Uhr
1 Kommentar
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ß