Le pire des caucherars
devient réalité... |
||||||
|
Troisième partie:
Comment ça marche? Infection initiale: - Bots de DCCsend - Bots FTP put - Bots de mail Notez que tous ces moyens de diffusion impliquent que le récipiendaire soit connecté d'une manière ou d'une autre au Net. L'IA lui-même peut être codé de manières différentes afin qu'il y ait des centaines de signatures différentes -ceci rendra la tâche plus compliquée pour les éditeurs d'anti-virus lorsqu'ils voudront créer un programme qui recherche une signature par le code. Premier contact L'IA doit être en mesure de se détecter lui-même. Cela permettra d'éviter que l'IA s'installe à chaque fois que le package est exécuté. Ceci peut être fait en "marquant" le host - cela ne révélera pas où l'IA est placé, mais juste que le host est infecté. Ce "marquage" compliquera encore plus le processus de détection car ce marquage devra être enlevé avant que le host puisse être réinfecté pour des tests. L'IA déterminera s'il est situé dans un environnement online (il peut établir une session avec une machine sur Internet). Si une connexion directe n'est pas possible, il déterminera si un proxy est présent et utilisera ce proxy pour se connecter à Internet. Idéalement, l'IA surveillera le trafic sur le port 80 et déterminera la meilleure voie de sortie -directe ou via un proxy. Comme cela pourrait impliquer l'installation d'un driver de paquets spécifique, l'IA pourrait surveiller le chargement de CPU par différentes applications et enregistrer lorsqu'il s'agit d'utilisation de CPU par un navigateur (IE ou Netscape). L'IA ne tentera une connexion que s'il peut déterminer de manière sure qu'il existe une connexion au Net. L'IA disposera d'une liste de serveurs qui seront prêts à recevoir son enregistrement. Pour chaque IA, cette liste contiendra des préférences aléatoires. L'IA tentera de contacter le serveur Web par ordre décroissant. Il enverra un rapport au serveur Web de la même manière que lorsque les browsers envoient un fichier sur un serveur. Cette liste pourrait contenir jusqu'à 75 sites différents. Le premier rapport qui sera envoyé par l'IA devrait
contenir les renseignements suivants: La plupart de ces informations peuvent être extraites de la base de registres. L'IA enregistrera ce rapport dans un fichier qui aura le même nom que le numéro de série auto-généré. L'IA tentera de télécharger sur le serveur Web un fichier appelé "compteur". Ce fichier contiendra un chiffre. Il augmentera ce chiffre et uploadera ce fichier avec le même nom. Ce fichier est, comme nous l'avons vu précédemment, un compteur qui comptabilise le nombre de hosts infectés qui ont pu contacter les serveurs. Un fichier "compteur.lock" peut être utilisé pour s'assurer que deux IA n'accèdent pas simultanément au fichier. Les IA bloqués recommenceraient plus tard. Il est *très* important que le virus ne soit pas découvert au moment initial de l'infection. L'IA ne doit en aucun cas montrer sa présence et doit s'autodétruire plutôt que d'être repéré. Les serveurs Web Les commandes "déposées" pour les IA seront répliquées entre serveurs. Cela implique que toutes les commandes seront présentes sur tous les serveurs, afin qu'un certain IA puisse se fournir sur plusieurs serveurs (au cas où l'un d'entre eux serait fermé par un administrateur, tombé ou occupé). Répliquer les données peut être aisément automatisé si le serveur accepte les connexions FTP. Si cela n'est pas le cas, un script PERL peut être écrit pour interroger des interfaces Web. Comme il est envisagé que le virus sera contrôlé par un groupe de personnes,un CRC checksum de tous les fichiers de commandes pourra être stocké sur les serveurs. La réplication n'aura lieu que lorsque les CRC checksums entre les serveurs ne colleront plus. Pour éviter la détection, de faux serveurs Web peuvent être inclus dans la liste. L'IA saura que ces sites ne contiennent pas de "zone de livraison" et ne tenteront pas d'y déposer des rapports ou d'en retirer des fichiers de commandes. Le seul but de ces serveurs sera de créer une confusion afin d'égarer les fabriquants d'anti-virus lorsque l'IA sera détecté. D'autres informations sur le format et la distribution des commandes suivront. Activité au jour le jour de l'IA Un fichier compteur sera établi pour savoir combien d'IA ont effectué les commandes par défaut. Un fichier de commandes devrait contenir les instructions suivantes: -remove() - mass destruct() - sync (time) - batch begin, batch end - download (filename, local name) - upload (local file, remote file) - update (local file) - spread (count, rate) - default begin (count), default end Le fichier type de commandes peut bien sur être élargi pour prendre en compte des commandes typiques de B.O. Un exemple de fichier commande de l'IA pourrait ainsi être: default begin 4 Dans cet exemple, l'IA effacera toutes les données sur les disques quand le contact sera perdu avec les quatre premiers serveurs de sa liste. Il tentera de downloader des fichiers de commandes toutes les 15 minutes. Il uploadera un fichier appelé 16643dhas13.all_docs contenant une liste de tous les *.doc présents sur le disque C:. Il downloadera et installera Back Orifice. La commande "spread" sera expliquée dans la partie suivante. Notez le "END" à la fin du fichier. Si l'IA ne trouve pas le mot "END" à la fin du fichier de commandes il considérera ce fichier comme non complet et n'exécutera pas les commandes. Avec un peu de travail, le fichier peut être crypté. Ce qui rendra bien plus complexe les tentatives de compréhension du fonctionnement du virus. Cela permettra aussi d'éviter que les fournisseurs d'anti-virus puissent envoyer une commande qui effacerait l'IA comme "remove()". La combinaison de la cryptographie et de la commande "default begin default end" est un concept intéressant. Si le host est présent sur le Net, il peut être contrôlé à distance. Si le site que l'IA doit contacter est fermé, le host tombe avec... les fabriquants d'anti-virus ne peuvent pas communiquer avec l'IA parce que la communication est cryptée. La seule solution pour être vraiment en sécurité est de déconnecter le host d'Internet. Seconde vague d'infection L'IA va rechercher les adresses e-mail dans les mailers . Il va extraire l'information stockée par le mailer (SMTP, gateway, adresse locale de l'utilisateur, etc.) de la base de registres ou du client mail. L'IA ne tiendra pas compte des adresses du même domaine (il n'enverra pas de message à bobby@bobby.com si le domaine local est bobby.com). Ceci permettra d'éviter qu'il ne soit trop rapidement repéré en raison d'échanges entre personnes d'une même entreprises ("tu m'as envoyé un mail avec un jeu sympa" -- "non, je ne t'ai jamais envoyé ça"). L'IA va commencer à envoyer des packages à un certain nombre de personnes chaque jour. Chaque message envoyé contiendra des objets différents (regarde ça, pour information, etc.). Le rythme d'envois peut être contrôlé via le fichier de commandes. Imaginons que nous avons une base installée initiale de 10.000 (ce qui est très faible). Si nous partons sur un rythme d'envoi de 7 virus/cheval de Troie, nous obtenons ce qui suit: 1ère vague: 70.000 Si l'on estime que seuls 75 des récipiendaires auront un système d'exploitation qui permet au virus/cheval de Troie de s'installer et que seuls 50% des ceux-ci exécuteront la pièce jointe, nous avons: 1ère vague: 26.250 A ce stade, les serveurs Web auront du mal à suivre. Gardez à l'esprit que la 4ème vague peut être atteinte en quelques heures, quand un mass_destruct() pourrait être déclenché. vers la quatrième partie: QQNNPP (Questions Que Nous Ne Devrions Pas Poser)
|
Page d'accueil Nous écrire By mail Nous envoyer des commentaires By la page de le Feed-Back |
Nouveautés
et... |
Le Sommaire de Kitetoa (orientation...) Sommaire général du site |
Les
rubriques! Les
livres publiés par Kitetoa |
Les
rubriques! (suite) Les Let-R-s Des Images On s'en fout! KitEcout' KessTaVu? -KiteToile Voyages |
Les dossiers : Precision [ZataZ] Le monde fou des Admins Defcon Le hack le plus bizarre Guerre de l'info Convention contre la cyber-criminalité Hack |
Questionnaire visant à améliorer le contenu de ce site si c'est possible et pas trop compliqué |
Rechercher sur le site ...et sur le Net Des liens et D'autres choses du Ouèb |