Commençant Backdoors Automatiquement
Quand un attaquant se casse en système et installe un secret, lui ou elle lance habituellement manuellement le programme secret. Cependant, quand l'attaquant se déconnecte de votre machine, lui ou elle n'est plus dedans commande directe du système. Ainsi, que garde que le fonctionnement secret sur une base de jour en jour après le mauvais type est parti ? Supposez les réinitialisations embêtantes d'un interface gestionnaire le système, ou plus mauvais encore, la machine se brise. Quand la boîte démarre vers le haut encore, le secret ne courra pas davantage, refusant à l'attaquant son accès dur-combattu. Pour remédier à de ce souci, le bandit astucieux change habituellement la machine pour remettre en marche le secret automatiquement sur une base périodique, particulièrement pendant le processus d'initialisation de système. Dans cette section, nous discuterons comment les mauvais types manoeuvrent des systèmes pour s'assurer leurs backdoors automatiquement remettre en marche. Puisque ces méthodes dépendent tellement fortement du type de système, nous analyserons les mécanismes commençants secrets de Windows et d'UNIX séparément. Établissement Windows Backdoors à commencerLes machines de Windows coulent avec différentes possibilités automatiques de mise en train de programme. Un attaquant a pu placer le nom d'un programme ou d'un manuscrit exécutable dans n'importe quel d'une variété d'endroits pour faire commencer le logiciel d'exploitation automatiquement ce programme. D'une manière générale, les machines de Windows offrent trois types différents de mécanismes pour le code malveillant (ou même nonmalicious) démarrant automatiquement : une poignée de dossiers de démarrage automatique et de chemises, une pléthore d'arrangements d'enregistrement, et programmé charge. Changement des dossiers et des chemises de démarrageCommençons par les dossiers de démarrage de discussion et la table de folders.The ci-dessous décrit plusieurs endroits qui activeront automatiquement les executables et les manuscrits arbitraires sur un système de Windows quand les événements spécifiques se produisent, comme l'initialisation de système ou un utilisateur donné notant dans la machine. Un attaquant a pu inclure le nom d'un programme secret dans n'importe laquelle de ces dossiers ou chemises pour l'obtenir pour fonctionner automatiquement sur le système de cible.
Abus D'EnregistrementAu delà des dossiers et des chemises, plusieurs clefs d'enregistrement peuvent être maltraitées afin d'activer automatiquement un secret. L'enregistrement est une base de données gigantesque logeant la configuration détaillée du logiciel d'exploitation de Windows et de divers programmes qui sont installés sur la boîte. Chacune des clefs peut être changée en utilisant le programme de Regedit.exe, un rédacteur d'enregistrement construit dans des machines de Windows NT/2000/XP/2003. Si vous projetez expérimenter avec un quelconque de ces clefs, il est extrêmement important que vous fassiez une protection de votre système avant de tordre l'enregistrement. Si vous changez accidentellement une certaine clef critique dans votre enregistrement, vous pourriez complètement arroser votre machine, le rendant unbootable. Ainsi, veuillez faire attention. Les clefs critiques d'enregistrement pour des programmes commençants automatiquement sont montrées ci-dessous : Whew ! C'est une longue, laide liste, mais il est important d'identifier qu'il y a un sort terrible d'endroits que un attaquant pourrait accumuler loin le nom d'un certain secret terriblement mauvais pour l'obtenir a commencé. Bien que cette liste pourrait épuiser, elle n'est pas approfondie. Les versions actuelles et futures de la volonté de Windows ont probablement bien plus d'arrangements d'enregistrement pour commencer automatiquement le logiciel, car la complexité de Windows se développe avec chaque pièce rapportée, dégagement, et application suivants de système installée. Notez que certains de ces arrangements d'enregistrement commencent par les lettres HKLM et d'autres commencent par HKCU. Dans les deux cas, le H représente la ruche, une référence à un gros morceau de l'enregistrement de Windows. HKLM représente la machine locale de clef de ruche, et indique au niveau système des arrangements. HKCU représente l'utilisateur courant de clef de ruche, et identifie des arrangements pour la personne actuellement notée dans la machine de Windows. La majeure partie du moment, pour commencer vers le haut des programmes et des services, les arrangements de HKLM est exécutée d'abord, suivi des articles de HKCU. En outre, HKCR, qui représentent des classes de clef de ruche enracinent, identifient les divers programmes qui sont ouverts par Windows sous des événements spécifiques. Rendant des sujets plus mauvais, cette liste de composants de démarrage n'est pas la seule manière de commencer des programmes automatiquement dans Windows. Nous devons encore prendre un regard au programmateur de Charger. Minage du programmateur de ChargerUne méthode populaire finale pour commencer automatiquement un secret sur des machines de Windows NT/2000/XP/2003 implique de programmer un charger pour fonctionner sur le système. En utilisant le service de programmateur de Charger, un attaquant peut indiquer le système exécuter un programme spécifique aux instants spécifiques, les dates spécifiques, ou quand certains événements se produisent, comme l'initialisation de système ou l'ouverture d'utilisateur. Vous pouvez programmer nouveau charge sur votre système ou regarde ceux déjà programmés en employant programmé Charge le GUI dans le panneau de commande de système. Alternativement, vous pourriez employer à la commande-ligne outil sur Windows NT, 2000, et XP ou les schtasks commandent dans Windows.xp et 2003 à la vue ou au programme charge. Le GUI et la ligne de commande montrent une vue à niveau élevé des programmes dressés pour courir sur le système. Le détail a fourni par à la commande est utile. Pour obtenir ce genre d'information hors du GUI, vous devriez cliquer sur l'individu charge montré dans programmé Charge la chemise. Une chose gentille au sujet de la vue de GUI est qu'elle inclut toute charge appelé par le programmateur de charger, y compris des actions temps-basé et de système de mise en train. Notez que le charger avec un nombre d'identification de 2 inclut une ligne de commande pour courir backdoor.exe. Gee, je me demande ce que celui-là pourrait faire ! Les défenses : Détecter Des Techniques Commençantes Secrètes De WindowsAinsi, les attaquants ont un groupe de manières d'installer un secret sur Windows pour courir longtemps après que le mauvais type soit parti. Pour empêcher de telles attaques, vous devez garder les mauvais types au loin de votre système en premier lieu. Un petit empêchement va un long chemin en arrêtant ce type d'attaque. Cependant, même avec les plus grandes étapes préventives, quelques attaquants pourrait la trouvaille immobile une manière dedans. Ainsi, au delà de l'empêchement, comment pouvez-vous détecter la modification d'un attaquant de votre système pour commencer automatiquement un secret ? Bien, vous pourriez manuellement vérifier chaque dossier et la chemise chaque clef d'enregistrement montrée dans la table ci-dessus et programmé charge de voir si quelque chose de de poisson a été programmé. Malheureusement, manuellement la vérification de toutes ces possibilités exigera des gobs de temps de frustration dépensés dans l'isolement à froid et isolé. Heureusement, il y a un outil libre intéressant appelé AutoRuns qui vient à la délivrance. Disponible à aucune charge des bons gens chez Sysinternals à www.sysinternals.com, ce programme énumère automatiquement toute la commencer automatiquement charge sur votre boîte de Windows NT/2000/XP, y compris les chemises de démarrage, dossiers, arrangements d'enregistrement, et programmé charge. L'outil d'AutoRuns montre non seulement les nombreuses différentes clefs d'enregistrement de mise en train, chemises, et les charge distribué dans tout le système, mais il montre également les valeurs qu'elles ont été placées à. Vous pouvez voir le nom exact de chaque programme, service, ou manuscrit qui obtient exécuté pendant le démarrage pour chaque méthode. C'est une liste maniable à avoir, pour la sécurité et le dépannage. En utilisant AutoRuns, vous ne devrez pas creuser par un groupe de clefs et de chemises d'enregistrement pour voir quels programmes sont exécutés pendant l'initialisation de système. Toute l'information est rassemblée ensemble dans un GUI intéressant, qui soutient même sauter automatiquement à chaque clef de chemise ou d'enregistrement ainsi vous pouvez facilement éditer sa valeur. Je suis certainement un grand ventilateur d'AutoRuns, mais il a une limitation remarquable une fois utilisé pour trouver de divers backdoors fonctionnants automatiquement. AutoRuns fait exactement ce qu'il annonce : Il montre ces programmes et manuscrits qui sont activés quand le système commence vers le haut ou les utilisateurs spécifiques à entrer. Cependant, avec son foyer sur des événements de démarrage et d'ouverture seulement, AutoRuns ne montre pas que en charge qui sont programmés à la course basée sur des instants spécifiques de jour. Un attaquant pourrait programmer un secret pour remettre en marche chaque matin à 3:00 A.M., et AutoRuns ne le montrera pas, parce qu'il est basé sur l'heure. Ainsi, si vous comptez sur AutoRuns pour trouver commencer automatiquement des backdoors, rappelez-vous que vous devez encore vérifier programmé charge en regardant dans programmé Charge le panneau de commande, courir à la commande, ou en utilisant les schtasks commandez. En plus, vous pourriez utiliser un programme de contrôle d'intégrité de dossier pour rechercher vos machines de Windows tous les changements de dossiers de système critiques et de clefs d'enregistrement. Ces programmes contiennent une base de données de bonnes empreintes digitales connues des dossiers de système critiques et des valeurs d'enregistrement, y compris ces dossiers et annuaires liés à l'initialisation de démarrage et d'utilisateur de système. Quand un changement est détecté, l'outil vous alertera qu'ainsi vous pouvez figurer hors de qui a fait le changement : un interface gestionnaire exécutant l'entretien standard de système ou un attaquant mauvais s'est plié sur la domination du monde. Après initialisation de l'outil pour créer la base de données des empreintes digitales, vous pouvez dresser le programme de contrôle d'intégrité de dossier pour fonctionner de façon régulière, tel que chaque jour ou même chaque heure. Quand il fonctionne, l'outil vérifiera les changements aux dossiers que vous le dites d'observer. Quand il trouve un changement à un du démarrage ou des dossiers d'initialisation d'utilisateur décrits dans cette section, alors l'interface gestionnaire doit réconcilier tous les changements avec l'activité légitime récente de système. Le contrôleur d'intégrité de dossier agit comme un garde de sécurité humain, maintenant l'ordre votre système pour les changements non autorisés. Si l'administrateur installait légitimement une pièce rapportée, tordait le processus d'initialisation, ou changeait un environnement d'utilisateur, l'alerte de l'outil est simplement une alarme fausse. Autrement, un attaquant pourrait être sur le vagabondage, modifiant la configuration de système pour commencer vers le haut un secret. Ce procédé de réconciliation n'est pas pour le faible du coeur. Il exige beaucoup de l'effort de la part de l'interface gestionnaire, mais est bien plus facile que vérifiant l'intégrité de chaque dossier et annuaire simples à la main. Les programmes de contrôle nombreux d'intégrité de dossier de Windows sont disponibles, y compris la version commerciale de Tripwire, à www.tripwire.com. Malheureusement, la version libre de Tripwire ne soutient pas Windows. Plusieurs l'autre intégrité de dossier vérifiant des outils sont disponible pour Windows, y compris le moniteur d'intégrité de système de GFI LANguard et la sentinelle de données d'Ionx. Commencer UNIX BackdoorsSûr, beaucoup d'offre de systèmes de Windows de manières de commencer automatiquement à exécuter des programmes, mais UNIX n'est aucun slouch non plus. En effet, les systèmes d'UNIX sont extrêmement licencieux dans leur goût pour commencer vers le haut des manuscrits et des programmes. Comme avec Windows, des chaque de ces techniques ont pu être maltraitées pour commencer un secret. Sur UNIX, les techniques entrent dans plusieurs catégories, y compris ajouter ou modifier les manuscrits d'initialisation de système, modifiant la configuration du démon d'Internet (inetd), changeant un environnement d'utilisateur, et programmant les travaux. Modification des config d'Uber-Processus : inittabQuand un système d'UNIX est initialisé, il court une variété de manuscrits et de programmes d'initialisation. Le premier processus à courir sur une machine d'UNIX est le démon d'init, qui active tous autres processus requis pendant l'initialisation de système. Le dossier /etc/inittab contient à un init de manuscrit disant ce que d'autres processus il devraient commencer. Un attaquant pourrait ajouter une ligne au dossier d'inittab qui commence vers le haut le propre secret de l'attaquant en tant qu'élément de l'ordre d'initialisation. Le dossier d'inittab contient des entrées avec le format [ id]:[rstate]:[action]:[process ], défini comme suit :
Modification d'autres manuscrits d'initialisation de système et de serviceSur la plupart des systèmes d'UNIX, le dossier d'inittab indique habituellement l'init courir une série de manuscrits d'initialisation de service pour commencer de divers services courir sur une boîte. Au lieu de changer l'inittab lui-même, un attaquant pourrait également modifier ces divers manuscrits d'initialisation de service, qui commencent des services tels que httpd (un serveur de Web), sendmail (un mail server populaire), et sshd (le démon bloqué de coquille utilisé pour l'accès à distance bloqué). Selon votre saveur particulière d'UNIX, ceux-ci service des manuscrits d'initialisation sont souvent stockés dans les annuaires de /etc/rc.d ou de /etc/init.d. Sur un système typique d'UNIX, il y a 20 tels manuscrits ou plus, chaque 10 à 50 lignes désirent ardemment, fournissant la terre fertile pour planter un secret. Un attaquant a pu simplement ajouter un manuscrit secret à un de ces annuaires, ou même change les manuscrits déjà-existants pour donner un coup de pied outre d'un secret. Par exemple, je pourrais ajouter un nouveau service appelé le httpb (notez le "b" de remorquage pour secret, qui ressemble au "httpd"), ou même modifie le manuscrit déjà-existant qui commence le vrai httpd de sorte qu'il d'abord des courses mon secret, et puis met en marche votre serveur de Web. Comme attaque finale contre vos manuscrits de démarrage, un attaquant pourrait égaliser l'usine juste un secret dans un dossier de configuration qu'un des manuscrits existants d'initialisation de service courra comme il commence vers le haut. Par exemple, si votre système emploie jamais le protocole de point-à-point (PPA) pour des raccordements d'appel téléphonique de modem, la machine essayera d'exécuter un manuscrit de configuration appelé le /etc/ppp/ip-up.local. La majeure partie du temps, ce manuscrit n'est pas nécessaire, ainsi elle est habituellement blanche. Cependant, je pourrais placer le nom de mon secret dans ce dossier, et chaque fois que vous composez vers le haut d'utiliser votre modem, ma course secrète méchante de volonté. Aller après la configuration des inetdAu delà de ces manuscrits de démarrage divers, les attaquants changent également fréquemment la configuration d'un processus particulier largement répandu pour soutenir des services de réseau, à savoir le démon d'Internet (inetd, prononcé "je-filet-dee"). Sur une boîte d'UNIX, le processus d'inetd attend le trafic de réseau pour une variété de services, y compris le ftp, le telnet, et d'autres. Quand l'inetd reçoit le trafic destiné à un de ces services, il court le serveur associé pour manipuler le trafic s'il est configuré pour courir le service. Les attaquants pourraient modifier ou ajouter une ligne au dossier de configuration d'inetd, qui est stocké dans le dossier de /etc/inetd.conf ou dans l'annuaire de /etc/xinetd.d, selon la saveur particulière d'UNIX. En modifiant la configuration des inetd, un attaquant pourrait indiquer l'inetd courir un secret quand le trafic spécifique arrive pour un port particulier de TCP ou de UDP. L'inetd de modification pour commencer un secret est l'une des techniques secrètes les plus communes en service contre des systèmes d'UNIX aujourd'hui. Dans notre analogie de corporation de hiérarchie, l'inetd est un directeur, mais extrêmement important. La corruption de ce directeur pourrait donner à un attaquant l'accès à distance à la société, parce que l'inetd écoute sur le réseau des raccordements. Ajustement Des Manuscrits De Démarrage D'UtilisateurQuand un utilisateur entre à un système d'UNIX ou court certaines commandes, le système active une variété de manuscrits pour initialiser l'environnement d'utilisateur. Ces manuscrits ont laissé des utilisateurs adapter leur environnement de calcul en courant des commandes spécifiques pendant l'ouverture. Les dossiers de démarrage de l'utilisateur le plus commun sont exposés dans la table dans ce qui suit. Un attaquant pourrait ajouter une ligne simple contenant le nom d'un secret à des n'importe quels de ces manuscrits pour activer cela secret quand le manuscrit est couru. Faisant à des sujets plus mauvais encore, ces manuscrits sont dispersés dans tous les répertoires locaux des utilisateurs, comme le répertoire local pour le compte de super-utilisateur sur le système, racine. Puisqu'ils ne sont pas stockés dans un endroit simple, les administrateurs peuvent avoir l'ennui dépister la personnalisation des différents utilisateurs de ces dossiers. Plusieurs de ces manuscrits sont 10 à 50 lignes longues, sorts encore d'offre des options pour qu'un attaquant parte furtivement dans l'activation d'un secret.
Les travaux mauvais d'établissement du programme avec CronUne méthode populaire finale pour activer un secret sur UNIX implique de programmer un travail qui court le secret en utilisant le démon de cron. Cron fonctionne plutôt comme Windows Chargent le programmateur. À certaines heures prédéfinies, le cron exécute les manuscrits, qui pourraient inclure des backdoors. Cron est configuré en utilisant les dossiers de crontab, qui sont trouvés dans /etc/crontab et /etc/cron.d pour les travaux d'interface gestionnaire. Les différents utilisateurs peuvent également créer les travaux programmés dans l'annuaire de /etc/spool/cron. En ajoutant une entrée simple à des n'importe quels de ces dossiers, un attaquant a pu programmer un secret pour commencer à un instant spécifique, ou pendant l'initialisation de système. Ainsi, en utilisant le cron, un attaquant peut configurer le système pour commencer vers le haut le secret chaque heure, s'il ne fonctionne pas déjà. De cette façon, si mon processus secret obtient jamais tué par un interface gestionnaire, une réinitialisation de machine, ou un arrêt du système, je devrai seulement attendre un maximum de pendant une heure avant que la machine le remet en marche pour moi. Les défenses : Détecter Des Techniques Commençantes Secrètes d'UNIXAinsi, s'ajoutant vers le haut de tous les différents secteurs un attaquant peut employer pour commencer un secret, vous pourriez regarder plusieurs centaines de dossiers et les annuaires, se composant de quelques mille lignes de difficile-à-ont lu des manuscrits. Quelle douleur ! Clairement, la recherche le nid de ce rat des backdoors n'est pas quelque chose que un humain typique pourrait faire de façon régulière. Pour cette raison, vous devriez utiliser un outil automatisé qui des alertes vous quand des changements sont faits aux divers dossiers et manuscrits de configuration énumérés dans cette section. Plusieurs programmes de contrôle populaires d'intégrité de dossier sont disponibles sur une base commerciale et libre pour agir en tant que vos domestiques numériques en accomplissant ce but. Comme leurs contre-parties de Windows que nous avons discutées plus tôt, ces outils créent une base de données de cryptographique hache cet acte comme les empreintes digitales numériques de vos dossiers de système critiques et vérifie périodiquement votre état de système contre lui. Un nombre énorme d'intégrité de dossier vérifiant des outils sont disponible pour UNIX. Le granddaddy de ces outils est le Tripwire vénérable, disponible sur une base commerciale et libre pour UNIX à www.tripwire.com et à www.tripwire.org, respectivement. En outre, l'AIDE d'outils de source (www.cs.tut.fi/~rammer/aide.html) etl'Osirislibres et ouverts (http://osiris.shmoo.com/) exécutent les contrôles semblables. c'est un article supplémentaire par Greg McKlein
|
|||||||||||||||||||||||||||||||||||||||||
|