Form of studies |
Bachelor |
Title of the study programm |
Computer Systems |
Title in original language |
Java programmatūras aizsardzības analīze ar obfuskācijas metodēm |
Title in English |
Analysis of Java Software Protection with Obfuscation Methods |
Department |
Faculty Of Computer Science Information Tehnology And Energy |
Scientific advisor |
Pāvels Rusakovs, Dr.sc.ing. |
Reviewer |
M.Ivanovs, Mg.sc.ing., ERGO Insurance SE Latvijas filiāles vecākais programmētājs |
Abstract |
Šī bakalaura darba ietvaros tika analizēta programmatūras koda aizsardzība ar obfuskācijas metodēm Java programmēšanas valodas kontekstā.
Darba ietvaros tika analizēta pieejamā zinātniskā literatūra par obfuskāciju kriptogrāfijas kontekstā. Literatūras analīze parāda, ka obfuskācija kā programmatūras koda aizsardzības veids nav līdz galam izpētīta. Noteikti pētījumi parāda, ka efektīva, teorētiski pamatota obfuskācija, kas sniedz garantētu rezultātu, patvaļīgai programmatūrai nav iespējama. Obfuskācijai, kas tiek praktiski izmantota programmatūras tirgū, nav teorētiskā pamatojuma.
Dara ietvaros arī tika veikta Java programmēšanas valodas izpēte, kas atļāva noteikt Java programmēšanas valodas īpašības, kuras ir nozīmīgas obfuskācijas kontekstā. Izpētes rezultāti parāda, ka Java programmēšanas valodas īpašības padara to nenoturīgu pret reverso inzenieriju. Turklāt, noteiktas Java programmēšanas valodas īpašības ierobežo tai pieejamo obfuskācijas metožu kopu un to efektivitāti.
Darba ietvaros tika veikta Java baitu koda obfuskācija, pielietojot dažādas obfuskācijas metodes. Koda obfuskācijas rezultāta analīze parāda atsevišķo obfuskācijas metožu efektivitāti, to ierobežojumus un trūkumus, ko tās izraisa. Obfuscētā koda izpēte parāda, ka obfuskācijas metodes nesniedz nozīmīgu aizsardzību pret koda izpēti. Metožu atsevišķa lietošana ir neefektīva. Turklāt, vairākām obfuskācijas metodēm eksistē negatīvas sekas. |
Keywords |
Java programmatūra aizsardzība obfuskācija |
Keywords in English |
Java obfuscation software security reverse-engineering |
Language |
lv |
Year |
2016 |
Date and time of uploading |
02.06.2016 18:15:49 |