UNIVERSITÉ A/MIRA BEJAIA EXACTES FACULTÉ DES SCIENCES DÉPARTEMENT D’INFORMATIQUE ANNÉE MASTER FILIÈRE : 2 ÉME ANNÉE UNIVERSITAIRE 2010/2011 DES RÉSEAU MODULE : SÉCURITÉ EXPOSE Sécurité des Réseaux I THEME: Les vulnerabilities Houssam BENHANNICHE G 1 d’UNIX ET Protection 1) Introduction Ces dernières années, la sécurité des systèmes informatiques connectes à internet est devenu un problème très préoccupant. L'expansion croissante des réseaux informatiques, l’explosion du nombre des utilisateurs font qu'il devient absolument vital d'analyser les risques que chaque système encourt et de réfléchir aux solutions que l'on peut adopter afin de réduire le danger au minimum. UNIX, LUNIX est évidemment concerné au premier par ces attaques. C'est en effet un système d'exploitation très utilisé à travers le monde et auquel bien de nombreuses institutions sont attachées. L’objectif de cet exposé est de sensibiliser le lecteur par une introduction à certains problèmes dont il n’a peut être pas conscience. Bien que des administrateurs système savent que les utilisateurs sous estiment souvent les risques qu’ils courent en matière. Nous allons donc vous donner une vue d’ensemble des différents caractéristiques et vulnérabilités d’Unix. Il s’agira donc de mettre en lumière certains dangers et de proposer des solutions ponctuelles pour y parer. Nous commençons cet exposé par un bref historique d’UNIX .Puis un court bilan sur le degré de sécurité de ce système. Les chapitres suivants présentent successivement les vulnérabilités et les méthodes de protection contre ses vulnérabilités avec quelques exemples. 1.1 Bref historique UNIX est l'un des systèmes d'exploitation les plus populaires au monde, en raison du grand nombre d'architectures qu'il supporte. Il fut à l'origine développé en tant que système d'exploitation multitâches pour mini-ordinateurs et grands systèmes vers l'année 1970, mais a bien évolué depuis pour devenir l'un des systèmes les plus utilisés. Il existe des versions d'UNIX pour beaucoup d'ordinateurs. Linux est une version d'UNIX gratuite et librement diffusable développée à l'origine par Linus Torvalds à l'université d’Helsinki, en Finlande. Linux a été développé avec l'aide de nombreux programmeurs et spécialistes UNIX, grâce au réseau mondial Internet, autorisant quiconque1 ayant suffisamment de connaissances à participer activement à l'évolution du système, la plupart des programmes disponibles pour Linux est développée par le projet GNU à la Free Software Foundation à Cambrige, Massachusetts. Toutefois, des programmeurs du monde entier ont contribué à l'ensemble. De nos jours les systèmes Unix sont très présents dans les milieux professionnels et universitaires grâce à leur grande stabilité, leur niveau de sécurité élevé et le respect des grands standards, notamment en matière de réseau. 2) Les Vulnérabilité d’UNIX 2.1 Définition Générale d’une vulnérabilité : Dans le domaine de la sécurité informatique, une vulnérabilité est une faiblesse dans un système informatique permettant à un attaquant de porter atteinte à l'intégrité de ce système, c'est-à-dire à son fonctionnement normal, à la confidentialité et l'intégrité des données qu'il contient. On parle aussi de faille de sécurité informatique. [Wikipedia] Ces vulnérabilités sont la conséquence de faiblesses dans la conception, la mise en œuvre ou l'utilisation d'un composant matériel ou logiciel du système. Ces dysfonctionnements logiciels sont en général corrigés à mesure de leurs découvertes, c'est pourquoi il est important de maintenir les logiciels à jour avec les correctifs fournis par les éditeurs de logiciels. 2.2 Causes des Vulnérabilités des systèmes UNIX : Dans un système UNIX on trouve deux types d’accès : les accès racine (L’utilisateur ROOT) et les autres accès (simples utilisateurs). L’ensemble des vulnérabilités de l’environnement UNIX vise à s’approprier les droits de l’utilisateur racine c’est-à-dire ROOT, celui-ci étant le seul utilisateur disposant des droits complets sur le système de fichiers. D’autre causes peuvent être responsable des beaucoup de vulnérabilités ; en faite, Un système UNIX contient beaucoup de passages, chaque passage représente une connexion inconnue et des ports d’entrées avec différents niveaux de sécurité. Les différents moyens de communication (protocoles, programmes, …) sont à l’origine de failles de sécurité. En effet, pour communiquer, ils ouvrent des voies de communication qui, si elles ne sont pas bien contrôlées, sécurisées, peuvent représenter une porte d’entrée à des intrusions et des attaques. 3) Protection contre les vulnérabilités 3.1 Précautions minimum en matière de sécurité système UNIX Compte tenu de la diversité des systèmes UNIX, une étude au cas par cas est nécessaire pour chaque système. Parmi les principes de base de gestion de la sécurité de ces systèmes, on peut citer la gestion des fichiers journaux, la sécurité du système de fichier, de la pile TC P/IP, la gestion du démarrage des serveurs, la gestion des mots de passe... 3.1.1 Gestion de fichier journaux Sous UNIX deux types de gestion des fichiers journaux sont possibles. Une gestion locale et une gestion centralisée. Le processus de mon syslog permet de gérer finement les fichiers journaux. Il est toujours recommandé de gérer de manière centralisée les journaux pour des raisons de sécurité et aussi pour en faciliter les audits. 3.1.2 Contrôle au démarrage Pour les éléments sensibles des systèmes d’information tels que les serveurs, un contrôle des redémarrages systèmes et du chargement des programmes est nécessaire. C e contrôle peut s’exercer par l’activation d’un mot de passe BIOS requis à chaque amorçage du système. En effet un amorçage non contrôlé peut conduire à la prise en charge intégrale d’un système par un tiers. 3.1.3 Configuration minimale des systèmes Il s’agit de doter le système UNIX des processus indispensables au système d’information. Tout les processus super flux non indispensables aux utilisateurs doivent en principe être supprimés ou rendus inactifs. Les techniques de prise de contrôle communément exploitées par les pirates consistent le plus souvent à rechercher des vulnérabilités sur des processus très peu connus qui sont ensuite exploitées (via l’exécution de shell code par exemple) pour prendre la main sur des programmes plus importants. 3.1.4 Sécurité du système de fichiers Les droits sur un système de fichier UNIX sont organisés selon 3 triplets de trois bits (rwx) chacun. C es trois triplets représentent respectivement les droits de trois types d’identité : le propriétaire du fichier, le groupe et les tiers. Le premier bit permet de positionner les droits de lecture, le second les droits d’écriture, le troisième les droits d’exécution. Pour le cas des fichiers exécutables, le bit d’exécution peut être forgé à la valeur particulière, pour le propriétaire du fichier ou le groupe. On utilise le terme suid ou sgid pour désigner ces états de fichier. Le fichier peut alors être non seulement exécuté par son propriétaire mais aussi par le groupe du propriétaire. Une mauvaise gestion des droits notamment pour les fichiers appartenant au compte administrateur peut conduire à la prise en main d’un système UNIX. 4) Quelques vulnérabilités et solutions 4.1 Attaque par force brute La forme d’attaque la plus élémentaire d’un service en veille est la tentative de détection des mots de passe par force brute. Les types de services les plus courants que l’on peut percer par une méthode force brute sont : TELNET Les protocoles de transfert de fichiers Les commandes d’exécution de commandes à distance (RSH, RLOGIN …) La commande SSH permettant l’exécution d’un environnement de travail à distance de manière sécurisée Les protocoles applicatifs (POP, HTTP, SMTP…). 4.2 Vulnérabilités du service d’impression Les systèmes d’impression UNIX (lp,lpr), permettent à une machine d’imprimer sur une imprimante qui ne lui est pas directement reliés, mais qui est connectée à un autre ordinateur. Le protocole lpr, créé par l’équipe du système UNIX BSD (système basé uniquement sur des logiciels libres), est similaire aux commandes ‘r’ de ce système (RLOGIN ,RSH…),et en possède donc les vulnérabilités et les faiblisses. le protocole lp ne possède pas réellement de système d’impression à distance, mais va soit passer la tache d’impression à lpr, soit utiliser rsh. A cause de cela, de nombreux protocoles d’impression à distance ont été implantés par différents fournisseurs Unix, ainsi que pour les plates-formes non Unix. Mais ces protocoles sont, dans le meilleur des cas, aussi peu sûrs que celui utilisé par lpr. Pour compliquer le tout, les imprimantes PostScript récentes sont de véritables périphériques Ethernet intelligents, sur lesquels il y a déjà eu des attaques de dénis de services (attaques DOS). Certaines de ces attaques ont été activées par une fonction de sécurité de PostScript. 4.3 Telnet inversé et canaux retour Une des vulnérabilités la plus difficile à détecter sur un système d’exploitation UNIX consiste en l’établissement d’un canal retour. Il est définit comme un mécanisme dans lequel le canal de communication part du système cible et non du système assaillant. Une des méthodes pour établir un canal de retour est l’exploitation du logiciel TELNET présent sur les stations UNIX. L’effacement des traces d’effraction d’un système UNIX est une chose particulièrement aisée. En effet le format des enregistrements de trace sous un environnement UNIX est un format texte lisible et donc particulièrement facile à modifier 5) Conclusion les systèmes Unix, Linux étant loin d’être parfait, des failles sont découvertes quotidiennement sur la panoplie des logiciels, services qu’il héberge. Pour palier cette problématique, l’administrateur du système doit veiller à la mise à jour des logiciels installés pour qu’il soit sur leur dernière version et ainsi garantir l’intégrité du système et la diminution des failles et les risques de sécurité. 6) Bibliographie http://www.cs.iastate.edu/~ghelmer/unixsecurity/unix_vuln.html http://membres.multimania.fr/woueb/pages/astuces/linuxgs/html/node11.h tml http://www.securiteam.com/cgi-bin/htsearch http://www-ensimag.imag.fr/ENSIMAG/Administration/Les.Cours/Systeme