RéSIST...2015/12/15  · Modèles statistiques & Machine Learning • Série temporelle U9lisaon...

30
RéSIST APT et analyse comportementale 15 Décembre 2015 1

Transcript of RéSIST...2015/12/15  · Modèles statistiques & Machine Learning • Série temporelle U9lisaon...

Page 1: RéSIST...2015/12/15  · Modèles statistiques & Machine Learning • Série temporelle U9lisaon des stas9ques et probabilités pour suivre l’évolu9on d’une caractéris9que dans

RéSIST APT et analyse comportementale

15 Décembre 2015

1

Page 2: RéSIST...2015/12/15  · Modèles statistiques & Machine Learning • Série temporelle U9lisaon des stas9ques et probabilités pour suivre l’évolu9on d’une caractéris9que dans

Les défis de la sécurité

Des victimes découvrent l’attaque par une source externe

Nb de jours (en moyenne) pour détecter la présence d’un APT

205

70-90%

Des échantillons de malware •  sont uniques •  ciblés par entreprise

Target

TV5 Monde

RSA

Page 3: RéSIST...2015/12/15  · Modèles statistiques & Machine Learning • Série temporelle U9lisaon des stas9ques et probabilités pour suivre l’évolu9on d’une caractéris9que dans

Les solutions actuelles sont impuissantes

Signatures

Sandbox

Règles

Les nouvelles attaques surviennent •  trop vite •  trop souvent La recherche de signatures connues ne suffit plus

Les règles de détections sont compliquées à mettre en œuvre. Le temps et les compétences manquent. S’appuient sur des schémas d’attaques connues

Les sandbox ne portent que sur la première phase d’une attaque. Les malwares détectent et s’évadent des sandbox

Page 4: RéSIST...2015/12/15  · Modèles statistiques & Machine Learning • Série temporelle U9lisaon des stas9ques et probabilités pour suivre l’évolu9on d’une caractéris9que dans

Au bon usage, le bon outil

4

Protection périmétrique

Firewall

Protection contre les attaques connues (signatures)

IDS & antivirus

SIEM

Collecte des traces et des informations Génération d’alertes statiques et manuelles Analyse manuelle

Chainon manquant: Méthode d’auto-apprentissage dynamique pour répondre aux nouvelles attaques

Page 5: RéSIST...2015/12/15  · Modèles statistiques & Machine Learning • Série temporelle U9lisaon des stas9ques et probabilités pour suivre l’évolu9on d’une caractéris9que dans

Alors on fait quoi ?

5

"The world is full of obvious things which nobody by any chance ever observes" Sherlock Holmes

Page 6: RéSIST...2015/12/15  · Modèles statistiques & Machine Learning • Série temporelle U9lisaon des stas9ques et probabilités pour suivre l’évolu9on d’une caractéris9que dans

La sécurité un problème de Big Data

•  EvènementsdeplusenplusvariésNouvellessources,en9tés,rela9ons

•  VolumesdedonnéesdeplusenplusgrandBesoindescalabilité

•  Besoindedécouvrirdesschémasetdescorréla9onscachéessansnécessairementsavoircequel’oncherche(appren9ssagemachine,analysesta9s9que)

6

Page 7: RéSIST...2015/12/15  · Modèles statistiques & Machine Learning • Série temporelle U9lisaon des stas9ques et probabilités pour suivre l’évolu9on d’une caractéris9que dans

Réussite du Machine Learning

Premier acteur à utiliser cette technologie : •  Identifier le comportement des acheteurs •  Prévoir les tendances d'achat •  le plus visible : système de recommandations

Réussite la plus utilisée •  Contenu publicitaire en fonction des habitudes de navigation

Travaux plus utiles •  Observation des symptômes entrés dans Google •  Modélisation & prédiction de propagation d’épidémie

Page 8: RéSIST...2015/12/15  · Modèles statistiques & Machine Learning • Série temporelle U9lisaon des stas9ques et probabilités pour suivre l’évolu9on d’une caractéris9que dans

Freins liés à la sécurité

•  Détec9onsd’anomaliesLaplupartdesalgorithmessontéquitablesetéquilibrés

•  Comportementdesu9lisateursLesaHaquantschangentleurcomportementpouréviterladétec9on

•  ConséquencesdeserreursNepaslaisserpasserd’anomaliesNepasremontertropdefaux-posi9fs

•  JeuxdedonnéesLesdonnéesd’aHaquesnonpubliques

8

Page 9: RéSIST...2015/12/15  · Modèles statistiques & Machine Learning • Série temporelle U9lisaon des stas9ques et probabilités pour suivre l’évolu9on d’une caractéris9que dans

Modèles statistiques & Machine Learning

•  SérietemporelleU9lisa9ondessta9s9quesetprobabilitéspoursuivrel’évolu9ond’unecaractéris9quedansletemps

•  Volume,Fréquence,Unicité,Moyenneglissante•  Comportementtemporel,TendancesetPrédic9ons

9

Utilisation :

Utilisation intensive sur •  Les logs •  Les flux réseau

Analyse bande passante Analyse volume de requêtes Analyse de connexions utilisateurs …

Page 10: RéSIST...2015/12/15  · Modèles statistiques & Machine Learning • Série temporelle U9lisaon des stas9ques et probabilités pour suivre l’évolu9on d’une caractéris9que dans

Modèles statistiques & Machine Learning

•  SaisonnalitéIden9fica9ondeschémasserépétantàintervallesfixes

•  Décomposi9ondesélémentstemporels•  Iden9fica9ondesaisonnalitémul9ples

10

Utilisation :

Utilisation sur •  Les logs •  Les flux réseau •  Des caractéristiques spécifiques

Identification d’usage anormaux Identification d’évènements trop régulier …

Page 11: RéSIST...2015/12/15  · Modèles statistiques & Machine Learning • Série temporelle U9lisaon des stas9ques et probabilités pour suivre l’évolu9on d’une caractéris9que dans

Modèles statistiques & Machine Learning

•  Classifica9on/agréga9onIden9fierdessimilaritésentreéchan9llons

•  Classerleséchan9llonsdansdesgroupes•  Rassemblerlesévènementsparsimilarité

11

Utilisation :

Utilisation sur •  Les métadonnées extraites des sources •  Caractéristiques spécifiques du modèle

Identification d’échantillons anormaux Classification des utilisateurs en fonction •  de leurs usages •  des services utilisés …

Page 12: RéSIST...2015/12/15  · Modèles statistiques & Machine Learning • Série temporelle U9lisaon des stas9ques et probabilités pour suivre l’évolu9on d’une caractéris9que dans

Modèle comportementale

•  Lescomposantslogiquesduréseausontextraitspourconstruirelesmodèles–  Modélisa9ondesen9tésduréseau–  Extrac9ondesfeaturesd’uneen9téàpar9rdesdonnées–  ML&analysesta9s9queu9liséspourapprendrelescomportements–  Détec9ondecomportementsdéviantsdumodèle

12

UserService

Horaire Pays

DNSServeur

IP

DNS Pays

Flux

Page 13: RéSIST...2015/12/15  · Modèles statistiques & Machine Learning • Série temporelle U9lisaon des stas9ques et probabilités pour suivre l’évolu9on d’une caractéris9que dans

Réseau d’entités

•  Enrichissementdel’analysedansuncontexteréseau–  Corréla9ontemporelleetévènemen9elle–  Analysedepopularité–  Créa9ond’unréseauderela9ons(entreu9lisateurs,serveurs,applica9ons…)et

analysed’impactdansceréseau

13

UserService

Horaire Pays

DNSServeur

IP

DNS Pays

Flux

Page 14: RéSIST...2015/12/15  · Modèles statistiques & Machine Learning • Série temporelle U9lisaon des stas9ques et probabilités pour suivre l’évolu9on d’une caractéris9que dans

Exemples d’anomalies

•  Usurpa9ond’iden9té–  Connexionu9lisateurdansdeszonesgéographiquesdifférentesdans

unlapsdetempstrèscourt

•  Extrac9ondedonnées–  Connexiond’unserveurversdesadressesIPetnomsDNSinhabituels

•  Mouvementlatéral–  U9lisateurseconnectantàdesserveursinhabituelsavecune

fréquenceélevée

14

Page 15: RéSIST...2015/12/15  · Modèles statistiques & Machine Learning • Série temporelle U9lisaon des stas9ques et probabilités pour suivre l’évolu9on d’une caractéris9que dans

De l’anomalie à l’alerte

Appren9ssagevscorréla9on……pourquoipasu9liserles2!

•  Corréla9onavecunsystèmeexpertsécurité

•  U9lisa9ondebasesdeconnaissances(ThreatFeed/Intelligence)pourenrichiretcontextualiserl’anomalie

•  Partagedesdonnéesdansunebasedeconnaissance

15

Page 16: RéSIST...2015/12/15  · Modèles statistiques & Machine Learning • Série temporelle U9lisaon des stas9ques et probabilités pour suivre l’évolu9on d’une caractéris9que dans

Cas pratique : détection d’APT

APTKillChain•  Reconnaissance•  Infiltra9on

–  Phishing

•  Persistance–  Installa9ondemalware–  Communica9onavecleserveurC&C

•  Espionnageinterne–  cartographieetrécolted’informa9ons

•  Mouvementlatéral–  Propaga9on(u9lisa9ondecreden9als)–  Accèsàl’informa9onciblé

•  Exfiltra9on–  exfiltra9ondesdonnéesciblées(Butpremierdel’aHaque)

16

Reconnaissance Infiltra9on Persistance Espionnageinterne

Mouvementlatéral Exfiltra9on

Page 17: RéSIST...2015/12/15  · Modèles statistiques & Machine Learning • Série temporelle U9lisaon des stas9ques et probabilités pour suivre l’évolu9on d’une caractéris9que dans

DNS source essentielle

17

Mothership

Malware C&C Exfiltration

Le DNS est fortement utilisé lors des étapes de l’APT •  DNS scalable •  Robustesse en cas de démantèlement •  Evasion de blacklists IP

Superviser les requêtes DNS externes pour détecter des domaines suspects

Page 18: RéSIST...2015/12/15  · Modèles statistiques & Machine Learning • Série temporelle U9lisaon des stas9ques et probabilités pour suivre l’évolu9on d’une caractéris9que dans

Analyse statistique

Profilagedesdonnées•  Jeudedonnées

–  5,2Millionsderequêtesparjour–  50000domainesuniques–  2000sourcesIPs

•  Échan9llonsintéressants–  Rafalederequêtes(burst)–  Peufréquentés:10000–  Échan9llonaberrants:

•  Domainesnonenregistrés/résolus:2000•  Unesourcecontacte1000domainespointantsurlamêmeIP

18

Page 19: RéSIST...2015/12/15  · Modèles statistiques & Machine Learning • Série temporelle U9lisaon des stas9ques et probabilités pour suivre l’évolu9on d’une caractéris9que dans

Analyse statistique

•  Saisonnalité –  Identifier des évènements récurrents –  Ex: Beaconing (notification d’installation réussie)

•  Périodicité parfaite -> activité automatique

Evil.blah.net Evil.blah.net

Evil.blah.net Evil.blah.net

13:09 13:09 13:09 13:09

19

Page 20: RéSIST...2015/12/15  · Modèles statistiques & Machine Learning • Série temporelle U9lisaon des stas9ques et probabilités pour suivre l’évolu9on d’une caractéris9que dans

Machine Learning

•  Machine Learning spécifique au DNS –  Analyse des requêtes hors heures d’activité (night queries) –  Analyse des requêtes vue pour la première fois –  Analyse des techniques d’évasion de malware

•  DGA (Domaines Générés Aléatoirement) •  DNS Tunneling •  Fast Flux

•  Relation & Théorie des graphs –  Graph de connexion « Qui contacte qui ? » –  Distribution géographique

20

Page 21: RéSIST...2015/12/15  · Modèles statistiques & Machine Learning • Série temporelle U9lisaon des stas9ques et probabilités pour suivre l’évolu9on d’une caractéris9que dans

Corrélation

•  DNSThreatIntelligence–  Réputa9onIP/DNS(~50BadReputa9on)–  AnalyseWHOIS–  Blacklist/Sinkhole(~500domainesBlacklistés)–  AlexaTop1M(~7000domaineshorsdutop)–  Partaged’indicedecompromission(IOC)

•  DNSThreatIntelligence–  Enrichissementdelabasededonnéespartagées

21

Page 22: RéSIST...2015/12/15  · Modèles statistiques & Machine Learning • Série temporelle U9lisaon des stas9ques et probabilités pour suivre l’évolu9on d’une caractéris9que dans

Technique d’évasion d’APT

DGA–AnalysedesnomsdedomainesCryptolocker domains yrxtrwpncv.com jowacrgnged.com wbpbvtefxvh.com znebqwgsqbkzu.com iodgaudjyyafi.com kydqgdnjacml.com tjmlyxwfrf.com ehincqzruzk.com rulsxwnkallirdq.com ogyinncagiiqx.com kslttavhuczblq.com uucaabmlzsp.com nbiwbakdlchyowcdebanaqf.nu ogcsgvdvpeokdbkk.com psmdthlqxasoogq.in pfrjquiuxiwnltyjy.su vrsqnagcbtblimiperr.su qgrgusynuwcdcvbfkykbggq.com deehjyagmeqp.co

•  Machine Learning spécifique -  Analyse d’entropie

-  Analyse de similarité

-  Analyse géographique

-  Analyse syntaxique

•  Machine Learning supervisé

-  Arbre de décision

22

Page 23: RéSIST...2015/12/15  · Modèles statistiques & Machine Learning • Série temporelle U9lisaon des stas9ques et probabilités pour suivre l’évolu9on d’une caractéris9que dans

Technique d’évasion d’APT

FastFlux–AnalysedesréponsesDNS–  Détec9ondedomaineDNSavecdemul9plesadressesIP–  AnalyseTTL:Basculetrèsrapide–  Analysederépar99ongéographique

smartfoodsglutenfree.kz

(Zeus Tracker) Registered : 2015-02-24 Période d'étude : 17/03 au 25/03 2278 adresses IP 420 AS 32 Pays 8 à 14 nouvelles IP toutes les 300 secondes

23

Page 24: RéSIST...2015/12/15  · Modèles statistiques & Machine Learning • Série temporelle U9lisaon des stas9ques et probabilités pour suivre l’évolu9on d’une caractéris9que dans

Un mot sur l’architecture

Reveelium–plateformededétec9ond’anomalieetdepréven9on

Page 25: RéSIST...2015/12/15  · Modèles statistiques & Machine Learning • Série temporelle U9lisaon des stas9ques et probabilités pour suivre l’évolu9on d’une caractéris9que dans

Défi technologique

•  Lessolu9onsu9lisentlamêmepiledetraitement–  Inges9ondesdonnées–  Parsing–  Indexa9on–  Stockage–  Processinganaly9que

•  Chaquesolu9onu9lisesapilepropre–  Pertedetemps–  Mêmedonnéestraitéesplusieursfois

•  OnrefaitlesmêmeerreursquesurlesSIEMs

25

Page 26: RéSIST...2015/12/15  · Modèles statistiques & Machine Learning • Série temporelle U9lisaon des stas9ques et probabilités pour suivre l’évolu9on d’une caractéris9que dans

Architecture générique

•  U9lisa9ond’unearchitectureouverte•  Baséesurdesstandardsopensource

–  Kaqa(busdecommunica9on)–  Spark(Streamprocessor:indexa9onetcalcul)–  Elas9csearch(indexa9on/Basedeconnaissances)

•  PivotavecleresteduSI–  U9lisa9ondesdonnéesdéjàtraitées–  Partagedesanomaliesetalertes

•  IDS/DNSBlacklist…

–  Basedeconnaissancesrequetable

26

Page 27: RéSIST...2015/12/15  · Modèles statistiques & Machine Learning • Série temporelle U9lisaon des stas9ques et probabilités pour suivre l’évolu9on d’une caractéris9que dans

Sources de données

•  S’appuyersurlessourcesexistantes•  Logsouflux(dataagnos9c)•  Datalake(Hadoop…)•  Nonintrusif:pasdesondesoud’agentscomplémentaires

•  U9liserlespointsfortsduSIEM•  Agréga9onetindexa9ondessourcesdedonnées•  Pluginouintégré

•  Fonc9onnementagile•  Streamingpseudotempsréel•  Forensique

27

Page 28: RéSIST...2015/12/15  · Modèles statistiques & Machine Learning • Série temporelle U9lisaon des stas9ques et probabilités pour suivre l’évolu9on d’une caractéris9que dans

Synthèse

28

Page 29: RéSIST...2015/12/15  · Modèles statistiques & Machine Learning • Série temporelle U9lisaon des stas9ques et probabilités pour suivre l’évolu9on d’une caractéris9que dans

Capt’n Buzzword’s Checklist

APTBigDataMachineLearningSecurityAnaly9csThreatIntelElas9csearchDocker

✗ Starwars

Page 30: RéSIST...2015/12/15  · Modèles statistiques & Machine Learning • Série temporelle U9lisaon des stas9ques et probabilités pour suivre l’évolu9on d’une caractéris9que dans

Questions

30

ITrust-SiègeSocial55Avenuel’Occitane,BP6730331673LabègeCedex

+33(0)[email protected]

www.itrust.fr www.reveelium.com