Designing a Parasitic Virus for a Malware Analysis Course
Höckert, Robin (2025)
Höckert, Robin
2025
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2025060621080
https://urn.fi/URN:NBN:fi:amk-2025060621080
Tiivistelmä
Haittaohjelmien analysoinnin opetuksessa havaittiin puutteita käytännönläheisestä materiaalista, joka tasapainottaisi analysoinnin realistisuuden ja turvallisuuden. Vastauksena siihen suunniteltiin parasiittinen Windows-virus laboratorioartefaktiksi tulevalle haittaohjelmien analysointikurssille. Tavoitteena oli luoda konfiguroitava haittaohjelma, joka tartuttaisi isäntäohjelmat vaarattomalla mutta toiminnallisella hyötykuormalla. Ohjelman tuli esitellä nykyaikaisia peittelytekniikoita, takaisinmallinnuksen- ja virheenjäljittimen estotekniikoita myös edistyneemmille korkeakouluopiskelijoille.
Artefakti tuotettiin suunnittelutieteellisen tutkimuksen avulla. Aluksi relevantit esto- ja väistötekniikat tutkittiin kirjallisuudesta ja ammatillisista kursseista. Valitut ominaisuudet toteutettiin C-kielellä, käännettiin x64-alustalle ja arvioitiin toiminnallisuus- sekä analysoitavuuskriteerien perusteella virtuaalikoneissa, joissa oli käytössä tavanomaiset takaisinmallinnustyökalut. Tilaajalle toimitettiin haittaohjelman lisäksi käytännönläheinen läpikäynti sekä modulaarinen lähdekoodi, jossa oli käännösaikaiset kytkimet ominaisuuksien muuttamista varten.
Projektin onnistumista arvioitiin kahdesta näkökulmasta. Ensinnäkin suuret kielimallit, jotka oli integroitu avoimen lähdekoodin takaisinmallinnusohjelmistoon kontekstinjakoprotokollan avulla, tunnistivat oikein 12 viidestätoista ennalta määritetystä analyysikohteesta. Tämä osoitti automaattisten työkalujen olevan hyödyllisiä mutta virhealttiita. Toiseksi monimoottorinen virustorjuntasivusto raportoi havaitsemisia 26:lla 72:sta virustorjuntamoottorista sekä yksityiskohtia niiden ominaisuuksista, kun taas julkisesti saatavilla oleva dynaamisen analyysin hiekkalaatikko ei tuottanut lainkaan hälytyksiä, korostaen puolustusalustojen kattavuuden vaihtelua.
Päätelmänä oli, että yksittäinen, hyvin dokumentoitu parasiittinen virus voisi täyttää kurssin tavoitteet, perehdyttää opiskelijat realistisille väistömalleille ja pysyä vaikeustasoltaan hallittavana käännösaikaisten ominaisuuskytkimien avulla. Automaattisten staattisen analyysin työkalujen todettiin nopeuttavan rutiinitehtäviä, mutta ne vaativat silti asiantuntijan valvontaa. Hiekkalaatikkojen suorituskyvyn havaittiin riippuvan voimakkaasti valitusta alustasta. Suosituksena oli artefaktin pelillistäminen lipunryöstö-kehykseen ja kerätä empiiristä oppimistulostietoa tulevissa iteraatioissa.
Artefakti tuotettiin suunnittelutieteellisen tutkimuksen avulla. Aluksi relevantit esto- ja väistötekniikat tutkittiin kirjallisuudesta ja ammatillisista kursseista. Valitut ominaisuudet toteutettiin C-kielellä, käännettiin x64-alustalle ja arvioitiin toiminnallisuus- sekä analysoitavuuskriteerien perusteella virtuaalikoneissa, joissa oli käytössä tavanomaiset takaisinmallinnustyökalut. Tilaajalle toimitettiin haittaohjelman lisäksi käytännönläheinen läpikäynti sekä modulaarinen lähdekoodi, jossa oli käännösaikaiset kytkimet ominaisuuksien muuttamista varten.
Projektin onnistumista arvioitiin kahdesta näkökulmasta. Ensinnäkin suuret kielimallit, jotka oli integroitu avoimen lähdekoodin takaisinmallinnusohjelmistoon kontekstinjakoprotokollan avulla, tunnistivat oikein 12 viidestätoista ennalta määritetystä analyysikohteesta. Tämä osoitti automaattisten työkalujen olevan hyödyllisiä mutta virhealttiita. Toiseksi monimoottorinen virustorjuntasivusto raportoi havaitsemisia 26:lla 72:sta virustorjuntamoottorista sekä yksityiskohtia niiden ominaisuuksista, kun taas julkisesti saatavilla oleva dynaamisen analyysin hiekkalaatikko ei tuottanut lainkaan hälytyksiä, korostaen puolustusalustojen kattavuuden vaihtelua.
Päätelmänä oli, että yksittäinen, hyvin dokumentoitu parasiittinen virus voisi täyttää kurssin tavoitteet, perehdyttää opiskelijat realistisille väistömalleille ja pysyä vaikeustasoltaan hallittavana käännösaikaisten ominaisuuskytkimien avulla. Automaattisten staattisen analyysin työkalujen todettiin nopeuttavan rutiinitehtäviä, mutta ne vaativat silti asiantuntijan valvontaa. Hiekkalaatikkojen suorituskyvyn havaittiin riippuvan voimakkaasti valitusta alustasta. Suosituksena oli artefaktin pelillistäminen lipunryöstö-kehykseen ja kerätä empiiristä oppimistulostietoa tulevissa iteraatioissa.