Close

Analyse comportementale: détecter les incidents grâce au machine learning

En octobre 2019, Guillaume Poupard, le directeur général de l’Agence nationale pour la sécurité des systèmes d’information (ANSSI), identifiait un point faible dans la protection des systèmes de sécurité : la détection des intrusions, qui, dans 35 % des cas, survient entre six et neuf mois seulement après l’intrusion.[1]

Historiquement, la détection des intrusions repose sur des signatures statiques, qui décrivent les signes de la présence d’une activité malveillante dans un système. Plus précisément elle permet de reconnaître, dans le fonctionnement et les activités d’un système, des comportements malveillants ou des empreintes (hashes, adresses IP…) déjà associés à des actes malveillants. Cette méthode permet ainsi de faire remonter des alertes dites « explicites », ou qualifiées, c’est-à-dire qui identifient précisément l’acte malveillant, mais se limite en revanche aux modes opératoires déjà identifié précédemment comme malveillants.

Or les empreintes et indicateurs sur lesquels repose cette méthode évoluent extrêmement rapidement : les hashes, par exemple, peuvent être modifiés à chaque compilation du code. D’autre part, les attaques sont de plus en plus nombreuses et sophistiquées, ce qui rend les signatures rapidement obsolètes et explique en partie le faible taux de détection des intrusions. Les Security Operations Center (SOC) sont donc forcés de reconsidérer leur approche.

Un changement d’approche dans la détection des intrusions

La détection des intrusions peut être envisagée sous un autre angle : celui de l’analyse comportementale. Contrairement aux signatures statiques, les algorithmes d’analyse comportementale ne permettent pas de qualifier une action comme « malveillante » mais permettent d’identifier des actions déviantes du comportement normal du système observé.

Par exemple, ces algorithmes peuvent faire remonter des comportements inhabituels et donc potentiellement suspects tels que :

  • un employé copiant brusquement un grand nombre de documents, qui peut indiquer une personne exfiltrant des documents avant de quitter l’entreprise ;
  • le chiffrement massif de fichiers, qui peut indiquer le déploiement d’un ransomware dans un système d’information ;
  • un employé qui utilise un logiciel qu’il n’a jamais utilisé auparavant, qui peut indiquer une compromission du poste ;
  • un employé qui envoie des mails dans un format inhabituel, qui peut indiquer une tentative de propagation d’un malware ou d’extraction de données confidentielles.

Les logiciels d’analyse comportementale sont capables d’apprendre le fonctionnement habituel d’un système d’information : les habitudes de chaque employé, de chaque application, de chaque système industriel. Par exemple, la façon dont une personne travaille, sa manière de saisir les données, de rédiger ses mails, ses logiciels de bureautique et ses horaires. Ainsi, si lors d’une attaque, un malware ou un attaquant réussi à exploiter un compte utilisateur, ils ne pourront pas usurper cette empreinte personnelle et reproduire avec la même précision et la même spontanéité que l’utilisateur légitime ses habitudes et comportements individuels propres. Et ce d’autant que l’attaque elle-même implique de mener sur le système des actions qui ne sont pas les actions habituelles de l’utilisateur légitime. Ces actions provoquent alors un écart par rapport au comportement nominal de l’utilisateur légitime, et déclenchent une alerte.

Ainsi, grâce à cette approche, des comportement malveillants ou attaques qui n’ont jamais été qualifiées auparavant peuvent être identifiées et détectées.

Une nouvelle approche qui n’est pas sans contraintes

Le comportement normal d’un système est “appris” grâce à l’intelligence artificielle. Les logiciels d’analyse comportementale s’appuient donc sur les avancées de l’intelligence artificielle et notamment sur celles de l’apprentissage non supervisé, qui consiste à faire apprendre à la machine de manière automatique et autonome, sans étiquetage préalable des données. Leurs algorithmes établissent des liens entre des données dont on ignore si elles reflètent des comportements normaux et anormaux, et ces liens forment des modèles de comportement qui permettent de détecter tout comportement s’en éloignant et pouvant indiquer une action malveillante.

Cette approche nécessite donc à la fois un grand volume de données (qui implique que l’organisation qui souhaite déployer une telle solution dispose des données suffisantes), et un temps d’apprentissage significatif pouvant aller jusqu’à plusieurs semaines pour certains logiciels.

On peut alors considérer les limitations de cette approche. Pour être pleinement efficaces, ces technologies d’analyse comportementale doivent être déployées sur un système d’information sain, car, s’il est compromis, le logiciel considèrera comme normal le comportement de l’attaquant et le fait qu’il ait la main sur tout ou partie du système d’information. Ce qui constitue un véritable enjeu lorsque l’on sait que la détection des intrusions survient en moyenne 167 jours après la compromission initiale[2] et qu’il est donc tout à fait possible qu’une organisation déploie ce type de solutions sur un système déjà compromis. Elle rendrait par la même la solution inefficace au mieux, et au pire faciliterait l’action des attaquants déjà installés dans son système.

En outre, les fabricants sont parfois contraints d’installer des backdoors dans certains systèmes industriels pour intervenir à distance pour assurer la maintenance et la disponibilité de ces systèmes[3]. Dans ces cas-là également, le logiciel considèrera les actions à distance sur ces systèmes comme normales et diminuera ainsi la portée et l’efficacité de ces solutions d’analyse comportementale.

Vers une approche hybride ?

L’analyse comportementale a donc des bénéfices très nets :  capacité à traiter rapidement de très grands volumes de données, détection de modes opératoires inconnus… qui permettent aux SOC de dépasser des limites importantes des méthodes de détection historiques.

Mais il ne s’agit pas pour autant d’une solution miracle. Ces bénéfices sont acquis au prix de la clarté des remontées. Dans l’approche historique par signature statique, l’analyste sait qu’une détection d’intrusion est due à la présence d’un indicateur clairement identifié (adresse IP, hash, etc.) observé lors d’une opération précise suivant un mode opératoire bien identifié. L’analyse comportementale, en revanche, à un côté « boîte noire » : l’analyste ne sait pas précisément pourquoi, c’est-à-dire sur la base de quels indicateurs, l’algorithme considère qu’un comportement est anormal, sinon qu’il diffère d’un comportement habituel qualifié de normal.

Par ailleurs, certaines des contraintes de cette méthode, et notamment le temps d’entrainement des algorithmes, nécessitent d’importantes avancées technologiques pour être dépassées et permettre une efficacité optimale.

Une approche hybride de la détection, mêlant le meilleur des deux mondes – le travail de chercheurs et d’opérationnels de la cybersécurité, qui est au cœur de l’approche basée sur les signatures statiques, d’une part, et l’analyse des comportements grâce à l’intelligence artificielle de l’autre – permettrait de bénéficier des avantages des deux méthodes de détection. La méthode historique apporte une qualification explicite et précise des indicateurs, associée à de la construction de connaissance sur les modes opératoires des attaques là où l’analyse comportementale amène une identification plus rapide des anomalies, une augmentation des taux de détection et la découverte de circuits d’attaque qui étaient auparavant indétectables.

[1] Le Mag IT, Assises de la sécurité : Guillaume Poupard ne cache pas ses préoccupations, Octobre 2019. lemagit.fr

[2] Le Mag IT, Détection d’intrusion : les chiffres très préoccupants relevés par Wavestone, Octobre 2019. www.lemagit.fr

[3] FIC 2020, Analyse comportementale, l’avenir de la détection ?, janvier 2020.