Siirry pääsisältöön
Technology

Emulaattori

Emulaattori suorittaa kohteen käskyt yksi kerrallaan turvallisessa virtuaaliympäristössä, kerää artefaktit ja siirtää ne heuristiselle analyysitoiminnolle binaaritiedoston tai komentosarjan haitallisen toiminnan tunnistamiseksi.


Tietoja koodin emulointitekniikasta

Haittaohjelmien tunnistuksen käyttämä koodin emulointimenetelmä tarkistaa tiedoston toiminnan emuloimalla sen suorituksen virtuaalisessa (emuloidussa) ympäristössä. Yleisesti ottaen tämä menetelmä muistuttaa testiympäristössä tapahtuvaa haittaohjelmien tunnistusta, mutta emulointi ja kaikki ominaisuudet sisältävä testiympäristö eroavat toisistaan rakenteen ja soveltamisen osalta. Tutustutaanpa niiden eroihin.

Kaikki ominaisuudet sisältävä testiympäristö, toisin kuin emulaattori, on ”raskaan sarjan” menetelmä. Se emuloi koko ympäristön ja suorittaa tarkistettavan esimerkkikoodin virtuaalikoneessa, johon on asennettu oikea käyttöjärjestelmä ja sovellukset. Näin ollen tämä menetelmä vaatii paljon laskentatehoa ja aiheuttaa yhteensopivuusrajoituksia isäntäjärjestelmälle. Tästä syystä testiympäristö on tehokkain keskitetyissä paikallisissa ja pilvipohjaisissa ratkaisuissa. Se ei sovellu haittaohjelmien tunnistukseen käyttäjien koneilla tai muissa tavallisissa tietokoneissa.

Emulaattoriemuloi vain pelkän esimerkkikoodin suorituksen. Se luo tilapäisesti kohteita, joiden kanssa esimerkkikoodi on vuorovaikutuksessa: salasanoja, joita haittaohjelma haluaa varastaa, virustorjuntaohjelmia, joita se yrittää pysäyttää, muistin, järjestelmärekisterin jne. Nämä kohteet eivät ole oikeita käyttöjärjestelmän tai ohjelmiston osia, vaan emulaattorin luomia jäljitelmiä. Koska emuloitu ympäristö on emulaattorin hallinnassa, se voi siirtyä nopeasti ajassa eteenpäin, nähdä tiedoston tulevan toiminnan ja estää haittaohjelman aikaviiveeseen perustuvan väistötekniikan.

Emulaattori määrittää tarkistettavan tiedoston keskeisen toiminnan, mutta se käyttää paljon vähemmän resursseja kuin testiympäristö, ja se soveltuu käyttäjien koneisiin. Tuntemattomien tiedostojen suoritusta lykätään yleensä siihen saakka, että ne on tarkistettu emulaattorilla. Emulointi ei ole uusi lähestymistapa, mutta jotkin emulaattorit ovat hyvin edistyksellisiä ja niillä on huomattava merkitys haittaohjelmien tunnistuksessa. Nykypäivän emulaattoreissa käytetään pilvipohjaisia mainepalveluita, ja koneoppiminen parantaa niiden tehoa.

Kaspersky Emulator

Ratkaisumme sisältävät emulaattorin yhtenä suojauksen osana monitasoisessa suojauksessa. Se emuloi binaaritiedostoja ja komentosarjoja, ja viimeksi mainittujen merkitys kasvaa komentosarjapohjaisten tiedostottomien hyökkäysten yleistyessä.

Emulointi on optimoitu tietokoneen rajallisia resursseja silmällä pitäen. Se vie paljon vähemmän RAM-muistia kohdetta kohti kuin testiympäristö, ja se tarkistaa samanaikaisesti useita kohteita kuormittamatta järjestelmää merkittävästi. Laitteistokiihdytyksen ansiosta emulaattori voi käyttää suoritinta turvallisesti tarkistuksen nopeuttamiseen noin 20-kertaiseksi.

Ratkaisumme käynnistävät emuloinnin tarkistuksen tarvittaessa, käyttäjän pyytäessä levyn tarkistusta tai käytön aikana, kun kohde tarkistetaan automaattisesti ennen kuin sitä käytetään tai se suoritetaan. Emulointi voi käynnistyä samanaikaisesti muiden tunnistusmenetelmien kanssa, kuten pyydettäessä prosessin mainetta pilvipalvelusta.

Emulaattoreita käytetään Kasperskyn päätepisteratkaisuissa, yhdyskäytävätason ratkaisuissa (esim. välitys- ja sähköpostipalvelimissa) ja virtuaaliympäristöjen suojauksessa. Kasperskyn infrastruktuurissa tehokkaat emulaattorit ovat osa kohteiden luokittelun työnkulkua.

Emulaattorin tehtävät:

  • Emuloi suoritettavien tiedostojen (PE) suorituksen: *.exe, *.dll, *.sys ja muut Windows-ympäristössä.
  • Käsittelee JavaScript-, VBScript- ja AutoIT-komentosarjatyypit ja erilliset komentosarjat (ladattu tiedostoina).
  • Tarkistaa verkkolinkin (verkkosivulla, sähköpostiviestissä, viestissä) kautta vastaanotetut komentosarjat, jotka on upotettu PDF- ja MS Office -tiedostoihin.

Päivitykset

Emulointitekniikka on toteutettu emulointiytimellä ja tunnistuksen tietueilla, jotka analysoivat ytimen tarjoamat tiedot. Tietueet ovat Kasperskyn luomia, ja ratkaisut lataavat päivitykset tunneittain. Yksi tunnistuksen tietue voi tunnistaa useita haittaohjelmakoodeja, joissa on erilainen binaarisisältö, mutta samankaltainen toiminta.

Haittaohjelmien tunnistuksen työnkulku

  1. Emulaattori saa toiselta suojausratkaisun komponentilta pyynnön tarkistaa kohteen (suoritettavan tiedoston tai komentosarjan).
  2. Emulaattori suorittaa kohteen käskyt turvallisesti yksi kerrallaan virtuaaliympäristössä aloittaen kohteen sisäänpääsykohdasta. Jos komento on vuorovaikutuksessa ympäristön (käyttöjärjestelmän, rekisterin, muiden tiedostojen, Internetin, muistin jne.) kanssa, emulaattori jäljittelee näiden kohteiden antamaa vastausta.
  3. Emulaattori kerää artefaktit ja siirtää ne heuristiselle analyysitoiminnolle. Analyysitoiminto antaa näiden artefaktien perusteella tuloksen komponentille, joka pyysi analyysin.
  4. Emulointi päättyy, kun haittaohjelman tunnistamiseen on riittävästi artefakteja, tai aikakatkaisun takia.

Emulaattorin keräämät artefaktit

Suoritettaville tiedostoille (binaaritiedostoille):

  • ohjelmointirajapinnan kutsuloki
  • kaikki tiedostojärjestelmän ja järjestelmärekisterin muutokset
  • muistivedokset

Komentosarjoille:

  • merkkijonotoimintojen argumentit ja palautukset
  • upotettujen toimintojen ja ympäristön tarjoamien toimintojen kutsut
  • tapahtumat
  • asennukset tiedostojärjestelmään ja alikomentosarjat

Väistötekniikoiden torjunta

Osaavat haittaohjelmien kirjoittajat varustavat haittaohjelmansa ominaisuuksilla, joiden tarkoituksena on estää emulointia havaitsemasta niitä. Emulaattorimme seuraa ja torjuu näitä uusia väistötekniikoita. Esimerkkejä:

Väistötekniikka A:Haittaohjelma on purettava ennen suoritusta. Tämä vie paljon laskenta-aikaa ja riittää yleensä tunnistuksen välttämiseen emuloinnin aikakatkaisun takia.

Väistötekniikan A torjunta:Emulaattori tunnistaa pakatut tiedostot ja säätää emuloinnin syvyyttä sen mukaisesti. Laitteistokiihdytys tarjoaa emulaattorille riittävästi tehoa purkamiseen.

Väistötekniikka B:Ennen haitallisen sisältönsä suoritusta haittaohjelma saattaa käyttää verkkoresursseja tai ympäristönsä parametreja (esim. tietokoneen nimeä, levyn kokoa) ja tarkistaa, ovatko ne saatavilla ja hyödyllisiä. Jos hyödyllistä vastausta ei saada, haittaohjelma ei suorita sisältöään ja välttää tunnistamisen.

Väistötekniikan B torjunta:Kun emulaattori saa tarkistettavan tiedoston pyynnön, se jäljittelee ympäristöä ja järjestelmäresursseja koskevia tietoja tehden niistä mahdollisimman hyödyllisiä. Se esimerkiksi satunnaistaa tietokoneiden nimet, jotta haittaohjelma ei voi käyttää tiettyjen tietokoneiden nimiä merkkinä siitä, että sitä suoritetaan emulaattorissa.

Aiheeseen liittyvät tuotteet

ARTICLE

A Modern Hypervisor as a Basis for a Sandbox


ARTICLE

“The evolution of technologies used to...

Riippumattomien vertailujen tulokset

Aiheeseen liittyvät tekniikat

Monitasoinen suojaus

Aito kybersuojaus perustuu eri suojaustekniikoiden synergiaan, aina perinteisistä virustorjuntatietueista toimintaan perustuvaan havaitsemiseen ja syväoppimisen malleihin.

Testiympäristö

Paikallisesti, pilvipalvelussa ja Kasperskyn haittaohjelmien analysointi-infrastruktuurissa toimivat testiympäristöt käyttävät erilaisia väistötekniikoiden torjuntatapoja, ja niiden tunnistusta tehostetaan Kaspersky Security Network -palvelun uhkatiedoilla.

Kehittynyt suojaus kohdistettuja hyökkäyksiä vastaan: KATA-ympäristö

Jotta voidaan havaita kaikkein monimutkaisimmat uhat, kuten APT-hyökkäykset, ja reagoida niihin tehokkaasti, yrityksen infrastruktuurista koostettujen tapahtumien ja kohteiden käsittelyyn on käytettävä kehittyneitä tekniikoita, kuten koneoppimista, testiympäristöjä ja automaattista/ennakoivaa uhkien etsintää.