Audit de sécurité

L'audit de sécurité d'un système d'information (SI) est une vue à un instant T de tout ou partie du SI, permettant de comparer l'état du SI à un référentiel.

L'audit répertorie les points forts, et surtout les points faibles (vulnérabilités) de tout ou partie du système. L'auditeur dresse également une série de recommandations pour supprimer les vulnérabilités découvertes. L'audit est généralement réalisé conjointement à une analyse de risques, et par rapport au référentiel. Le référentiel est généralement constitué de :

Sommaire

Pourquoi un audit de sécurité ?

Roue de Deming

L'audit peut être effectué dans différents buts :

  • réagir à une attaque
  • se faire une bonne idée du niveau de sécurité du SI
  • tester la mise en place effective de la PSSI
  • tester un nouvel équipement
  • évaluer l'évolution de la sécurité (implique un audit périodique)

Dans tous les cas, il a pour but de vérifier la sécurité. Dans le cycle de sécurisation, la vérification intervient après la réalisation d'une action. Par exemple, lors de la mise en place d'un nouveau composant dans le SI, il est bon de tester sa sécurité après avoir intégré le composant dans un environnement de test, et avant sa mise en œuvre effective. La roue de Deming illustre ce principe.

Le résultat est le rapport d'audit. Celui-ci contient la liste exhaustive des vulnérabilités recensées par l'auditeur sur le système analysé. Il contient également une liste de recommandations permettant de supprimer les vulnérabilités trouvées.

L'audit ne doit pas être confondu avec l'analyse de risques. Il ne permet que de trouver les vulnérabilités, mais pas de déterminer si celles-ci sont tolérables. Au contraire, l'analyse de risque permet de dire quel risque sont pris en compte, ou acceptés pour le SI. L'auditeur (le prestataire) dresse donc des recommandations, que l'audité (le client) suivra, ou ne suivra pas. Le client déterminera s'il suivra les recommandations ou non, en se référant à la politique de sécurité.

Pratique de l'audit

Pour arriver à dresser une liste la plus exhaustive possible des vulnérabilités d'un système, différentes pratiques existent et sont traditionnellement mises en œuvre.

Interviews

Les interviews sont généralement essentiels à tout audit. Dans le cas où l'organisation du SI est analysée, ils sont même indispensables. Toutes les personnes ayant un rôle à jouer dans la sécurité du SI sont à interroger :

Il est important de formuler les questions avec tact. En effet, interroger des personnes à propos de leur travail peut faire qu'elles se sentent jugées et les résultats peuvent être faussés. La diplomatie est donc une compétence essentielle pour la pratique des audits !

Les tests d'intrusion

Article détaillé : Test d'intrusion.

Les tests d'intrusion sont une pratique d'audit technique. On peut diviser les tests d'intrusion en trois catégories principales : les tests boîte blanche, les tests boîte grise et les tests dits boîte noire.

Un test boîte noire signifie que la personne effectuant le test se situe dans des conditions réelles d'une intrusion : le test est effectué de l'extérieur, et l'auditeur dispose d'un minimum d'informations sur le système d'information. Ce genre de tests débute donc par l'identification de la cible :

  • Collecte d'informations publiques : pages web, informations sur les employés, entreprise ayant un lien de confiance avec la cible.
  • Identification des points de présence sur internet.
  • Ecoute du réseau.

Lors de la réalisation de tests boîte grise, l'auditeur dispose de quelques informations concernant le système audité. En général, on lui fournit un compte utilisateur. Ceci lui permet de se placer dans la peau d'un "utilisateur normal".

Les tests boîte blanche débutent avec toutes ces informations (et beaucoup plus) à disposition. Ensuite commence la recherche des vulnérabilités, à l'aide de différents tests techniques, comme par exemple la recherche des ports ouverts, la version des applications... Différents produits existent pour effectuer ces tests, et certains prévoient d'automatiser toute une batterie de tests (Nessus, LANguard...).

La dernière phase est l'exploitation des vulnérabilités. Des effets indésirables pouvant survenir (déni de service par exemple), le côté pratique de cette phase n'est pas systématique. Elle consiste à déterminer les moyens à mettre en œuvre pour compromettre le système à l'aide des vulnérabilités découvertes. Selon les moyens à mettre en œuvre, le client pourra décider que le risque associé à la vulnérabilité décelée est négligeable (probabilité d'exploitation faible) ou au contraire à prendre en compte. Pour prouver la faisabilité de l'exploitation, les auditeurs créent des programmes qui exploitent la vulnérabilité, appelés exploits.

Les relevés de configuration

Il s'agit ici d'analyser, profondément, les composants du système d'information. Les configurations sont inspectées dans les moindres détails. Suite à cette observation, la liste des vulnérabilités est dégagée en comparant le relevé à des configurations réputées sécurisées[1],[2],[3], et à des ensembles de failles connues[4],[5].

Tout peut être inspecté, allant de l'architecture du SI aux applications, en passant par les hôtes (clients et serveurs). Par exemple sur un serveur, on va analyser :

  • le chargeur de démarrage,
  • les mécanismes d'authentification (robustesse des mots de passe, utilisation d'authentification forte...),
  • le système de fichiers (droits d'accès, utilisation de chiffrement...),
  • les services
  • la journalisation,
  • la configuration réseau,
  • ...

L'audit de code

Il existe des bases de vulnérabilités très fiables pour les applications répandues. Néanmoins, pour des applications moins utilisées, ou codées par l'entreprise elle-même, il peut être nécessaire d'analyser leur sécurité. Si les sources de l'application sont disponibles, il faut lire et comprendre le code source, pour déceler les problèmes qui peuvent exister. Notamment, les débordements de tampon (buffer overflow), les bugs de format, ou pour une application web, les vulnérabilités menant à des injections SQL...

L'audit de code est une pratique très fastidieuse et longue. De plus, elle ne permet généralement pas, en raison de la complexité, de dresser une liste exhaustive des vulnérabilités du code. Des méthodes automatiques existent, et permettent de dégrossir le travail, avec des outils comme RATS[6]. Mais se reposer uniquement sur ce genre de méthodes peut nous faire passer à côté de problèmes flagrants pour un humain.

Fuzzing

Pour les applications boite noire, où le code n'est pas disponible, il existe un pendant à l'analyse de code, qui est le fuzzing. Cette technique consiste à analyser le comportement d'une application en injectant en entrée des données plus ou moins aléatoires, avec des valeurs limites. Contrairement à l'audit de code qui est une analyse structurelle, le fuzzing est une analyse comportementale d'une application.

Outils d'audit

Référentiels

  • COBIT (Control objectives for information and technology ISACA) : propose un référentiel pour les systèmes d'information,
  • Le CELAR : Centre électronique de l'armement, qui est responsable des audits des organismes du ministère de la défense,
  • L'Agence Nationale de la Sécurité des Systèmes d'Information (ANSSI) est la référence française en matière de SSI, et a produit notamment un référentiel général de sécurité (normes et recommandations).

L'analyse de risques

Sans l'analyse de risques, l'utilité d'un audit est limitée. Les méthodes les plus utilisées pour réaliser cette analyse (qui n'est pas l'objet de l'audit) sont :

Sources : Le Journal du Net,article du 15/04/2005

Références


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Audit de sécurité de Wikipédia en français (auteurs)

Regardez d'autres dictionnaires:

  • Audit de code — En programmation informatique, l audit de code est une pratique consistant à parcourir le code source d un logiciel afin de s assurer du respect de règles précises. L audit peut avoir un but légal (s assurer que les licences des différentes… …   Wikipédia en Français

  • Critères de sécurité — Critères communs Common Criteria (CC) est un standard international (ISO/CEI 15408) pour la sécurité des systèmes d information. Le nom complet du standard est Common Criteria for Information Technology Security Evaluation. En français, on… …   Wikipédia en Français

  • Code international de gestion de sécurité — ISM pour International Safety Management, en français Code international de gestion de la sécurité[1]. est un code de sécurité applicable aux compagnies maritimes et entré en vigueur au 1er juillet 2002 pour tous les navires d un tonnage… …   Wikipédia en Français

  • Expression des besoins et identification des objectifs de sécurité — Modules de la méthode EBIOS EBIOS signifie Expression des Besoins et Identification des Objectifs de Sécurité . La méthode EBIOS est la méthode de gestion des risques de sécurité des systèmes d information (SSI), développée par l Agence nationale …   Wikipédia en Français

  • Resolution du Conseil de securite des Nations unies — Résolution du Conseil de sécurité des Nations unies Les décisions du Conseil de sécurité des Nations unies sont communément appelées des résolutions. Elles ont pour vocation d’apporter une solution à un problème concernant le maintien de la paix… …   Wikipédia en Français

  • Résolution du Conseil de sécurité de l'ONU — Résolution du Conseil de sécurité des Nations unies Les décisions du Conseil de sécurité des Nations unies sont communément appelées des résolutions. Elles ont pour vocation d’apporter une solution à un problème concernant le maintien de la paix… …   Wikipédia en Français

  • Résolution du Conseil de sécurité des Nations unies — Les décisions du Conseil de sécurité des Nations unies sont communément appelées des résolutions. Elles ont pour vocation d’apporter une solution à un problème concernant le maintien de la paix et de la sécurité internationales. Sommaire 1… …   Wikipédia en Français

  • Résolution du conseil de sécurité des nations unies — Les décisions du Conseil de sécurité des Nations unies sont communément appelées des résolutions. Elles ont pour vocation d’apporter une solution à un problème concernant le maintien de la paix et de la sécurité internationales. Sommaire 1… …   Wikipédia en Français

  • Expression Des Besoins Et Identification Des Objectifs De Sécurité — Schéma synthétique de la méthode La méthode EBIOS est une méthode d évaluation des risques en informatique, développée par la Direction Centrale de la Sécurité des Systèmes d Information (DCSSI). Elle permet d apprécier les risques SSI (entités… …   Wikipédia en Français

  • Expression des besoins et identification des objectifs de securite — Expression des besoins et identification des objectifs de sécurité Schéma synthétique de la méthode La méthode EBIOS est une méthode d évaluation des risques en informatique, développée par la Direction Centrale de la Sécurité des Systèmes d… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”