Les technologies analytiques essentielles pour la détection des menaces avancées
Josh Sokol, RSSI de National Instruments, partage son expérience de mise en oeuvre d'un programme de sécurité analytique centré sur la découverte de logiciels malveillants avancés.
Il y a quelques années, une entreprise a cherché à me vendre son tout dernier produit, et surtout son meilleur, pour détecter les logiciels malveillants et les empêcher d’infecter mes systèmes d'entreprise. J’ai poliment décliné l’offre, expliquant que mon entreprise, pleine d’ingénieurs et d’autres collaborateurs très intelligents, ne pouvait assurément pas être affectée par ces logiciels malveillants qui prolifèrent ailleurs sur Internet. Et d’ajouter que nous disposions déjà d’un antivirus conçu pour prévenir ce type de problème.
Par chance, j’ai tout de même essayé une version de démonstration, après l’avoir configurée pour intercepter notre trafic Internet, à la périphérie du réseau, à partir d’un port d’analyse. Après avoir mis l’appliance sous tension et m’y être connecté, j’ai mesuré l’ampleur de notre problème. Et j’ai été choqué. Nous avons immédiatement commencé à observer des détections de logiciels malveillants sur plus d’une dizaine de systèmes de l’entreprise, malgré l’antivirus et les plus récentes signatures virales. Chacune de ces infections effectuait des appels vers des serveurs de commande et de contrôle répartis à travers le monde. Et il est probable qu’il en ait été ainsi depuis longtemps : nous n’étions tout simplement au courant de rien. Une partie du trafic ressemblait à de la fraude au lien bénigne. Mais des logiciels malveillants envoyaient des données chiffrées qu’il nous était impossible de décrypter. Mais quoiqu’il en soit, il était évident que nous avions un problème et qu’il fallait y remédier. Ainsi commença mon aventure dans le monde de l’analytique de sécurité.
Les logiciels malveillants nous affectent tous, quelles que soient les défenses mises en place au sein de nos organisations. Ils constituent une menace furtive et sophistiquée. Et l’antivirus sur lequel nous nous appuyons depuis si longtemps ne fournissait qu’à peine plus qu’une illusion de sécurité.
Ici, je vais me pencher sur les différents types de produits nécessaires pour détecter et se protéger des logiciels malveillants contemporains, des menacées avancées persistantes (APT), des exploits de type zéro-day, et plus encore, tout en évoquant les manières d’injecter les données générées par ces produits dans un programme de sécurité analytique pour obtenir une perspective nouvelle, plus vaste, sur les menaces auxquelles est confrontée votre organisation.
La première, et probablement la plus importante brique technologique, d’un système de sécurité analytique est un produit de prévention avancée des logiciels malveillants tel que celui décrit plus haut. Dans mon cas, FireEye est l’équipementier que j’ai retenu en raison de son utilisation exclusive de la virtualisation. Mais des tiers tels que Damballa, Bit9, entre autres, offrent des produits tout aussi attractifs.
La plateforme de prévention des menaces de FireEye analyse le trafic en temps réel et confine les logiciels malveillants dans une machine virtuelle pour les analyser en profondeur. Le produit est capable de rechercher les signatures de logiciels malveillants communs, mais il est surtout en mesure de baser la détection sur le comportement du système. Et c’est tout particulièrement important pour identifier les APT et les attaques de type zéro-day pour lesquelles il n’existe tout simplement pas de signature.
Las, le produit FireEye ne détecte les logiciels malveillants que sur les systèmes connectés au réseau couvert par l’appliance. C’est une limitation importante : de nombreux terminaux mobiles sont susceptibles de ne pas être protégés. C’est là que les approches basées sur des agents, d’entreprises telles que Trusteer ou Bit9, se distinguent. En installant des agents résidents sur vos terminaux, vous pouvez les protéger où qu’ils soient : sur le réseau de l’entreprise, au domicile de l’utilisateur, ou dans un lieu public.
Si un système de prévention des logiciels malveillants dédié ne convient pas à votre organisation, vous pouvez vous pencher à nouveau sur votre système de prévention des intrusions (IPS). De nombreux fournisseurs d’IPS intègrent des règles de détection des logiciels malveillants à leurs produits, au point, pour certains, de s’approcher des fonctionnalités offertes par les produits des spécialistes de la détection des logiciels malveillants.
La gestion des configurations est également un élément clé d’un programme de sécurité analytique. L’idée est là de disposer d’un inventaire des configurations clés et des exécutables présents sur vos systèmes critiques (serveurs de domaines, d’applications, de sites Web, de bases de données, etc.) parce qu’un attaquant va typiquement chercher à remplacer ces fichiers par de nouvelles versions afin de garder un pied dans votre environnement. La version libre de Tripwire est un outil de surveillance de l’intégrité excellent, utilisé de longue date par les professionnels de la sécurité.
Cela peut paraître un peu étrange, mais notre outil d’analyse réseau joue un rôle important dans notre programme de sécurité analytique. De fait, le meilleur moyen de prévenir l’intrusion de logiciels malveillants est de consolider les systèmes de l’environnement. Dès lors, si je peux utiliser un outil d’analyse réseau pour trouver des systèmes non patchés ou périmés sur mon réseau, je peux corriger ces problèmes avant que des attaquants n’aient compromis les systèmes concernés. La bonne nouvelle est que, comme la concurrence est intense sur le marché de l’analyse réseau, les bonnes affaires ne manquent pas, et les fonctionnalités varient peu d’un produit à l’autre. Il existe en outre quelques outils gratuits pour réaliser des analyses de réseau, tels que Nessus et OpenVAS, malgré certaines limitations.
Autre composant important de la sécurité analytique, la gestion des logs. L’idée est de consolider tous les logs de tous les systèmes au sein d’un espace unique, sûr et centralisé, en vue de leur traitement ultérieur. Lorsqu’un attaquant compromet un système, il essaie généralement d’effacer ses traces en modifiant ou en effaçant les logs systèmes. Transférer ses logs dans un entrepôt centralisé permet de compliquer les choses pour l’attaquant. En outre, cette centralisation facilite considérablement la recherche d’éléments et la production de rapports sur tous les systèmes et applications à la fois.
Certaines choses méritent une attention tout particulière dans les logs : les échecs répétés d’identification, suivi d’une réussite, pour un utilisateur qui se connecte généralement depuis le même endroit ou avec la même IP, mais qui surviennent cette fois-ci ailleurs ; des machines se connectant directement à des adresses IP sans requête DNS préalable ; ou bien des connexions avec de larges volumes de trafic sortant. Ces incidents ne trahissent pas forcément, à eux seuls, une attaque. Mais s’ils surviennent en même temps… mieux vaut être méfiant.
Encore une fois, si un produit commercial de gestion des événements et des informations de sécurité (SIEM) ou de logs n’est pas envisageable, il en existe d’excellents, gratuits. Splunk est une sorte de moteur de recherche pour logs et peut être utilisé gratuitement jusqu’à 500 Mo de logs par jour. LogStash est une autre option, en open source. Il existe aussi des services d'analyse de log en mode SaaS comme Sumologic.
Le dernier composant que je recommande fortement pour un programme de sécurité analytique est un outil d’analyse réseau capable de collecter et d’analyser les données de flux de vos différents réseaux. Les données de flux résument les adresses IP, ports, protocoles et volumes de trafic au sein de vos réseaux ; tout, sauf les données, en somme. Votre outil d’analyse réseau vous permettra de chercher des profils cachés au sein de votre trafic réseau. Et de détecter des tentatives d’attaque.
Las, les données de flux ne sont fournies que par certains routeurs et commutateurs. Il faut donc trouver un moyen de capturer et de consulter ces données. Cela peut se faire via un outil d’analyse réseau dédié tels que ceux proposés par Solarwinds, NetScout, ou encore Lancope. J’utilise pour ma part Lynxeon, de 21ct, en raison de ses capacités d’analyse de profils, à partir de données de flux, mais également d’autres types de données. Mais permettez-moi de développer un peu ce point.
A l’occasion de plusieurs conférences, l’an passé, j’ai effectué une présentation intitulée « La magie de la sécurité symbiotique », au cours de laquelle j’ai décrit un écosystème de sécurité qui s’appuie sur l’intégration, en sortant les différents outils de leurs silos respectifs. Notre objectif ultime, en sécurité analytique, devrait être de réussir à faire fonctionner ensemble chacune des pièces évoquées plus haut pour obtenir une représentation claire des menaces auxquelles nous sommes confrontés. Pour cela, nous collectons les données de nos IPS et systèmes anti-logiciels malveillants, celles de systèmes de gestion des configurations, et puis les données sur les vulnérabilités des systèmes de notre environnement, et les informations des fichiers logs. Le tout à partir d’appels à des API, d’alertes SNMP, ou de requêtes sur des bases de données. Tout cela est injecté dans Lynxeon. Et le langage de requêtes de motifs (Pattern Query Language) nous permet alors de chercher des comportements potentiellement malveillants au sein de toutes ces données.
Nous produisons ainsi des rapports sur les systèmes internes se connectant à des serveurs figurant dans la liste des domaines hébergeant des logiciels malveillants, ou encore à de nombreux autres systèmes internes pour une période très brève, voire accédant à des systèmes externe pour lesquels nos IPS nous ont alertés, et enfin des systèmes internes utilisant des serveurs DNS externes à notre infrastructure.
En combinant les données de flux avec les autres types de données de notre organisation, nous sommes capables de créer des profils à partir d’incidents se produisant en un endroit, puis de chercher des profils comparables en d’autres lieux qui ne profitent pas des mêmes mécanismes de détection.
Tous ces conseils n’ont pas vocation à se présenter comme un remède miracle clé en main. Ils s’appuient simplement une expérience personnelle réussie, avec l’espoir de servir de base pour vous permettre de vous lancer dans la sécurité analytique pour la détection de menaces.
L’établissement d’un programme de sécurité analytique ne survient pas en une nuit. Mais cela peut être réalisé et cela peut s’avérer sans aucun doute très profitable pour renforcer vos capacités de détection de logiciels malveillant au sein de votre organisation. N’oubliez pas de tenir à jour de bons indicateurs alors que vous progressez, afin de montrer le retour sur investissement à votre management.
Par Josh Sokol, CISSP, responsable du programme de sécurité de l’information chez National Instruments. Dans le cadre de ses fonctions, il supervise les activités de gestion de la conformité réglementaire, l’architecture de sécurité, la gestion du risque et des vulnérabilités.