- REVERZNÍ INŽENÝRSTVÍ -

Reverzní inženýrství

Co je to reverzní inženýrství a jak funguje.

Prostředí a architektura

Zaměřena výhradně na 32bitové prostředí systému Windows XP podporující architekturu IA-321. Tato platforma a architektura je v dnešní době nejrozšířenější, je pro ni široké spektrum softwaru a také nástroj °u pro reverzní inženýrství.

Disassemblery

Jsou programy, které slouží ke statické analýze kódu. To znamená, že je program analyzován, aniž by byl spuštěn, pouze rozborem strojového kódu. Hlavní funkcí disassembleruje převod strojového kódu do jazyka assembler. Vzhledem k rozsahu program°u zapsanýchv assembleru a jejich nepřehlednosti je však dnes již od disassembleru vyžadováno mnohem více.

Debuggery

Jsou programy určené k nacházení chyb v jiných programech. Debuggery jsou schopny vkládat do běžícího programu breakpointy, což jsou speciální instrukce, které zastaví běh programu a debugger muže kontrolovat stavy registru, zásobníku, atd. Program pod dohledem debuggeru reálně béží, proto se analýza pomocí debuggeru nazývá aktivní.

Nástroje reverzního inženýrství

Krome disassembleru a debuggeru muže analytik použít celou radu doplňkových nástroju.Záleží hlavně na zkoumaném programu nebo jeho zkoumaných aspektech. Doporučuje se nejdříve získat základní přehled o zkoumaném programu a teprve poté začít zkoumat samotnýkód.

Základní konstrukce v assembleru

Příklady jsou naprogramovány v jazyce C, přeloženy pomocí vývojového prostředí Microsoft Visual Studio .NET 2003 a výsledné programy disassemblované programem IDA Pro. V příkladech jsou pro zjednodušení a zpřehlednění uvedeny pouze relevantní části kódu v assembleru, kódy v jazyku C jsou uvedeny kompletní.

Ochrana proti reverznímu inženýrství

Jedná se o složitou problematiku, které se nelze v této práci věnovat z důvodu omezeného rozsahu. Ochrany a metody jejich obcházení se neustále mění, i když principy zustávají podobné. Na ochranu program°u existuje velké množství specializovaného softwaru a velké množství volně dostupného materiálu, ovšem tématem práce jsou základy reverzního inženýrství, ne obrana proti němu. Proto bude uveden pouze základní přehled problematiky ochrany.

Platformy reverzního inženýrství

Názvy platforem, které je možné si ihned stáhnout.

Analýza malwaru

Analýza malwaru je jedním ze zásadních využití reverzního inženýrství. Společnosti zabývající se bojem proti malwaru většinou neanalyzují zlomyslné programy dopodrobna. Vzhledem k množství malwaru to ani není možné. Cílem jejich práce je ověření, zda se doopravdy jedná o malware, a nalezení jednoznačného otisku takového programu. Jednoznačný otisk bývá hash dostatečné velkého bloku kódu (popřípadě dat). Viry s tímto typem detekce často počítají a snaží se měnit svoji strukturu za běhu, aby je antivirový software nemohl detekovat. Proti takovým vir °um existuje také obrana.