Graduate papers
  
Description of the graduate paper
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