C&ESAR 2018 - J2

Automatisation du processus d’apprentissage pour la détection d’intrusion

Les travaux présentés ont pour jeu de donnés le NSL-KDD, un dataset enregistré en 1998 par la darpa sur un LAN simulé de l’air-force. Afin d’améliorer l’aprentissage des classes d’attaques présentes dans le dataset, l’orateur à répliqué les donnés correspondant aux classes existantes. La génération de ce sur-échantillonage est combiné au meilleur algo de sous-echantillonage afin d’obtenir des jeux de donnés d’aprentissage « gonflés ». L’objectif étant en suite d’obtenir des modèles optimisés pour la détection de chaque classe d’attaque.

Une fois les jeux de donnés générés, dix algos de machine learning vont être entraînés afin de comparer leur performances. Pour optimiser l’aprentissage, les orateurs ont utilisé de l’aprentissage par ensemble afin d’obtenir le meilleur de chaque algo. Quand on compare les résultats des différents algorithmes, on observe que les MLP ont des performances bien meilleures que les algos de machine learning « traditionnels »

Intelligent Thresholding

Etude sur des produits de détection anomaly-based qui cherchent à détecter les comportements déviants par rapport à une référence de base issue d’une phase d’aprentissage. Ces solutions sont très fortes pour générer un score (de 0 à 1 ) associé à l’élément anormal remonté. On peut légitimement se poser la question de la signification de ce score, et la valeur à donner au seuil de « détection ». Ce seuil de détection peut être fixé à la main [1](ou au doigt mouillé), et nécessite parfois une expertise fine du produit (ou un plus gros doigt ?). L’autre possibilité, c’est de fixer ce seuil de façon probabiliste.

Ce choix du seuil de détection par rapport à la distribution des valeurs de détection généré par l’algo pour chaque donnée peut se faire de différentes façons. On peu découper le dataset en deux partie, les 99% « normales » et le 1% le plus extrème, ou encore en employant la théorie des valeurs extrèmes  Cette méthode permet d’extraire des donnés la portion la plus anormale. (c’est mieux qu’un doigt mouillé…). Cet algo à le bon goût d’etre utilisable de façon incrémentale, et donc de venir faire varier le seuil de détection en fonction de l’évolution des observations.

Le jeu de donnés, c’est important, du coup en plus du NSL-KDD, l’orateur à travaillé avec les donnés issue de MawiLab pour tester comment se comporte son aproche de choix de seuil par EVT. La solution fonctionne pour n’importe quel algo fournissant un score de détection, et ne nécessite aucune expertise particulière. On construit donc de façon probabiliste et systématique un seuil de détection qu’on va mettre à jour dans le temps.

Applicabilité de la classification binaire pour détecter les attaques par accès mémoire sur les IoT

Bon les IoT, c’est cheap, pas très puissant et pas pensé pour la sécurité, avec une durée de vie programmée d’une dizaine d’annés. Côté attaques, c’est pas les possibilités qui manquent. Pour préparer une attaque IoT, il faut comprendre le fonctionnement de l’objet connecté. L’une des stratégies d’attaques c’est d’aller dumper la ou les mémoires de l’objet pour obtenir le firmware et les secrets embarqués dans ce dernier.

Pour se protéger de ces attaques, il est envisageable d’embarquer des fonctions de détection de ces attaques pour que l’IoT se défende en cas d’accès mémoire illégitime [1]. Les options défensives que l’on peut embarquer dans ces IoT sont très limités de par la nature des ressources matérielles disponibles sur ce type d’équipements. En monitorant les types d’accès mémoire effectués, et les addresses, l’orateur à généré des jeux de donnés d’accès mémoires représentant différentes techniques de dump mémoire. Du fait des ressources limités, les algorithmes choisis sont très « simples » et ne reposent pas sur des réseaux de neurones trop coûteux pour fonctionner sur un IoT.  Ils se contente de séparer les accès mémoires entre ceux correspondant à des attaques vs ceux correspondant à un fonctionnement normal de l’IoT (d’ou la classification binaire, en deux classes). Après benchmark, un classifier à base de filtres bayésiens sort du lot.

Revue des IDS basés sur le Machine Learning dans le contexte des ICS

L’orateur rappel comment fonctionne un écosystème ICS avec ses contraintes temps réel. Rappels en suite sur le fonctionnement des IDS et leur positionnement sur le SI. Les informations de monitoring qui vont alimenter l’IDS comportemental peuvent être captés sur la partie contrôle commande et permettent de modéliser le fonctionnement normal du processus industriel. Ce comportement normal peut-être appris ou bien exprimé à l’aide d’un langage spécialisé. Lorsque le comportement normal se fait par apprentissage, la condition clef c’est la qualité des donnés.  Sur la base de ces éléments, l’orateur dresse un état de l’art et l’adéquation ou non des solutions publiés face au contraintes des environements ICS.

Application du machine learning pour la détection d’attaque sur les ICS

Un système industriel échange un grand nombre de variables qu’il lit ou écrit via un protocole métier sur des contrôleurs ou des sondes physiques. Le mécanisme de détection présenté va se baser sur ces donnés observés pour identifier les attaque au sein de ce flot d’échanges. Les expérimentations se sont faite sur un jeu de donnés issue de SWaT, qui contiens du traffic normal et des attaques.

Protection contre les attaque par fuzzing

ChuckyJava est une variante pour le langage java de chucky-ng, un fuzzer qui génère des cas de test à partir du source. L’objectif étant de découvrir les bugs & vulnérabilités du système testé. L’orateur à donc testé 5 applications Java avec son outil.

CNN with data augmentation against jitter-based countermeasures

En cryptanalise classique, on compare souvent le clair et le chiffrer pour tenter de découvrir des informations sur la clef. Lorqu’on réalise une évaluation d’un produit cryptographique matériel, on recherche ces fuites d’information sur le composant électronique. Pour se faire, on lui fait traiter un grand nombre de messages en clair, et on observe sa consommation électrique. Les pics de consomation peuvent être correllés avec les valeurs des bits de la clef et faire fuiter la clef. Pour repérer ces fuites, l’orateur utilise un réseau de neurones convolutif (CNN).  L’avantage de cette approche, c’est que le CNN est résistant à certaines transformations que pourrait opérer le concepteur du composant de façon défensive.

CBWAR – Classification de Binaires Windows via Apprentissage par Renforcement.

L’apprentissage par renforcement est un algo d’aprentissage semi-supervisé utilisé notamment par AlphaGo. L’analyse des binaire se fait sur la base de l’analyse des syscall issu d’une exécution du malware dans cuckoo-sandbox.

RNNs pour la sécurisation du code PIN

Les réseaux de neurones récurrents sont utilisé dans la reconnaissance de l’écriture d’un individu. Il est possible de façon similaire de reconnaitre les tracés de chiffres sur un mobile. L’orateur c’est donc intéressé à une technique de mesure de similarité entre les tracés de chiffres par un utilisateur pour remplacer le traditionnel code pin dessiné sur smartphone. En utilisant un RNN utilisant uniquement les coordonnés du doigt sur l’écran, le système réussi à identifier un usurpateur (bon pin, pas le bon geste) dans 90% des cas, et reconnait les utilisateurs légitimes dans 98% des cas.

Application of distributed computing & machine-learning technologies to cybersecurity

Le coût du cybercrime est élevé pour la société, et s’est accru de 20% entre 2017 et 2018. Le projet Shield financé par l’union européenne vise à founir des solutions opensource pour déployer des solutions de sécurité virtualisés dans un cloud. L’acquisition de donnés de sécurité se fait par le déploiements de senseurs sur une infra virtualisés. Une fois les donnés collectés, ils utilisent Hadoop & Spark pour les analyser. Le machine learning sert à la détection des comportement anormaux.

Reconnaissance automatique d’un menace cyber dans le contexte du naval de défense

les navires embarquent un grand nombre de composants informatiques, sont fortement connectés et inter-connectés, et leur sécurisation est un défi. Les navires modernes fonctionnent avec un équipage de plus en plus restreint, et embarquent rarement un expert sécurité. Il faut prendre en compte la sécurité dans l’ensemble du cycle de vie du navire, de sa conception à son utilisation. l’analysee de l’ensemble des donnés générés par le navire se fait en deux temps, un premier à bords avec une analyse en temps réel sur une puissance de calcul limité, un second à terre avec des capacités de calcul beaucoup plus importantes, mais avec des contraintes de confidentialité des donnés plus importante.