Préambule Les sources d'attaques sont multiples tout comme la nature de celles-ci. Une fois une application «espion» ou «malfaisante» installée sur votre système, on peux conclure les choses suivantes : 1. Notre protection à l'entrée est insuffisante 2. Nos utilisateurs sont peut-être insuffisamment informés de ce qui peux être une source de menace 3. Notre surveillance de l'intérieur est faible on inexistante
La source Afin de prévenir l'implantation de certaines menaces, il est bon d'étudier quelles sont-elles et comment elles fonctionnent. D'abord elles se divisent en trois catégories : Les menaces de source réseautiques Ce sont les menaces qui entrent via le réseau Les menaces de source logicielles Ce sont les menaces qui se dissimulent dans des applications. Les menaces de source humaine
Ce sont : Les menaces réseautiques Les troyens (trojan) Les vers Les portes alternatives (backdoor)
Ce sont : Les menaces logicielles La bombe logique (logic bombs) L'injection SQL Le dépassement de tampon (buffer overflow) Prises d'otage (hijack) Key-logger RootKits Publiciels
Ce sont : L'intrusion à un poste Accès piraté Session laissé ouverte Sessions «Administrateur» Les leurres Laisser l'usager faire le travail L'hameçonnage Forme très subtile de leurre Les menaces humaines
La bombe logique Il s'agit d'un programme inséré sur le disque local par un «intru» et qui est attaché à un événement Windows quelconque. La source (l'intrus) peux être : Une application ActiveX I/E est la source la plus facile Un programme téléchargé Faux anti-virus Applications de synchro. La plupart des clé USB Un individu malicieux ayant accès à l'ordinateur Postes sans surveillance Sessions avec trop de privilèges Comptes trop permissifs Quand l'événement se produit, le programme effectue une tâche malicieuse. La plupart du temps, la bombe logique est déguisée en application normale et est difficile à détecter. Prévention : Scan anti-virus sur chaque poste Navigateur plus sécuritaire Journalisation des installations Formation du personnel Sauvegardes fréquentes Politiques d'utilisation USB
Les vers Le vers informatique est un programme véhiculé par l'internet. Il a les caractéristiques suivantes : Il se reproduit lui-même sans l'aide de quoi que ce soit Il ne s'attache pas à des fichiers ou programmes comme le font les virus Il ne requiert aucune action de l'utilisateur pour se reproduire Comme il se reproduit et que ses copies se reproduisent aussi, son principal effet est d'engorger le système et le réseau très rapidement. Il peut avoir n'importe quel comportement une fois dans l'ordinateur Détection : Prévention : Un accroissement soudain de l'activité sur l'ordinateur Peut ne laisser aucune trace visible Un bon pare-feu Journalisation des événements
Les Troyens (Trojan) Nommés à partir du «Cheval de Troy», un Troyen est un logiciel malveillant déguisé en application légitime. La plupart du temps téléchargés par un utilisateur qui se voit offrir une application «gratuite» (et souvent rempli de promesses). En effet, l'utilisateur peux penser télécharger une application pour jouer ses MP3 ou un éditeur de photo ou autre et se rendre compte que ce n'est pas le cas à l'installation. Cependant, les troyensles plus subtiles offrent les fonctions promises du programme mais font, en addition, autre chose en arrière plan, à l'insu de l'utilisateur. Prévention : NOTE: Contrôler ce qui peux être installé sur un poste. Des pilotes de périphériques peuvent être des troyens.
La bombe logique (logic bombs) La bombe logique se comporte comme le cheval de troy. Il s'agit de code malicieux camouflé dans un programme apparemment inoffensif. Ce code sera activé par un événement particulier tel : une date l'activation d'une fonction du programme hôte etc Exemple WEB : Si ce document se nomme bomb.htm, une boucle infinie d'ouverture de pages se produira <html> <frameset> <frame src="bomb.htm" name="fork1"> <frame src="bomb.htm" name="fork2"> </frameset> </html> Exemple Windows : Si ce fichier batch est lancé il produira une boucle infinie ouvrant la calculatrice n fois :s start calc.exe gotos
L'injection SQL Se produit dans un formulaire WEB où l'usager doit entrer son code d'accès et mot de passe. Fonctionnement, 1 er cas : Le site web demande le code d'accès {nom}et le mot de passe {passe} Les deux valeurs sont placés dans la requête SQL suivante SELECT uidfrom Users WHERE name = '{nom}' AND password = '{passemd5}'; Maintenant, un utilisateur astucieux entre ceci : Dupont'; Si ce nom d'usager est valide : l'apostrophe à la fin du nom fermera prématurément celles de la requête les double tirets qui suivent étant interprétés comme une mise en commentaire, le reste de la requête est éclipsée la requête deviens alors : SELECT uidfrom Users WHERE name = 'Dupont'; --' AND password = '{passemd5}'; Prévention : Valider les données entrées avant de les appliquer dans le SQL
Fonctionnement, 2 eme cas : L'injection SQL (suite) L'usager va à la pêche, il ne sait pas quel code SQL se trouve derrière un champ requérant une adresse courriel comme identifiant Il entre donc le texte suivant moi@moimeme.com' Ceci, dans la requête SQL suivante, provoque une erreur SELECT * FROM UneTable WHERE courriel = 'moi@moimeme.com' '; La double apostrophe à la fin provoque une erreur SQL et la plupart du temps la page web n'est pas programmé pour empêcher l'affichage de l'erreur ce qui révèle la requête SQL à notre pirate. Maintenant, celui-ci entre le code suivant : peuimporte' OR 'x'='x le peuimportepeut être n'importe quoi car il ne servira pas l'apostrophe à la fin fermera la valeur de la clause prématurément cependant, le ORajoute une seconde clause soit 'x'='x qui sera complétée par l'apostrophe du code initial et qui est toujours vrai. le pirate a donc accès Prévention : Valider les données entrées avant de les appliquer dans le SQL
Le dépassement de tampon (buffer overflow) Le débordement de tampon«buffer overflow» est un bogue par lequel un processus, lors de l'écriture dans un tampon, écrit à l'extérieur de l'espace alloué au tampon, écrasant ainsi des informations nécessaires au processus. Lorsque le bug se produit non intentionnellement, le comportement de l'ordinateur devient imprévisible. Il en résulte souvent un blocage du programme, voire de tout le système. Si la région où se trouve le débordement se situe hors de la mémoire allouée au processus, une violation de partage se produit. Le bogue peut aussi être provoqué intentionnellement et être exploité pour violer la politique de sécurité d un système. Cette technique est couramment utilisée par les pirates. La stratégie de l'attaquant est alors de détourner le programme bogué en lui faisant exécuter des instructions qu'il a introduites dans le processus. Exemple: Certaines instructions de programmes ne testant pas les débordement ( strcopy() en C++ ) Une variable char buffer[32] est créé à l'intérieur d'une fonction La valeur du paramètre string y est copié lors de l'exécution de la fonction Le paramètre de la fonction et la variable sont créés dans la pile Si buffercontiens plus de 32 caractères non nuls, il écrasera l'adresse de retour de la fonction dans la pile Si le contenu de buffer contiens l'adresse du début de buffer dans la pile et que celle-ci s'adonne à être à la place où était l'adresse de retour de la fonction Alors du code placé dans bufferserait exécuté à la place du retour de fonction
Prises d'otage (hijack) Quelqu'un, via l'internet, a pris possession de l'ordinateur. Ça peux être un contrôle total où l'utilisateur n'a plus le contrôle Ici, la détection est évidente Ça peux être un contrôle insidieux, fait en arrière plan, invisible à l'usager Ici, la détection est très difficile. Une lenteur excessive du système Une activité accrue du disque Souvent accompli via une tâche camouflée dans la tâche-enveloppe svchost. Peux être installé par la plupart des autres menaces citées précédemment Suppression : Prévention : HijackThis(ou autres applications) * Pare-feu / Ports Manuellement (gestionnaire de tâches / registre) * Source des pilotes(?) Réinstallation du système (cas extrêmes) * Applications gratuites (?)
RootKits Dernier né des menaces, elle est la pire! Il s'agit d'une forme de prise d'otagequi va jusqu'à remplacer des parties du système d'exploitation afin que les outils de détection soient bernéspar de fausses informations retournées par le système. Conséquences : L'ordinateur est sous le contrôle d'un pirate via l'internet et c'est non détectable L'anti-virus et le pare-feu sont aveugles. Les applications de détection sont inutiles contre le RootKit Détection : Via un système parallèle (i.e. Ultimate boot CD) Comme le RootKit: activité accrue du disque / lenteur excessive Éradication : Idéalement, la réinstallation du système
Invasions du navigateur sur internet : Prises d'otage Publiciels Redirection des recherches et des accès à certaines pages web Filtre des retour des moteurs de recherche Fenêtres intempestives Fenêtres intempestives Peux être lancé par un site Hyperliens superposés Ajoutés par des scripts dans le navigateur GreaseMonkey(?) AdAware(?)
Référence Bombe logique (logic bomb): http://blog.pastoutafait.org/billets/les-bombes-logiques Mouchard de clavier (keylogger): http://en.wikipedia.org/wiki/keystroke_logging Injection SQL (sql injection) : http://fr.wikipedia.org/wiki/injection_sql http://www.unixwiz.net/techtips/sql-injection.html Dépassement de tampon (buffer overflow) : http://fr.wikipedia.org/wiki/d%c3%a9passement_de_tampon Prises d'otage (Hijacks) : RootKits : http://en.wikipedia.org/wiki/hacker_%28computer_security%29 http://fr.wikipedia.org/wiki/hacker_%28s%c3%a9curit%c3%a9_informatique%29 http://fr.wikipedia.org/wiki/rootkit Publiciels (adware) : http://fr.wikipedia.org/wiki/publiciel GreaseMonkey https://addons.mozilla.org/fr/firefox/addon/greasemonkey/ http://fr.wikipedia.org/wiki/greasemonkey