Introduction to instruction sets of common processors. Structure of basic binary formats. Analysis of attacks that can
be relatively easily described and reproduced upon the instruction level
Last update: doc. Mgr. et Mgr. Jan Žemlička, Ph.D. (29.04.2019)
Instrukční sady - popis a procvičení. Binární tvar základních datových formátů. Analýza útoků, které jsou na úrovni
instrukcí relativně snadno popsatelné, zachytitelné a reprodukovatelné.
Course completion requirements - Czech
Last update: doc. Mgr. et Mgr. Jan Žemlička, Ph.D. (09.10.2017)
Zápočet je za odevzdání samostatně vypracovaného řešení crackme přiměřené obtížnosti. Charakter zápočtu umožňuje jeho opakování.
Literature -
Last update: T_KA (14.05.2013)
Eagle Chris, The IDA Pro Book, No Starch Press, 2008.
Eilam Eldad, Reversing: Secrets of Reverse Engineering, Wiley Publishing, 2005.
Intel Corporation, Intel 64 and IA-32 Architectures Software Developer's Manual Volume 2A: Instruction Set Reference, A-M, Intel Corporation, 2010.
Intel Corporation, Intel 64 and IA-32 Architectures Software Developer's Manual Volume 2B: Instruction Set Reference, N-Z, Intel Corporation, 2010.
Microsoft Corporation, Microsoft Portable Executable and Common Object File Format Specification, Microsoft Corporation, 2010.
Mark E. Russinovich and David A. Solomon with Alex Ionescu, Windows Internals, Microsoft Press, 2009.
Syllabus -
Last update: T_KA (14.05.2013)
IA-32, ARM assembler. Structure of memory in operating systems.
Structure of executable files. Structure of common ciphers implementation. Impact of common coding mistakes. Stack / heap overflow. Generic defense against stack / heap overflow (image base randomization, NX bit). Advanced attacks - return oriented programming. Rootkits. Digital signatures.
Last update: T_KA (14.05.2013)
Assembler IA-32, ARM. Struktura paměti OS. Struktura obvyklých šifer z pohledu procesoru..Struktura spustitelných souborů. Důsledky chyb v programech. Přetečení zásobníku a přetečení hromady. Obrana proti přetečení (obraz randomizace báze, NX bit). Pokročilé útoky - return oriented programming. Rootkity. Digitální podpisy souborů.