GHIDRA je nástroj pro zpětnou analýzu programů (software reverse engineering).

GHIDRA je nástroj pro zpětnou analýzu programů (software reverse engineering). | foto: Technet.cz

Americká tajná služba překvapila. Hackerský nástroj uvolnila pro všechny

  • 81
Americká tajná služba NSA zveřejnila svůj nástroj Ghidra pod licencí open source. Nástroj pro zpětnou analýzu kódu (tzv. reverse engineering) byl dosud dostupný pouze pro pracovníky NSA a další agentury americké vlády. První dojmy vývojářů jsou dobré. Tak komplexní analýzu zatím nabízel jen placený software.

Hexadecimální a textové zobrazení obsahu EXE souboru

Když otevřete v textovém editoru nějakou aplikaci EXE, uvidíte jen nepřehlednou změť znaků. To proto, že binární aplikace prošla kompilátorem, který ze zdrojového kódu vytvořil spustitelnou aplikaci. Pokud chce někdo nahlédnout „pod kapotu“ zkompilované aplikace, musí obvykle sáhnout po nástroji pro zpětnou analýzu kódu (anglicky reverse engineering).

Na trhu byl dosud prakticky jen jeden systém, který umožňoval důsledný reverse engineering na všech hlavních platformách: nástroj IDA Pro od společnosti Hex-Rays. Jedna licence tohoto nástroje vyjde na 1 879 dolarů (skoro 43 tisíc korun). Dále existuje levnější Binary Ninja za 600 dolarů (necelých 14 tisíc korun).

Open source od hackerů tajné služby

I proto vývojáři povětšinou uvítali nástroj GHIDRA, který počátkem března zveřejnila americká tajná služba NSA. O plánu NSA představit nástroj na konferenci RSA jsme psali v lednu. Tehdy ještě nebylo jasné, za jakých podmínek bude nástroj zveřejněn.

Licence Apache 2

Dnes už víme, že GHIDRA je zveřejněna pod opensourcovou licencí Apache 2, která patří k nejvolnějším. Umožňuje software využívat pro komerční účely, modifikovat a dále šířit pod touto nebo kompatibilní licencí.

Nástroj GHIDRA je ke stažení na stránkách NSA, zdrojové kódy jsou pak k dispozici v repozitáři GitHub.

Ukázky uživatelského rozhraní nástroje GHIDRA

„Pokud jste někdy zkoušeli zpětnou analýzu, víte, že je to věda i umění v jednom. Neexistuje jeden správný způsob,“ uvedl na přednášce Rob Joyce z NSA. „Ghidra je nástroj, který jsme interně používali v NSA. Netvrdíme, že je to nástroj, který nahradí vše, co je dosud k dispozici, to rozhodně není. Ale nám to pomohlo vyřešit řadu problémů.“ NSA využívala nástroj GHIDRA mimo jiné pro analýzu malwaru nebo hledání bezpečnostních děr a zranitelností.

Jméno nástroje GHIDRA neslyší veřejnost poprvé. Uniklo už v rámci dokumentů z „CIA Vault 7“ na serveru Wikileaks.org, který v roce 2017 zveřejnil celou řadu nástrojů a návodů z arzenálu CIA. Interní dokumenty CIA ukazují, že GHIDRA patřila k běžně používaným a oblíbeným nástrojům: „Je dost dobrá,“ píše se třeba familiárně v jednom z návodů.

Pokročiké funkce pro hackery i analytiky

Program GHIDRA je naprogramován v Javě, což usnadňuje běh na různých platformách (ke stažení jsou balíčky pro Windows, macOS a Linux). Umí analyzovat binárky pro tyto procesory:

05.března 2019 v 20:50, příspěvek archivován: 06.března 2019 v 15:59

Ghidra processor modules: X86 16/32/64, ARM/AARCH64, PowerPC 32/64, VLE, MIPS 16/32/64,micro, 68xxx, Java / DEX bytecode, PA-RISC, PIC 12/16/17/18/24, Sparc 32/64, CR16C, Z80, 6502, 8051, MSP430, AVR8, AVR32, Others+ variants as well. Power users can expand by defining new ones

Mezi pokročilé funkce patří možnost sdílené analytiky pomocí sdílených projektů, grafické zobrazení příkazů a funkcí, mapování paměti, řada předpřipravených skriptů, dekompilace a kompilace atd.

Kdybychom aspoň trochu rozuměli zpětné analýze, mohli bychom vám ukázat více ukázek. Takto se musíme spokojit se zprostředkovanými názory lidí, kteří zatím nástroj GHIDRA vyzkoušeli.

06.března 2019 v 01:05, příspěvek archivován: 06.března 2019 v 16:47

Ghidra's out and we've got those ARM proc modules, the UNDO button, and the ability to collaborate on analysis...for FREE! https://t.co/CAkwg9WWcK https://t.co/Lq6I9fXAYx

Analýza EXE souboru pomocí nástroje GHIDRA

Opatrnější vývojáři ale varují: Pokud budete používat něco z dílny NSA, pěkně si to zkompilujte ze zdrojových kódů, nevěřte binárkám. A i pak takový program raději pusťte v izolovaném prostředí. Nebo můžete ke kontrole binárek použít jeden nový opensourcový nástroj.

Jiný vývojář odhalil bezpečnostní chybu v nástoji GHIDRA jen několik minut po jeho uveřejnění. Takže s instalací buďte opatrní.

06.března 2019 v 01:20, příspěvek archivován: 06.března 2019 v 16:48

Ghidra opens up JDWP in debug mode listening on port 18001, you can use it to execute code remotely ‍♂️.. to fix change line 150 of support/launch.sh from * to 127.0.0.1 https://t.co/J3E8q5edC7

Proč NSA zveřejnila svůj interní nástroj?

Podstatnější je pro někoho otázka, proč vůbec tajná agentura zveřejňuje – navíc za takto lákavých a vstřícných podmínek – interní nástroj, který jí dával jistou konkurenční výhodu před ostatními?

Podle některých úvah může jít o snahu změnit způsob, jakým veřejnost vnímá agenturu NSA. Po Snowdenových odhaleních, která mimo jiné ukázala šíři masového odposlouchávání elektronické komunikace v USA i ve světě, měla NSA u odborné veřejnosti pořádný škraloup a stala se v podstatě synonymem Velkého bratra. Když například vyšlo najevo, že NSA úmyslně oslabovala šifry, vyvolalo to ostrou reakci bezpečnostní komunity.  

Bezplatný nástroj GHIDRA ale může v lecčems změnit přístup vývojářské komunity. Podle některých expertů bude mít uvolnění nástroje GHIDRA významné důsledky. „GHIDRA pomůže srovnat podmínky na poli bezpečnostního vývoje. Lidé, kteří by se jinak nedostali k tak sofistikovanému nástroji, k ní budou mít přístup,“ myslí si Patrick Miller z bezpečnostní výzkumné společnosti Raytheon. Sám sebe popisuje jako fanouška této aplikace, ačkoli jako profesionál bude nadále používat i konkurenční placené nástroje. „Tento nástroj se nejspíše bude používat na školách i v rámci různých programovacích a hackerských soutěží“, dodává Miller.

Axios také zmiňuje nepřímý dopad uveřejnění nástroje GHIDRA na kyberbezpečnost. Podle něj tím, že bude takový nástroj dostupnější, stoupne počet lidí, kteří se bezpečností mohou zabývat. To sníží náklady na vstup do odvětví a naopak zvýší náklady na vytvoření takového malwaru, který bude dlouho unikat odhalení. A lze předpokládat, že NSA má nástroje, které nezveřejnila. Její přednášku tak můžeme vnímat jako výraz sebevědomí. Jako kdyby tajná služba říkala: Když tento sofistikovaný nástroj zveřejníme zdarma a pro všechny, dokážete si představit, co všechno umí ty nástroje, které jsme nezveřejnili?