Comment je détecte un Trojan
Détecter Trojans est facile, si vous avez un modèle statique de recherche à balayer pour. le logiciel d'Anti-virus détecte par habitude (certains) employer de Trojans plus ou moins les mêmes techniques derecherche utilisées pour détecter des virus. Cependant, l'identification d'un Trojan connu n'est pas toujours la meilleure défense. La détection de Trojans précédemment inconnu est également (conceptuellement) simple, si vous avez toujours maintenu les meilleures pratiques en matière de sécurité (littéralement toujours, du moins en ce qui concerne le système protégé). La plupart des méthodes de détection sur les systèmes à utilisateurs multiples traditionnels dérivent d'une réconciliation parfois appelée d'objet de principe. La réconciliation d'objet est une manière de fantaisie de demander, "sont les choses encore justes la manière I à gauche elles?" Voici comment cela fonctionne : Les objets sont des secteurs de système, tels que des dossiers ou des annuaires. La réconciliation est le processus de comparer ces objets contre un disque d'instantané des mêmes objets pris à une certaine date précédente où l'objet protégé a été connu pour être dans un digne de confiance, "nettoient" l'état. Note À proprement parler, il n'y a plus d'un tel temps "d'état propre". Même une installation nulle d'"jour" de logiciel système sur un système vierge assume une suite de programme sans des substitutions et des portes arrières. Est-ce que pouvez-vous vous placer la confiance illimitée dans un système vous faites pas la construction totalement à partir de zéro vous-même ? "aucune quantité de vérification ou d'examen minutieux de source-niveau ne vous protégera contre employer untrusted le code," dit Ken Thompson dans ses réflexions sur faire confiance à la confiance. ce moyen que nous devrait donner vers le haut à cette approche ? Naturellement pas, mais nous devrions considérer que, même si nous construisons un tion d'applica de code source contrôlé, nous ne pourrions pas pouvoir faire confiance au compilateur ou à chaque extrait de microcode de matériel sur la carte mère de système. Généralement, le processus décrit comme réconciliation d'objet est connu comme détection de changement, vérification d'intégrité, ou gestion d'intégrité. Cependant, ces limites ne sont pas strictement synonymes. La détection de changement décrit simplement n'importe quelle technique qui alerte l'utilisateur au fait qu'un objet a été changé à un certain égard. La vérification d'intégrité a la même signification de noyau, mais est souvent prise pour impliquer une approche plus sophistiquée, non seulement à détecter le changement malgré des tentatives de le cacher, mais à s'assurer que le logiciel de reportage lui-même n'est pas renversé. La gestion d'intégrité est une limite plus générale. Elle peut inclure non seulement la détection des changements non autorisés, mais d'autres méthodes de maintenir l'intégrité de système. De telles méthodes peuvent inclure une partie ou toute la suivant, dans aucun ordre particulier :
Une méthode simple d'examiner l'intégrité de dossier, est basée sur des rapports des changements de l'information d'état de dossier. Les différents essais d'intégrité de dossier changent dans la sophistication. Par exemple, vous pouvez crûment examiner l'intégrité d'un dossier en utilisant n'importe lequel des index suivants :
Malheureusement, aucune de ces trois méthodes ne constitue une défense vraiment proportionnée contre plus que l'attaque la plus brute. Chaque fois que un dossier est changé, ses valeurs changent. Par exemple, chaque fois que le dossier est ouvert, changé, et sauvé, une nouvelle date dernier-modifiée émerge. Cependant, cette date peut être facilement manoeuvrée. Considérez manoeuvrer cet horodateur de dossier. Combien difficile est-il ? Changez le temps de système, appliquez désiré édite, archive le dossier, et remet à zéro le temps de système. Améliorez toujours, obtenez et économiser l'information de date/heure en utilisant des fonctions de bibliothèque standard de C (par exemple), modifient ou remplacent l'objet, et reconstituent la date de modification de dossier. Sur un système individuel (comme le MS-DOS) avec aucuns contrôles d'accès minimaux ou, le codage impliqué est insignifiant. Pour ce fils de rea, la vérification de la période de la modification est une manière incertaine de détecter le changement. En outre, la dernière date de la modification n'indique rien si le dossier était inchangé (par exemple, s'il était seulement copié, vu, ou expédié). D'autre part, s'il y a une disparité entre la date de modification retournée par le système et la date de la modification enregistrée par un système surveillant l'utilité, il y a une possibilité distincte d'action malveillante. Une autre manière de vérifier l'intégrité d'un dossier est en examinant sa taille. Cependant, cette valeur peut être très facilement manoeuvrée, en équilibrant ou en capitonnant le dossier lui-même, ou en changeant la valeur rapportée par le logiciel d'exploitation. Il y a d'autres index. Par exemple, des sommes de base ont pu être employées. Cependant, bien que les sommes soient plus fiables que le temps et le marquage de la date, elles peuvent être changées, aussi. Si vous comptez sur un système de base de somme (ou employez le logiciel de détection de changement, qui se fonde sur checksumming simple), il est particulièrement important que vous mainteniez votre liste de somme dans un environnement de confiance. Ceci pourrait signifier sur un serveur séparé ou même un milieu séparé, accessible seulement par la racine ou autre a fait confiance à des utilisateurs. Les sommes fonctionnent efficacement et convenablement pour vérifier l'intégrité d'un dossier transféré, par exemple, du point A il n'est pas approprié de diriger B, mais aux applications élevées de sécurité. Ils simplement ne sont pas conçus pour garder contre une tentative malveillante de les renverser pour renvoyer l'information fausse. Une technique moins facilement renversée implique de calculer une empreinte digitale numérique plus sophistiquée pour chaque dossier en utilisant de divers algorithmes. Une famille des algorithmes appelés la série de MD peut être employée à cette fin. Une des réalisations les plus populaires est un système appelé MD5. MD5MD5 appartient à une famille des fonctions à sens unique d'informations parasites appelées les algorithmes de sommaire de message. Le système MD5 est défini dans RFC 1321 comme suit : L'algorithme prend comme entrée un message de longueur arbitraire et produit comme rendement un 128-bit "empreinte digitale" ou "sommaire de message" de l'entrée. On le conjecture qu'il est informatique infaisable pour produire deux messages ayant le même sommaire de message, ou pour produire n'importe quel message ayant un sommaire préspécifié donné de message de cible. L'algorithme MD5 est prévu pour des applications numériques de signature, où un grand dossier doit être "comprimé" d'une façon bloquée avant d'être chiffré avec une clef (secrète) privée sous un cryptosystem de public-clef tel que RSA. Quand vous courez un dossier par MD5, l'empreinte digitale émerge pendant qu'une valeur 32-character. Elle ressemble à ceci : 2d50b2bffb537cc4e637dd1f07a187f4 Beaucoup d'emplacements qui distribuent l'utilisation MD5 de logiciel d'UNIX de produire des empreintes digitales numériques pour leurs distributions. Car vous passez en revue leurs annuaires, vous pouvez examiner l'empreinte digitale numérique originale de chaque dossier. Une liste typique d'annuaire pourrait ressembler à ceci : MD5 (wn-1.17.8.tar.gz) = 2f52aadd1defeda5bad91da8efc0f980 MD5 (wn-1.17.7.tar.gz) = b92916d83f377b143360f068df6d8116 MD5 (wn-1.17.6.tar.gz) = 18d02b9f24a49dee239a78ecfaf9c6fa MD5 (wn-1.17.5.tar.gz) = 0cf8f8d0145bb7678abcc518f0cb39e9 MD5 (wn-1.17.4.tar.gz) = 4afe7c522ebe0377269da0c7f26ef6b8 MD5 (wn-1.17.3.tar.gz) = aaf3c2b1c4eaa3ebb37e8227e3327856 MD5 (wn-1.17.2.tar.gz) = 9b29eaa366d4f4dc6de6489e1e844fb9 MD5 (wn-1.17.1.tar.gz) = 91759da54792f1cab743a034542107d0 MD5 (wn-1.17.0.tar.gz) = 32f6eb7f69b4bdc64a163bf744923b41 Si vous téléchargez un dossier d'un tel serveur et constatez que l'empreinte digitale numérique du dossier téléchargé est différente, il y a de fortes chances qui quelque chose est de travers. Avec ou sans MD5, la gestion d'intégrité est un processus complexe. De diverses utilités ont été conçues pour aider avec la gestion d'intégrité sur les systèmes complexes et répartis. Les utilités suivantes UNIX-ont été à l'origine basées, mais les programmes semblables sont disponibles pour les logiciels d'exploitation de Microsoft. TripwireTripwire (écrit en 1992) est un outil complet d'intégrité de dossier. Tripwire est bien conçu, facilement compris, et facilement mis en application. Les valeurs originales (empreintes digitales numériques) pour que des dossiers soient surveillés sont gardées dans un dossier de base de données. Que le dossier de base de données dans le format simple d'ASCII est consulté toutes les fois qu'une signature doit être calculée ou vérifiée. Dans le meilleur des cas, un outil tel que Tripwire serait utilisé juste après (jour zéro) une installation fraîche. Ceci vous donne 100% l'assurance de l'intégrité de système de fichiers comme point de départ (ou presque 100%—rappelez-vous l'article de Ken Thompson). Une fois que vous produisez de la base de données complète pour votre système de fichiers, vous pouvez présenter d'autres utilisateurs (qui rempliront immédiatement votre système d'ordure qui, sur option, peut également être prise des empreintes digitales et vérifiée sur les contrôles suivants). Voici certains de ses dispositifs plus utiles :
Tripwire est un outil populaire et efficace, mais il y a quelques titres communs aux la plupart ou à tous les outils de gestion d'intégrité. Une telle issue se relie à la base de données des valeurs qui est produite et maintenue. Du commencement, les auteurs de Tripwire allaient bien avertis de ceci : La base de données employée par le contrôleur d'intégrité devrait être protégée contre des modifications non autorisées ; un intrus qui peut changer la base de données peut renverser l'intégrité entière vérifiant l'arrangement. Une méthode de protéger la base de données est de la stocker sur des médias inaltérables. Ceci élimine n'importe quelle probabilité du trifouillage. Kim et Spafford suggèrent que la base de données soit protégée de cette manière, bien qu'ils précisent que ceci pourrait présenter quelques problèmes pratiques et procéduraux. Beaucoup dépend de combien de fois la base de données sera mise à jour, et sa taille. Certainement, si vous mettez en application Tripwire ou une utilité semblable sur une échelle large (et employez ses arrangements plus rigoureux), l'entretien d'une base de données inaltérable pourrait être formidable. Comme d'habitude, ceci décompose à une différence entre le niveau du risque et le dérangement de placer et de maintenir des défauts paranoïdes. TAMULa suite de tigre de TAMU (de l'université du Texas A&M) est une collection d'outils qui considérablement hance d'en le degré de sécurité d'une boîte d'UNIX. Ces outils ont été créés intérieurement, en réponse à une attaque étendue à partir d'un groupe coordonné de biscuits d'Internet. Le paquet a été amélioré et a retitré TARA (aide analytique de recherches de tigre). Il incorpore un certain nombre de manuscrits employés pour balayer des systèmes d'UNIX pour des problèmes. HobgoblinHobgoblin est une exécution intéressante de la vérification de dossier et d'système-intégrité. C'est une langue et un interprète. La langue, selon les auteurs, décrit les propriétés d'un ensemble de dossiers, et les contrôles d'interprète si la description assortit les dossiers réels, et marque toutes les exceptions. Sur D'Autres PlateformesLes contrôleurs d'intégrité de dossier existent pour Windows, (il y a en fait une exécution de Tripwire pour Windows NT). Des contrôleurs d'intégrité nécessairement ne sont pas expressément conçus pour vérifier les machines multiples et les réseaux finis de systèmes de fichiers. Quelques outils plus anciens de DOS et de Windows emploient le CRC simple checksumming comme il pourrait donc être plus facile renverser un index et que les outils qui utilisent MD5 et algorithmes relatifs. La majorité sont prévues pour l'usage comme supplément aux modules de balayage de virus (puisque les changements discernables à un objet infectable pourraient indiquer l'infection de virus). Ceci n'infirme pas l'utilité potentielle des contrôleurs d'intégrité car des moyens de détecter les substitutions possibles du code compromis pour des dossiers de système. Cependant, la détection de changement est moins commode sur des plateformes de Windows du fait des dossiers de système consultés par des applications multiples peuvent être remplacés par les installations et les mises à niveau légitimes. Il y a souvent une délinéation plus marquée sur d'autres plateformes entre les dossiers appartenant au système et les dossiers qui appartiennent à une application. En outre, la détection de changement fonctionne seulement bien avec certains types d'executables binaires, même dans le contexte de la détection de virus. Beaucoup de virus et Trojans infectent les dossiers dont le but principal est de contenir des données (bilans, dossiers de traitement de texte, et ainsi de suite). Cependant, de tels dossiers sont habituellement prévus pour être modifiés, de même que les dossiers de notation employés sur beaucoup de systèmes à utilisateurs multiples pour dépister l'action malveillante possible. Clairement, la détection de changement basée sur la présomption qui les dossiers restent statiques ne va pas fonctionner dans ces exemples. Parfois, il est possible d'indiquer les changements qui pourraient signifier une infraction (l'addition du macro code à un dossier de mot, par exemple). Cette approche exige que le logiciel d'inspection "savent" plus au sujet des internals du dossier, plutôt que juste sa empreinte digitale numérique. Cela nécessiterait des difficultés administratives graves, ainsi l'approche n'est pas bonne favorisée actuellement. La défense la plus sûre, bien que, doit bloquer la modification non autorisée des dossiers de système proactivement par la signature de code, les médias inaltérables, et d'autres mesures de préemption. c'est un article supplémentaire par Marcel Baldwin
|
|||
|