Retours sur expérience sur la réalisation d'une solution de CTI
cyber securite bigdata

Threat Intelligence

Je travaille dans le domaine de la cybersécurité dans l’objectif de réaliser des produits pour une entreprise fournissant des services autour de la cybersécurité.

J’ai réalisé un certains nombre de produits visant à outiller un SOC (Security Operations Center), et un CERT (Computer Emergency Response Team) de cette même société.

Lors de la réalisation des services, j’ai été confronté à la demande de pouvoir aggréger de l’information provenant de sources diverses et variées, et de confiance tout autant diverse et variée, afin de faciliter les intégrations dans les équipements sécurité, ainsi que l’interrogation de dépôt de données.

C’est ainsi que je me suis penché sur ce buzz word que représente la threat intelligence.

Définition

La threat intelligence est l’information clé définissant le contexte, les mécanismes et les indicateurs permettant d’anticiper les menaces à l’encontre du SI et de riposter de manière actionnable face à celles-ci. (Gartner)

La threat intelligence technique ou opérationnelle, vise à fournir des informations techniques (IP, FQDN, Hash, etc.) appelés Observables, si ceux-ci participe à un ou plusieurs scénarios malicieux, ils sont appelés indicateurs de compromission (IoC en anglais).

Chaîne de traitement

Afin de produire un data warehouse traditionnel, il faut mettre en place une chaîne de traitement basée sur ETL (Extract / Transform / Load). La nature de la donnée étant brute, il faut procéder à un ensemble de traitement visant à affiner la valeur de l’information.

A ne pas confondre avec un data lake, les données sont traitées AVANT l’écriture donc data warehouse.

Je vais concentrer mon analyse sur les problèmes et les observations réalisées lors de la création du système.

Collecter

Sources Externes

Sources Publiques

Il existe de nombreuses sources d’informations publiques disponibles, nous en avions identifiés plus de 150.

Voici les problèmes rencontrés :

Sources Privées

Certaines entreprises ayant compris la difficulté à corréler les informations publiques, vendent des feeds d’informations traitées et uniformisés.

Voici les problèmes rencontrés :

Sources Internes

Il est possible aussi d’exploiter les sources d’informations internes comme :

Voici les problèmes rencontrés :

Normaliser

Afin de pouvoir traiter l’information collectée, il faut la normaliser, c-à-d la faire correspondre à un modêle de données la rendant :

Nous avons choisi de mettre en place un dispositif de traitement distribuable avec une gestion de back pressure pour gérer la pression d’intégration par rapport au différentes vitesses que composent notre système.

Voici les problèmes rencontrés :

Améliorer

Les observables sont à présent normalisés et prêt à être intégrés. Les améliorations agissent sur la valeur de l’information et son contexte.

Lorsque l’on travaille sur des informations techniques pures, il est rare qu’elles se suffisent à elles-mêmes, il faut pour cela créer des liens entre elles. La création de ces liens est ce que nous appelons: l’amélioration.

Voici les problèmes rencontrés :

Stocker

Le stockage des observables est aussi très important puisque l’objectif est de pouvoir construire un data warehouse, contenant les informations traitées par notre infrastructure de data wrangling.

Voici les problèmes rencontrés :

Analyser

Le dépot de données est construit, il faut maintenant l’exploiter.

Voici les problèmes rencontrés :

Exploiter

Nous avons analysé l’information pour lui donner sa valeur maximale, il faut maintenant passer à l’exploitation technique.

Voici les problèmes rencontrés :

Conclusion

Voici une liste non-exhaustive des problèmes et réflexions qu’il faut prendre en concidération; si vous envisagez de construire une telle solution. Un système de Cyber Threat Intelligence technique nécessite des moyens techniques, financiers, mais aussi en ressources humaines importants.

Depuis 3 ans, il existe de nombreuses solutions OpenSource, éliminant la charge de développement de la solution, tout en gardant une charge pour adapter, mais ne supprimera en aucun cas le besoin en infrastructure.

Je n’irai pas jusqu’à justifier les prix pratiqués par des solutions commerciales mais il faut comprendre pourquoi c’est aussi cher.

C’est le commerce de l’information ! On ne vends pas le produit mais l’information qu’il a traité.

Parce qu'il n'est pas nécessaire d'installer en root les binaires produits par les dépendances Node.js.
linux nodejs npm securite

Mise en place d'une blockchain privée en utilisant le protocole Ethereum
securite dev blockchain ethereum

Centraliser/Monitorer les accès aux services VT à l'aide du proxy golang Tyk.
securite virustotal golang