11
votes

Comment écraser un système par programme

Si je pouvais écrire un programme utilisateur qui écraserait mon système d'exploitation (pas ma candidature) , comment je le ferais?

J'y pensais en quelque sorte commuter mon programme d'UserMode en mode noyau et provoquer une corruption de mémoire. Est-ce possible?

note : Je ne crée pas de virus. Juste curiosité.


10 commentaires

Pour répondre à votre système, nous aurions besoin de savoir quel système d'exploitation que vous utilisez.


Supposez-vous que votre programme a des privilèges root ou administrateur? Ou est-ce exécuté comme programme utilisateur non approuvé?


Écrivez la version 0.9 d'un pilote graphique qui devrait le faire. :)


@entropo - Je suppose Windows / Linux


"Windows / Linux" n'est pas un système d'exploitation.


Je pense que basé sur les réponses ci-dessous, il existe des moyens plus connus de crash de Linux que Windows ... :)


Le moyen facile est de tirer le câble d'alimentation du mur. Pour ce faire par programme: Robot.Grabe (PowerCode) .Pull. Susté (directionnelle.awayfromwall);


Ouais, mais c'était aussi un commentaire "pour sérieux" ... Ce sont des systèmes d'exploitation très différents à presque tous les niveaux. Si vous voulez aller au-delà de vagues généralités, vous devez vraiment en choisir un; Les réponses sont complètement différentes.


@cody gris - Je suppose que je suis plus intéressé à connaître les blacks Windows


Sur les anciens ordinateurs de compagnie, qui constituaient un emplacement de mémoire contenant le taux de rafraîchissement de l'écran. Si vous avez piqué 255 à cet endroit, cela aurait éventuellement amené l'écran surchauffer et attraper le feu. C'est mon genre de crash.


10 Réponses :


4
votes

Toute l'idée d'un système d'exploitation est qu'un programme utilisateur ne peut pas l'écraser dans des conditions normales. Bien sûr, vous pouvez toujours faire quelque chose comme étant l'échappement de l'espace disque sur une partition utilisée pour un fichier d'échange et qui nuirait à de nombreux systèmes d'exploitation ou que vous pourriez trouver une vulnérabilité connue, mais il n'y a pas de moyen très facile de le crousser de manière fiable.


3 commentaires

Et nous savons tous à quel point cela fonctionne dans la pratique. ;-)


@Andrew: Pour une seconde, j'ai lu votre nom comme Anderson Cooper, et j'étais comme, = o !!!


@Mehrdad: Désolé de vous décevoir. ;-)



7
votes

écrire et charger un module de noyau qui appelle panique () ou implémenter son équivalent de celui-ci.

ou simplement exécuter la commande d'arrêt ou d'arrêt ou de la syscall qui l'applique.


0 commentaires

6
votes

Si le système d'exploitation se trouve être Windows, créez un faux pilote qui ne déprivent un pointeur nul. Crash!


0 commentaires

2
votes

Pour Windows Une possibilité est d'écrire un pilote de mode noyau qui verrouille des pages de mémoire appartenant à un processus, puis terminez ce processus. Entraînera un processus de BSOD "avec des pages verrouillées".


0 commentaires

3
votes

in Linux, alt-sysrq-c va écraser / redémarrer votre noyau.

dans Windows, voir: https://web.archive.org/web/20110513143420/http://www.dailygan.com/2008/09/some-methods-a-crash-Votre- windows.html [ED: le 8 mars 2021 - Passez à l'archive.org Link en raison du site descendant.]


1 commentaires

L'origine Ublock détecte ce lien comme malveillant



0
votes

Essayez d'allouer des morceaux de mémoire jusqu'à ce que vous n'ayez pas de mémoire libre: xxx

Modifier : En fait, j'ai essayé simplement sur un Linux de 64 bits avec 2 Go de RAM et 3,3 Go de swap: l'écran est gelé, je pourrais allouer 4950 Mo de RAM, mais le processus a ensuite été tué par le système et Linux est tombé sur ses pieds. Gradely, donc, non, cela ne fonctionne pas: =)


3 commentaires

Mémoire virtuelle et pagination signifie que vous allez être là un moment. Et au moins dans Windows, vous écrasez votre propre processus de votre application long avant de planter le système d'exploitation.


L'astuce consiste à affecter et à accéder suffisamment pour que le système devienne terriblement lent mais pas autant que le tueur OMM reçoit après vous. Ensuite, "Travailler" sur cette mémoire rendra le système fondamentalement inutilisable. À mon avis, Linux n'est pas très robuste contre cette situation.


Vous pouvez lancer un fil d'écrire constamment d'écrire une chose sur chaque morceau de mémoire? :RÉ



1
votes

Linux: même si vous ne collez pas strictement le système d'exploitation, vous pouvez facilement le rendre inutilisable en allouant de nombreux souvenirs (et en lisez / l'écrivant pour la répartition de la réalisation d'effectifs et de faire swaper le SOS) et par des lots à forger des processus. "Fork Bomb" est le mot clé et peut même être fait dans le script shell.


2 commentaires

Pas seulement dans le script shell, mais dans le script shell utilisant des smileys d'ASCII mignons!


Stackoverflow.com/questions/991142 / ...



1
votes

Je pense que la raison pour laquelle vous souhaitez planter le système d'exploitation est pertinent ici. Essayez-vous de simuler une condition pour tester ou êtes-vous simplement curieux?

Voici deux options si vous souhaitez recréer et automatiser, se bloquer, aux fins de la tolérance des pannes.

  • Exercez-le d'une machine virtuelle (VMware, VirtualBox) et de tuer simplement le processus VM. Alternativement, vous pouvez lui donner une très faible priorité, des périphériques de chute ou une simulation de mauvaises choses.
  • Utilisez des serveurs qui ont une console de gestion. Cela aura une API qui peut simplement éteindre l'appareil.

    Les autres nombreuses suggestions sont bonnes si vous souhaitez faire un crash de l'OS lui-même. Ces collisions de logiciels peuvent aider à reproduire un processus de décrétion. Un ensemble similaire d'accidents matériels liés au matériel pourrait également fonctionner (comme réduire la vitesse sur un ventilateur programmable et surchauffer la CPU).

    La raison de votre demande est en fait très importante car toutes les défauts différents donneront un résultat légèrement différent.


0 commentaires

8
votes

kebugcheck sous Windows est le façon documentée d'obtenir un bsod.

Vous pouvez également essayer de supprimer la touche de registre racine ( \ registre ) dans Windows XP, à l'aide de l'API natif NT.


0 commentaires

0
votes

Crash Un système d'exploitation à l'aide d'une application PURE Mode utilisateur signifie que le noyau est vulnérable. Si le système d'exploitation est bien testé, cela ne devrait pas se produire.

Vous pouvez essayer des fenêtres BSOD en attaquant des pilotes de 3rd à partis boges via l'envoi d'une ordure IO-Controls.

fonction de périofontrol (Windows) http://msdn.microsoft.com/en-us/ Bibliothèque / AA363216 (vs.85) .aspx


0 commentaires