deteksjonogforsvarmed elk - uninett

35
Deteksjon og forsvar med ELK Espen Grøndahl IT-sikkerhetssjef UiO

Upload: others

Post on 04-Oct-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Deteksjonogforsvarmed ELK - Uninett

Deteksjon og forsvar med ELK Espen GrøndahlIT-sikkerhetssjefUiO

Page 2: Deteksjonogforsvarmed ELK - Uninett

Agenda

• Bakgrunn og utfordringer ved • ELK ved UiO• Demo / film• Automatisering

30.11.2017 3

Page 3: Deteksjonogforsvarmed ELK - Uninett

30.11.2017 4

Litt om UiO

• Ca. 28000 studenter• Ca. 7500 ansatte• Mange tilknyttede enheter og organisasjoner• USIT – Universitetets senter for informasjonsteknologi

– Ca. 200 årsverk, sentral IT ved UiO.– 50/50 leveranser til UiO og til resten av sektoren

• Lokal IT– Lokal IT ved fakulteter og institutter

Page 4: Deteksjonogforsvarmed ELK - Uninett

IT-sikkerhetsutfordringer ved UiO

• Kompleksitet– 15000+ pcer med Windows– 1000+ Linux klienter– 3000+ Linux servere– 1000 Windows servere– 2000 Macer– I tillegg ca. 18000 unike brukere på trådløst i uka…

30.11.2017 5

Page 5: Deteksjonogforsvarmed ELK - Uninett

IT-sikkerhetsutfordringer ved UiO

• Sammensatt bruksmønster– Fra skrivemaskin til partikkel-akseleratorer– Mer enn 65000 forskjellige programpakker/linjer i SCCM– Det som er unormalt andre steder – kan være helt normalt hos oss

• Åpenhet– Alle maskiner ( nesten ) har offentlig ip-addresse– En del sperrer, men ingen tradisjonell brannmur– Utfordring å standardisere på alle områder

30.11.2017 6

Page 6: Deteksjonogforsvarmed ELK - Uninett

Litt historikk

• Sentralisert logging– Har ”alltid” hatt det på Linux/Unix– Noe deteksjon i form av script og søk– Lite og ikke formalisert på Windows

• Driftsopplegg ”daily” og ”daily2”– Gammel perl-løsning som samlet inn en del data hver natt– Fungerte bra for drift, men ikke så bra for sikkerhet

• Antivirus– F-Secure, men ikke veldig aktiv bruk av sentrale rapporter

• Lokale varianter– Vi hadde mange lokale installasjonsopplegg for Windows

30.11.2017 7

Page 7: Deteksjonogforsvarmed ELK - Uninett

Litt historikk

• Deteksjon– Stort sett hendelsesstyrt – noen varslet om at ”noe” var rart– Fanget misbruk i e-postsystemet– Fanget noe med netflow– Detektert i form av portscan med mer.

• Sentralisert logging for Windows– Har vært planlagt lenge– Gjorde spede tester med Splunk – ble for dyrt– Testet med WEF – skalerte ikke– Søk og sammenstilling av Windows logger var veldig tidkrevende

30.11.2017 8

Page 8: Deteksjonogforsvarmed ELK - Uninett

Noen milepæler

• Windows 7 utrulling – felles image for hele UiO, kun 64bit• Rullet ut EMET på alle maskiner• SCCM med Windows Defender

– Dekket noe logging– Gir god oversikt over maskiner– Men ikke ”realtime” - tid fra hendelse til innsamling > 24t

• AppLocker på alle maskiner, men med få regler– Logger, sperrer exe fra zip filer + noe mer.

30.11.2017 9

Page 9: Deteksjonogforsvarmed ELK - Uninett

“I WAS BLIND BUT NOW I SEE!”

ELK VED UIO

30.11.2017 10

Page 10: Deteksjonogforsvarmed ELK - Uninett

Hva er ELK

• Elasticsearch– Distribuert søkemotor / database– Lagrer JSON dokumenter– Aksesseres via. HTTP GET– Veldig god skalerbarhet

• Logstash– Mottak, prosessering og videresending av logger– Sørger for at en ”host er en host på tvers av logger”

• Kibana– Web-basert dashboard for å drille i data

30.11.2017 11

Page 11: Deteksjonogforsvarmed ELK - Uninett

30.11.2017 12

Page 12: Deteksjonogforsvarmed ELK - Uninett

ELK ved UiO

• UiO-CERT hadde deteksjon på årsplanen for 2015– Passet godt med fellesprosjekt for logging

• Har nå en stor løsning med selvbetjening i prod. fra 2016• Implementert egen løsning for tilgangsstyring basert på

ngnix og LDAP• Automatisert med Docker, Ansible, Consul og registrator• Innført et eget begrep ”logowner”, en kibana instans pr.

logowner.

30.11.2017 13

Page 13: Deteksjonogforsvarmed ELK - Uninett

ELK ved UiO – noen tallElasticsearch cluster: -----------------------2 x ES-client (Total RAM: 128GB) 3 x ES-master4 x ES-data SSD (~33T) Indeksering + hot data / Total RAM: 256GB 5 x ES-data HHD (~60T) Arkiv (eldre enn 5 uker) /Total RAM: 640GB

Total ca 56 milliarder dokumenter (1 x replikering) 1.639 indekser 6.476 shards ca 53TB disk bruk. Indeksering av ca 15.000 dok/sek i gjennomsnitt.

Top10 applikasjoner: -----------------------------------------------------------------------Application Documents Total(Gb) -----------------------------------------------------------------------apache-access 671,310,952 1,129.386 dhcpd 626,471,814 284.500 dns-resolv (3,5dager) 390,928,594 448.600 exim 629,288,656 926.400 haproxy 612,502,676 1,523.100 rsyslog 3,066,082,356 2,963.968 varnish-access 776,146,774 1,776.500 windows-evt-security 5,743,614,569 9,547.173 windows-evt-sysmon 7,695,285,042 26,213.053 windows-iis 4,178,028,654 5,618.602 -----------------------------------------------------------------------

30.11.2017 14

Page 14: Deteksjonogforsvarmed ELK - Uninett

Sysmon

• August 2015 – Microsoft sysinternals– https://technet.microsoft.com/en-gb/sysinternals/sysmon

• Logger prosesser som starter, bruker, hash av exe fil, parentprosess med mer.

• Finnes nå i versjon 6.01– Prosesser, registry, nettverk, lasting av drivere, hash av filer med

mer.• Vi benytter sysmon på alle Windows maskiner sammen med

nxlog som sender til logstash

30.11.2017 15

Page 15: Deteksjonogforsvarmed ELK - Uninett

Sysmon konfigurasjon

• Styres med XML, kan logge veldig mye• Finnes etter hvert en del eksempler på github

– For eksempel https://github.com/SwiftOnSecurity/sysmon-config• Anbefaling;

– Rull det ut, skru opp loggstørrelse– Kan da i alle fall hente logger etter en hendelse– Fortsett så med sentral innsamling

30.11.2017 16

Page 16: Deteksjonogforsvarmed ELK - Uninett

Nxlog

• http://nxlog.co• Finnes i en community og en enterprise edition• Vi kjører community edition på ca. 15000 pc’er og 1000

servere• Foretar grovsortering av eventer og køing

30.11.2017 17

Page 17: Deteksjonogforsvarmed ELK - Uninett

Hvilke spørsmål ønsker vi svar på

• Har program X blitt kjørt ved UiO?• Har vi sett program med hash YYYYYYY på nettet?• Hvor mange forskjellige versjoner av Winword.exe kjøres?• Har Winword.exe startet powershell?• Har .js filer blitt kjørt fra en temp katalog ( kryptovirus )• Har programmer med ”dobbel filending” blitt kjørt (

skummel.pdf.exe )?• Hva skjedde forut for at program Z ble kjørt?

30.11.2017 18

Page 18: Deteksjonogforsvarmed ELK - Uninett

Hvor har bruker ”espegro” vært pålogget?

30.11.2017 19

Page 19: Deteksjonogforsvarmed ELK - Uninett

Hva har blitt kjørt på ”todd.uio.no”

30.11.2017 20

Page 20: Deteksjonogforsvarmed ELK - Uninett

Flere eksempler

30.11.2017 21

Page 21: Deteksjonogforsvarmed ELK - Uninett

DDE – Dynamic Data Exchange

• Har i det siste blitt benyttet i stedet for macroer for å spre virus – vi har sperret vedlegg med macroer.

• Lurer bruker til å aktivere program utenfor Office – for eksempel kommandolinje for å laste ned og kjøre ekstern program.

30.11.2017 22

Page 22: Deteksjonogforsvarmed ELK - Uninett

Snurr film!

30.11.2017 23

Page 23: Deteksjonogforsvarmed ELK - Uninett

Hvordan detektere dette?

• Søk som gir varsel om cmd.exe starter med noe fra officepakken som foreldre prosess.

• Satt opp søk som går jevnlig - varsler i e-post og i ”chatbot”

30.11.2017 24

Page 24: Deteksjonogforsvarmed ELK - Uninett

Søk via ”Imphash”

• Sysmon logger SHA1, MD5 og IMPHASH• MD5 og SHA1 er kryptografisk hash av binæren• IMPHASH er hash av importtabellen

– Dvs. to binærer med tilnærmet samme kode kan ha forskjellig MD5/SHA1 med lik Imphash

30.11.2017 25

Page 25: Deteksjonogforsvarmed ELK - Uninett

”Karbon blakk™J”

• Ca. 81 000 unike binærer kjørt på UiO siden i vår• Alt nytt som kjøres sjekkes mot disse hvert 10 min.• Ved funn av nye, varsel og logg

– Link rett til VT• Alle nye sjekkes vha. API mot Virustotal og gir varsel• Har en ”watchlist” på noen tusen som alltid varsler

– Kan oppdateres ved å chatte med den ”!md5 add …..”• Logges path, md5, antall hvert døgn• Kun noen hundre linjer kode – jobber direkte mot ES API30.11.2017 26

Page 26: Deteksjonogforsvarmed ELK - Uninett

DNS logging

• Logger query-logger fra resolvere, • Laget eget program som leser logg og lager JSON som

sendes inn i ELK – snart på github• Akkurat kommet på plass – jobber med analyser og data

reduksjon

30.11.2017 27

Page 27: Deteksjonogforsvarmed ELK - Uninett

Sjekk av patche-status

30.11.2017 28

Page 28: Deteksjonogforsvarmed ELK - Uninett

”Threat hunting"

• Begynn med en hypotese• Undersøk denne• Avdekk nye mønstre og sammenhenger• Analyser• Start forfra……

30.11.2017 29

Page 29: Deteksjonogforsvarmed ELK - Uninett

Kilder

• Kommersielle ”feed’er”• Kontakt-nett – andre CERT’er, twitter med mer.• Kunnskap om ditt nettverk - vit hva som er normalen for å

avdekke avvik.– Grafing– Statistikk

30.11.2017 30

Page 30: Deteksjonogforsvarmed ELK - Uninett

Kilder• SANS• Microsoft• Leverandører• Analyse – malwr.com, Cuckoo m.fl.• http://attack.mitre.org

30.11.2017 31

Page 31: Deteksjonogforsvarmed ELK - Uninett

Datareduksjon

• Starter med antagelsen at de uønskede hendelsene er få i antall

• Filtrer ut det som er ”normalt”• Undersøk de data som faller ut• Utfordringer

– Kvantifisering – så vi kan bruke matematikk på problemene– ”Hukommelse” – huske alle varianter som er ”sjekket ut”

30.11.2017 32

Page 32: Deteksjonogforsvarmed ELK - Uninett

Graf-analyse med neo4j ( kun testing foreløpig )

30.11.2017 33

Page 33: Deteksjonogforsvarmed ELK - Uninett

Kryptovirus

• Zip-fil med javascript• Javascript à powershell• Powershell à exe-fil• Exe-fil = kryptovirus

30.11.2017 34

Page 34: Deteksjonogforsvarmed ELK - Uninett

Personvern

• Du kan risikere å logg detaljer du ikke burde– Filnavn, url’er med mer.

• Loggdata kan brukes til annet enn formål• Du har lov til å logge for sikkerhet og drift av tjeneste

– Hva er ”drift av tjeneste”?• Løses ved tilgangskontroll• Policy for bruk av logger• Filtrer i logmottak – fjerne data, maskere data

30.11.2017 35

Page 35: Deteksjonogforsvarmed ELK - Uninett

Spørsmål?

30.11.2017 36