Nalazite se na CroRIS probnoj okolini. Ovdje evidentirani podaci neće biti pohranjeni u Informacijskom sustavu znanosti RH. Ako je ovo greška, CroRIS produkcijskoj okolini moguće je pristupi putem poveznice www.croris.hr
izvor podataka: crosbi !

Zaštita strojnog koda pomoću virtualizacije na x86 arhitekturi (CROSBI ID 428251)

Ocjenski rad | diplomski rad

Drašković, Barbara Zaštita strojnog koda pomoću virtualizacije na x86 arhitekturi / Vladimir, Klemo (mentor); Zagreb, Fakultet elektrotehnike i računarstva, . 2019

Podaci o odgovornosti

Drašković, Barbara

Vladimir, Klemo

hrvatski

Zaštita strojnog koda pomoću virtualizacije na x86 arhitekturi

Osmišljen je novi instrukcijski skup koji se bazira na load-store arhitekturi. Ostvaren je virtualni stroj koji se temelji na novom instrukcijskom skupu, funkcionalnosti za dohvaćanje arhitektonskog stanja procesora prije izvršavanja virtualiziranih instrukcija i funkcionalnosti za osvježavanje arhitektonskog stanja procesora poslije izvršavanja virtualiziranih instrukcija. Te su funkcionalnosti objedinjene u statičkoj biblioteci. Definiran je mehanizam kojim korisnik označava dijelove koda koje želi zaštititi. Napisan je program koji vrši zaštitu izvršne datoteke. Korisnik statičku biblioteku i mehanizme za označavanje koda uključuje u svoj projekt te definiranim mehanizmima označuje kritični dio koda koji želi zaštititi. Zatim generira izvršnu datoteku te pokreće program za zaštitu iste. Program za zaštitu u izvršnoj datoteci traži dio koda označen za zaštitu. Disasemblira svaku instrukciju unutar označenog dijela. Virtualizira podržane x86 instrukcije i nove instrukcije pohranjuje u spremnik instrukcija koje će izvršavati virtualni stroj. Kad dođe do instrukcije za koju nije podržana virtualizacija, u spremnik instrukcija sprema instrukciju koja će uzrokovati izlazak iz virtualnog stroja, osvježavanje arhitektonskog stanja procesora i vraćanje normalnom toku programa. Virtualizirane x86 instrukcije mijenja instrukcijama koje će svojim izvršavanjem (preko Strukturiranog upravljanja iznimkama (engl. Structured Exception Handling)) uzrokovati poziv funkcionalnosti definiranih u statičkoj biblioteci. Te funkcionalnosti služe za dohvaćanje arhitektonskog stanja i poziv virtualnog stroja. Proces virtualizacije ponavlja se za sve nizove instrukcija koje je moguće virtualizirati unutar kritičnog dijela koda. Program stvara zaštićenu izvršnu datoteku.

virtualizacija ; zaštita ; reverzno inženjerstvo

nije evidentirano

engleski

Machine Code Obfuscation Through Virtualization on the x86 Architecture

nije evidentirano

virtualization ; obfuscation ; reverse engineering

nije evidentirano

Podaci o izdanju

64

09.07.2019.

obranjeno

Podaci o ustanovi koja je dodijelila akademski stupanj

Fakultet elektrotehnike i računarstva

Zagreb

Povezanost rada

Računarstvo