TLS-fingeraftryk

Opdagelse af uregelmæssigheder med TLS-fingeraftryk, kan afsløre kompromiser i software supply-chain

Researchere fra sikkerhedsanalysefirmaet Splunk skitserer en banebrydende teknik af Salesforce, der kan opdage ondsindet aktivitet i software supply-chain; dog med nogle begrænsninger.

Trojansk hest i legitime opdateringer

Typen af indtrængen, hvor hackere kompromitterer infrastrukturen af softwareudviklere og trojanisere legitime opdateringer er svære at opdage for brugere af de påvirkede softwareprodukter, som fremhævet af flere hændelser i løbet af de senere år. Researchere er enige om, at der ikke er nogen enkel løsning, men i forsvaret af netværk kan bruges en kombination af teknikker til at opdage subtile ændringer i, hvordan kritisk software og systemer opfører sig.

Føromtalte researchere har for nylig analyseret flere sådanne teknikker, der er afhængige af at opbygge unikke fingeraftryk for at identificere, hvilke softwareapplikationer der etablerer HTTPS-forbindelser. Forudsætningen er, at malware-programmer, uanset hvordan de leveres, ofte kommer med deres egne TLS-biblioteker eller TLS-konfigurationer og deres HTTPS-håndtryk vil være identificerbar i trafiklogs i forhold til TLS-klient-hashes af forhåndsgodkendte programmer.

Udnyttelse af JA3-standarden

Ideen om at bruge SSL/ TLS-klient fingeraftryk til at identificere ondsindet trafik på netværk er ikke ny. Forskere fra Salesforce udviklet en standard kaldet JA3, der bygger en MD5-hash ud af flere attributter af en klients TLS-konfiguration, der sendes i den såkaldte “klient hej” – startmeddelelsen om en TLS-håndtryk. Attributter som SSL-version, accepterede ciphers, liste over udvidelser, elliptiske kurver og elliptiske kurveformater sammenkædes, og der beregnes en MD5-hash ud fra resultatet. Selvom det er muligt for forskellige klientprogrammer at have lignende TLS-konfigurationer, menes kombinationerne af flere attributter at være unikke nok til at blive brugt til at identificere programmer.

En lignende tilgang kan bruges til at opbygge fingeraftryk til TLS-servere baseret på attributter i “server hello” meddelelser. Dette kaldes JA3S, men kan være mindre pålidelig, fordi servere understøtter flere TLS-versioner og konfigurationer og vil tilpasse deres svar baseret på, hvad klienten understøtter og anmoder om. Så den samme server vil reagere med et andet sæt TLS-konfigurationsattributter til forskellige klienter.

netværksovervågnings- og sikkerhedsværktøjer

Siden oprettelsen var JA3S-support blevet føjet til mange netværksovervågnings- og sikkerhedsværktøjer, både open source og kommercielle. Splunk-teamet har undersøgt effektiviteten af flere metoder til brug af JA3 i forbindelse med Splunk-dataanalyseplatformen med flere typer forespørgsler.

I test ved hjælp af virkelige virksomheds-data, sammen med data genereret fra test miljøer viser resultaterne med stor sandsynlig, at unormal aktivitet kan påvises via unormale JA3S-hashes. Efter al sandsynlighed vil en liste over tilladte være forpligtet til at begrænse antallet af opfattede falske positiver.

De bedste resultater vil være at registrere ondsindet trafik fra kritiske servere, der kører et begrænset antal programmer, der har tilladelse til at starte udgående forbindelser. For eksempel var dette tilfældet i SolarWinds software supply-chain-angreb, hvor hackere leverede en trojaniseret binær malware som en del af opdateringer til virksomhedens Orion-infrastrukturovervågnings- og administrationsplatform. Da målet er at overvåge infrastrukturen, skal SolarWinds Orion ofte have ubegrænset netværksadgang og kører normalt på en dedikeret maskine.

Første set og mest sjældne JA3-fingeraftryk

To typer forespørgsler, som Splunk-teamet undersøgte, er beregnet til at registrere “først sete” og “sjældneste” forekomster af JA3-fingeraftryk inde i netværkstrafik fra et bestemt værtssystem. Resultaterne af begge disse forespørgsler kan indikere potentielt uautoriserede programmer, f.eks. Detektering af unormal aktivitet via en forespørgsel er nyttigt, når man er bekendt med netværksaktivitet og gearede en liste over JA3S-hashes og/eller servernavne til at filtrere kendte enheder.

Tidsvinduet for de forespurgte trafikdata er også vigtigt, fordi hvis det er for bredt eller smalt og undersøgelser tyder på, at et tidsvindue på syv dage giver de bedste resultater med denne type forespørgsel.

Brug af en passende tidsramme og liste over tilladte er endnu vigtigere for forespørgsler af sjældneste typer, der er beregnet til at fremhæve den mindst hyppigt forekommende JA3S-hash ved at server_name i et datasæt. Resultaterne for denne type forespørgsel var inkonsekvente på tværs af forskellige tidsvinduer, med mange falske positiver, hvilket fik forskerne til at konkludere, at resultaterne af sådanne forespørgsler kun bør bruges i kombination med resultaterne af andre forespørgsler for at identificere mistænkelige forbindelser.

Anomalydetection

Forskerne brugte derefter en oprindelig Splunk kommando kaldet anomalydetection, der kan bruges til at filtrere resultaterne af forespørgsler og beregne en sandsynlighed score for hver begivenhed. Udnyttelse af anomypttection-kommando er meget effektiv til at identificere ondsindet unormal aktivitet over en 24- til 48-timers periode. Perioder længere end dette reducerede effektiviteten af forespørgslen. I eksperimenter af mindre netværk med en enkelt /24 netblock, blev den kendte ondsindede aktivitet konsekvent identificeret uden en liste over tilladte i top-30 begivenheder. Men i netværk med flere eller flere omfattende netblokke var dette ikke tilfældet.

Prioritering i håndtering af ondsindet aktivitet

For at forbedre analysens hastighed kan der bruges en teknik til lagring og bestilling af forespørgslens resultater i en opslagstabel og derefter køre andre forespørgsler mod den pågældende tabel. Selvom dette ikke forbedrede nøjagtigheden af anomaliregistreringen, bliver det mere skalerbart og omkring 100 gange hurtigere at bruge til daglige operationer.

Endelig kombinere JA3 forespørgsel resultater med data fra Sysmon, Windows system overvågning service og tillader langt mere kraftfuld håndtering af potentielle ondsindede aktivitet. Det skyldes, at Sysmon tilføjer oplysninger om proceskørsel.

Dette vil give mulighed for korrelere Windows-processer med JA3S-hashes sammen med server_name,” forskerne forklarede. For kan der identificeres en powershell.exe proces, der forbinder til en ekstern vært. For at indsamle de relevante data skal Sysmon være konfigureret til at indsamle hændelseshændelser (EventCode 3), der er startet af netværksforbindelsen (EventCode 3). Olaf Hartong har skrevet og open sourced et hjælpeprogram til modulopbygget konfiguration Sysmon, som kan være den nemmeste måde at indsamle de nødvendige data hurtigt.

Begrænsninger ved TLS-fingeraftryk

Mens disse metoder blev undersøgt af Splunk-teamet i forbindelse med virksomhedens dataanalyseplatform, er de ikke begrænset til den og kan tilpasses til at blive brugt sammen med andre dataindsamlings- og trafikanalyseværktøjer.

En stor begrænsning er imidlertid, at disse teknikker er tilbøjelige til at generere en masse falske positiver, når de bruges til at opdage uregelmæssigheder på tværs af slutpunkter, hvor generel browsing er tilladt, eller som genererer en stor mængde HTTPS-trafik fra forskellige applikationer til forskellige servere. Med andre ord fungerer disse teknikker til registrering af uregelmæssigheder bedst, når de anvendes på højrisikoprogrammer eller systemer af høj værdi, der kører i det mest kritiske netværkssegment.

Trinvise høj-risiko applikationsservere.

Måske ser du på noget som Microsoft, men du ser ikke på hver eneste desktop vært. Du kigger på din Windows Server 2016. Måske ser du på de aktiver, der specifikt er i dit niveau nul netværksområde.

Selvfølgelig påvirker softwareforsyningskædeangreb ikke kun serverlignende applikationer, der er implementeret på et begrænset antal systemer. I 2017 lykkedes det hackere at kompromittere infrastrukturen i CCleaner, et systemoptimerings- og oprydningsværktøj og leverede en trojaniseret opdatering til 2,2 millioner computere, der tilhører både forbrugere og virksomheder. Den anden fase nyttelast blev kun leveret til et begrænset antal af høj værdi mål, der omfattede tech-virksomheder. Samme år rapporterede Microsoft et angreb, hvor hackere kompromitterede opdateringsmekanismen til et tredjepartsredigeringsværktøj, der bruges af virksomheder. Det er den type produkter, der kan implementeres bredt på arbejdsstationer og medarbejder bærbare computere inde i en organisation.

Der er dog ikke noget enkelt produkt eller teknik, der vil være i stand til helt at opdage og blokere software supply-chain angreb, fordi disse angreb udnytter de legitime privilegier, som installerede programmer, har på computere og deres opdatering distributionskanaler. At gå tilbage til de dage, hvor softwareopdateringer ikke blev implementeret i måneder eller år, hvilket efterlod systemer sårbare over for offentligt kendte exploits, er heller ikke en løsning.

Et andet problem er, at mange virksomheder ikke har up-to-date software og it-aktiv opgørelser for at vide, hvilke programmer der kører på hvilke computere på deres netværk på alle tidspunkter. Dette gælder især nu, hvor mange medarbejdere arbejder hjemmefra og fra deres egne enheder, der har lov til at oprette forbindelse til virksomhedsnetværk. Selv med opdaterede konfigurationsstyringsdatabaser (CMDB’er) er det umuligt at oprette en liste over softwareopdateringsservere til alle mulige programmer, der findes på et netværk, fordi softwareleverandører ikke åbent offentliggør disse oplysninger. Selvom de gør det, ændres deres domænenavne og IP-adresser ofte.

Virksomheder er nødt til at begynde at løse dette problem eller andet sted og fokusere på højrisiko-applikationer og servere, der ellers skulle have ret begrænsede udgående forbindelser til internettet, lyder som et godt sted at starte.

Første skridt er at oprette denne aktivliste og så kan du anvende forskning, som hvad vi har gjort her, omkring at opdage software supply-chain-angreb ved hjælp af noget som JA3S. Start bredt og få resultater med det samme, men uden at have granularitet og nøjagtighed. Se specifikt på outputtet eller ændringerne af snarere end alt på dit netværk.

Kilde: CSOonline