Reverse Engineering (Zpětné inženýrství)

Zatímco klasické inženýrství postupuje od návrhu k výslednému produktu, zpětné inženýrství postupuje opačně. Je to klíčová disciplína v kybernetické bezpečnosti, vývoji ovladačů i v průmyslové špionáži.

1. Reverse Engineering v Softwaru

U softwaru jde o proces zkoumání binárního souboru (např. .exe), kterému počítač rozumí, ale člověk ne. Analytik se snaží tento kód převést do čitelnější podoby:

Disassembling (Zpětný překlad do assembleru): Převod strojového kódu na instrukce procesoru (např. MOV, ADD, JMP). Výsledek vyžaduje hluboké znalosti architektury procesoru.

Decompilation (Dekompilace): Pokus o automatický převod binárního kódu zpět do vyššího programovacího jazyka (např. C++ nebo Java). Výsledek je čitelnější, ale často postrádá původní názvy proměnných a komentáře.

2. Hlavní oblasti využití

Kybernetická bezpečnost

Analytici zkoumají malware, aby zjistili, co přesně dělá, kam odesílá data a jak ho zastavit. Hledají se také „zadní vrátka“ (backdoors) v softwaru.

Interoperabilita

Vývojáři zkoumají uzavřené souborové formáty nebo síťové protokoly, aby vytvořili software, který s nimi dokáže spolupracovat (např. projekt Samba pro komunikaci s Windows sítěmi).

Abandonware a opravy

Pokud firma, která software vytvořila, zanikne, je zpětné inženýrství jedinou cestou, jak opravit chyby nebo program přizpůsobit novým operačním systémům.

3. Nástroje pro Reverse Engineering

Disassemblery: IDA Pro (standard v oboru), Ghidra (nástroj od NSA dostupný zdarma).

Debuggery: x64dbg, OllyDbg – umožňují sledovat program „krok za krokem“ během jeho běhu.

Analyzátory paketů: Wireshark – pro zkoumání síťové komunikace.

4. Právní a etické aspekty

Zpětné inženýrství je často v šedé zóně:

EULA: Většina licencí placeného softwaru zpětné inženýrství výslovně zakazuje.

Zákon: V mnoha zemích (včetně EU) je zpětné inženýrství legální, pokud je nezbytné pro dosažení interoperability (propojení s jiným programem) a pokud neexistuje jiný způsob, jak informace získat.

DMCA: V USA je obcházení digitální ochrany (DRM) pomocí zpětného inženýrství často nelegální.

5. Reverse Engineering v Hardwaru

U hardwaru proces zahrnuje:

Odstraňování pouzder čipů pomocí kyselin a jejich fotografování pod mikroskopem.

Snímání vrstev vícevrstvých plošných spojů (PCB).

Analýzu signálů na sběrnicích pomocí logických analytiků.

Zajímavost: Jeden z nejslavnějších případů zpětného inženýrství v historii IT umožnil vznik trhu s PC klony. Firma Compaq v roce 1982 metodou „Clean Room“ (čistá místnost) zpětně analyzovala BIOS počítače IBM PC, aniž by porušila autorská práva, a vytvořila vlastní, plně kompatibilní verzi.

Zpět na Vývoj a Bezpečnost