Rootkit

Un rootkit est un programme (ou combinaison de plusieurs programmes) conçue pour prendre la commande fondamentale (dans le Unix nomme le " ; root" ; accéder, dans le " de limites de Windows ; Administrator" ; accès) d'un système informatique, sans autorisation par les propriétaires et les directeurs légitimes du système. L'accès au matériel (IE, le contact RAZ) est rarement exigé pendant qu'un rootkit est prévu pour saisir la commande du fonctionnement du système d'exploitation sur le matériel. Typiquement, les rootkits agissent d'obscurcir leur présence sur le système par la subversion ou l'évasion des mécanismes du système d'exploitation standard de la sécurité . Souvent, il dupe aussi bien, de ce fait des utilisateurs dans croyant eux sont sûrs les courir également les Trojan sur leurs systèmes. Les techniques employées pour accomplir ceci peuvent inclure cacher des processus courants des programmes de contrôle, ou cacher des dossiers ou des données de système du du système d'exploitation.

Rootkits a pu avoir commencé en tant que militaire de carrière, cependant urgence, applications, prévues pour prendre la commande d'un système insensible, mais ces dernières années a été en grande partie Malware pour aider des intrus à accéder aux systèmes tout en évitant la détection. Rootkits existent pour une série de logiciels d'exploitation, tels que le Microsoft Windows , le Mac de OS x , le Linux et le Solaris . Rootkits souvent modifient des parties du du système d'exploitation ou s'installent comme conducteurs ou modules de grain de , selon les détails internes de l'les mécanismes du système d'exploitation.

Histoire

Le rootkit limite ou le kit de racine de s'est à l'origine rapporté à un ensemble avec malveillance modifié d'outils administratifs pour un Unix - comme le du système d'exploitation. Si un intrus pourrait remplacer les outils administratifs standard sur un système par un rootkit, les outils modifiés donneraient à l'intrus le contrôle d'administration au-dessus du système tout en cachant ses activités de l'interface gestionnaire légitime . Le rootkit connu le plus tôt a été écrit CA 1990 par Lane Davis et Riley Dake pour le SunOS 4. Il y avait un plus tôt, tout à fait célèbre, exploitent l'équivalent à un rootkit qui a été commis par le Ken Thompson des laboratoires de Bell de contre un laboratoire naval en Californie pour gagner un pari. Thompson a renversé le compilateur C dans une distribution d'Unix au laboratoire.

Rootkits étaient ainsi appelé parce qu'ils ont permis à un intrus de devenir un utilisateur (IE, l'interface gestionnaire de racine de ) d'un système Unix. Depuis lors, le logiciel semblable a a été développé pour d'autres logiciels d'exploitation, et le rootkit limite a été élargi pour inclure n'importe quel logiciel qui change subreptice un du système d'exploitation de sorte qu'un utilisateur non autorisé puisse prendre la commande arbitraire du système.

Rootkits est devenu beaucoup mieux connu en 2005, quand le Sony BMG a causé un scandale en incluant le logiciel de rootkit sur les Cd de musique qui ont changé l'OS de Windows pour permettre l'accès à n'importe qui averti de l'installation des rootkit. Censément, ceci a été fait pour imposer le système anti-copie de la musique sur les Cd. Le scandale suivant la découverte et la notification publique suivante de ceci de corporation-a commandité le Malware - un scandale rendu beaucoup plus mauvais par les rapports maladroits et mal renseignés de Sony directeur-a fait beaucoup d'utilisateurs précédemment peu familiers avec des rootkits circonspects.

D'usage courant

Un rootkit avec succès installé permet aux utilisateurs non autorisés d'agir en tant qu'interfaces gestionnaire, et de prendre ainsi le plein contrôle du système « rootkitted ». Secondaire à ce but, la plupart des rootkits cachent typiquement des dossiers, des connexions réseau, des blocs de mémoire, ou des entrées d'enregistrement (par exemple, sur des systèmes de Windows) d'autres programmes employés par des interfaces gestionnaire pour détecter des accès particulièrement privilégiés aux ressources de système informatique. Cependant, un rootkit peut déguiser comme ou être entrelacé avec d'autres dossiers, programmes, ou bibliothèques avec d'autres buts. Il est important de noter que tandis que les utilités empaquetées avec un rootkit peuvent être avec malveillance prévues, non chaque rootkit est toujours malveillant. Rootkits peut être employé pour des buts productifs et destructifs.

Un rootkit qui cache des programmes utilitaires, fait habituellement ainsi pour maltraiter un système compromis, et inclut souvent le soi-disant " ; quot des backdoors ; pour aider l'attaquant plus tard à accéder à la volonté. Un exemple simple pourrait être un rootkit qui cache une application qui engendre une coquille de traitement de commande de quand l'attaquant se relie à un port particulier de réseau sur le système. Les rootkits du grain peuvent inclure la fonctionnalité semblable. Un backdoor peut également permettre des processus commencés par un utilisateur non-privileged pour courir comme s'il ont été commencés par un utilisateur privilégié (inclure l'utilisateur de racine) et pour effectuer des fonctions normalement réservées au super-utilisateur.

Beaucoup d'autres outils de service utiles pour l'abus peuvent être cachés using des rootkits. Ceci inclut des outils pour des nouvelles attaques contre les systèmes informatiques avec lesquels le système compromis communique, comme les renifleurs et l'abus possible des keyloggers A de est d'utiliser un ordinateur compromis comme au sol d'échafaudage pour davantage d'abus (voir l'ordinateur de zombi de ). Ceci est souvent fait pour faire l'abus sembler provenir du système compromis (ou du réseau) au lieu de l'attaquant. Les outils pour de telles attaques peuvent inclure des outils de l'attaque de Démenti-de-service de , des outils pour transmettre par relais des sessions de la causerie , et la distribution du Spam de l'email . Une utilisation malveillante importante pour des rootkits est de permettre au programmeur des rootkit de voir et accéder à des noms d'utilisateur et à l'information d'ouverture des systèmes les exigeant. La collecte d'une telle information de beaucoup de systèmes (des milliers ou plus) est facilement possible. Ceci rend des rootkits bien plus dangereux, car il permet à des Trojan d'accéder à ces informations personnelles tandis que le rootkit les couvre vers le haut.

Rootkits ne sont pas toujours employés pour attaquer et gagner la commande d'un ordinateur. Du logiciel peut employer des techniques de rootkit pour se cacher des modules de balayage de tiers pour détecter indétectable des cambriolages de trifouillage ou essayés. Du logiciel d'émulation et le logiciel de sécurité est connu employer des rootkits. L'alcool 120% et les outils de démon de sont des exemples commerciaux de l'utilisation des rootkits non-hostiles.

Rootkit est un terme maintenant légèrement lâchement appliqué à masquer des techniques et des méthodes.

Types

Il y a au moins cinq genres de rootkits : Progiciels , virtualisé par , grain , bibliothèque , et kits de niveau de l'application .

Progiciels

Un rootkit de progiciels emploie des progiciels de dispositif ou de plate-forme pour créer une image persistante de malware. Le rootkit peut avec succès se cacher en progiciels parce que le progiciel n'est pas souvent inspecté pour assurer l'intégrité de code. John Heasman a démontré la viabilité des rootkits de progiciels dans les deux routines de progiciels d'ACPI et dans une ROM de carte d'expansion de PCI.

Virtualisé

Les rootkits virtualisés sont le niveau le plus bas du rootkit actuellement produit. Ces rootkits fonctionnent à côté de modifier l'ordre de botte de la machine pour se charger au lieu du moniteur original de machine virtuelle de ou du système d'exploitation. Une fois chargé en la mémoire, un rootkit virtualisé charge alors le du système d'exploitation original comme une machine virtuelle permettant de ce fait au rootkit d'arrêter tous les appels de matériel faits par l'OS d'invité. Le rootkit de laboratoire de ''' de SubVirt de ''' s'est développé conjointement par Microsoft et les chercheurs d'Université du Michigan est un exemple d'un rootkit automatisé virtuel (IE, VMBR).

Niveau de grain

Les rootkits de niveau de grain ajoutent le code additionnel et/ou remplacent une partie de code de grain par des modifications pour aider à cacher un backdoor sur un système informatique. Ceci est souvent accompli en ajoutant le nouveau code au grain par l'intermédiaire d'un programme pilote de périphérique ou d'un module chargeable, tel que les modules chargeables de grain de dans le Linux ou des programmes pilotes de périphérique dans le Microsoft Windows . Ces rootkits ont souvent des impacts sérieux sur la stabilité de système entière si les erreurs sont présentes dans le code du kit.

Les rootkits de grain peuvent être particulièrement dangereux parce qu'il peut être difficiles les détecter.

Niveau de bibliothèque

De bibliothèque de rootkits la pièce rapportée , le crochet généralement de , ou remplacent les appels système par les versions qui cachent des informations sur l'attaquant. Elles peuvent être trouvées, au moins théoriquement, en examinant des bibliothèques de code (sous Windows la limite est habituellement DLL pour des changements ou contre (et tellement vraisemblablement rootkit librement) le paquet à l'origine distribué de bibliothèque. Dans la pratique, la variété de bibliothèques modifiées distribuées avec des applications et ServicePaks fait ce plus dur qu'il devrait avoir été.

Niveau d'application

Les rootkits de niveau d'application peuvent remplacer les binaires régulières d'application par des articles truqués trojanized, ou ils peuvent modifier le comportement des applications existantes using des crochets, des pièces rapportées, le code injecté, ou des autres moyens.

Détection

Des binaires de Rootkit peuvent souvent être détectées par la signature ou les programmes d'antivirus basés par heuristique. Du moins jusqu'à ce qu'elles sont courues par un utilisateur et peuvent essayer de se cacher. Il y a des limitations inhérentes pour n'importe quel programme qui essaye de détecter des rootkits tandis que le programme fonctionne sous le système suspect. Rootkits sont des suites des programmes qui modifient plusieurs des outils et les bibliothèques dont tous les programmes sur le système dépendent. Quelques rootkits essayent de modifier le grain courant par l'intermédiaire des modules chargeables sur le Linux (et quelques autres variétés d'UNIX), et par les conducteurs externes virtuels de VxDs , sur des plates-formes de MS Windows. Le problème fondamental avec la détection de rootkit est que si actuellement le fonctionnement du système d'exploitation a été renversé, il ne peut pas faire confiance, incluant pour trouver des modifications non autorisées à lui-même ou à ses composants. En d'autres termes, des actions telles que demander une liste de tous les procédés de fonctionnement, ou une liste de tous les dossiers dans un annuaire, ne peuvent pas être faites confiance pour se comporter comme prévues par les concepteurs originaux. Les détecteurs de Rootkit fonctionnant sur les systèmes de phase fonctionnent actuellement seulement parce que les rootkits qu'ils peuvent détecter pour avoir été pas encore développés pour se cacher entièrement.

Le meilleur, et moindre incertain, méthode pour la détection de rootkit est d'arrêter l'ordinateur suspecté de l'infection, et puis vérifie son stockage en initialisant d'un milieu alternatif (par exemple, une CD-ROM de délivrance ou de lecteur d'instantané d'USB de ). Un rootkit non exécuté ne peut pas (idéalement) cacher sa présence, et la plupart des programmes d'antivirus établis identifieront des rootkits armés par l'intermédiaire des appels standard d'OS (qui sont souvent trifouillés par le rootkit) et les questions plus basses, qui doivent demeurer fiables. S'il y a une différence, la présence d'une infection de rootkit devrait être assumée. Les rootkits courants essayent de se protéger en surveillant des processus courants et en suspendant leur activité jusqu'à ce que le balayage ait fini ; c'est plus difficile si on ne permet pas au le rootkit de fonctionner.

Les fournisseurs de logiciel de sécurité ont essayé une solution en intégrant la détection de rootkit dans les produits traditionnels d'antivirus. Si un rootkit décide de se cacher pendant le balayage, il sera identifié par le détecteur de discrétion. S'il décide de décharger temporairement du système, l'antivirus traditionnel le trouvera employer la détection d'empreinte digitale. Puisque les produits d'antivirus ne sont presque jamais entièrement capables d'attraper tous les virus dans les essais publics, cette approche peut être contestée dessus après le comportement. Mais cette approche combinée peut forcer des attaquants à mettre en application des mécanismes de contre-attaque (soi-disant rétros routines) en leur code de rootkit qui enlèvera de force des processus de logiciel de sécurité de la mémoire, tuant effectivement le programme d'antivirus. Comme avec les virus d'ordinateur la détection et l'élimination des rootkits seront une lutte continue entre les créateurs d'outil des deux côtés de ce conflit.

Il y a plusieurs programmes disponibles pour détecter des rootkits. Sur les systèmes basés sur Unix, trois du plus populaire sont Chkrootkit , Rkhunter et OSSEC . Pour Windows, il y a beaucoup d'outils libres de détection tels que Blacklight F-Bloqué et libre ou base du AVG de Grisoft de Anti-Rootkit Anti-Rootkit. Un autre détecteur de Windows est le RootkitRevealer du Sysinternals qui détecte les rootkits courants en comparant les résultats de l'OS à la liste réelle lue à partir du disque lui-même (contre-vérification ). Cependant, quelques rootkits commencés pour ajouter RootkitRevealer à une liste de dossiers qu'elle ne se cache pas de -- tellement essentiellement, ils enlèvent des différences entre les deux listes, et le détecteur ne les rapporte pas (spécialement le défenseur commercial Antidetection d'intrus de de rootkit). Une autre méthode est de comparer le contenu des binaires actuelles sur le disque à leurs copies dans la mémoire d'opération - quelques différences peuvent être présentées par les mécanismes du système d'exploitation légaux (par exemple, relocalisation de mémoire), mais certains peuvent être très probables classifiés en tant que crochets d'appel système présentés par un rootkit courant (vérificateur de virginité de système de ). Le Zeppoo est un autre logiciel qui détecte des rootkits sous le Linux et les systèmes d'UNIX .

En tant que toujours, l'empêchement est meilleur que le traitement, parce que étant certain vous ont enlevé un rootkit comporte typiquement la réinstallation de tout le logiciel. Si l'intégrité du système installent des disques est faite confiance, cryptographie peut être employée pour surveiller l'intégrité du système. Par le " ; fingerprinting" ; les fichiers système juste après un système frais installent et de l'autre côté après que toutes les modifications suivantes apportées au système (par exemple, installant le nouveau logiciel), à l'utilisateur ou à l'administrateur soient alertées à n'importe quels changements dangereux aux fichiers système. Dans le procédé d'empreinte digitale un sommaire de message est employé pour créer un " de longueur constante ; digest" ; personne à charge sur chaque peu dans le dossier étant relevé les empreintes digitales. En calculant et en comparant des valeurs de sommaire de message des dossiers à intervalles réguliers, des changements du système peuvent être détectés.

La détection en progiciels peut être réalisée en calculant un gâchis cryptographique des progiciels et en comparant des valeurs de gâchis à un whitelist des valeurs prévues, ou en prolongeant la valeur de gâchis dans TPM (le a fait confiance au module de plate-forme) la configuration s'enregistre, qui est plus tardive comparée à un whitelist des valeurs prévues. Coder qu'exécute le gâchis, comparer, et/ou prolonger les opérations doit elle-même ne pas être compromis par le rootkit. La notion (par un rootkit) d'une racine-de-confiance immuable, s'implantable, s'assure que le rootkit ne compromet pas le système à sa couche plus fondamentale. La détection de Rootkit using un TPM est encore décrite en arrêtant Rootkits au bord de réseau, janvier 2007.

Élimination

Beaucoup tiennent ceci pour pour menaçant impraticables. Même si la nature et la composition d'un rootkit est connue, la période et l'effort d'un interface gestionnaire avec les qualifications nécessaires ou de l'expérience mieux seraient consacrés réinstallant le du système d'exploitation à partir de zéro. Puisque le logiciel de formation image d'entraînement de rend la tâche de reconstituer une installation « propre » d'OS presque insignifiante, il n'y a aucune bonne raison d'essayer de creuser un rootkit dehors directement. " ; Je suppose il pourrait être fait pour être aussi difficiles d'enlever les rootkits traditionnels comme possible même lorsque trouvé, mais je doute qu'il y ait beaucoup d'incitation pour cela, parce que la réaction typique d'un sysadmin expérimenté sur trouver un système enraciné est de sauver les fichiers de données, puis le restructurent réinstallent. C'est ainsi même si le rootkit est très bien connu et peut être 100%." enlevé ; Question de Rootkit

Tandis que la plupart des antivirus et outils de déplacement de Malware demeurent inefficaces contre des rootkits, les outils tels que le BartPE et tout autre environnement de préinstallation (PE) ou le Distros de phase permettent à des utilisateurs d'initialiser leur ordinateur avec (vraisemblablement) un " frais ; l'ONU-rooted" ; copie du du système d'exploitation. Ceci permet à des utilisateurs d'examiner et remplacer les fichiers système affectés et de supprimer les rootkits offensants de la plupart des types tout en maintenant les systèmes fondamentaux intacts. Depuis la plupart des rootkits accrocher les fichiers système requis au niveau le plus bas de l'OS, initialisant dans le le mode que sûr ne permettra pas habituellement le déplacement du processus de rootkit. En revanche, le PE ne se fondent pas sur la structure de système fondamentale infectée mais chargent à la place une copie inaltérable propre du plein contrôle et de la détection laissants du système d'exploitation du rootkit. Tandis que la plupart des administrateurs préfèrent un propre réinstaller, un administrateur habile employant un PE peut souvent supprimer et nettoyer un système enraciné si une réinstallation n'est pas une option viable.

Comparaison avec des virus et des vers d'ordinateur

La distinction principale entre un virus d'ordinateur et un rootkit se rapporte à la propagation. Comme un rootkit, un virus d'ordinateur modifie des composants de logiciel de noyau du système, insérant le code qui essaye de cacher le " ; infection" ; et fournit un certain dispositif ou service additionnel à l'attaquant (IE, le " ; payload" ; d'un virus).

Dans le cas du rootkit la charge utile peut essayer de maintenir l'intégrité du rootkit (le compromis au système) --- par exemple chaque fois qu'on court la version des rootkit de la commande de la picoseconde de , il peut vérifier les copies de l'init de et de l'inetd de sur le système pour s'assurer qu'elles sont encore compromises, " ; re-infecting" ; selon les besoins. Le reste de la charge utile est là pour s'assurer que l'intrus continue à commander le système. Ceci implique généralement d'avoir les backdoors sous forme de paires hard-coded d'username/mot de passe, de commande-ligne cachée commutateurs ou d'arrangements variables « magiques » d'environnement qui renversent des politiques normales de contrôle d'accès des versions uncompromised des programmes. Quelques rootkits peuvent ajouter le port de frappant des contrôles de aux démons de réseau existant (services) comme l'inetd de ou le sshd de .

Un virus d'ordinateur peut avoir n'importe quelle sorte de charge utile. Cependant, le virus d'ordinateur essaye également de s'écarter à d'autres systèmes. Généralement un rootkit se limite à la commande de maintien d'un système.

Un programme ou une suite des programmes que des tentatives de balayer automatiquement un réseau pour les systèmes vulnérables et d'exploiter automatiquement ces vulnérabilités et de compromettre ces systèmes désigné sous le nom d'un ver d'ordinateur de . D'autres formes de vers d'ordinateur fonctionnent plus passivement, reniflant pour des noms de l'utilisateur et des mots de passe et en utilisant ceux aux comptes de compromis, installant des copies d'elles-mêmes en chaque un tel compte (et retransmettant habituellement l'information compromise de compte de nouveau à l'intrus par une certaine sorte de canal caché ).

Naturellement il y a des hybrides. Un ver peut installer un rootkit, et un rootkit pourrait inclure des copies d'un ou plusieurs vers, les renifleurs de paquet ou les modules de balayage gauches également plusieurs des vers d'email désigné généralement sous le nom du " ; viruses." ; Tellement toutes ces limites ont l'utilisation légèrement de recouvrement et sont souvent combinées.

Publiquement - disponible

Comme beaucoup de malware employé par des attaquants, beaucoup de réalisations de rootkit sont partagées et sont facilement disponibles sur l'Internet. Il n'est pas rare de voir un système compromis dans lequel sophistiqué publiquement - le rootkit disponible cache la présence des vers peu sophistiqués ou les outils d'attaque qui semblent avoir été écrits par les programmeurs inexpérimentés.

La plupart des rootkits disponibles sur l'Internet sont construites comme exploit ou " ; Validation de principe de le " ; pour démontrer des méthodes variables de cacher des choses dans un système informatique et de prendre la commande non autorisée. Puisque ceux-ci souvent ne sont pas entièrement optimisés pour la discrétion, elles laissent parfois l'évidence fortuite de leur présence. Néanmoins, quand de tels rootkits sont employés dans une attaque ils sont souvent très efficaces.

Voir également

Escroquerie d'intrus de
Virus d'ordinateur
Système de détection anti-intrusion géré par le système central
SANS l'institut
Scandale 2005 CD de système anti-copie de Sony BMG

.

Random links:Zubin Mehta | Peter Piot | Liste de cuirassés de l'Allemagne | En arrière dans le baroque… L'hommage de corde à AC/DC | Étoile d'Arandora | Rootkit