уторак, 2. јул 2013.

Šta su potpisi u AV terminologiji - "malware signatures"


Prikupljanje uzoraka malicioznih kodova i dalje je glavna metodologija u razvoju detekcionih sistema za prepoznavanje virusa. Radi se o ogromnim bazama, McAfee je, na primjer, 2012. imao u svojim bazama preko 110 miliona uzoraka. Desetine hiljada potencijalnih malver kodova prijavljuju im se svakodnevno.

Naravno, bilo bi nemoguće čuvati u bazama čitave kodove, a skeniranje sa takvim uzorcima bi potpuno zagušilo sistem. Zato se kreira jedinstvena sekvenca na osnovu kompletnog sadržaja koda koja se zove potpis (signature). Ovo se obično radi heš funkcijom nad cijelim sadržajem koja kao rezultat daje znatno kraću sekvencu koja jednoznačno određuje sadržaj.

Heš funkcija H(M) korištena u kriptografiji treba da ima sljedeće osobine:
  • Kompresija - izlazna sekvenca mora biti kratka
  • Efikasnost - izračunavanje H(M) za neki sadržaj M se računa lako
  • Jednosmjerna je - Ako je poznato S kao rezultat heširanja H(M) , praktično je nemoguće naći M takvo da je H(M)=S
  • Otpornost na kolizije: 
    • za zadato M i H(M) nemogće je naći N≠M takvo da je H(N) = H(M)
    • nemoguće je naći N i M , N≠M takve da je  H(N) = H(M)
    • zapravo, postoji puno kolizija, ali ih je nemoguće pronaći
  • Efekat lavine - Promjena u jednom bitu sadržaja izaziva promjenu otprilike polovine izlaznih bitova
Najpopularnije heš funkcije su MD5 ,sa 128 bitnim izlazom, (tek nedavno otkrivene prve kolizije), i SHA-1, 160-bitni izlaz, koji kao standard koristi vlada SAD. Postoji još mnogo heš funkcija, ove su najčešće. Takođe, nije svaka heš funkcija kriptološka.

Mnogi od potpisa već su ugrađeni u operativne sisteme. To se posebno odnosi na potpise "dobrog" softvera,  pa tako imamo dodatnu zaštitu pri instalaciji drajvera i slično, naime, operativni sistem će nas upozoriti ako pokušavamo da instaliramo nešto što nema legitimni sertifikat, odnosno čiji potpis ne postoji u bazi sertifikovanog.

Budući da se broj novih, jedinstvenih kodova virusa povećava iz dana u dan, baze podataka potpisa se enormno povećavaju. Problem distributera AV proizvoda je: Kako distribuirati tolike količine heš potpisa desetinama miliona korisnika, nekoliko puta na dan?

Jedno od novih rješenja je korištenje string potpisa ("string signatures") , gdje se zapravo jednom kratkom kontinualnom sekvencom bajtova iz malicioznog koda  referencira na više virusa u okviru jedne familije.
Tako da, iako je string potpis veći od heš potpisa, generalno zauzima se manje mjesta u bazama, jer referencira na više virusa odjednom, familiju, te jedan string potpis zauzima puno manje prostora nego svi heševi koje zamjenjuje.
U početku su se ovi potpisi kreirali manuelno, jer je automatski bilo teško odrediti koja je to sekvenca bajtova iz koda virusa sa najmanjom vjerovatnoćom greške, odnosno njenog pojavljivanja u nekom goodware kodu.
Symantec je razvio Hancock - sistem za automatsko generisanje string potpisa sa zanemarivo malim stepenom greške i maksimalnim pokrivanjem familija virusa.


Preporuka za čitanje:
Automatic Generation of String Signatures for Malware Detection
Kent Griffin, Scott Schneider, Xin Hu, and Tzi-cker Chiueh
Symantec Research Laboratories - LINK

Нема коментара:

Постави коментар