Ein C-Programm, das das System zum Absturz bringt (beendet das System)

8

Vor ein paar Tagen hatte ich ein Interview, und ich wurde gebeten, ein Programm in C zu schreiben, das das System zum Absturz bringt und das System herunterfährt. Unnötig zu sagen, dass ich mich ziemlich dumm fühlte und keine Ahnung hatte, wie ich mich überhaupt nähern sollte :(

Ich habe es trotzdem versucht und Programme geschrieben, die viel Speicher benötigen. Aber mein Interviewer war mit keiner meiner Techniken zufrieden.

    
false9striker 03.10.2011, 05:46
quelle

5 Antworten

9

Es ist einfach, ein Programm zu schreiben, das undefiniertes oder implementierungsdefiniertes Verhalten aufruft. Einige dieser Programme könnten das System möglicherweise zum Absturz bringen.

Aber per Definition ist das inkonsistent. Und moderne Betriebssysteme nehmen sich Mühe (wenn auch nicht 100% erfolgreich), um zu verhindern, dass eine Rogue-App das System zum Absturz bringt.

    
Matthew Flaschen 03.10.2011, 06:02
quelle
3

Es gibt keine Möglichkeit, ein C-Programm zu schreiben, das das System zum Absturz bringt.

Eine Gabel-Bombe könnte ein System durcheinander bringen oder nicht. Natürlich ist fork nicht portierbar - und ein System kann sich gegen solche Angriffe wehren, indem es die Anzahl der Prozesse begrenzt, die ein bestimmtes Konto erstellen kann.

Natürlich gibt es immer das:

%Vor%     
Keith Thompson 03.10.2011 06:37
quelle
2

Ich würde versuchen, Müll in /dev/kmem zu schreiben. Es besteht eine gute Chance, dass ein unwiederbringlicher Systemabsturz verursacht wird.

    
mizo 03.10.2011 06:32
quelle
2

Nun, haben Sie versucht, zu folgen?

%Vor%

Um dieses Programm unter Linux auszuführen, müssen Sie sich als root anmelden.

    
openstk 19.11.2012 08:49
quelle
1

Eine Möglichkeit besteht darin, die Sicherheitslücke "Privilege Escalation" des aktuellen Systems auszunutzen.

Basierend auf der aktuellen Konfiguration können Sie nach Sicherheitslücken suchen, die Auswirkungen auf das System haben. Z.B. basierend auf Kernel-Version. Und dann Berechtigungen an Root eskalieren.

Sobald der Prozess "root" ist, kann das System auf verschiedene Arten heruntergefahren werden. Das Senden von SIGPWR an den "init" -Prozess ist eine saubere Möglichkeit, dies zu tun.

    
Shamit Verma 05.10.2011 19:09
quelle

Tags und Links