Ökad cybersäkerhet med hjälp av MITRE ATT&CK

Monday, May 6, 2019

FörsvarOffensivtMITRE ATT&CKIntroduktion

Christoffer Strömblad

Entusiastisk Jedi inom Cybersäkerhet

I den här artikeln tänkte jag beskriva en strategi för hur ni kan öka er försvarsförmåga men kanske också framförallt skapa förutsättningarna för att kunna mäta er försvarsförmåga. Utgångspunkten är MITRE ATT&CK som vi sedan mappar mot lämpliga skyddsåtgärder.

Nyckelinsikter

  • Ökad försvarsförmåga börjar med en teknik från ATT&CK som sedan kopplas till en uppsättning lämpliga skyddsåtgärder som bedömts vara tillräckliga för att uppnå en tillräcklig “hantering” av tekniken.
  • Över tid kommer du få en uppsjö av skyddsåtgärder med matchning mot en bakomliggande ATT&CK-teknik, viktigt att dokumentera dessa rätt från början. (Kommer i en senare artikel förslag på HUR dokumentation kan se ut!)
  • Skapar förutsättningarna för att kunna MÄTA din försvarsförmåga över tid och hur den står sig mot verklighetens angrepp.

Inledning

Jag skriver den här artikeln med vissa antaganden om förkunskaper. Väsentligt är att du har åtminstone en grundläggande förståelse för ATT&CK och känner du dig något skakig tycker jag du ska läsa min introduktion till ämnet. Därefter kan det vara lämpligt, men inte lika nödvändigt, att du läser på om NIST CSF och då förslagsvis den här artikeln (del 1 - introduktion) och den här (del 2 - exempel på profil) . Eventuellt skulle du även kunna ögna igenom min artikel om hotprofiler som kan ge en viss bakgrund till hur jag resonerar kring effektiv cybersäkerhet.

För att öka er cybersäkerhet (eller öka er försvarsförmåga) behöver ni införa nya, eller förbättra existerande, skyddsåtgärder. Det viktiga i sammanhanget av ökad försvarsförmåga är att nya eller förändrade åtgärder ska vara relevanta för den hotbild som råder (hotlandskapet så som det förhåller sig till er organisation). Men, hur avgör man det?

Processen

För att öka er försvarsförmåga handlar det som sagt att helt enkelt införa fler skyddsåtgärder, men givetvis behöver vi införa “rätt” åtgärder. Så här föreslår jag att processen ser ut.

  1. Välj en teknik/metod från ATT&CK som ni vill ha förmåga att hantera (upptäcka, neka, begränsa, vilseleda etc.)
  2. Identifiera vilka skyddsåtgärder som skulle vara nödvändiga för att ge en heltäckande förmåga avseende vald metod enligt (1).
  3. Kartlägg vilka åtgärder ni redan har enligt (2)
  4. Inför resten av åtgärderna.

Det bör från detta arbete trilla ut en stärkt försvarsförmåga som du kan motivera och förklara men även mäta. När jag säger mäta menar jag att du kommer kunna mäta hur förmågan stärks över tid. Vi tar ett steg i taget.

Steg 1 - Välja teknik från ATT&CK

Det första steget är att välja ut något från ATT&CK som ni vill ha förmåga att hantera. Så, låt oss göra det och jag väljer T1091, eller spridning genom löstagbart media. Och sedan behöver vi välja på vilket sätt vi vill “hantera” det. Jag tycker det känns lämpligt att inte helt neka löstagbara medier, men samtidigt vill jag förhindra åtminstone program från att starta och jag vill definitivt upptäcka om någon användare försöker exekvera program från en sticka.

Summerat får vi följande:
Teknik: T1091, replication through removable media
Hantering: Begränsa och upptäcka.

Steg 2 - Identifiera skyddsåtgärder

Vi har konstaterat vad vi vill kunna göra, och nu kommer nästa steg som kanske också är det svåraste. Det handlar om att identifiera vilka skyddsåtgärder som skulle ge oss den förmåga vi önskar. En väg många kanske tänker är att se vad NIST CSF säger eller ISO27002. Visst, vi kan börja där. Jag rekommenderar det inte, men vi gör det ändå. Vi börjar med CSF och kollar där. Vad hittar vi?

Det finns flera tillämpliga krav men låt oss välja endast några stycken. Under Upptäcka/Detection finns det exempelvis tre krav under Kontinuerlig Övervakning (Continuous Monitoring) som vi skulle kunna anse tillämpliga nämligen DE.CM-[4,5,7]. Dessa avser skadlig kod och icke-godkänd programvara.

Ok, så vi har tre krav. Nu då? Jo, nu behöver du tolka kraven och införa åtgärder som uppfyller kraven. Du skulle kunna fortsätta ned i referens-tunneln och söka dig till 27002, COBIT eller varför inte NIST SP 800-53. Problemet blir dock detsamma där, du får inga förslag på skyddsåtgärder. Bara vad du ska uppnå… Visst, det är givetvis bra att kunna påvisa vilka krav du avser uppfylla från de olika standarderna, goda rekommendationerna osv. Men det tar dig inte närmre ett faktiskt och effektivt skydd.

Därför förespråkar jag istället att du vänder dig mot de faktiska skyddsåtgärderna. Och där tar det genast stopp. Här finns inga ramverk, eller bibliotek. Nu behöver du istället själv, eller tillsammans med kompetenta kollegor beskriva vad ni tycker är rimliga åtgärder.

Jag kommer nu att anta en Microsoft Windows-miljö. Följande skyddsåtgärder skulle jag välja:

  1. Regler för att begränsa exekvering av kod från löstagbara medier. Antingen med hjälp av AppLocker (för att kunna vitlista vissa applikationer) eller genom GPO-inställningar som helt stänger av möjligheten att exekvera kod från löstagbara medier.
  2. Inhämtning av logg som visar när en användare har försökt exekvera ett program från en sticka, lämpligt filter på event 4663.
  3. Och så givetvis lämpligt med generell AV-skanning för eventuella skadliga dokument och dylikt.

Sammanfattningsvis skulle jag alltså säga att vi behöver införa tre åtgärder för att uppnå en tillräcklig hantering av ATT&CK T1091.

Steg 3 - Kartlägga existerande åtgärder

Detta är kanske det enklaste steget. Åtgärd nummer 3 i mitt förslag ovan bör de flesta redan ha implementerat. Mindre troligt blir det dock på åtgärd 1 och 2. Men som sagt. Kontrollera vad ni har och om ni har det ni bedömt enligt steg 2 vara nödvändigt för den förmåga ni vill upprätta.

Efter några vändor genom den här processen bör antalet åtgärder sakta men säkert öka och då blir hanteringen och framförallt dokumenteringen av dessa ganska så viktigt. Nu måste jag få ursäkta mig och återkomma med ett förslag på hur ni lämpligen dokumenterar en större mängd åtgärder, hur dessa korrelerar mot ATT&CK-tekniker och eventuella krav. Jag har en idé, men inte dokumenterad…

Steg 4 - Inför resterande åtgärder

Det är sällan att en åtgärd kan införas utan några som helst bieffekter eller konsekvenser. Ni behöver ta ställning till om det finns några särskilda krav från era respektive verksamheter som innebär att eventuella åtgärder blir svåra att införa. Men annars är det inte särskilt märkvärdigt. Ni har anledningen till varför ni vill införa åtgärden och det bör vara tillräckligt för att gå vidare med en plan.

  1. Inför åtgärden på ett begränsat antal system.
  2. Testa att det fungerar som tänkt, i.e. program kan inte startas från löstagbara medier.
  3. Händelser loggar och kan inhämtas så som ni tänkt och SOC reagerar och har rutiner för hur larmen ska hanteras.
  4. Kör i någon vecka eller två, utöka antalet klienter och estimera antalet händelser över hela flottan av klienter.
  5. Inför fullständigt.

Mäta och dokumentera

… och antiklimax, men jag måste skjuta på detta till en framtida artikel eftersom denna redan är lång nog. Jag kommer inom kort återkomma med ett förslag på hur du kan dokumentera kopplingen mellan ATT&CK-tekniker och skyddsåtgärder, samt ett förslag på hur du kan använda detta som underlag för mätningar av skyddsförmågan.

FörsvarOffensivtMITRE ATT&CKIntroduktion

Christoffer Strömblad

Entusiastisk Jedi inom Cybersäkerhet

Har du läst dom här?

CIS Controls version 7 - Åtgärd 10 - Förmåga om hantering av backuper - (10/20)

Sammanfattning: Trustwave Global Security Report 2019