Utilisateur:Partitum scire/Brouillon

Une page de Wikipédia, l'encyclopédie libre.

L'auto-défense des systèmes informatisés est une composante des systèmes de défense dont la particularité est l'autonomie et la capacité d'apprentissage. Contrairement à d'autres mécaniques servant le même but comme les antivirus, ceux-ci ne nécessitent aucune intervention humaine pour se maintenir à jour et/ou devenir capable de contrer des formes d'attaques nouvelles ou inconnues. Encore au stade expérimental, ce procédé n'est pas encore déployé à grande échelle, notamment à cause de son instabilité.


Contexte[modifier | modifier le code]

La recherche sur le sujet de l'auto-défense est motivée par l'évolution du monde informatique. Alors que les systèmes informatiques deviennent de plus en plus complexes et larges, les moyens permettant d'attaquer un système deviennent de plus en plus faciles d'accès, de plus en plus performants, et surtout de plus en plus diversifiées[1]. De nombreux sites permettent un accès très rapide à ces outils, qu'il s'agisse de compilations d'outils[2] ou de tutoriaux[3] pour tous niveaux d'expérience. Des sites Internet[4] se sont même spécialisés dans ce domaine. En réponse à cette démocratisation du hacking, la population d'individus voués à la défense de ces systèmes évolue à un rythme moins soutenu, provoquant un surnombre. De même, les méthodes actuelles de défense telles que la cryptographie deviennent insuffisantes[5],[6] pour soutenir cette variété toujours grandissante d'attaques. La recherche dans le domaine de l'auto-défense des systèmes a donc un double-objectif: palier à ce manque et augmenter l'autonomie des systèmes défendus.


Inspiration[modifier | modifier le code]

Le principe même d'auto-défense d'un système informatisé n'est pas né de lui-même, mais s'est inspiré de multiples domaines. Une des comparaisons utilisée est celle avec le système nerveux, basé sur plusieurs modules interconnectés, dont s'inspire des technologies expérimentales comme le BANS[7] afin de reproduire son efficacité en termes d'intelligence, de rapidité de transmission d'informations et de robustesse.


Fonctionnement[modifier | modifier le code]

Un système de défense dit autonome s'articule autour de trois parties distinctes et fortement liées.

  • La détection, sous-entendu la détection de comportements anormaux et/ou de bases de données pré-injectées au sein du système.
  • L'apprentissage, réalisée grâce à un système de détection d'intrusion. Une fois que l'intrusion ou programme est identifié comme indésirable, le système l'enregistre et, par apprentissage, devient capable de le repérer de manière plus efficace par la suite.
  • La restauration: Une fois la menace détectée et assimilée, le système retourne à un état opérationnel dans les plus brefs délais.

Détection[modifier | modifier le code]

Il existe à l'heure actuelle différents systèmes annexes ou méthodes permettant à un système informatique donné de détecter des intrusions ou des dysfonctionnements. Cette détection se retrouve sous plusieurs formes, qu'ils soient des modules individuels intégrés à des outils de défense automatisés ou des systèmes de détection d'intrusion. Dans le cadre de la défense automatisée, les systèmes se reposent sur des concepts adaptés à leur propre fonctionnement.

Apprentissage[modifier | modifier le code]

Un exemple d'apprentissage
Schéma explicatif du principe d'apprentissage par construction de code graph.

Une fois une attaque détectée, le système entre dans une seconde phase, nommée apprentissage. Il utilise encore une fois divers procédés, systèmes et méthodes appartenant au champ de l'apprentissage automatique, qui lui-même découle de la discipline scientifique de l'intelligence artificielle. De manière, deux approches sont principalement adoptées dans cet objectif: enregistrer la signature de l'attaque pour la reconnaître par la suite, ou retenir un comportement en lui-même pour le détecter de manière plus rapide. Certains systèmes utilisent à cette fin la construction de call graph dynamiques afin de retracer une exécution particulière et ainsi repérer les comportement anormaux.

Connaissance partagée[modifier | modifier le code]

L'approche de la connaissance partagée permet à une ou plusieurs entités au sein d'un système défendu d'étendre une information à l'ensemble du système afin d'en faire une connaissance commune. Ainsi, un sous-réseau ou un agent du réseau n'ayant pas encore été la cible de cette attaque se retrouve avec des moyens de la contrecarrer, la rendant ainsi impotente.

CORTEX[8], par exemple, permet également de sauvegarder l'information et d'en tirer des mécanismes et méthodes de défense plus robustes. Basé sur les mécanismes du système nerveux, représentés par un réseau de base de données et de serveurs dédiés, ce mécanisme permet à une partie du réseau défendu par CORTEX de transmettre l'information au reste du réseau, qui n'est pas affecté. Un exemple très simple d'informations pouvant être relayé de cette manière est un lien vers un site de fishing, reporté à travers tout le réseau comme dangereux. Lors de l'échange de données telles que de nouveaux spywares ou malwares, ce sont cette fois des caractéristiques qui sont envoyées, telles que le nom, la taille, ou encore des caractéristiques comportementales particulières. Ce principe de «nerf central» sert également d'interface pour les équipes de développement, afin d'ajouter de nouveaux comportements à adopter en cas de nouveaux problèmes. Par exemple, un logiciel malveillant que la librairie de solutions n'a pas su contrecarrer entièrement sera reporté jusqu'au «nerf central», où les ingénieurs pourront développer de nouveaux procédés de défense, solution qui sera ensuite distribuée à toutes les entités du réseau concerné.

Récupération[modifier | modifier le code]

L'étape finale, pour une protection effective, est de récupérer les données si celle-si on été endommagées. Il existe plusieurs situations possibles, pour lesquelles la récupération ne prendra pas forcément la même forme. Dans le cadre d'une attaque DDoS par exemple, la récupération consistera en la réhabilitation du serveur afin de pouvoir de nouveau supporter une charge stable. Lors d'une intrusion dans un système, l'on vérifie l'intégrité des données et le retour à un système intègre et nettoyé de toute intrusion externe. Dans cette optique, les solutions utilisées sont le plus couramment le retour à un état antérieur, sauvegardé auparavant, ou la récupération de données qui permet de recouvrir des données partiellement perdues, corrompues ou effacées à partir de celles restantes.


Solutions existantes[modifier | modifier le code]

Bien que le sujet soit d'ordre expérimental, il existe un certain nombre de produits et de systèmes mettant déjà en pratique les principes de la défense automatique et autonome de systèmes.

CORTEX[modifier | modifier le code]

CORTEX est un système autonome chargé de défendre un système critique ou très important, comme par exemple une base de données. Il opère sans intervention humaine et est capable de défendre la zone qui lui est affectée contre des attaques nouvelles ou inconnues du système. Séparé en deux modules, CORTEX se repose sur la base d'une batterie de tests, appelée sur tous les services, afin de diagnostiquer des comportements anormaux et agir en conséquence.

CSISM[modifier | modifier le code]

CSISM[9] est un système autonome de défense qui tente de répliquer le fonctionnement du JBI (Joint Battlespace Infosphere)[10], à la seule différence qu'il ne requiert aucune intervention extérieure, là où le programme JBI nécessitait une équipe d'experts en défense pour fonctionner correctement. Il est capable de se défendre contre des attaques soutenues en environnement opérationnel.

Booby Trap[modifier | modifier le code]

Le Booby Trapping Software[11] est une méthode de défense dite active, contrairement aux précédents systèmes qui se reposaient sur une défense passive et l'apprentissage des données pour solidifier leurs défenses. Elle part du constat du déséquilibre entre attaquants et défenseurs: là où un attaquant n'a qu'une faille à trouver, le défenseur se doit de maintenir tous les points d'accès potentiels du système. Le Booby trapping se propose de prendre des mesures de répression immédiatement après la détection d'une intrusion, afin d'insérer par la suite des "pièges" à l'endroit ciblé afin de dissuader les éventuels attaquants futurs. Le plus souvent, ces pièges sont des morceaux de code source déclenchés à la détection.

White worms[modifier | modifier le code]

Un "bon" ver informatique, dit white worm, est une variante du ver informatique, dont l'effet est supposé inverse. En effet, il exploite les mêmes failles techniques qu'un autre ver malveillant, connu sous le nom de Conficker, afin non pas d'infecter mais de désinfecter toutes les machines compromises. Pour des raisons évidentes de sécurité[12],[13] cette pratique, bien que bienveillante dans son intention première, est illégale et fortement controversée.


Références[modifier | modifier le code]

Bibliographie[modifier | modifier le code]

  • (en) R. Zheng, W. Lu et S. Xu, « Active cyber defense Dynamics exhibiting Rich Phenomena », HotSoS '15,‎ (DOI 10.1145/2746194.2746196)
  • (en) J. L. Berral, N. Poggi, J. Alonso, R. Gavaldà et M. Parashar, « Adaptive distributed mechanism against flooding network attacks based on machine learning », AlSec '08,‎ , p. 43-50 (ISBN 978-1-60558-291-7, DOI 10.1145/1456377.1456389)
  • (en) J. Lee, K. Jeong et H. Lee, « Detecting metamorphic malwares using code graphs », SAC '10,‎ , p. 1970-1977 (ISBN 978-1-60558-639-7, DOI 10.1145/1774088.1774505)
  • (en) K. Hwang, Y-K. Kwok, S. Song, M.C.Y Chen, Y. Chen, R. Zhou et X. Lou, « GridSec: Trusted Grid Computing with Security Binding and Self-defense Against Network Worms and DDoS Attacks », Computational Science – ICCS 2005,‎ , p. 187-195 (ISBN 978-3-540-32118-7, DOI 10.1007/11428862_27)
  • (en) K. Z. Haigh et S. A. Harp, « Improving self defense by learning from limited experience », CSIIRW '08,‎ (ISBN 978-1-60558-098-2, DOI 10.1145/1413140.1413186)
  • (en) N. Weaver et D. Ellis, « White worms don't work », ;login:,‎
  • (en) Y. S. Dai, Y.P. Xiang et Y. Pan, « Bionic Autonomic Nervous Systems for Self-Defense against DoS, Spyware, Malware, Virus, and Fishing », ACM TAAS, vol. 9, no 1,‎ (ISSN 1556-4665, DOI 10.1145/2567924)
  • (en) B. D. Paul, P. Pal, F. Webber, P. Rubel et M. Atigetchi, « Using a Cognitive Architecture to Automate Cyberdefense Reasoning », BLISS '08,‎ , p. 58-63 (ISBN 978-0-7695-3265-3, DOI 10.1109/BLISS.2008.17)
  • (en) J. Chong, P. Pal, F. Webber, P. Rubel et M. Atigetchi, « Survivability Architecture of a Mission Critical System: The DPASA Example », Computer Security Applications Conference,‎ , p. 10 pp. - 504 (ISBN 0-7695-2461-3, ISSN 1063-9527, DOI 10.1109/CSAC.2005.54)
  • (en) V. T. Combs, R. G. Hillman, M. T. Muccio et R. W. McKeel, « Joint Battlespace Infosphere: Information Management within a C2 Enterprise », Proceedings of SPIE,‎ (ISBN 9780819458056, DOI 10.1117/12.603623)
  • (en) S. Crane, P. Larsen, S. Brunthaler et M. Franz, « Booby trapping software », NSPW '13,‎ , p. 95-106 (ISBN 978-1-4503-2582-0, DOI 10.1145/2535813.2535824)
  • (en) Z. Trabelsi, K. Hayawi, A. Al Braiki et S. Samuel Mathew, « Network Attack and Defense », Network Attacks and Defenses: A Hands-on Approach,‎ , p. 633-678 (ISBN 9781466517943)