C&ESAR 2019
J1
Introduction
26ème édition de C&ESAR, sur l’échange entre académique, éducation, gouvernement & industrie pour rendre le monde numérique plus sûr. Aucun système d’importance ne se conçoit sans numérisation, et donc sans prendre en compte la menace cyber qui pèse sur lui. Le thème de l’intelligence artificielle est un chantier dans lequel il va falloir trouver les moyens de sécuriser nos traitements et nos données. La conférence sur l’IA qui suit C&ESAR s’inscrit dans le même état d’esprit que C&ESAR, avec une session commune sur les problématiques cybersécurité & IA.
La recherche est aussi à l’honneur lors de l’ECW avec un workshop académique.
Virtualisation dans un cloud de télécomunication
Pour se prémunir face à ces risques, les attaques types DDoS sont gérés par un ASIC. Qui dit sécurité, dit TLS et PKI, avec la gestion des secrets au sein d’un HSM qui ne doit pas devenir un SPOF. Le development sur les infrastructure cloud se fait en mode devops avec un gros impact sur la gestion des patchs en CI/CD. La supervision de sécurité, c’est la cerise sur le gateau, avec gestion au sein d’un siem de l’ensemble des logs produits par l’infrastructure.
Cloud & SOC
Les provider cloud offrent des solutions de virtualisation des réseaux, de centralisation et de gestion de logs, etc… il faut donc s’appuyer sur ces derniers pour construire sa stratégie de détection. (#protip: pour le forensic, vu qu’ils font payer au débit réseau, vous pouvez utiliser une vm pour l’analyse directement chez le cloud provider 😉 ).
Legislation applicable aux opérateurs de réseau 5G.
VMWare & Cybersécurité
Scada, sécurité & virtualisation
les automates industriels contrôlant un processus industriel ont de fortes contraintes de disponibilité et de réactivité. Lorsqu’on veux construire une plateforme de test, il est difficile de reproduire un système de contrôle matériel, les piles protocolaires ne sont pas libres, et les OS non plus. Donc ça fait beaucoup de barrières pour les chercheurs. Du coup les orateurs ont décidé de construire un bac à sable libre & ouvert, utilisant du matériel SCADA documenté avec une taille proche d’un SI industriel, soit 100 devices connectés et environ 1k capteurs. La simulation se fait donc avec du matériel dédié (hardware in the loop). Du coup ça permet de construire des infrastructures de simulation pour la formation ou l’expérimentation. Le seul cas d’usage public accessible dans la litérature de traitement industriel à été réimplémenté sur la base de ces cartes avec une simulation python. Il fût en suite possible de jouer des attaques directement sur cet environement simulé. Pour les capteurs de courant electrique, des cartes filles ont été développés pour adapter les niveaux de voltages.
Les simulateurs existant coûtent un bras, du coup les orateurs ont re-développé un simulateur python, et le source est disponible ICI.
Sécurité & Véhicules connectés
Le SDVN est un réseau véhiculaire virtualisé. En gros chaque véhicule est un switch, et le plan DATA est coupé en deux, avec une partie mobile, les vehicules, et une partie fixe que sont les bornes sur le bord des routes. On peut ainsi segmenter les données des véhicules d’urgence des véhicules traditionnels. Dans la 5G, il va falloir trouver des compromis entre SDVN, performance & couverture radio. Cependant cela se fait avec un accroissement de la complexité de l’infrastructure, lié à la complexité intrinseque de l’infra 5G. Côté sécurité, le contrôleur SDN est une cible potentielle à surveillé de près. Car sans ce dernier, plus rien ne fonctionne. Comme les véhicules se déplacent, le plan DATA mobile peut s’avérer compliqué à gérer. La défense en profondeur est ici préconnnisé, avec une attention toute particulière sur la sécurité du plan DATA.
Validation par introspection de code & virtualisation.
Les piles logicielles qui sont exécutés sont très très riches & complèxes, et l’approche de sécurité est très orienté système. Gestion des droits, confinement, quotas… Mais l’analyse de code est toujours une valeur sûre car elle minimise par construction la surface d’attaque. Les outils d’analyse de code automatique offrent un autre moyen de réduire les risque en pointant du doit les erreurs. La virtualisation sur Unisim-vp à été enrichie par un mécanisme de typage polymorphique. Les types peuvent être concrêts ou symboliques.
IceBox – Analyse de malware par introspection de machine virtuelle
Analyse morphologique & LockerGoga
J2
les présentations suivantes sont issue du workshop SILM
Trusted-Execution Environments
Splitting the Linux Kernel for fun & profit
IOMMU & DMA Attacks
L’iommu permet d’assurer la ségrégation entre les périphériques ayant un accès direct à la mémoire physique (DMA). Le dma c’est un vieux système qui permetait au disque dur par exemple d’écrire directement les information demandées dans la zone mémoire adéquate pour des questions de performance et d’économie de cycles CPU. L’iommu permet de regrouper les périphériques dans des domaines et de leur donner accès a des zones mémoires particulières, protégeant ainsi le kernel et les zones mémoires sensibles des accès indues de la part des périphériques DMA (firewire,pcie, etc…).
L’orateur nous fait un état de l’art complet des attaques DMA.
Pitfalls & limits of dynamic malware analysis
L’analyse dynamique de malware peut faire gagner du temps, mais parfois n’est pas suffisante pour qualifier les intentions d’un code malveillant. L’unpacking statique est une tâche fastidieuse, et ça va souvent plus vite en dynamique. Pour observer l’exécution d’un code, c’est le debuggueur qui nous viens en tête, mais ces logiciels n’ont pas été conçus pour l’analyse de logiciels malveillants, et ne sont ni furtifs, ni sûrs. L’émulation est une autre approche, mais là encore ces émulateurs ne sont pas faîts pour encaisser les attaques, et en plus c’est très compliquer d’implémenter correctement des instructions cpu complexes. On peut aussi utiliser des modules kernel pour analyser les malwares, mais il faut qu’ils soient signés, ou désactiver la vérification de signatures, et en prime patchguard pose problème. Window 10 est accompagné d’une sandbox hyperV mais il ne fournis pas d’API pour l’analyse et l’introspection. C’est facile de détecter de la virtualisation, mais impossible de détecter l’introspection. (l’orateur rejoins le point de vue des auteurs de IceBox).
La virtualisation, c’est compliqué à mettre en oeuvre, et on peut vite se retrouver avec des race-conditions entre les différents cpu virtuels si l’analyse se fait sur une vm multi-cpu. Exemple avec PID d’un process qui est une construction de l’OS qui utilise des structures de donnés mouvantes. Les tables de pages sont un indicateur un peu plus stable, mais le matériel peut changer les tables de pages sans invalider le cache du tlb, et du coup c’est le bordel pour reconstruire la mémoire du process. L’orateur détaille en suite de nombreux side-effects de l’introspection Xen sur les breakpoints, certaines instructions cpu, la gestion des shadow pages, etc… Le hardware limite la furtivité de l’introspection, et il y a toujours moyen d’observer les effets de bord par mesures de temps. Une détection négative sur une sandbox indique juste que l’auteur du malware est peut-être plus malin que l’auteur de la sandbox. La diversité nous sauve, car il est très peu probable que les malwares importerons toutes les contre-mesures envisageables au risque de devenir énormes.
Combinaison de sources de SCA.
L’analyse par canaux auxiliaires consiste à mesurer les incidences d’un calcul au niveau d’un processeurs sur la consomation électrique, le rayonement électromagnetique, etc… Le problème c’est de réussir à correler ces signaux avec ce qui se passe dans le processeur. Lorsqu’on connait l’algorithme, on cherche à obtenir la clef privée qui sert au chiffrement. Les orateurs ont donc utilisé un réseau de neurones avec des données de références pour l’entrainer à selectionner et déduire les valeurs des bits d’une clef de chiffrement à partir des données mesurés par des sondes electro-magnétiques posées à différents endroits d’un microcontroleur. Les expérimentations se sont faite en s’aider du jeu de données ASCAD. Après expérimentation, un seul canal auxiliaire suffit au réseau de neurone pour déduire la clef efficacement.
Cybersécurité & IA en environement contraint.
Intégration de Machine Learning dans un SOC. Après la réussite du ML supervisé sur de la détection de fraude, ils ont essayé de faire pareil sur de la détection d’attaques informatique. La donnée c’est l’enjeu n°1 d’un projet Data Science. La récupération de cette donnée nécessite donc beaucoup de travail avant de pouvoir bosser en machine learning. La protection et l’anonymisation des jeux de données pour pouvoir les employer sans risques.
Une fois les donnés obtenues, les deux DataScientist se sont penchés sur les classiques kmeans, dbscan, randomforest sur les dataset CIC IDS 2017 et CIC IDS 2018, et IsolationForest sur leur DataSet Interne, et ils ont fini par valider IsolationForest pour une mise en production. IsolationForest à l’avantage de faciliter l’interprétation des données car pour chaque branche de l’arbre ont sait quel sont les features sur lesquelles le test était fait. La réduction des features permet aussi de faciliter l’interprétation des résultats par les experts.
ToxicIA – apprentissage profond appliqué aux Signaux parasites compromettants.
Lorsqu’on viens récupérer les signaux radio émis par la circulation du courant dans les cables d’alimentation ou les cables vidéo, il est possible de reconstruire l’affichage des écrans. Ces signaux parasites divulguent sur le champ radio des informations potentiellement sensibles. Cependant la récupération de ce signal n’est pas systématique, et il est souvent très bruité. C’est là que l’IA entre en jeux. En affichant des caractères sur un écran, et en passant le signal intercepté dans un réseau de neurones on peut lui apprendre à reconstruire des images non-bruités à partir des images bruités. Après expérimentation de nombreux algorithmes de débruitage, puis passage à tesseract, il s’avère qu’ils obtiennent un fscore d’a peine 0,3. En utilisant directement un réseau de neurone combinant débruitage ET reconnaissance de caractère, le fscore monte à 0,68. Par contre les caractères de petite taille sont très sensibles au bruit et difficiles à reconstruire. (cf opendenoising)
Machine Learning pour les systèmes de détection
Créer des règles de détection, c’est coûteux, et ça nécessite de les faire faire par un expert. En plus lorsque les donnés d’entrée chagne, il faut revoir les règles. Si on dispose de suffisament de données, on peut envisager de faire du machine learning. Le problème c’est qu’un algo de ML prend en entrée des tableaux ou des valeurs catégorielles représantant les caractéristiques de ce que l’on cherche à identifier. Il faut donc transformer les données brutes en attributs. L’extraction des attributs est très coûteuse et nécessite là encore de l’expertise. Si on laisse à l’algorithme le soin d’extraire les attributs caractéristiques à apprendre, on perds en interprétabilité par un expert. L’orateur c’est donc intéressé à l’abaissement du coût d’extraction de ces attributs. Les parsers contiennent un très grand nombre de techniques d’extraction d’attributs qui sont transformables en un modèle relationnel inter-entités(un peu comme un schéma de base de données). AutoFeatures va donc parcourir ce modèle pour transformer les donnés récupérés en un scalaire qui pourra alimenter l’algo de ML. Il faut en suite offrir à l’expert un moyen pour injecter ses connaissances. Pour ce faire il peut ajouter des features intéressantes, les whitelister ou les blacklister afin d’éviter d’aggréger des PID par exemple.
IA pour la détection de fake-news
La désinformation peut servir à faire gagner des conflits. les fake news ont des articles de presse intentionellement faux et dont ont peux vérifier l’absence de crédibilité. Ces fakes news n’ont qu’un seul intérêt: générer du traffic pour gagner de l’argent via les publicités. Le coût de la vérification de l’information est bien plus important que la production d’une fausse information. (bullshit asymmetry)
Dans le monde militaire les PsyOps & InfoOps sont cadrés dans une doctrine qui définis ce qui est autorisé ou non lors d’une opération. Les actions de désinformation vons s’appuyer sur des communautés qui servirons de relais et de chambre d’écho. Pour automatiser l’analyse des fake-news, il faut donc à partir des articles entrainer un réseau de neurone avec pour oracle des services de fact-checking. Une base de connaissance peut aussi servir à ce fact-checking. Cette approche fonctionne bien pour des faits simples.
Détection de comportement annormaux au niveau utilisateur & entité.
L’IA c’est compliqué, il faut des connaissances métier fortes, des experts en DataScience et de bons jeux de données. Sur les pare-feux on à vite des volumes de données très important. A partir des logs de ces pare-feux, les orateurs génèrent des graphs qu’ils affichent aux analystes afin de faciliter la détection visuelle de l’annomalie, puis entrainent l’algo de machine learning dessus. en projetant les échanges sur un espace à deux dimentions, on essaye de préserver quelques propriétés: temporellement les ip doivent se rapprocher si elles communiquent fréquement entre-elles, ou s’éloigner si elles cessent d’échanger. Une fois le graph généré, node2vec fait la projection sur un espace multidimentionnel. La projection est en suite réduite pour être visualisable sur 2 dimentions.
Il faut paramétrer correctement.