Fuzzy hashing hjelper forskere med å oppdage morphing malware

Det er åpenbart, men jeg må si det. Det er noe galt med eksisterende innsats for å skvise skadelig programvare. Hva som er galt, varierer fra ekspert til ekspert. Men det er enighet. Anti-malware-apper har reaktive komponenter . Og det er ikke bra, men kreves inntil noe bedre overflater.

Signaturbasert deteksjon er en slik komponent. Signaturer, også kjent som fingeravtrykk, er kryptografiske hasjer av individuelle stykker skadelig programvare. Utvikleren mot skadelig programvare kompilerer fingeravtrykk og passende heuristiske parametere i en database som brukes av programvaren mot malware for å oppdage skadelig programvare.

Der er den. Malware må være i hånden før en signatur kan gjøres.

Hvorfor bruke hashing?

Jeg var ikke forberedt på resultatene da jeg googlet "hasj". Røyk det? Min sønn slapp et nå kjent sukk mens han beviste dette. Jaja. Jeg fant det jeg lette etter.

Kryptografiske hasjer brukes av mange grunner. Den som er relevant for diskusjonen vår er raskere behandling. Husk hvordan anti-malware-apper fungerer. De skanner hele filen på jakt etter ondsinnet kode. Det tar tid, og brukeren vil være følsom for en for stor mengde ved nedlasting.

Hvorfor ikke konvertere både testutdraget med malkode og den mistenkelige filen til individuelle digitale hasj (mye raskere enn skanning)?

Tøft tema

I begynnelsen var jeg opptatt av å ta et tema som involverer hashing. Det er deler av prosessen jeg ikke forstår. Feilaktig nevnte jeg dette for min mentor. Jeg burde ha forventet comebacket hans. "Du jævla vel bedre å finne ut av det. Leserne fortjener så mye."

Ikke ville ha mer av guffene hans, mumlet jeg noe om å måtte gå, hang med og kom på jobb.

Hva er hashing?

For de som er så tilbøyelige, fører denne koblingen til Wolframs matematiske forklaring på hashing. Å være en slags fyr på Wikipedia, foretrekker jeg denne definisjonen:

"I informatikk er en fingeravtrykkalgoritme en prosedyre som kartlegger et vilkårlig stort dataelement (for eksempel en datafil) til en mye kortere bitstreng, dens fingeravtrykk, som unikt identifiserer de originale dataene for alle praktiske formål, akkurat som menneskelige fingeravtrykk identifiserer mennesker unikt for praktiske formål. "

Min ta (forenklet faktisk): Digitale signaturer / fingeravtrykk er magisk beregnet fra en del av faktisk malkode ved hjelp av en hasjalgoritme.

Ved å bruke den samme hasjalgoritmen fungerer anti-malware-appen den samme magien på filen som testes. Hvis sluttproduktene ikke er identiske, regnes filen som fri for skadelig programvare.

Der ligger gni: "nøyaktig identisk" kreves.

Problemet

Prosessen med å teste ved å sammenligne hasjresultater ligner på hvordan jeg ser på verden. Ting er enten svart eller hvitt; grå beregner ikke. Forståelse av dette modifiserer malware-utviklere kontinuerlig koden sin.

Når en fil som er infisert med den nylig endrede malware, blir skannet, blir resultatene forskjellige fra hva som helst i signaturdatabasen. Hjem gratis og oversiktlig, til:

  • Den nye malware-varianten blir lagt merke til av utvikleren mot malware.
  • Den skadelige programvaren er omvendt konstruert for å forstå hva den gjør.
  • En ny signatur / fingeravtrykk opprettes.
  • Signaturen skyves ut til alle eksisterende klientapplikasjoner.

Mann. Det må være frustrerende for de gode gutta, alltid bak kurven. Jeg lurer. Hva om ting ikke måtte være verken svart eller hvitt?

Fuzzy hashing til unnsetning

Som undertittelen tilsier er nå gråtoner mulig. Introduksjonen min til fuzzy hashing kom fra å lære hvordan den brukes til å bekjempe spam. Dr. Andrew Tridgell utviklet Spamsum i et forsøk på å identifisere vanlige indekser i spam e-post:

"Fuzzy hashing gjør det mulig å oppdage potensielt skjellsettende dokumenter som kanskje ikke er lokalisert ved hjelp av tradisjonelle hashingmetoder. Bruken av den fuzzy hash er omtrent som det uklare logiske søket; det leter etter dokumenter som er like, men ikke akkurat like, kalt homolog filer."

Bygger på Spamsum

Mr. Jesse Kornblum er kreditert for å ha tatt Spamsum og konseptet om kontekst utløst stykkevis hasj (fuzzy hash) et skritt videre da han utviklet ssep. Han beskriver verktøyet i denne artikkelen:

"Ssdeep er en ny teknikk for å konstruere hasjunderskrifter ved å kombinere et antall tradisjonelle hasjer hvis grenser bestemmes av konteksten til inndataene. Disse signaturene kan brukes til å identifisere modifiserte versjoner av kjente filer; selv om data er satt inn, modifisert, eller slettet i de nye filene. "

Enda mer magi

Hvis du husker, unngikk jeg dypt matematikken rundt kryptografisk hashing. Det vil jeg nok en gang prøve. ("Sønn, jeg ser ikke humoren ved å tømme 'halt' her.")

Uansett, kom jeg på noen interessante undersøkelser av Mr. David French, seniormedlem i Carnegie Mellons programvareingeniørinstitutt. Hvis du husker, nevnte jeg at uklar hashing ble brukt til å oppdage spam. Mr. French undersøker bruken av uklar hashing som et verktøy for å oppdage malware (lenke).

Her kommer den dyktigheten. Etter å ha tatt en fullstendig objektiv undersøkelse, viste det seg at du foretrekker å ha uklar hashing forklart av Mr. French, en akademisk ekspert.

Kassner : Mitt forsøk på å beskrive uklar hashing ovenfor er utilstrekkelig. Kan du gi leserne en kort oversikt over hva det er og hvordan det fungerer? Fransk : Det er mange teknikker som kan betraktes som uklar hashing. De fleste involverer to distinkte og komplementære algoritmer. Selve hasjalgoritmen, og sammenligningsalgoritmen for å bestemme om hasj "samsvarer." Når det gjelder ssdeep, er algoritmene som brukes open source, og kan undersøkes i både ssdeep og den opprinnelige spamsum kildekoden.

På et veldig høyt nivå er uklar hashing en måte å finne ut om to innganger er like, snarere enn identiske . Fuzzy hashes fungerer ved å hakke opp inndatadataene i enten blokker i fast størrelse, eller blokker hvis størrelse er avhengig av inndatadataene. Blokkene reduseres ytterligere til et mindre antall dataverdier. For eksempel ved å haske individuelle blokker inn i enkeltbyteverdier.

Deretter tar vi det reduserte settet med dataverdier, "uklar hasj", og sammenligner det med andre uklare hasj ved bruk av noen sammenligningsfunksjon. Ideelt sett vil sammenligningsfunksjonen gi noe brukbar beregning eller avstand, der vi kan bestemme om inngangene er like eller ikke.

Kassner : Når kom du først i kontakt med uklar hashing, og hva fikk deg til å vurdere å bruke den til å studere deteksjon av skadelig programvare? Fransk : Fuzzy hashing har vunnet enorm popularitet de siste fem årene. Det er mange offentlig tilgjengelige presentasjoner og publikasjoner angående bruk av uklar hashing for ting som for eksempel rettsmedisiner for digitale medier. Det er også offentlige studier som beskriver hvordan uklar hashing brukes til å oppdage lignende skadelig programvare.

Min interesse for fuzzy hashing når det gjelder malware er å forsøke å tallfeste hvor nyttig fuzzy hashing kan være mot malware. Ondsinnet kode er veldig forskjellig fra andre domener der fuzzy hashing kan brukes (for eksempel bioinformatikk) fordi det involverer menneskelige motstandere som drar fordel direkte av å hindre andre i å forstå programvaren deres.

Kassner : Normal hashing kan fastslå filer som er eksakte duplikater. Men fuzzy hashing oppdager "nesten identiske" filer, hvorfor er det viktig? Fransk : Viktigheten av å oppdage nesten identiske filer, nærmere bestemt identisk ondsinnet kode, er drevet av økonomien i malware-analyse. Menneskelige analytikere er dyre å trene, og deres tidsbruk på å analysere ondsinnet kode er svært verdifull.

Ingen programvare eller automatisert prosess kan erstatte oppfinnsomhet, intuisjon og holdbarhet til den menneskelige analytikeren. Imidlertid har enhver metode som er i stand til å oppdage vesentlig likhet mellom en fil som vurderes og en tidligere analysert fil, potensial for å spare tid og penger.

Kassner : Er det en god applikasjon du brukte til forskningen din? Kunne du snakke om effektiviteten? Fransk : Ssdeep er et av programmene jeg vil bruke til forskningen min. Målet med forskningen min er å kvantifisere effektiviteten deres spesifikt mot ondsinnet kode. Jeg kan ikke diskutere resultatene mine på dette tidspunktet. Kassner : Ser du noen andre potensielle bruksområder for uklar hashing? Fransk : Fuzzy hashing kan generelt brukes på hvilket som helst datadomen der det er ønskelig å observere vesentlig likhet mellom datasettene. De eneste begrensningene er om det aktuelle datadomenet kan kodes slik at den uklare hasj gir mening. Ideelt sett kan data ordnes lineært som en slags ordnet sett, slik at ordren og innholdet er viktig.

Virkelighetseksempel

I min søken etter å få tak i uklar hashing, løp jeg over et interessant eksempel på hvordan det kunne brukes. Kornblum utvekslet ideer med noen få mennesker på dette forumet. Et av plakatene foreslo:

"En merkelig applikasjon, kanskje, men relatert til det universitetet mitt automatisk går imot innlevering av studentprosjekter for juks i CS-klasser på lavt nivå, der du har tusen studenter og flere forskjellige klassetrinn."

Plakaten fortsetter:

"Du vil bli overrasket (eller kanskje ikke) hvor mange mennesker vi fanget med en lignende prosess fordi de trodde å endre ting kompilatoren strips ut uansett, ville gjøre kopieringen deres ikke påvisbar."

Jeg spøkte med det tidligere, men å kunne bestemme gråtoner digitalt er ikke noe mindre fantastisk.

Siste tanker

Det kan ikke virke som det, men uklar hashing har potensial til å endre måten vi ser på vår verden på. For eksempel bruker genetikere fuzzy hashing for å sammenligne gensekvensen til en ukjent mikroorganisme med den med et kjent genom.

Jeg vil rette en takk til Mr. French for hans nyttige svar og til Richard Lynch, også fra Carnegie Mellon, for å ha gjort det mulig.

© Copyright 2021 | pepebotifarra.com