Určitě jste už někdy slyšeli o obfuskaci. Někteří odborníci ji vnímají jako bezpečnostní opatření, ale mnozí ji považují pouze za „security by obscurity“, tedy bezpečnost skrze obtížnou pochopitelnost a kryptičnost systému, kterému rozumí jen pár vybraných jedinců.
I přesto OWASP doporučuje obfuskaci jako ochranné opatření pro mobilní aplikace. Nejde sice o stoprocentní řešení, ale stejně jako u kryptografie jde o hru s časem. Cílem je zvýšit náročnost reverzního inženýrství a code review natolik, že méně zkušené útočníky odradí a těm schopnějším sebere dostatek času a zdrojů, aby se jim celý útok přestal vyplácet.
Obfuskace ale není jen pomůckou obránců. O tom jsme se dozvěděli na BSides workshopu v úterý 21. 4. 2026, kde nám Duncan Ogilvie, tvůrce x64dbg, představil některé moderní techniky obfuskace využitelné při red teamingu.
Na workshop jsem přišel s očekáváním, že uslyším o klasických způsobech, jako je Shikata Ga Nai, ale čekalo mě překvapení v podobě teorie virtuálních strojů. Technika spočívá v tom, že penetrační tester nebo útočník si naprogramuje vlastní minimalistický virtuální stroj a daný útok spouští uvnitř něj. Tímto způsobem vytvoří virtuální prostřední vrstvu, která obráncům ztěžuje práci a mnohonásobně zvyšuje nároky na čas i odborné schopnosti.
Metoda má několik dalších výhod pro testery i útočníky. Jednou z nich je menší časová náročnost při vytváření útoku, protože se stává přenositelným na většinu zařízení bez potřeby větších úprav. Další výhodou je možnost kreativně upravit zmíněnou mezivrstvu a přidat další vlastnosti, které dále ztíží analýzu daného útoku.
Nakonec ještě zbývá otázka, zda by s analýzou takovéhoto útoku nemohla pomoci umělá inteligence. Chatboti dostupní zdarma mi při testech mobilních aplikací dokázali pomoci pouze částečně. Většinou zvládli vysvětlit jen menší části kódu a při pohledu na celek nebyly příliš efektivní. U placených nástrojů by mohla být efektivita vyšší, ale v momentě, kdy útočník kód dostatečně zkomplikuje, zvyšuje se i množství chyb a halucinací.