Ouverture du code source de la plateforme OpenCTI

Ouverture du code source de la plateforme OpenCTI

L’importance de l’analyse de la cybermenace au sein d’une organisation ou d’un secteur d’activité s’est largement accrue ces dernières années et occupe aujourd’hui une place essentielle dans de nombreux domaines de la cybersécurité. Adapter les dispositifs de détection, construire des scénarios de red team pertinents, orienter les activités de réponse aux incidents, proposer une évaluation des risques plus efficace grâce à une meilleure connaissance des éléments menaçants, sont autant de possibilités offertes par la bonne compréhension des enjeux liés à la menace informatique et des facteurs humains et techniques qui leur sont associés.

Dans ce contexte, il est devenu plus que jamais nécessaire, pour les organisations dotées de capacité en la matière, de mieux organiser leur connaissance et les informations dont elle dispose sur les menaces susceptibles de les cibler. Or cette démarche de capitalisation et d’analyse ne peut se limiter aux seuls indicateurs de compromission et observables. Bien qu’essentiels, ils s’avèrent néanmoins insuffisants dès lors qu’il s’agit de répondre à d’autres problématiques que celles de la détection ou du hunting. Voilà précisémment le vide applicatif qu’OpenCTI entend combler : proposer une plateforme unifiée regroupant à la fois les informations techniques et non-techniques matérialisant les cybermenaces tels que les campagnes, tactiques, codes malveillants, victimes et observables associés.

Fondements et approche originale

Les spécifications de la plateforme ont été construites à partir de plusieurs constats et problématiques auxquels OpenCTI doit impérativement répondre.

Les informations sur la menace sont disséminées sur des supports variés et stockés la plupart du temps dans des formats non structurés.

La plateforme doit être en mesure de stocker un grand nombre d’informations en provenance de multiples sources, dans différents formats, et les organiser de manière structurée et exploitable.

Même lorsqu’elle est disponible et accessible à l’analyste, la connaissance d’une menace est dans certains cas mal sourcée ou mal datée.

La plateforme doit être en mesure de sourcer et de dater chaque relation ou lien entre deux entités en référençant les rapports ou les investigations qui ont conduit à l’établir.

Une fois la connaissance produite, elle est difficilement partageable en dehors de rapports écrits ou de liste d’indicateurs techniques.

La plateforme doit être en mesure d’importer et d’exporter de la connaissance structurée sur l’ensemble des types d’entités et de relations tout en permettant de gérer des niveaux de confiance propres à chaque source d’information.

Il est difficile et souvent chronophage de parvenir à établir une vision à la fois quantitative et qualitative d’une menace ou d’une cible tel qu’un secteur d’activité.

La plateforme doit être en mesure de fournir des fonctionnalités permettant de visualiser de manière détaillée chaque information et ses implications mais également des outils de visualisation et d’analyse quantitative.

Le choix du modèle de donnée et des logiciels associés

Si OpenCTI se doit de répondre aux impératifs évoqués précedemment, il couvre également les besoins quotidiens des analystes de la cybermenace et de leurs bénéficiaires. Des productions de tout type prééxistent à la plateforme et doivent pouvoir facilement s’y incorporer. Fiches d’identités de modes opératoires, modèles diamant, kill chains, matrices de tactiques et de procédures, chronologies de campagnes et de victimes, ces livrables ont des éléments communs qui se retrouvent largement dans le modèle STIX2 proposé par le consortium à but non lucratif OASIS.

Néanmoins, ce modèle demeure complexe à implémenter rigoureusement dans une base de données, il implique en effet des notions d’entités, de relations, de sous-entités et de relations imbriquées (comme par exemple la propriété object_refs de l’entité report s’apparente à une relation d’un rapport vers plusieurs entités ou relations, indiquant la nécessité de faire pointer une relation vers une autre relation).

Le modèle de données d’OpenCTI s’appuie donc sur le référentiel STIX2, enrichi de nombreux attributs et types d’entités et a été propulsé dans la base de données open source Grakn, implémentant un hypergraphe de connaissance basé sur le modèle entité-association. Le choix s’est porté sur cette technologie après plusieurs essais partiellement fructueux de MongoDB et Neo4J, notamment en raison du besoin de créer des relations vers tout type de “chose”, entités comme relations.

Nous tenons par ailleurs à remercier l’ensemble de l’équipe de Grakn pour leur accompagnement durant le développement de la première version de la plateforme. Ils ont su se montrer ouverts, à l’écoute et particulièrement réactifs à nos demandes régulières de fonctionnalités ou à nos questions d’intégration. Sans leur soutien et les fonctionnalités impressionnantes de leur produit, la plateforme OpenCTI ne disposerait pas de toutes les possibilités qu’elle offre aujourd’hui.

Objectifs à moyen terme

Les objectifs de la plateforme OpenCTI en terme de fonctionnalités sont explicités dans la feuille de route stratégique du produit. Il s’agit principalement :

  • de l’intégration avec d’autres plateformes et produits ;
  • de l’amélioration des fonctionnalités d’import et d’export ;
  • de l’enrichissment des données ;
  • des capacités de visualisation et d’analyses ;
  • d’un moteur d’investigation et de corrélation basé sur des algorithmes de parcours de graphe.

Auteurs du projet

Le projet OpenCTI est développé conjointement par l’ANSSI et le CERT-EU, avec l’aide de la communauté. Luatix n’est qu’une organisation rassemblant des volontaires de tout horizon au-delà de ces deux organisations qui souhaitent participer à ce projet (comme à d’autres).

 

Liens utiles

Samuel Hassine
samuel.hassine@luatix.org

Développement et produits

Aucun commentaire

Poster un commentaire
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.