Étude déploiement et évaluation des performances d’un Framework logiciel de gestion de la sécurité d’un SSI
L’Internet et la sécurité des réseaux informatique
Le réseau internet
Nous allons ici nous intéresser à deux aspects d’Internet. D’abord à l’Internet en tant qu’un ensemble de réseaux interconnectés, ensuite à ses nombreux services qui ne cessent d’évoluer. a. Un ensemble de réseaux interconnectés Les internautes se connectent pour des raisons diverses et variées. En effet, ils peuvent se connecter à partir de leur travail pour des raisons professionnelles ou à partir de chez eux pour des raisons personnelles ou ludiques. Le public se connectant est très hétérogène. Les moyens de connexion sont multiples (ADSL, bas débit, mobile etc.), ainsi que les systèmes d’exploitation utilisés (Windows, Linux, Unix, Mac etc.). La figure suivante illustre la façon dont sont connectés des ordinateurs sur Internet. 8 FIGURE 1 : INTERNET b. De nombreux services proposés Afin de mieux positionner les différents protocoles dont nous allons parler dans la suite, nous allons faire un bref rappel du modèle OSI. Le modèle OSI est un standard qui permet de faciliter l’étude des technologies impliquées dans les réseaux. Des protocoles définissent les divers services offerts par les différentes couches du modèle. En général, un utilisateur n’a connaissance que des services proposés par la couche d’application du modèle OSI, alors que, les hackers et les crackers possèdent davantage de connaissances sur les protocoles réseaux. En effet, l’intrusion dans un réseau nécessite une bonne compréhension de l’ensemble des couches, des plus hautes du modèle jusqu’à la couche réseau. 9 Le tableau ci-dessous présente le modèle OSI : Figure2 : modèle OSI Chaque fois qu’une machine a recours aux services proposés sur une autre machine, elle indique une destination en fournissant une adresse Internet IP et un protocole de transport tel que UDP ou TCP et spécifie un port qui correspond au service désiré. Un port est lié à une application. Lorsqu’une requête est faite sur ce port, l’application serveur correspondante répond au client qui a émis la requête. Les ports permettent donc à un ordinateur de faire plusieurs choses à la fois. Il est possible grâce à eux de faire transiter plusieurs types d’informations sur une même connexion. Il existe de nombreux ports sur un serveur Internet moyen. La plupart d’entre eux sont inactifs. Un standard a été défini pour l’assignation des ports par l’IANA. La valeur d’un port est comprise entre 0 et 65535. Les ports se divisent en trois catégories. Les ports compris entre 1 à 1023 sont les «Well known » ports. Ces ports bien connus sont associés à un service de base (21 : Telnet, 80 : HTTP). Les ports compris entre 1024 et 49151 sont les registered ports (port enregistrés) qui ont été réservés pour un service donné (3306 : MySQL). Enfin, les ports compris entre 49152 et 65535 sont les ports dynamiques ou prives utilisés pour les sessions. 10 Un serveur (ordinateur que l’on contacte pour des services tels que FTP, Telnet, …) possède des numéros de port fixes auxquels l’administrateur réseau a associé des services. Les ports d’un serveur sont généralement compris entre 0 et 1023. Côté du client, le port est choisi aléatoirement parmi ceux disponibles par le système d’exploitation. Les ports du client ne seront jamais compris entre 0 et 1023. Cet intervalle de valeurs représentant des ports connus. Parmi les protocoles les plus connus, nous pouvons citer : HTTP, c’est un protocole léger, donc rapide, qui sert à gérer l’information hypermédia. Il est utilisé pour présenter les données sur le Web. DNS fournit le service de traduction des noms d’hôtes en adresse IP, et inversement. DNS traduit les adresses entre les couches réseaux et applications. FTP est une méthode standard permettant de transférer des fichiers entre deux machines. SMTP permet de transporter du courrier de façon fiable et efficace. ARP fait correspondre les adresses Internet aux adresses physiques des machines. L’utilitaire, Telnet permet à un utilisateur de se connecter à une machine distante et d’y effectuer des commandes. Et l’interpréteur de commande SSH permet de se connecter sur un autre ordinateur d’un réseau, d’y exécuter des commandes à distance de la même façon qu’avec Telnet. A la différence près, qu’il propose des mécanismes d’authentification et une méthode de cryptage des communications.
La sécurité
Un enjeu
Le nombre de services disponibles sur l’Internet ne cesse de croître chaque jour, ainsi que le nombre de machines qui se connectent de façon permanente. Ceci a pour conséquence d’augmenter les risques liés au fait d’être présent sur Internet et de subir des attaques. Les motivations des pirates ont diverses origines. Elles peuvent être liées à un goût du défi ou l’envie d’avoir plus de notoriété dans leur milieu. C’est ainsi que les organisations à grande visibilité comme les gouvernements ou les institutions financières sont de fréquentes cibles. L’appât du gain ou des avantages financiers relatifs à des activités comme le vol d’informations et l’espionnage industriel peuvent constituer une autre explication au désir de prendre contrôle de ressources informatiques que les pirates ne possèdent pas. De plus, la plupart du temps, les pirates se réfugient derrière un sentiment d’impunité et, dans la majorité des cas, ne se rendent pas réellement compte des risques qu’ils encourent. Le piratage repose essentiellement sur les erreurs de conception des systèmes et sur des mauvais paramétrages lors des configurations de ces derniers, ainsi que sur des failles de sécurité présentes dans les différents services proposés. Nous assistons alors à la mise en place d’une compétition entre les pirates et les personnes en charge de la sécurisation des systèmes tels que les administrateurs réseaux ou les personnes en charge du développement des logiciels. Les premiers cherchent à exploiter par tous les moyens les trous de sécurité présents. Les seconds tentent de sécuriser le système d’information. La conséquence est que la sécurité est devenue un véritable enjeu pour les entreprises qui veulent protéger leur système d’information et leurs sites de commerce électronique. C’est aussi un enjeu, pour les particuliers, qui aimeraient bien utiliser leur connexion Internet en toute tranquillité.
Comment sécuriser un réseau ?
La problématique de sécurisation est liée à une démarche complexe qui revêt un caractère cyclique. En effet, l’évolution rapide des technologies et du parc informatique des entreprises fait que la question de la sécurité se pose de façon récurrente. Par exemple, l’apparition des réseaux sans fils (Wifi) a introduit de nouveaux types de vulnérabilités. Il en va de même lorsque nous ajoutons un nouveau poste dans un réseau d’entreprise. Si sa configuration n’est pas faite de façon correcte, ceci peut permettre des intrusions dans une partie du réseau. La sécurisation d’un réseau n’est pas simple à réaliser. Le réseau est constitué d’un ensemble de systèmes hétérogènes. De nombreux services, qui ne cessent d’évoluer, sont disponibles. Les personnes en charge de la sécurité telles que les administrateurs réseau, ont à leur disposition toute une panoplie d’outils : Des logiciels spécialisés dans la protection tels que les firewalls dont le rôle est de filtrer les paquets circulant entre le réseau et l’Internet, ou les logiciels anti-virus qui permettent de détecter et éradiquer les virus. Des technologies dédiées permettant le cryptage des données circulant sur le réseau telles que les protocoles sécurisés. Des outils de surveillance, des journaux de traces et des logiciels de détection d’intrusion IDS. Pour finir, des scanners de vulnérabilités qui permettent de mettre en évidence les failles présentées par le réseau, que peuvent exploiter les pirates afin de corrompre le système. Ces scanners sont utilisés lors des tests d’intrusions effectués par les administrateurs réseaux pour anticiper les intrusions non désirées.
Audit d’un système
Nous parlons ici de l’audit en tant qu’étape de la phase préparatoire de la démarche utilisée dans les tests d’intrusion. Elle consiste à récupérer des informations relatives aux réseaux et aux systèmes présents sur ces derniers, dans le but d’identifier les failles de vulnérabilité. Les failles de vulnérabilité résultent en général de limites inhérentes à la conception des technologies ou découlent de mauvaises configurations ou utilisations. Les tests d’intrusions donnent des indications sur la facilité ou à l’inverse la difficulté d’accéder à l’information et au système d’informations en exploitant les vulnérabilités de sécurité. Les scanners de vulnérabilité correspondent à une façon automatisée de mise en évidence de ces failles. Ils indiquent la façon dont il est possible d’exploiter ces vulnérabilités et les méthodes permettant de résoudre les problèmes. Ils couvrent, en général, un large éventail de vulnérabilités connues. Tandis que les tests d’intrusion ciblent certaines vulnérabilités.
Les outils d’audit
Il existe de nombreux logiciels qui permettent d’automatiser la découverte de vulnérabilités, nous les appelons des scanners. Ils permettent d’évaluer les vulnérabilités présentes sur les réseaux. Ils se déclinent sous plusieurs formes et donnent des résultats avec des précisions variables. Parmi ces logiciels, nous pouvons citer : Suite. Suite fournit une plateforme intuitive pour effectuer des tests de pénétration afin d’évaluer la sécurité des applications web. Les différents composants fournissent à l’utilisateur la cartographie initiale du réseau par le biais d’une exploitation automatisée des vulnérabilités de sécurité SQLmap. Pour les RSSI/DSI et les équipes de sécurité qui préfèrent une solution open source, sqlmap est un outil de test d’intrusion populaire qui permet l’automatisation de la détection des défauts d’injection SQL. La carte des caractéristiques SQL comprend les empreintes de la base de données et l’accès aux systèmes des fichiers sous-jacents Internet Scanner Parmi ces logiciels, nous pouvons citer Internet Scanner de la société ISS. Il peut s’intégrer au produit ISS Décisions pour être utilisé avec d’autres produits de sécurité tels que les systèmes de détection d’intrusions et les firewalls (pare-feu). Retina Nous pouvons également citer le logiciel Retina de la société eEye, qui est rapidement devenu populaire. Il analyse le trafic sur chaque port afin de déterminer le service utilisé. Il existe une fonction nommée CHAM permettant de découvrir de nouvelles failles de vulnérabilité. Cette méthode repose sur un moteur d’intelligence artificiel. Retina est une solution commerciale. Nessus, NeWT Nessus permet d’auditer des réseaux possédant divers systèmes tels que les différentes versions de Windows et de nombreuse déclinaison d’Unix, Nessus permet de faire des tests d’intrusion aussi bien interne qu’externe. Les audits peuvent donc avoir lieu à l’intérieur d’une entreprise ou à l’extérieur à travers Internet à l’aide d’un poste connecté au Web. Nessus balaye les ports d’un serveur et recherche puis identifie les failles de vulnérabilité présentes. Il indique les méthodes que peuvent utiliser les hackers pour s’introduire à l’intérieur du réseau audité. Metasploit Enfin, il existe une autre offre dont nous allons parler de façon plus approfondie dans ce document, l’outil metasploit, qui semble être l’un des outils les plus populaires du moment. Metasploit se déclare être le logiciel de tests d’intrusion le plus utilisé dans le monde. Il vérifie plus de 1 300 programmes et vous aide à déterminer comment les hackers peuvent vous pirater.
Tests d’intrusion
Définition
Les tests d’intrusion constituent une tentative autorisée de simuler les activités d’un pirate qui veut s’approprier des ressources qui ne sont pas les siennes, ou nuire au bon fonctionnement d’un système d’informations, par exemple en le rendant indisponible. Ces tests permettent d’avoir une image claire de la sécurité globale d’une entreprise ou d’un accès Internet chez un particulier. Ils correspondent à des attaques simulées d’un réseau. Ils permettent de tester la robustesse de la sécurité, d’apprécier l’efficacité des mécanismes mis en œuvre. Il est ainsi possible de savoir si les mécanismes mis en place permettent de stopper ou non un attaquant malintentionné. Les tests d’intrusion ne peuvent pas se réduire à la simple utilisation d’un logiciel de détection automatique de vulnérabilités par balayage. Ils sont bien plus, en particulier ils nécessitent l’intervention d’une équipe de professionnels compétents qui eux vont identifier et qualifier les failles de manière plus réfléchie et auront à l’esprit les conséquences des tests qu’ils effectueront. Néanmoins, les scanners de vulnérabilité présentent un certain intérêt dans leur caractère automatique mais ils ne suffisent pas à eux seuls à obtenir une bonne détermination des failles de vulnérabilité que présente un réseau.
Stratégie de tests
Il existe plusieurs stratégies de tests : Les tests externes qui correspondent à un examen des services disponibles via Internet. Les tests internes qui exploitent les failles de vulnérabilité qui pourraient être disponibles à un attaquant en provenance d’Internet ayant réussi à s’introduire dans le réseau ou à un employé malveillant. Les méthodes et techniques utilisées dans les tests internes ou externes sont identiques. La seule différence notable est l’étendue des connaissances relatives au réseau, en possession des attaquants. Pour simuler ce degré de connaissance du système, les tests d’intrusion peuvent se faire de plusieurs façons : Test en aveugle : les équipes en charge du test ont un accès limité aux renseignements relatifs à la configuration du système d’information Test en double aveugle : seule la personne qui est à l’initiative du test est au courant, la personne en charge de la sécurité ne l’est pas. Test ciblé : l’équipe de sécurité est au courant et a des connaissances sur le réseau et sur la cible visée.
LISTE DES ACRONYMES |