Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Intelligence Artificielle et usages Cybersécurité - CMRPI

Mehdi
October 31, 2019

Intelligence Artificielle et usages Cybersécurité - CMRPI

Intelligence Artificielle et usages Cybersécurité - CMRPI

Mehdi

October 31, 2019
Tweet

More Decks by Mehdi

Other Decks in Technology

Transcript

  1. Sommaire 1. Détection des vulnérabilités et Identification des menaces réseau

    (Anti APT C&C) 2. IA et alerte de fuite de données (DLP) 3. IA et analyse de comportement interne et externe des utilisateurs (UBA) 4. Évolution de I ’Intelligence Artificielle malveillante 5. Pratique PART1 : Théorème de Bayes 6. Pratique PART2 : Monter un moteur Antispam avec classificateur Bayes. 3
  2. “It takes 20 years to build a reputation and few

    minutes of cyber- incident to ruin it. 4 Stéphane Nappo - 2018 Global CISO of the year - OVHCloud
  3. Advanced Persistent Threat Une Advanced Persistent Threat ou menace persistante

    avancée ; en anglais, souvent abrégé APT) est un type de piratage informatique furtif et continu, souvent orchestré par des humains ciblant une entité spécifique.
  4. Cycle de vie APT Les acteurs derrière les APT créent

    un risque croissant et changeant aux actifs financiers, à la propriété intellectuelle, et à la réputation des organismes en suivant un processus continu : • S'organiser spécifiquement en fonction de la cible pour un objectif singulier • Tenter de gagner un équilibre dans l'environnement, la tactique commune inclut le phishing par e-mails • Utiliser les systèmes compromis comme accès dans le réseau de la cible • Couvrir les voies afin de maintenir l'accès pour de futures initiatives
  5. Stratégies de défense ⬡ Grande variété des techniques et vulnérabilités

    utilisées ⬡ Activités des APT furtives et silencieuses ⬡ Se concentrer sur le Traffic Réseau ⬡ Communication avec le C&C server ⬡ Detection statique VS Detection Dynamique ⬡ De l’importance du machine learning
  6. Pourquoi la Détection du C&C est elle Difficile ? ⬡

    L’adresse IP du serveur est statiquement intégrée dans le code du malware. ⬡ Le domaine et l’adresse IP ne changent pas. ⬡ Le nom de domaine est générée de façon aléatoire ⬡ Aucune information IP/Domain n’est intégrée dans le malware ⬡ Ces serveurs imitent le comportement d’un site légitime APT Modernes Malwares Classiques
  7. Exemple de génération de domaine Date Random number Dictionnaire …

    … DGA Noms de domaines Par Exemple : mootnxmn.org, ryrtthr.com kbmeeou.biz, cuvcergq.com msnpuukp.org, cuxsjfxvmp.org ctuyfbgirdq.com, obdsccjdg.com xocmyxvojfmvdueanjzxxwtcpzreq.o rg … … * Domain Generation Algorithm, les domaines sont générés, enregistrés et mis à jour de façon régulière et dynamique.
  8. Detection des domaines DGA avec du machine learning Noms de

    domaines connus de C&C Servers Noms de domaines réguliers Apprentissage Supervisé Forêt d'arbres décisionnels DNS Data Noms de domaines du C&C Server
  9. Apprentissage Supervisé On parle d'apprentissage supervisé lorsque les classes sont

    connues et des exemples disponibles. Un opérateur doit préalablement étiqueter des exemples. Le processus se passe en deux phases : Phase d'apprentissage : Déterminer un modèle à partir des données étiquetées. Phase de test : Consiste à prédire l'étiquette d'une nouvelle donnée, connaissant le modèle préalablement appris.
  10. Attributs pertinents pour le modèle 1/3 13 • Les noms

    de domaines DGA sont plus aléatoires, leur entropie est donc plus importante que les noms de domaines classiques Entropie (Entropy) • Rapport du nombre de suite de consonnes sur la longueur du domaine • Les noms de domaines DGA sont plus dispersés Consonances consecutives • Alexa: google-1.91 • DGA: 1vynq17gk6yo14ndoft2xc—4.07 • Alexa: linkedin-1/8 • DGA: 1rudbfzc2z91r1ckvw5ge85u5d-2/36
  11. Attributs pertinents pour le modèle 2/3 14 • Le taux

    de voyelles dans les domaines DGA est bas, et il y a peu de repetition. Taux de voyelles • Le taux de numéros dans les domaines DGA est très elevée par rapport aux domaines normaux. Taux de numéros • Alexa: youtube-4/7 • DGA: 1jp6emzv47wflsrq0i1nt839-2/34 • Alexa: Microsoft-—0 • DGA: kb9r036vvjfeq3576t1do282k—12/25
  12. Attributs pertinents pour le modèle 3/3 15 • Les noms

    de domaines DGA sont plus longs Longueur du domaine • Trigram(N=3): probabilité d’un symbole, conditionné par les N-1 precedents Symboles. N-Gram • Alexa: wikipedia-—9 • DGA: cfxajb17j9w7o5zh5l1c6hz5k—25 • Alexa: facebook—11 • DGA: 5ms9mz1dpy3onvej4adswnw2v—53
  13. Résultats du modèle : 0,9948 0,9928 0,9934 0,9952 0,9942 0,9928

    0,994 0,993 0,9937 0,9942 0,0027 0,0028 0,0029 0,0029 0,0029 0,0027 0,0028 0,003 0,0028 0,0029 0,0213 0,0225 0,0233 0,0234 0,0224 0,0238 0,0232 0,0212 0,0218 0,0227 0 0,2 0,4 0,6 0,8 1 1,2 1 2 3 4 5 6 7 8 9 10 Accuracy False Negative Rate False Positive Rate Echantillon positif • Noms de domaines du site Alexa • Les doublons sont supprimés. • Des domaines de plus de 6 caractères. • Un total de 6,804,529 Echantillon Négatif • DGA domaines de l’archive 360 Netlab • Doublons supprimés • Un total de 1,418,200 domaines malicieux Features 73 Average accuracy 99.38% Average false positive rate 0.28% Average false negative rate 2.25%
  14. Enjeux et challenges du DLP Fraude interne et partenaires •La

    cause principale des fuites •68% des fuites causés par la négligence des utilisateurs ou des problèmes Systèmes Conformité Prérequis de conformité PCI et de plus en plus de normes de sécurité. Menaces externes •En pleine expansion. •Les motivations sont pécuniaires et politiques. Protection du client •Les fuites de données sont une cause majeure du Churn. •Le coup moyen mondial d’une donnée client perdue est de $214 DLP est un impératif
  15. Les canaux de la fuite de donnée Réseau Réseau d’entreprise

    Email Internet Appareil personnel Ordinateur Personnel Smart Phone Stockage Clé USB Cloud Base de donnée
  16. Comment y répondre ? DECOUVRIR PROTEGER SURVEILLER Comment prévenir sa

    fuite ? Comment est ce qu’elle est utilisée ? Où se trouve ma donnée confidentielle ? DATA LEAKAGE PREVENTION (DLP) SOLUTIONS
  17. • Définir vos données sensibles. • Classifier les données. •

    Identifier les cibles du SCAN (partages, assets, chemins ..). • Découvrir les données dans les cibles prédéfinies. Découvrir • Monitorer le mouvement des données. • Inspecter les contenus. • OCR, Indexation, définition des états … • Detecter les evenements de modification et de transport des données. • Detecter les comportements anormaux Surveiller • Action : Autoriser, Bloquer, supprimer, crypter … • Alerter l’administrateur DLP • Alerter le propriétaire de la donnée • Mettre en quarantaine • Mise en place du workflow de validation du mouvement/copie des fichiers sensibles Protéger
  18. 3. IA et analyse de comportement interne et externe des

    utilisateurs User Behaviour Analysis UBA
  19. User Behaviour Analysis (UBA)? Détection avancée des menaces à l'aide

    d'un apprentissage automatique non supervisé Fonctions: comportement des utilisateurs de base à partir des données de journal et d'autres données pour détecter les anomalies et les menaces. Utilisé par : Analyste SOC, chasseurs. Détections: détection de menaces (cyber-attaquant, menaces internes) à l'aide d'un apprentissage automatique et d'une science des données non supervisées.
  20. Logs et traces d’évenements La machine contient toujours des traces

    et des logs d’interactions : Machine Humain Machine Machine L’analyse et la corrélation de ces évènements peut donner lieu à des prédictions de comportements et alerter à temps avant l’impact.
  21. Comment ca fonctionne ? Logs applicatifs Serveurs Logs Réseaux Threat

    Intelligence Firewall Web Proxy Données d’authentification Endpoints Identités SIEM/UBA
  22. Modules d’un système SIEM/UBA Threat Attack Correlation Polymorphic Attack Analysis

    Behavioral Peer Group Analysis User & Entity Behavior Baseline Entropy/Rare Event Detection Cyber Attack / External Threat Detection Reconnaissance, Botnet and C&C Analysis Lateral Movement Analysis Statistical Analysis Data Exfiltration Models IP Reputation Analysis Insider Threat Detection User/Device Dynamic Fingerprinting
  23. Ingénierie Sociale Evoluée L'une des utilisations les plus claires de

    l'intelligence artificielle consiste à utiliser des calculs tels que la synthèse de texte en parole, la reconnaissance vocale et le traitement du langage naturel (PNL) pour des techniques d'ingénierie sociale plus brillantes. Tout bien considéré, en répétant des systèmes neuronaux, il serait déjà capable d'entraîner de tels algorithmes de programmation, dans la Ligue de Phishing, les messages pourraient s'avérer progressivement raffinés et acceptables.
  24. Malwares Polymorphiques - Evolution Lors de la conférence DEFCON en

    2017, la société de sécurité Endgame a révélé comment elle avait créé un programme malveillant personnalisé en utilisant le framework OpenAI d’Elon Musk pour créer des logiciels malveillants que les moteurs de sécurité n’étaient pas en mesure de détecter. L’apprentissage automatique pourrait finalement être utilisé pour «modifier le code à la volée en fonction de comment et de ce qui a été détecté dans le laboratoire», une extension des logiciels malveillants polymorphes.
  25. Des attaques BOTNET/IoT plus intelligentes Nous parlons aujourd’hui de Swarmbots,

    c’est-à-dire des réseaux de robots intelligents en les faisant communiquer, décider et lancer une attaque encore plus puissante, dans un timing adéquat.
  26. Naive Bayes Classifier - Définition Naive Bayes Classifier est un

    algorithme populaire en Machine Learning. C’est un algorithme du Supervised Learning utilisé pour la classification. Il est particulièrement utile pour les problématiques de classification de texte.
  27. Probabilités Conditionnelles Le naive Bayes classifier se base sur le

    théorème de Bayes. Ce dernier est un classique de la théorie des probabilités. Ce théorème est fondé sur les probabilités conditionnelles. Probabilités conditionnelles : Quelle est la probabilité qu’un événement se produise sachant qu’un autre événement s’est déjà produit. Le théorème de Bayes permet de calculer ce genre de probabilité.
  28. Visualisation par l’exemple Soit A et B deux événements suivants

    : • L’événement A : Je vais être mouillé aujourd’hui • L’événement B : Il va pleuvoir aujourd’hui Calculons la probabilité de A à supposer que B ait déjà eu lieu.
  29. Visualisation Maintenant, puisque B est arrivé, la partie qui importe

    maintenant pour A est la partie ombrée qui est intéressante A ∩ B. Donc, la probabilité de A donnée B se révèle être:
  30. Théorème de bayes : Terminologie • Le terme P(A) est

    la probabilité a priori de A. Elle est « antérieure » au sens qu’elle précède toute information sur B. P(A) est aussi appelée la probabilité marginale de A. • Le terme P(A|B) est appelée la probabilité conditionnelle de A sachant B (ou encore de A sous condition B) . Elle est « postérieure », au sens qu’elle dépend directement de B. • Le terme P(B|A), pour un A connu, est appelé la fonction de vraisemblance de B. • De même, le terme P(B) est appelé la probabilité marginale ou a priori de B.
  31. Exemple • Exemple: si une seule carte est tirée d'un

    jeu de cartes standard, la probabilité que la carte soit un roi est de 4/52, car il y a 4 rois dans un jeu de cartes standard de 52 cartes. En reformulant ceci, si Roi est l'événement "cette carte est un roi", la probabilité antérieure P (Roi) = 4/52 = 1/13 • Si la preuve est fournie (par exemple, quelqu'un regarde la carte) que la carte unique est une carte de visage, alors la probabilité postérieure P (Roi | Visage) peut être calculée en utilisant le théorème de Bayes: • P (Roi | Visage) = P (Visage | Roi) * P (Roi) / P (Visage) • Puisque chaque roi est aussi une carte de visage, P (Face | King) = 1. Puisqu'il y a 3 cartes de visage dans chaque couleur (valet, reine, roi), la probabilité d'une carte de visage est P (visage) = 3/52. La combinaison de ceux-ci donne un rapport de vraisemblance de 1/3/13 = 13/3. • En utilisant le théorème de Bayes, P (Roi | Visage) = 13/3 / 1/13 = 1/3.
  32. 6. PRATIQUE : Naive Bayes Classifier Programmons un moteur Machine

    Learning Anti SPAM basé sur un classificateur Naive Bayes.
  33. Notre projet : Anti Spam • En tant qu'application réelle

    et démonstration, nous allons construire un détecteur de spam avec Naive Bayes. • Cet exemple est facile et vous pouvez trouver de nombreux autres tutoriels en ligne sur les filtres anti-spam. • Prérequis : Command Line Linux, Python et librairies, manipulation de fichiers. • Donc, pour construire le premier modèle d’apprentissage automatique, nous avons besoin de données. L'un des ensembles de données les plus connus est fourni par le Centre pour l'apprentissage automatique et les systèmes intelligents de l'Université de Californie à Irvine. Ce référentiel étonnant fourni par l’université regorge de centaines d’ensembles de données accessibles au public, y compris des courriels de phishing. Vous pouvez vérifier tous les jeux de données disponibles à partir d'ici: https://archive.ics.uci.edu/ml/datasets.html
  34. Etapes de tout projet Machine Learning 1. L'acquisition de données

    : L'algorithme se nourrissant des données en entrée, c'est une étape importante. Il en va de la réussite du projet, de récolter des données pertinentes et en quantité suffisante. 2. La préparation, et le nettoyage de la donnée : Il peut arriver que la donnée recueillie à l'étape précédente ne soit pas pleinement pertinente, ou contienne du bruit, ou ne soit pas assez structurée. Un opérateur humain va donc optimiser la donnée pour que l'algorithme puisse mieux la traiter, ou arriver plus rapidement à son but. 3. La création du modèle 4. L'évaluation : Une fois l'algorithme d'apprentissage automatique entrainé sur un premier jeu de donnée, on va l'évaluer sur un deuxième ensemble de données afin de vérifier que le modèle ne fasse pas de surapprentissage. 5. Le déploiement : Le modèle va être déployé en production pour faire des prédictions, et potentiellement utiliser les nouvelles données en entrée pour se ré-entrainer et améliorer son modèle.