SECURITÉ DES SYSTEMES D’INFORMATION
La société et le piratage
Les risques de la non – Sécurité
Note: Cet article date de 1999 et n’a pas été maintenu depuis 2001, il est a considérer comme une archive.
Bien que ce soit des estimations, 65% des entreprises françaises sont victimes d’intrusions informatique chaque année, or 90% d’entre elles ne s’en aperçoivent même pas!
En effet, aux Etats-Unis, une entreprise dont le système informatique a été attaque en alerte le FBI, alors qu’en France, elles ne savent pas qui prévenir; entre les services BCRCI, Sefti, DST ou les brigades spécialisées de la gendarmerie; peut être la mise en place d’un service spécialisé s’occupant uniquement de cela serait une solution.
L’origine des piratages est très diverse, des concurrents, salaries de l’entreprise, prestataires, hacker recherchant des machines, etc… qui sont souvent dus a des méconnaissances de la part des utilisateurs, de la pénurie de personnel qualifié, des accès distants au réseau et des menaces internes. Aucune entreprise est protégée a 100% : des virus et chevaux de Troie, l’accès à Internet, voir même des PABX, des réseaux Frame Relay, X25, RTC, ISDN, les Fax, mobiles, et communications par satellite. Par exemple sur une plage de 10 000 numéros de téléphone, il est possible d’en trouver certains susceptibles de permettre la pénétration du système informatique.
Le risque pénal de ces intrusions n’a pourtant pas réduit le nombre de tentatives (3 plaintes pour délits ont été déposées en 1981 contre plus de 400 en 1997), malgré le lourd risque envers les acteurs : 2 000 000 FRF d’amende et cinq ans d’emprisonnement.
Mais lors d’une attaque, quand on s’en aperçoit, il est souvent trop tard… Les informations ont pu être volées, c’est pourquoi de plus en plus d’entreprises font appel à un responsable de la sécurité des systèmes d’information, personne dans une entreprise ayant la charge de gérer la sécurité informatique dans l’entreprise, par la mise en place de règles de sécurité, d’effectuer des tests d’intrusion. Un piratage peut aussi bouleverser l’imagine d’une société, par exemple, en début 1998, le constructeur allemand BMW a subi le piratage de son site Web. Les pirates ont dévalorisé l’image des produits de la marque, en renversant l’un des derniers modèles BMW, avec un slogan : “Amusons nous avec les voitures allemandes”, ce qui rappellera les problèmes apparus par son concurrent Mercedes en 1997. Même si ce piratage a été sans gravite technique, il montre bien que la plupart des sites Web actuels sont vulnérables.
La malveillance informatique est souvent l’origine de ces attaques, qui peuvent être du sabotage manuel, de la désinformation, des introductions de virus, de rumeurs, voir parfois des farces. La conséquence des ces attaques peut être comme je le disais précédemment, le vol d’informations, la déstabilisation d’informations, l’installation de virus, ou de denial of service : ce dernier peut bloquer une machine.
Malgré tout, il existe des moyens pour faire face a ces agressions, que ce soit de la surveillance du comportement des utilisateur, de l’installation de firewalls, l’installation de patches contre les vulnérabilités connues, mais surtout faire une veille technologique. Cela nécessite beaucoup de compétences pour assurer une sécurité optimale. Mais une attaque informatique ne signifie pas forcement une attaque de la machine, par exemple, une personne appelant le support technique d’un fournisseur d’accès a Internet en disant qu’elle a perdu le mot de passe d’accès et/ou de messagerie, se verra fréquemment donne ce mot de passe par le support technique ; il s’agit d’un problème de sécurité grave, qui concerne cette fois ci le fournisseur d’accès a Internet de la personne ou de l’entreprise. Il s’agit en effet de sensibiliser le personnel aux problèmes de sécurité, et d’effectuer des tentatives d’intrusion, de crypter les données critiques si cela est possible.
Même en faisant un maximum en politique de sécurité, il est impossible de garantir la sécurité de l’information a 100%, car tellement de facteurs et scénarios peuvent entrer en compte, surtout dans le monde informatique ou des changements sont courants.
Les attaques recensées sur les réseaux de la US Army : soit 8932 ordinateurs attaques, dont 7860 attaques ont réussi, parmi celles la, 390 seulement ont été détectées, et a permis d’identifier que 19 attaquants. (Données d’après ISS). (Note : les environnements hautement sécurises sont la cible préférée des pirates).
Aujourd’hui, n’importe qui peut s’improviser pirate informatique avec quelques rudiments de Windows et Unix. En effet, il existe des sites Web ou mailing lists ou l’on peut trouver les références des vulnérabilités, permettant aux administrateur de se protéger (s’ils s’en informent) et aux pirates de les connaître également afin d’attaquer.
Scénario d’une attaque
Voici un exemple de scénario d’attaque sur Internet : On commence par un outil appellé finger, permettant de connaître les utilisateurs connectes sur un système Unix local ou distant, et de connaître le nom des utilisateurs, et d’où il se connectent, mais heureusement rares aujourd’hui sont les serveurs qui répondent à ces requêtes. Avec l’outil whois, permettant de rechercher les informations sur un nom de domaine ou d’une adresse IP, il permet également d’obtenir des informations sur les personnes propriétaires, telles que leur nom, adresse, numéro de téléphone et adresse Email, ainsi que des informations sur les adresses IP des serveurs de nom. Ces informations peuvent servir à obtenir des renseignements utiles en vue d’une attaque informatique. Ensuite on peut localiser où se situe le serveur grâce a la commande traceroute, qui indique toutes les passerelles IP traversées. La commande nslookup permet de récupérer les informations d’un domaine, par exemple l’adresse IP de www.domaine.com mais souvent peut aussi récupérer toutes les informations de la zone, afin d’obtenir la liste des machines. La technique suivante est de scanner les machines que l’on a pu obtenir, et peut parfois permettre de voir qu’un disque dur a été partage à tout Internet, qu’il y a un problème de sécurité sur le serveur Web, que des mots de passe par défaut ont été installés, permettant ainsi de récupérer un accès sur la machine. Une fois sur la machine, le but principal du pirate sera de passer administrateur de la machine, grâce à des vulnérabilités de sécurité en général, et ainsi peut par exemple rebondir de machine en machine a la recherche d’informations, ou simplement installer un logiciel permettant d’écouter le trafic réseau, et surtout d’installer une backdoor sur la machine attaquée, après avoir efface ses traces d’intrusion dans les fichier de log de la machine. Ensuite il pourra revenir en étant plus ou moins invisible, et par exemple revenir dans 2 semaines récupérer les logs du son sniffer.
Présentation de types d’attaque :
Les denial of service :
Le denial of service pourrait être compare au terrorisme. En effet, ce type d’attaque n’à pour but que d’empêcher le fonctionnement d’une machine ou d’un service.
Les denial of service des systèmes :
Un des plus connus il fut quelques temps était WinNuke, logiciel envoyant une requête NetBios incompréhensible par les machines Windows, et provoquant l’apparition d’un écran bleu (blue screen of death) et l’arrêt du support réseau par les machines sous Windows 95, et un plantage complet sous les systèmes NT. Bien que ce bug soit ancien, on continue a trouver des machines qui aujourd’hui ne sont toujours pas patchées.
De la même façon il existe des logiciels exploitant des failles dans les paquets TCP/IP, tels que par exemple le ping trop grand (ping qui contient comme information une taille de paquet supérieure a celle autorisée), ou des histoires de fragmentation de paquets (teardrop, la refragmentation des paquets arrives provoque un débordement des adresses mémoire dans la gestion de TCP/IP du système, provoquant ainsi des plantages tels que le blocage, ou le redémarrage d’une machine, aussi bien sous Windows que certains UNIX.
Voici un appercu de quelques autres denial of service et comment s’en protéger :
- SYN Flooding : le protocole TCP fonctionne par principe d’établissement de connexions, c’est un protocole en mode connecte. Le SYN Flood est une rafale de connexions TCP non finies, empêchant ainsi les connexions normales sur le serveur.
Protection : il existe des patches pour certains systèmes ainsi que certains Firewalls. Les systèmes récents sont assez bien protégés. - smurf : le protocole TCP/IP, dans son adressage a ce qu’on appelle un broadcast sur le réseau, il s’agit en général de la dernière adresse IP du réseau parfois appelée 255.255.255.255. Lorsqu’un paquet est émis vers une adresse de broadcast, toutes les machines répondent à ce signal, par exemple un ping ICMP vers cette adresse entraîne plusieurs réponses. Le smurf est en fait un ping spoofé soit disant venant de l’adresse IP de la machine a attaquer, cette dernière va recevoir de nombreux messages de réponse aux ping depuis les machines du broadcast utilise lors de l’attaque, ce qui souvent, sature la bande passante, et ainsi écroule la liaison Internet.
Protection : le plus simple est en cas d’attaque demander au fournisseur Internet de filtrer.
Les denial of service des logiciels :
On peut également mettre en périple un service WEB afin que le serveur consomme 100% du temps processeur en raison d’en têtes HTTP trop gros, tout comme envoyer des en têtes MIME trop gros dans les courriers électroniques, faisant ainsi planter des logiciels tels que Eudora ou Outlook, ou leur permet d’exécuter des programmes extérieurs.
Voici un appercu de quelques denial of service :
- Scripts CGI mal développés : certains scripts CGI (script généralement utilises pour la gestion des formulaires sur le WEB), dont certains peuvent être installes par défaut sur certains systèmes peuvent permettre l’exécution de commandes arbitraires sur le serveur, et ainsi récupérer des données comme par exemple les mots de passe du système, ou modifier les pages Web.
Protection : en C, éviter les tableaux de taille fixe, en perl éviter les system “$commande $arguments”, tester la sécurité en interne des script développés. - IP Spoofing : il s’agit de technique permettant de faire croire a la victime que les connexions ont lieu depuis une machine autorisée, marche généralement pour l’ICMP (cas du smurf), l’UDP et parfois le TCP sur de vieux systèmes.
Protection : filtrer les paquets réseau ayant pour origine le réseau local venant de l’extérieur sur le routeur ou firewall. - DNS Spoofing : cette technique utilise l’IP spoofing pour empoisonner un serveur DNS en faisant croire qu’une adresse IP à un tel nom que l’on spécifie, et les machines faisant confiance au domaine auquel elles appartiennent font dans ce cas confiance a la machine attaquante.
Protection : patcher ses serveurs DNS, et utiliser d’autres serveurs que ceux qui contiennent vos zones DNS. - Les buffers overflow : ce type d’attaque peut être utilise tout aussi bien a distance pour pénétrer un système que localement pour récupérer les droits de l’administrateur. Certains services distants tels que IMAP, POP3 ou ftp fonctionnent sur l’utilisateur root (administrateur). Les utilisateur s’identifient a l’aide de leur nom d’utilisateur et mot de passe. En principe ce mot de passe ne fait pas 10000 caractères en principe, et si le service a réservé 50 octets de mémoire pour le mot de passe entre, il va y avoir débordement, et ainsi on peut modifier l’exécution du code écrit. Une chaîne particulière dans le mot de passe permet ainsi de prendre le contrôle de la machine a distance. Bien que ce type de vulnérabilité soit “courant” sur les systèmes UNIX, elle existe également sur les systèmes NT, mais ces derniers sont souvent protégés par le manque d’accès distant et son jeu de commandes réduit.
Protection : en premier lieu ne pas installer de services dont on a pas besoin sur un serveur, suivre les mailing listes de sécurité afin de mettre à jour un service susceptible d’avoir de tels problèmes.
Les sniffeurs réseau :
Sur un réseau Ethernet standard, les informations circulant sur le réseau circulent en clair sur tout le réseau, et les machines acceptent que les paquets s’adressant a elles. Mais il existe un mode de fonctionnement promiscuité, qui permet a la machine d’écouter tout les paquets passant sur le réseau, donc par exemple les mots de passe ou les commandes tapées dans les connexions telnet.
Protection : remplacer les HUBs réseau par des Switches, qui envoient les données que vers le port où la machine est connectée.
Quelques attaques internes :
- Accès physique a la machine : toute machine accessible physiquement est vulnérable a une intrusion, quelque soit ton système d’exploitation.
Protection : Tout serveur devrait être physiquement dans une salle fermée où l’accès est restreint, et faire des sauvegardes et les mettre en lieu sûr tel que des armoires anti-incendie. - Crack des mots de passe : les mots de passe d’un système sont stockés de manière encryptée, pour vérifier un mot de passe valide, le système encode ce mot de passe et le compare a celui stocké. Ainsi, pour découvrir un mot de passe, il faudra scanner toutes les possibilités de mots de passe, et on trouve des utilitaires faisant cela. La plupart des systèmes ont ce genre de faille, dont UNIX et Windows NT (l’attaque est plus rapide, car son algorithme de cryptage est relativement mauvais).
Protection : Utiliser des mots de passe long, changés régulièrement, compliqués et surtout pas le prénom de sa copine ! Utiliser un algorithme de cryptage plus élaboré. - Protections des fichiers : les systèmes gèrent des droits permettant ainsi de donner l’autorisation de lecture, écriture ou d’exécution sur les répertoires et fichiers à des utilisateur ou des groupes.
Solution : autoriser l’exécution et la lecture que pour les personnes ayant le besoin d’accéder à vos données, et restreindre l’accès aux données personnelles par l’intermédiaire des permissions. - Le cheval de troie : que faire lorsque vous êtes sur un ordinateur qui vous demande un mot de passe, on peut se demander s’il s’agit d’un économiseur d’écran ou un programme pour récupérer votre mot de passe.
Protection : méfiez vous et éventuellement en cas de doute redémarrez la machine et/ou changez votre mot de passe. - Les erreurs des systèmes d’exploitation : elles sont nombreuses, parfois découvertes dans des versions bêta mais vendues dans le même état. Par exemple, Windows 95 garde ses mots de passes tapés en mémoire avec des algorithmes très simples, ces derniers sont crackés en moins d’une seconde ! Sous UNIX (voir sous NT), certains logiciels changent les permissions de fichiers pendant un court moment afin de gérer des questions de privilège et une erreur dans un de ces programmes peut permettre a un utilisateur de devenir administrateur.
Solution : suivre les mailing-listes de sécurité de près, et essayer de diminuer le nombre de systèmes d’exploitation, mettre en place des terminaux graphique comme dans le passé. - Vol d’adresse IP : si un serveur est arrêté, on peut lui voler son adresse IP si l’attaquant appartient au même réseau que ce serveur.
Solution : séparer les réseaux des serveurs par rapport a ceux des stations de travail. (par un autre sous réseau ou un VLAN)
Les origines des attaques :
Souvent, pour masquer les origines d’une attaque, le pirate va essayer de passer par un ricochet plutôt que se connecter directement, et ainsi sera plus dur à retrouver. Il peut tout aussi bien passer par des systèmes UNIX déjà attaqués que par des Windows (Back Orifice, ou Wingate, logiciel permettant de partager un accès Internet, mais également d’autoriser les machines sur Internet à se connecter depuis l’adresse IP de la machine ou le logiciel à été installé.)
Comment protéger un réseau :
Les routeurs filtrants (Firewall)
L’installation d’un firewall permet de filtrer les paquets réseau émis ou reçus. Ainsi il permet de centraliser les règles de filtrage qu’il est impossible ou difficile a mettre en place sur chaque machine.
Lorsqu’une machine distante appelle un service sur un des serveurs (qui est défini par un numéro de port, par exemple SMTP=25 et HTTP=80). Le firewall étant un ” pont ” ou le trafic passe, peut être configuré pour que seul le mail arrive vers le serveur de messagerie, et ainsi le trafic HTTP uniquement vers le serveur WEB.
Les firewall applicatifs
Ce type de firewall permet aux machines internes de sortir à l’aide de clients modifiés. Les connexions ne se font plus directement entre l’intérieur et l’extérieur, mais par une machine intermédiaire, qui peut demander un mot de passe pour permettre l’accès. Par exemple les firewalls de type SOCKS utilisent ce principe.
Transition des mots de passe sur le réseau :
On peut distinguer deux type de communication par mots de passe :
- Les transmissions en clair :
Windows 3.11 et 95, Telnet, FTP, POP3, … - Les transmissions cryptées :
Windows NT et 98, ssh, …
Filtrage niveau serveur.
Il est possible de restreindre l’accès à un serveur en paramétrant ce dernier soit au niveau filtrage IP, ou à l’aide de services tels que les tcp-wrappers, permettant d’autoriser ou refuser une connexion en fonction de l’origine de la connexion. Certains applications, comme le serveur WEB apache permettent de gérer des filtres pour eux mêmes.
Audit de serveurs
Lorsqu’on est soucieux de sa sécurité, il devient nécessaire de garder des traces des événements système et réseau. On peut ainsi détecter tout incident et détecter les problèmes, tel que par exemple des tentatives de connexion extérieures, ou bien des fichiers système modifiés sur un serveur. Il existe de nombreux outils permettant d’auditer un serveur.
Divers moyens de sécurisation :
Il est impératif de suivre fréquemment les serveurs informant des problèmes de sécurité, et de faire les mises à jour des que l’incident est annoncé. Certains sites comme le CERT (http://www.cert.org/) informent des failles, et d’autres sites orientés piratage permettent ainsi de tester si votre système est vulnérable.
Il existe des outils permettant de faire un rapport des problèmes de sécurité, qui peuvent tout aussi bien utilisés par un pirate qu’un administrateur.
Le cryptage
Le cryptage est la solution permettant la confidentialité. Il existe beaucoup d’algorithmes, et certains sont illégaux en raison de leur forte encryption, et sont souvent soumis à des lois d’utilisation et d’exportation.
On peut également utiliser le cryptage pour interconnecter des sites distants par l’intermédiaire du réseau Internet, c’est ce qu’on appelle souvent les VPN (Virtual Private Network), permettant ainsi de faire des échanges sécurisés entre différentes agences d’une entreprise, à l’aide de protocoles tels que IPSec.
Mais avant de mettre en place une solution faisant appel a la cryptographie, renseignez vous au niveau légal.
Problèmes de postes clients :
On peut recevoir un courrier électronique ayant comme attachement un document Excel, qui peut contenir une macro commande virus ou exécutant des commandes externes. Il est conseillé de ne pas les exécuter. Il faut également faire attention aux Javascripts, ActiveX, car ils peuvent être dangereux, et donc il faut être vigilant lors de connexions sur des sites WEB ” ésotériques “, ou avec un gestionnaire de messagerie exécutant ces scripts.
Les logiciels libres
D’après mes expériences personnelles, la seule alternative aux problèmes de sécurité sont les logiciels libres (Systèmes UNIX Linux, FreeBSD ou OpenBSD), mais on peut également faire appel a des produits commerciaux.
Ce n’est pas parce qu’un logiciel est libre qu’il est forcement de mauvaise qualité (exemple Apache, BIND, squid, ou sendmail).
Détails de sécurisation d’une machine et d’un réseau :
- Les données confidentielles ne devraient pas être accessibles sur un réseau.
- Il ne faut se protéger de l’extérieur mais également de l’intérieur, beaucoup d’intrusions peuvent avoir lieu localement, par exemple en surveillant les comptes temporaires, changer les mots de passe et éduquer les utilisateurs.
- Plus le système est exotique, moins on risque d’avoir de soucis avec (par exemple on aura moins de problèmes avec un AS400 d’IBM qu’avec un AIX d’IBM).
- Ne pas installer des services inutiles.
- Des règles de sécurité sont nécessaires à mettre en place sur tout réseau informatique.
Conclusion :
L’informatique est une nouvelle technologie, qui met en place de nouveaux problèmes de sécurité en raison des risques de piratage, qui malheureusement préoccupent peu les entreprises. Tout le savoir, la stratégie et la compatibilité d’une entreprise repose sur l’Informatique, qui se veut simple aujourd’hui mais ne le sera sûrement pas avant bien longtemps. Bien que les informaticiens donnent l’impression de coûter cher, la sécurité est importante : si son informatique disparaissait, elle pourrait causer la fermeture de l’entreprise concernée. Les problèmes de sécurité concernent tout aussi bien les ordinateur, les réseaux, la téléphonie.
La gestion d’une bonne sécurité est complexe car elle nécessite du personnel bien formé, vigilant, souvent cher, et y consacrer beaucoup de temps.
Et je jamais oublier qu’il n’existe pas de sécurité absolue, mais si de nombreux obstacles sont présents lors d’une attaque, le pirate va souvent aller voir ailleurs.
Afin d’éviter cela, il est nécessaire d’avoir une politique de sécurité importante, et d’installer des systèmes d’audit des serveurs. D’après une étude américaine, on estime aux Etats-Unis que les entreprises auraient pu perdre plus de 250 milliard de dollars en 1997.
$Id: index.html,v 1.2 2001/05/06 00:28:51 kewl Exp $