Testiympäristö
Tietoja testiympäristön tekniikasta
Testiympäristö on haittaohjelmien tunnistuksen järjestelmä, joka suorittaa epäilyttävän kohteen virtuaalikoneessa, jossa on kaikki ominaisuudet sisältävä käyttöjärjestelmä, ja tunnistaa kohteen haitalliset toimet analysoimalla sen toimintaa. Jos kohde suorittaa haitallisia toimia virtuaalikoneessa, testiympäristö tunnistaa sen haittaohjelmaksi. Virtuaalikoneet on eristetty yrityksen varsinaisesta infrastruktuurista.
Testiympäristöt analysoivat kohteen toimintaa sen suorituksen aikana, mikä tekee niistä tehokkaita sellaisten haittaohjelmien löytämiseen, jotka välttävät staattisen analyysin. Muihin toiminta-analyyseihin verrattuna testiympäristö on turvallisempi, koska se ei vaaranna yrityksen infrastruktuuria suorittamalla siinä epäilyttäviä kohteita.
Kaspersky Sandbox
Kehitimme testiympäristömme muutamia vuosia sitten. Omassa infrastruktuurissamme se on yksi työkaluista, joita käytämme haittaohjelmien analyysiin, tutkimiseen ja virustorjuntatietokantojen luontiin. Testiympäristö on myös osa Kaspersky Anti-Targeted Attack Platform -ratkaisua ja Kaspersky Threat Intelligence Platform -ratkaisua. Se auttaa arvioimaan tiedostot ja URL-osoitteet haitallisiksi tai harmittomiksi, ja antaa niiden toiminnasta tietoja, joista on hyötyä tunnistussääntöjen ja -algoritmien luonnissa.
Testiympäristön ominaisuudet
- Testiympäristö perustuu laitteiston virtualisointiin, mikä tekee siitä nopean ja vakaan.
- Virtuaalikoneita on saatavilla seuraaville:
- Windows-käyttöjärjestelmä (kaikki tietokoneiden versiot Windows XP:stä alkaen, kaikki palvelinten versiot Windows Server 2003:sta alkaen)
- Android-käyttöjärjestelmä (x86, ARM-suoritinarkkitehtuuri)
- Testiympäristö valvoo tutkitun prosessin vuorovaikutusta käyttöjärjestelmän kanssa. Epäilyttävissä tapauksissa testiympäristö tutkii sitä tarkemmin.
- Testiympäristö tunnistaa hyökkäyksen sen alkuvaiheista lähtien. Se tunnistaa yleiset hyväksikäytön tyypit, joita ovat esimerkiksi paluukutsujen (ROP) käyttö, heap spray, stack pivot, suojausavainten muutokset ja muistin suojauksen epäilyttävät muutokset. Testiympäristö pystyy tunnistamaan myös kehittyneen hyväksikäytön, jota käytetään kohdistetuissa hyökkäyksissä.
Suoritettavat kohdetyypit
- Windows: kaikki tiedostot, esim. *.exe, *.dll, .NET-objektit, MS Office -tiedostot, PDF-tiedostot
- Android: APK (DEX)
- URL-osoitteet: testiympäristö siirtyy URL-osoitteeseen ja tunnistaa muun muassa seuraavat tapahtumat: lataukset, JavaScriptin ja Adobe Flashin suorituksen
Haittaohjelmien tunnistuksen työnkulku
- Testiympäristö vastaanottaa toiselta suojausratkaisun komponentilta pyynnön tarkistaa kohde (tiedosto tai URL-osoite) sekä ohjeet: käyttöjärjestelmän ja kokoonpanon kohteen suorittamiselle, kohteen suoritusparametrit, muut virtuaalikoneeseen asennetut kolmannen osapuolen sovellukset, testin aikarajoituksen jne.
- Testattava kohde suoritetaan.
- Testiympäristö kerää artefaktit määritetyltä aikaväliltä. Jos kohde on vuorovaikutuksessa muiden sellaisten prosessien tai URL-osoitteiden kanssa, joiden maine tunnetaan, testiympäristö tallentaa tiedon.
- Testiympäristö analysoi artefaktit ja toimittaa tuloksen pyynnön lähettäneelle järjestelmälle: haittaohjelma tai harmiton. Testiympäristö lisää kohteen tiedot tulokseen (tunnus, ominaisuudet, lokit, toiminnan tiedot). Tämä voi auttaa tekemään lisäanalyyseja ilman, että on tehtävä uusi pyyntö testiympäristöön.
Testiympäristön keräämät artefaktit
- sovellusten suorituslokit (ohjelmointirajapinnan funktiokutsut ja parametrit, suoritustapahtumat)
- muistivedokset
- ladattujen moduulien vedokset
- tiedostojärjestelmän ja rekisterin muutokset
- verkkoliikenne (PCAP-tiedostot)
- näyttökuvat (helpompaan seurantaan ja manuaaliseen analysointiin, jos tarpeen)
- hyväksikäyttötoiminnon artefaktit
Väistötekniikoiden torjunta
Nykypäivän haittaohjelmille on tyypillistä pyrkiä tunnistamaan ja välttämään testiympäristö. Kun haittaohjelma tietää, että sitä suoritetaan testiympäristössä, se saattaa ohittaa haitallisten toimien suorittamisen, poistaa itsensä levyiltä, keskeyttää itsensä tai käyttää muuta väistötekniikkaa.
Laitteiston testiympäristön valvonnan yksinkertaisempi rakenne (esim. ohjelmointirajapinnan funktioiden kaappaaminen) jättäisi jälkiä, joista ilmenee, että epäilyttävää prosessia seurataan. Toteutimme näin ollen muita valvontatekniikoita, jotka ovat huomaamattomia eivätkä jätä tarkistettavalle kohteelle näkyviä jälkiä. Testiympäristö ohjaa suoritinta ja RAM-muistia, mutta ei muokkaa prosessin toimintaa, muistia tai levyllä ja muistissa olevia järjestelmäkirjastoja eikä jätä jälkiä valvonnasta.
Seuraamme myös uusia väistötekniikoita ja säädämme testiympäristöämme niiden torjumiseksi, esimerkiksi seuraavasti:
Väistötekniikka A: Testiympäristö vastaa jonkin tunnetun tuotemerkin testiympäristöä. Haittaohjelma tunnistaa sen ja välttää tunnistuksen.
Väistötekniikan A torjunta:Testiympäristömme satunnaistaa virtuaalikoneympäristön ennen virtuaalikoneen käynnistystä.
Väistötekniikka B: Haittaohjelmisto pystyy tunnistamaan testiympäristön, koska käyttäjien toimet puuttuvat. Joidenkin haittaohjelmien suoritus vaatii, että käyttäjän on annettava salasanana sähköpostista, käytävä läpi ohjattu toiminto tai suoritettava muu ”ihmisen” toimi. Monet testiympäristöt eivät emuloi tätä, ja tästä syystä ne eivät näe haittaohjelmiston aktivoitumista.
Väistötekniikan B torjunta: Testiympäristömme emuloi käyttäjien toimia: hiiren liikkeitä ja avattavien asiakirjojen vierittämistä. Lisäksi testiympäristömme tekee monia asioita, joilla käyttäjät aktivoivat haittaohjelmia.
Kaspersky Sandboxin avulla paljastetut hyökkäykset
Esimerkkejä Kasperskyn infrastruktuurituotteiden testiympäristöjen avulla löydetyistä kohdistettujen hyökkäysten uusista aalloista vuosina 2016–17. Sofacy (lokakuu 2017), Zero.T (loka- ja marraskuu 2016, huhtikuu 2017), Enfal (syys-, loka- ja marraskuu 2016), Freakyshelly (lokakuu 2016), NetTraveller (elokuu 2016), CobaltGoblin (elokuu 2016), Microcin (kesäkuu 2016) ja muita.