Taggat med: IT-forensik

Så jobbar Säkerhetspolisen med cybersäkerhet

Händelserna runt Transportstyrelsen och den nya totalförsvarsplaneringen har gett otroligt stort fokus på säkerhetsskydd i samhället. Jag har träffat Johanna som är chef för en av Säkerhetspolisens mest spännande grupper, gruppen för informationssäkerhet och bevissäkring i IT-miljö. Hon ansvarar för den tekniska verksamheten inom säkerhetsskydd, som är ett av Säkerhetspolisen verksamhetsområden.

❤ Stöd Kryptera.se via Patreon >

Alla aktörer som omfattas av säkerhetsskyddslagstiftningen, exempelvis om man har system som hanterar hemliga uppgifter eller har verksamhet för betydelse för rikets säkerhet, kan bli föremål för granskning av det team av IT-säkerhetsspecialister som Johanna är chef över. Uppdragen kan komma in som förfrågningar eller så utförs de som en del av en tillsyn där flera specialister från Säkerhetspolisen tillsammans granskar ifrån olika säkerhetsperspektiv, exempelvis fysiskt skydd eller registerkontroll av personal. ”En fullgod IT-säkerhet är beroende av att ett systematiskt säkerhetsarbete genomförs” säger Johanna, ”om säkerheten brister i någon av de andra delarna kan det i värsta fall innebära att de tekniska säkerhetsfunktionerna kan kringgås”.

Johanna berättar att en säkerhetsgranskning inleds med att man diskuterar uppdraget med aktören vars system ska granskas. Det är viktigt att det finns en analys av var den mest skyddsvärda informationen eller funktionerna finns. I vissa fall riktas granskningen emot ett särskilt system eller applikation, men det är även vanligt att IT-säkerhetsspecialisterna utför breda tester på hela organisationers IT-miljö för att få en inblick i hur säkerhetsarbetet ser ut som helhet.

Penetrationstest kan ingå, och Johanna berättar att de har stor framgång när det gäller penetrering av IT-system. ”Granskningsgruppen agerar som en kvalificerad angripare skulle gjort. De verktyg som används är oftast publikt tillgängliga, men ibland använder vi egenutvecklade verktyg. Att skaffa sig full kontroll över en myndighets infrastruktur brukar oftast bara vara en tidsfråga och exploits används väldigt sällan. Det räcker att utnyttja mänskliga misstag och felkonfigurationer.”

Syftet med gruppens verksamhet är förebyggande IT-säkerhet, och att penetrera ett IT-system är endast en del av uppgiften. För att få ett bra resultat behöver gruppen titta på helheten då uppgiften är att hjälpa aktören att bli bättre och inte identifiera individuella brister eller hänga ut någon enskild. Gruppen utför även mer specifika applikationstester likväl som att ge stöd och råd till myndigheter och företag vid exempelvis dataintrång. Kryptoforcering kan också förekomma när det behövs.

Verksamheten som de bedriver regleras i säkerhetsskyddslagstiftningen. ”Regleringen är enbart ett ramverk” säger Johanna, ”de måste tillämpas på ett kompetensdrivet sätt. Att köpa en dyr brandvägg löser inte hela problemet, den måste konfigureras och administreras rätt.”

Det är utmanande att reglera it-säkerhet” fortsätter hon, ”mycket går inte att reglera i föreskrifter eftersom teknikutvecklingen gör att området hela tiden är i rörelse. Dessutom är it-säkerhetsarkitektur ett system av åtgärder och avvägningar som får bäst resultat genom ett systematiskt och kvalitativt säkerhetsarbete. Det kan vara svårt att reglera, så vår manuella granskning är därför otroligt viktig”.

De som jobbar med Johanna är IT-forensiker, penetrationstestare, seniora rådgivare och specialister på säkerhet inom cyberområdet. Anställda på Säkerhetspolisen kan lägga en hel del tid på verksamhetsutveckling och egen kompetensutveckling såsom labbande och gå kurser. ”Den personliga kompetensen hos medarbetarna är vår viktigaste förmåga, så det känns viktigt att ge gruppen möjligheter att ha en fortsatt hög utvecklingstakt. Utbyte genom samverkan och de praktiska erfarenheterna av att arbeta mot samhällets högsta skyddsvärden ger oss också insikter och erfarenheter som är svåra att få på något annat sätt” förklarar hon.

De som jobbar med IT-forensik i gruppen jobbar nära de andra verksamhetsområdena på Säkerhetspolisen, exempelvis kontraspionage, författningsskydd och terrorism. Det innebär att de stödjer i både underrättelseärenden och utredningar. Forensikerna måste vara väldigt operativa eftersom de deltar i husrannsakningar som vanligtvis resulterar i digitala beslag vars innehåll därefter ska tas fram. ”Svårigheterna för en forensiker rent tekniskt är att lyckas ta sig in i olika system, extrahera och processa stora datamängder som sedan ska pusslas ihop” förklarar hon.

Det händer nya saker varje dag och många gånger är det forensiska arbetet kopplat till händelser som får stora nyhetsrubriker. Just inom IT-forensiken så sker även en hel del intressant utveckling såsom IoT, drönare och bilar. Därför är det lika viktigt att forensikerna får utrymme för egen utveckling, labbar och att specialisera sig inom vissa delar av IT-forensik och dyka djupare inom dessa områden.

Vi har en väldigt spännande och högkvalitativ verksamhet, men vi ska fortsätta att utvecklas. Säkerhetsskyddsenheten kommer genomföra ett utvecklingsarbete av it-säkerhetsområdet de kommande åren, vilket kommer att ge oss både nya mål och metoder. Det är riktigt kul att få vara en del av en verksamhet som faktiskt gör skillnad.

Johanna är ett fingerat namn och heter egentligen något annat.

Just nu söker Säkerhetspolisen personal till följande två tjänster:

Nytt verktyg för att upptäcka Stuxnet-liknande attacker

The Volatility Foundation som står bakom det IT-forensiska verktyget Volatility genomförde nyligen en tävling där den som tar fram det bästa pluginet till Volatility vinner 16000 SEK samt utbildning.

Vinnaren i tävlingen blev Monnappa K A som skapade hollowfind som underlättar detektion av process hollowing. En metod som avancerad skadlig kod såsom Stuxnet och Taidoor använt sig av. Metoden går ut på att byta ut en legitim process såsom lsass.exe mot den skadliga koden och på så sätt försvåra för antivirus samt IT-forensiska undersökningar.

Jag måste så klart testa detta nya plugin och se om det är möjligt att detektera Stuxnet, och som tur var så finns det färdiga minnesdumpar på infekterade datorer. Just denna minnesdump kommer från boken Malware Cookbook.

Först laddar vi hem minnesdumpen och packar upp den samt kontrollerar vilket OS som den skapats från:

$ for a in {a..d}; do wget https://github.com/ganboing/malwarecookbook/raw/master/stuxnet.vmem.zip.a$a; done
$ cat stuxnet.vmem.zip.a* > stuxnet.vmem.zip
$ unzip stuxnet.vmem.zip
$ volatility -f stuxnet.vmem imageinfo
$ export VOLATILITY_PROFILE=WinXPSP2x86

Och sedan laddar vi hem pluginet och testar det:

$ git clone https://github.com/monnappa22/HollowFind.git
$ volatility --plugins=./HollowFind/ -f stuxnet.vmem hollowfind

Vi ser då att två stycken lsass.exe flaggats som suspekta:

Type: Invalid EXE Memory Protection and Process Path Discrepancy

Volatility med HollowFind-plugin

Det var väl enkelt? Skulle vi analysera vidare så skulle vi även identifiera att lsass.exe lyssnar på port 500 samt 4500 vilket också är ett avvikande beteende. Även om man jämför antalet inladdade DLL:er:

$ volatility -f stuxnet.vmem sockets
$ volatility -f stuxnet.vmem pslist
$ volatility -f stuxnet.vmem dlllist -p 1928|wc -l
35
$ volatility -f stuxnet.vmem dlllist -p 868|wc -l
15
$ volatility -f stuxnet.vmem dlllist -p 680|wc -l
64

Ett till plugin för att försöka identifiera skadlig kod följer med och heter malfind.  Ett annat intressant bidrag i tävlingen och som kom på tredje plats är “The Advanced Malware Hunters Kit”.

Mer om tävlingen och andra bidrag kan du läsa här.

Så blir du en ninja på nätverksforensik

Nätverksforensik

Artikel uppdaterad: 2016-10-20

För att bli en ninjamästare på nätverksforensik så gäller det först och främst att du är bekväm och känner till din uppsättning med verktyg. Jag rekommenderar att du börjar med att testa Linux-disten Security Onion som är har en stor mängd olika verktyg förinstallerade såsom NetworkMiner, Argus, Snort och Bro.

Sen gäller det också att ha tillgång till någon data att experimentera med, och desto råare format desto bättre. Därför gillar vi som jobbar med nätverksforensik formatet pcap (och numera även vidareutvecklingen pcap-ng).

Har du inga egna pcap-filer så kan du alltid skapa upp dessa genom att spara ner nätverkstrafik till/från din egen dator eller hämta hem från Wireshark eller Netresec.

Hitta rätt i nätverkstrafiken

När du väl har tillgång till råmaterial i form av pcap-filer så måste du lista ut hur du ska angripa problemet. Oftast så finns det inte enbart en lösning på problemet utan som forensiker får du prova flera olika innan du eventuellt hittar en lösning.

Mer åren får du troligtvis även mer erfarenhet och kan lösa problem snabbare och navigera rätt snabbare bland nätverkstrafiken.

Frågan vi måste ställa oss är: Vad är syftet? Vad är det vi är ute efter. Är det potentiellt skadlig kod som har passerat eller söker vi efter något annat. Och innan vi börjar så bör vi även veta hur nätverkstopologin ser ut:

  • Är trafikinspelningen innanför eller utanför brandväggen?
  • Är det bakom NAT?
  • Är det egress/ingress eller dubbelriktad trafik
  • capinfos-kommandot som följer med Wireshark ger bra info

Sedan bör ni ha en Standing Operating Procedures (SOP) för hur trafiken ska hanteras. Jag rekommenderar exempelvis att alltid använda Snort och ett relativt uppdaterat regelverk som en av de första kontrollerna.

Lär dig med hjälp av CTF

CTF står för Capture The Flag och är en typ av övning som du själv kan utföra för att lära dig mer samt testa dina färdigheter. Det finns ett antal olika CTF:er som är inriktade på nätverksforensik och du börjar som oftast med att ladda hem en pcap-fil som ska analyseras.

Här har jag listat ett antal CTF:er med inriktning på nätverksforensik:

Om du kör fast med någon av ovan så testa att söka efter CTF:ens namn samt write-up så hittar du troligtvis lösningar.

NinjaUtmaningar inom nätverksforensik

Att titta på nätverket ger oftast enbart en bild som många gånger bör kompletteras med övriga forensiska utredningar av datorer exempelvis. Även kan loggfiler från olika system också komplettera den nätverkforensiska undersökningen.

Jag ser även att mer och mer trafik blir också krypterad och använder sig av TLS (https) vilket gör det svårare att titta vad som går i sessionerna. False-flag är också något som förekommer mer och mer där metoden går ut på att förvilla och lämna falska spår.

Behöver Er organisation hjälp med nätverksforensik? Kontakta Triop AB 

En annan metod att kringgå och försvåra nätverksforensik är domain-fronting. Med denna metod så döljs skadlig trafik i kommunikation mot tjänster såsom CDN (se mitt föredrag från Internetdagarna 2014).

Verktygen du ska lära dig

Wireshark och tshark

Först och främst är Wireshark och dess CLI-version tshark något som jag anser att alla bör behärska. Och hanterar du stora mängder data så är det otroligt viktigt att känna till alla kommandoargument som tshark kan ta.

Exempel på kommando: Följande kommando kan användas för att titta på information om TLS/SSL-certifikatet vid en handskakning:

tshark -r snort.log.1425565272 -R ssl.handshake.certificate -V | grep dNSName:

Även så kan vi titta på SNI-värdet (server name indication) om detta finnes:

tshark -r test.pcap -T fields -e ssl.handshake.extensions_server_name

tcpdump

tcpdump är också ett sådant självklart kommando som följer med nästan alla Linux-distar och kan användas till det mesta. Om inte annat så har verktyget bra prestanda när det gäller att filtrera trafik när du skriver pcap-filter för att förfina sökningen, exempelvis:

tcpdump -r gigantisk-fil.pcap -w mindre-fil.pcap "dst port 31337"

Och behöver du snabbt och enkelt spara ner data så brukar jag köra kommandot nedan. Observera att snaplen -s inte behövs om du har en relativt ny tcpdump-version eftersom nya går standard till 65535 bytes (tidigare 96).

tcpdump -i en2 -s0 -w test.pcap

ngrep

ngrep används precis som det klassiska kommandot grep, dvs att vi söker efter något. Gör ingen direkt tolkning av protokoll såsom tshark/wireshark vilket gör att kommandot kan vara snabbare att arbeta med.

Följande kommando kan användas för att identifiera namn på HTTP-förfrågningar

ngrep -q -W byline -I snort.log.1425565276 Host:|grep -i ^Host

Network Miner

Erik Hjelmvik som utvecklat Network Miner har även utvecklat CapLoader och andra bra verktyg. Följer med Security Onion men en gratisversion kan även laddas hem från Netresec. Lätt och enkelt att arbeta med och är det bästa verktyget för att identifiera filer som går över nätverket.

För cirka 7400kr så får du en bättre version som har ytterligare en mängd funktioner såsom protokollidentifiering med hjälp av statistik, GeoIP, CLI-version.

NetworkMiner

Om du använder dig av Security Onion kan du starta NetworkMiner med kommandot /opt/networkminer/networkminer

tcpflow

NinjaDetta verktyg parar ihop TCP:s fem-tupel och skriver ner dessa strömmar till disk, en ström per fil. Otroligt värdefullt om du vill analysera stora mängder data närmare.

Varje fil får ett namn som relaterar till sessionen i form av IP-adress src/dst samt käll och destinations-porten. Med nollor som prefix, exempelvis:

185.003.051.013.00080-010.101.001.143.63092

Sedan kan vi hantera filen med vanliga verktyg såsom grep, head osv:

$ head -3 185.003.051.013.00080-010.101.001.143.63092
HTTP/1.0 304 Not Modified
Server: Apache-Coyote/1.1
P3P: policyref="/w3c/p3p.xml", CP="NON DSP COR NID CUR ADMa DEVa PSAa PSDa TAIa OUR IND COM CNT DEM INT LOC NAV PRE UNI"

Även så genomförs ingen vidare avkodning, så vi får själv ta hand om gzippat innehåll osv. Men har vi en nyare version och lägger på argumentet -e http (eller -a). Då får vi en till fil men med suffixet -HTTPBODY-002 exempelvis:

185.003.051.013.00080-010.101.001.143.63092-HTTPBODY-002

snort

Snort är en mjukvara för att upptäcka intrång i nätverkstrafik (IDS) men kan även läsa PCAP-filer i efterhand. Och som anti-virus motorer så fungerar en IDS bäst då regelverket är uppdaterat.

När det gäller Snort så finns det tre huvudspår när det gäller regelverk:

  • Emerging Threats
  • Snort – Cisco Talos
  • Snort Community

Jag rekommenderar att använda Snort Cisco Talos, kostar enbart 29$ per år för personligt bruk. Annars testa även Emerging Threats regler som också uppdateras och innehåller 47k regler. Kör kommandot rule-update på Security Onion om du vill uppdatera regelverket med PulledPork:

PulledPork

För att läsa in en pcap-fil och sedan skriva ut larm till mappen ./log/ kör du:

snort -r snort.log.1425565276 -c /etc/nsm/templates/snort/snort.conf --daq pcap --daq-mode read-file -l ./log/

Och om du som jag får många regler som larmar false-positive så kan du alltid lägga till dem i filen /etc/nsm/pulledpork/disablesid.conf

Även så kan Snort logga direkt till console med -A console argumentet.

Givetvis är även Suricata ett alternativ till Snort, och finnes så klart redan installerat i Security Onion.

Snort

argus

Argus (audit record generation and utilization system) är uppdelat i en mängd olika verktyg såsom ra, rasort och racluster. Argus gör det lätt att arbeta med flöden samt övergripande analyser. Och precis som många andra verktyg som jag gått igenom här så kan Argus fungera offline eller direkt online mot nätverkstrafik.

Även så kan argus-filer vara bra vid långtidslagring där bara meta-data behöver sparas från trafiken.

argus -r snort.log.1425565276 -w snort.log.1425565276.argus

Vår pcap-fil är på 153 MB och argus metadata-fil är på 241K.

Sedan kan vidare använda argus verktyg såsom racluster och rasort för att koppla ihop TCP-sessioner och sedan sortera samtliga sessioner i filen för att försöka upptäcka exfiltration:

racluster -r snort.log.1425565276.argus -w -|rasort -r - -m sbytes|head -30

Och vill vi enkelt filtrera ut samtliga tcp-sessioner, slå ihop dessa samt se vilka som varit mest långvariga kan vi köra följande kommando:

racluster -r snort.log.1425565276.argus -w - -- tcp|rasort -r - -m dur -s stime saddr daddr sport dport dur proto |tail

OPSEC

SchhyyyNär du utför dina analyser så bör du upprätthålla god sekretess. Trafiken du analyserar kan innehåll diverse kod som gör att sårbarheter utnyttjas i exempelvis Wireshark. Se därför till att köra så mycket som möjligt med låg behörighet och helt avskilt från andra nätverk och system såsom Internet.

Och fundera igenom allt du gör mot Internet: Vad lämnar detta för spår? Om du exempelvis analyserar kommunikation som en trojan utnyttjar (C&C) och det helt plötsligt dyker upp ett curl-anrop från din analys-klient så kan detta förstöra framtida mtrl.

Antagonisten kan nämligen bevaka kontrollkanalerna och då snabbt radera samtliga bevis, nycklar osv om hen märker att du utför analys.

Skärmdump

Denna skärmdump är från webbgränssnittet i Security Onion:

securityonion-web

PCAP – Or it didn’t happend

Jag fick denna T-shirt av Erik på Netresec som bl.a. gör Network Miner och CapLoader. Du kan köpa den direkt från Netresec eller under konferensen 4SICS som går av stapeln imorgon.

PCAP or it didn't happend

Och vad menas med texten som står på t-shirten kanske du undrar? Jo, det är så att PCAP står för packet capture och är ett filformat för inspelad nätverkstrafik. För oss som jobbar med IT-säkerhet så är inspelad nätverkstrafik A och O när det gäller IT-forensiska undersökningar och analys av skadlig kod exempelvis.

Du kan läsa mer om inspelning av nätverkstrafik här.

Så cyberspionerar främmande makt på Sverige

cyberspionage

Hur går det egentligen till när antagonister genomför cyberattacker mot Svenska intressen? Jag kommer nedan redogöra ett antal metoder som gör att stater med mycket kapacitet kan infiltrera svenska företag och myndigheter för att sedan stjäla klassificerad information med hjälp av exfiltration.

cyberspionage tidslinje

1. Planeringsfas

Operationer på cyberarenan är välplanerade och därför är samtliga steg är planerade i minsta detalj. Men även även den bästa kan göra fel och avslöja eller läcka information. Det kan röra sig om utveckling av skadlig kod där metadata finns kvar som avslöjar sökvägar eller tidszoner.

Planeringen handlar även om hur mycket resurser som behövs och eventuell programvara som utvecklas eller införskaffas för operationen.

Även så kan flertalet avdelningar koordineras innan, ska HUMINT och SIGINT användas innan så måste detta även planeras i förväg.

2. Kartläggningsfas

Här kartläggs individer, datornätverk, leverantörer, konsulter och nyckelpersoner på Cyberkartläggningorganisationen. Vilka resor är planerade och vilka resebolag används, kan en inresa i landet nyttjas för att tömma en laptop på information eller planera avlyssningsutrustning i tangentbordet exempelvis.

Nyckelpersoners personliga nätverk kartläggs och förehavanden av dessa i sociala medier söks av efter förekomster av intressant information. Används LinkedIn av medarbetar och hur ansluts organisationen till Internet samt används VPN-anslutningar.

Finns det partnerorganisationer som kan tänkas ansluta mot målet eller har organisationen filialer eller annan verksamhet som är på annan ort som inte är lika skyddad.

Företag i Sverige skyltar gärna med att dom har säkerhetsskyddsavtal med FMV och några frågor till respektive registratorfunktion hos några myndigheter så kan mycket information inhämtas med stöd av offentlighetsprincipen.

3. Implantat

USBG-1680Skadlig kod och specialskriven zero-days används troligtvis för att genomföra intrång och erhålla ett fotfäste i organisationen. CD/DVD-Skivor eller USB-minnen med mjukvaruuppdateringar som innehåller bakdörrar kan skickas till organisationen efter att tidigare offentliga upphandlingar granskas. Även kan tangentbord, möss, hårddiskar eller annat innehålla bakdörrar redan vid leverans från leverantör.

Även kan trådlösa nätverk knäckas hemmavid där stor datorkapacitet finnes, och detta gäller inte enbart trådlösa nätverk ute hos målorganisationen men även på hemmanätverk hos personal som jobbar på organisationen. Eller varför knäcka lösenordet när en mobiltelefon eller annan enhet som innehåller Wifi-lösenordet kan temporärt lånas.

Riktad skadlig kod skickas även till respektive familjemedlem som kanske även använder den dator som sedan kopplas upp mot organisationens nätverk. Phishing som ser ut att komma från någon välkänd tjänst som den enskilde använder såsom LinkedIn, Facebook eller liknande.

Observera att dessa fyra faser kan pågå under flera år, upp till 10 års tid har undersökningar av skadlig kod påvisat.

Även kan främmande staters signalspaningsmyndighet användas för att leverera implantat när exempelvis mjukvara laddas ner från Internet som ej kontrolleras med signatur eller checksumma i efterhand.

4. Exfiltration

Denna fas handlar om att skicka ut information ur organisationens nätverk. Troligtvis klassificerad information men detta genomförs ej i första steg. Den första informationen som exfiltreras innefattar sådant som kan behövas för att kartlägga organisationen ytterligare. Det kan vara datornamn, IP-adresser och sådant som kan ligga till grund för en djupare penetrering av IT-infrastrukturen.

Den specialskrivna mjukvara som står för exfiltrationen har troligtvis ett antal moduler som testar olika sätt att skicka ut information såsom Dropbox, FTP, DNS, HTTPS och E-post via kända E-postprogram.

Mjukvaran har även en funktion som kan detektera om den är på ett nätverk som är fysiskt åtskilt från Internet och då kan nyttja metoder för att ”hoppa över luftgap” (USB-minne, högtalare/mikrofon etc).

5. Upprensning

Att dölja spår är viktigt för att undanröja modus operandi. För alla steg ovan avslöjar små detaljer om antagonisten som kan användas vid IT-forensiska undersökningar och reverse-engineering.

upprensningNågra metoder som används är att individuellt kryptera olika moduler med olika algoritmer och krypteringsnycklar som enbart dekrypteras när speciella fall uppfylls. Såsom att en viss mjukvara finnes installerad på måldatorn på en viss sökväg (detta kommer från kartläggningsfasen).

Servrar som placeras ut på Internet som sköter Command and Control (C2C) måste vara förberedda för att snabbt destrueras (läs om digitala sprängkistor).

Sammanfattningsvis

Med hjälp av ovan steg så skulle jag påstå att samtliga organisationers skydd skulle brista förr eller senare. Som vanligt gäller det att använda lökprincipen och försöka minimera eventuell skada i tidigt skede.

Av stor vikt är även att det finns väl fungerade intrångsskydd och spårbarhet finns på alla ställen. Fysiskt separerade nätverk och skydd mot röjande signaler (RÖS/TEMPEST) kan givetvis också hjälpa samt kanariefåglar utplacerade.

Och största skillnaden mellan cyberangrepp från just en främmande stat och hackers, organiserad brottslighet etc är resurserna. I form av antalet zero-days, beräkningskraft, SIGINT och uthållighet. Men det kan även hända att stater anlitar hackergrupper för informationsstölder, vilket gör det svårt att urskilja bakomliggande aktör.