Odhalení klíče AES sledováním běhu programu
Recovery of the AES key by monitoring a program's flow
Typ dokumentu
diplomová prácemaster thesis
Autor
Jonatan Matějka
Vedoucí práce
Kokeš Josef
Oponent práce
Zahradnický Tomáš
Studijní obor
Počítačová bezpečnostStudijní program
InformatikaInstituce přidělující hodnost
katedra informační bezpečnostiPráva
A university thesis is a work protected by the Copyright Act. Extracts, copies and transcripts of the thesis are allowed for personal use only and at one?s own expense. The use of thesis should be in compliance with the Copyright Act http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf and the citation ethics http://knihovny.cvut.cz/vychova/vskp.htmlVysokoškolská závěrečná práce je dílo chráněné autorským zákonem. Je možné pořizovat z něj na své náklady a pro svoji osobní potřebu výpisy, opisy a rozmnoženiny. Jeho využití musí být v souladu s autorským zákonem http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf a citační etikou http://knihovny.cvut.cz/vychova/vskp.html
Metadata
Zobrazit celý záznamAbstrakt
Šifra AES je nejpoužívanější symetrická bloková šifra. Denně se s ní setkáváme v zabezpečených komunikačních protokolech a při skladování dat. V jedné oblasti nás ale použití této šifry netěší -- v nevyžádaném software. Může to být ransomware, který proti naší vůli šifruje naše cenná data a požaduje výkupné za jejich dešifrování, nebo klient botnetu, který se šifrovaně domlouvá na dalším cíli útoku. V takových situacích by bylo vhodné mít k dispozici nástroj, který by šifrovaná data odhalil. V této práci jsme pro tento účel navrhli algoritmus. Sledováním přístupů do S-Boxu při běhu programu jsme schopni odhalit klíče a data použitá při šifrování. Algoritmus jsme následně implementovali pro systém Microsoft Windows a architekturu Intel x86. Výsledný program nalezne použité klíče a data v programech provádějících AES šifrování pomocí kryptografických knihoven a v běžných uživatelských aplikacích. The AES cipher is the most widely used symmetric block cipher. It is used daily in secure communication protocols and in data storage. There is a certain area where the usage of this cipher doesn't please us -- unwanted software. It might be ransomware encrypting our precious data and demanding money for decryption. It might be a botnet client using secure communication to coordinate the next attack. In these situations we would find it handy to have a tool to reveal these encrypted data to us. In this thesis we propose an algorithm to serve that purpose. By observing accesses to the S-Box made during the program's run we're able to recover keys and data used for the encryption. This algorithm was implemented as a Microsoft Windows application running on Intel x86 architecture. The tool has been successfully tested against a set of applications using different cryptographic libraries and common user applications.