- Faille de sécurité
-
Vulnérabilité (informatique)
Cet article concerne la vulnérabilité en informatique. Pour une utilisation plus large du terme, voir 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.
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, mais il s'agit généralement de l'exploitation de bugs logiciels. 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.
Il arrive que la procédure d'exploitation d'une faille d'un logiciel soit publiquement documentée et utilisable sous la forme d'un petit logiciel appelé exploit.
Sommaire
Causes
Les vulnérabilités informatiques proviennent souvent de la négligence ou de l'inexpérimentation d'un programmeur. Il peut y avoir d'autres causes liées au contexte. Une vulnérabilité permet généralement à l'attaquant de duper l'application, par exemple en outrepassant les vérifications de contrôle d'accès ou en exécutant des commandes sur le système hébergeant l'application.
Quelques vulnérabilités surviennent lorsque l'entrée d'un utilisateur n'est pas contrôlée, permettant l'exécution de commandes ou de requêtes SQL (connues sous le nom d'injection SQL). D'autres proviennent d'erreurs d'un programmeur lors de la vérification des buffers de données (qui peuvent alors être dépassés), causant ainsi une corruption de la pile mémoire (et ainsi permettre l'exécution de code fourni par l'attaquant).
Publication d'une vulnérabilité
Méthode de publication
La méthode de publication des vulnérabilités est un sujet qui fait débat au sein de la communauté de la sécurité des systèmes d'information. Certains affirment qu'il est nécessaire de publier immédiatement toutes les informations à propos d'une vulnérabilité dès qu'elle a été découverte (full disclosure). D'autres prétendent qu'il est préférable de limiter en premier lieu la publication uniquement aux utilisateurs qui ont un besoin important, et puis ensuite après un certain délai de publier en détail, s'il y a besoin.
Ces délais peuvent permettre de laisser le temps à ces utilisateurs de corriger la vulnérabilité en développant et en appliquant les patchs de sécurité nécessaires, mais peuvent aussi accroître les risques pour ceux qui n'ont pas ces informations.
Date et source de publication
La date de publication est la première date à laquelle une vulnérabilité est décrite sur un média où l'information révélée suit les conditions suivantes :
- l'information est disponible librement et publiquement,
- l'information sur la vulnérabilité est publiée par une source indépendante et de confiance,
- la vulnérabilité a fait l'objet d'analyse par des experts, notamment sur l'estimation du risque de la révélation.
D'un point de vue sécurité, seule une publication libre d'accès et complète peut assurer que toutes les parties intéressées obtiennent l'information appropriée. La sécurité par l'obscurité est un concept qui n'a jamais fonctionné.
La source de la publication doit être indépendante d'un éditeur, d'un vendeur, ou d'un gouvernement. Elle doit être impartiale pour permettre une diffusion de l'information juste et critique. Un média est considéré comme de confiance lorsqu'il est une source de la sécurité des systèmes d'information largement acceptée dans l'industrie (par exemple : CERT, CESTI, Securityfocus, Secunia).
L'analyse et l'estimation du risque assurent la qualité de l'information révélée. Une unique discussion sur une faille potentielle dans une liste de diffusion ou une vague information d'un vendeur ne permettent donc pas de qualifier une vulnérabilité. L'analyse doit inclure assez de détails pour permettre à un utilisateur concerné d'évaluer lui-même son risque individuel, ou de prendre une mesure immédiate pour se protéger.
Référence
Lorsqu'une vulnérabilité a été publiée, le MITRE lui attribue un identifiant CVE. Cet identifiant permet de faire des recherches croisées entre plusieurs sources d'information.
Identification et correction des vulnérabilités
Il existe de nombreux outils qui peuvent faciliter la découverte de vulnérabilités sur un système information, certains permettant leur suppression. Mais, bien que ces outils puissent fournir à un auditeur une bonne vision d'ensemble des vulnérabilités potentiellement présentes, ils ne peuvent pas remplacer le jugement humain. Se reposer uniquement sur des scanners automatiques de vulnérabilité rapportera de nombreux faux positifs et une vue limitée des problèmes présents dans le système.
Des vulnérabilités ont été trouvées dans tous les principaux systèmes d'exploitation, en premier lieu sur Windows, mais aussi sur Mac OS, différentes versions d'Unix et Linux, OpenVMS, et d'autres. La seule manière de réduire la probabilité qu'une vulnérabilité puisse être exploitée est de rester constamment vigilant, en développant la maintenance système (par exemple en appliquant les patchs de sécurité), de déployer une architecture sécurisée (par exemple en plaçant judicieusement des pare-feux), de contrôler les accès, et de mettre en place des audits de sécurité (à la fois pendant le développement et pendant le cycle de vie).
Exploitation malicieuse
Les failles de sécurité deviennent particulièrement intéressantes lorsqu'un programme contenant une de ces vulnérabilités est lancé avec des privilèges spéciaux, qu'il permet une authentification sur un système, ou bien encore lorsqu'il fournit un accès à des données sensibles.
Les pirates, grâce à leur connaissance et à des outils appropriés, peuvent prendre le contrôle de machines vulnérables. Les failles de sécurité découvertes sont généralement colmatées au plus vite à l'aide d'un patch afin d'empêcher des prises de contrôles intempestives ; cependant dans bien des cas, des machines restent vulnérables à des failles anciennes, les différents correctifs n'ayant pas été appliqués.
Certains logiciels malveillants utilisent des vulnérabilités pour infecter un système, se propager sur un réseau, …
Une fois la faille exploitée, cela provoque généralement un déni de service du système (programme informatique, noyau du système d'exploitation, …), un accès à un système ou à des informations sensibles, voire une élévation des privilèges d'un utilisateur.
On parle de vulnérabilité distante lorsque la vulnérabilité se situe dans un logiciel constituant un service réseau (par exemple un serveur web) et qu'elle peut être exploitée par un attaquant distant, qui ne dispose pas d'un compte local. On parle de vulnérabilité locale lorsque la vulnérabilité n'est exploitable que par un utilisateur disposant d'un compte local. Les vulnérabilités distantes peuvent être utilisées par des pirates pour obtenir un accès sur un système. Les vulnérabilités locales peuvent être utilisées par un utilisateur malintentionné, qui possède un compte, pour effectuer une élévation des privilèges, ou bien par un attaquant distant pour augmenter ses privilèges, après l'exploitation d'une vulnérabilité distante.
Exemples de vulnérabilités
Les vulnérabilités ci-dessous font parties des plus connues :
Annexes
Voir aussi
- Centre d'expertise gouvernemental de réponse et de traitement des attaques informatiques
- Common Vulnerabilities and Exposures (CVE)
- Common Weakness Enumeration (CWE)
- Exploit (informatique)
- Packet Storm
- Sécurité de l'information
- Sécurité des systèmes d'information
- Securityfocus
Liens externes
- (fr)(en) VUPEN : Portail francophone et anglophone dédié à la sécurité informatique et aux vulnérabilités
- (de)(en) Secunia.com : Portail anglophone dédié principalement aux failles de sécurité
- (fr)(en) Vigil@nce vulnérabilités : Veille technique sur les vulnérabilités et leurs solutions (depuis votre mobile : Vulnérabilités Vigil@nce)
- (fr) SecurityVibes : Portail francophone dédié à la sécurité informatique
- (fr) Secuser.com : Portail francophone dédié à la sécurité informatique
- (fr) info.corroy.org : Une vue d'ensemble de l'actualité de la sécurité informatique
- (en) Netcraft
- (en) TechZoom : Empirical analysis of vulnerability disclosure dates for 14'000 vulnerabilites since 1996
- (en) OSVDB : Open Source Vulnerability Database homepage
- (en) NIST SAMATE : Software Assurance Metrics and Tool Evaluation project
- (en) Microsoft : The Microsoft Security Response Center definition
- Portail de la sécurité informatique
Catégories : Sécurité informatique | Exploit (informatique)
Wikimedia Foundation. 2010.