Čo je to Ghidra a prečo je to dôležité?

Veľká časť boja proti novým vírusom je zistiť, ako fungujú. Aby ste to dosiahli, musíte to urobiť spätným inžinierstvom. Národná bezpečnostná agentúra(National Security Agency) ( NSA ) očividne musí robiť tento druh práce veľa, a preto vytvorili vlastný nástroj s názvom Ghidra , ktorý im v tom pomáha.

Mimochodom, vyslovuje sa to Ghee-dra . Pre verejnosť bol bezplatne a ako open source uvoľnený 5. marca(March 5) 2019 na konferencii RSA(RSA Conference) v San Franciscu(San Francisco) . Môžete si dokonca pozrieť poznámky k prezentácii Ghidra od Roberta Joycea(view the Ghidra presentation notes from Robert Joyce) , hlavného poradcu(Senior Advisor) Národnej bezpečnostnej agentúry(National Security Agency) ( NSA ).

 Aby sme skutočne pochopili, prečo bolo vydanie Ghidry(Ghidra) dôležité, musíme pochopiť, čo je reverzné inžinierstvo a na čo sa používa.

Čo je to reverzné inžinierstvo(Engineering) a prečo sa používa?

Vo všeobecnosti sa reverzné inžinierstvo (RE) vzťahuje na proces rozoberania niečoho, aby sa zistilo, ako to bolo vyrobené. Možno ste to urobili sami s malým spotrebičom doma, len sa snažíte prísť na to, ako to opraviť sami. Ale hovoríme o programe RE. Je to len kód, však? Prečo sa jednoducho nepozrieme na kód za tým?

Keď napíšete program v jazyku ako C alebo Java , existuje krok medzi jeho napísaním a možnosťou použiť ho na počítači. Jazyk, v ktorom programujete, je pre vás čitateľný, ale nie nevyhnutne čitateľný pre počítač. Musí to byť preložené do niečoho, s čím môže počítač pracovať. Tento proces sa nazýva kompilácia.

Akonáhle je program skompilovaný, už nie je čitateľný pre ľudí.

Ak chcete zistiť, ako ten program funguje, musíte ho rozobrať na úroveň, kde uvidíte, čo je v ňom. Potrebujete na to súpravu náradia, rovnako ako potrebujete súpravu náradia skrutkovačov a kľúčov, aby ste si vzali malý spotrebič alebo motor.

To je miesto, kde Ghidra vstupuje do hry. Je to súbor nástrojov na rozoberanie softvéru, aby ste videli, ako funguje. Už existujú ďalšie podobné nástroje ako IDA , Radare a Binary Ninja .

NSA používa Ghidra na riešenie vírusov, malvéru a iných programov, ktoré môžu predstavovať hrozbu pre národnú bezpečnosť . (Ghidra)Potom na základe toho, čo zistia, vypracujú akčný plán na riešenie hrozby. S množstvom štátom podporovaných hackerských udalostí v posledných správach viete, že ide o veľkú vec.

Môže niekto používať Ghidru?

Nie práve. Musíte mať aspoň nejaké znalosti programovania. Nemusíte byť softvérový inžinier, ale ak ste absolvovali niekoľko vysokoškolských kurzov programovania, môžete sa dostať do Ghidra a naučiť sa ho používať.

Okrem toho má oficiálna webová stránka Ghidra aj inštalačnú príručku, rýchle referencie, wiki a nástroj na sledovanie problémov. Cieľom je poskytnúť všetko, aby sa každý mohol učiť a spoločne urobiť svet bezpečnejším pred zlomyseľnými hackermi.

NSA to robí s cieľom „...zlepšiť nástroje kybernetickej bezpečnosti...“ a „...vybudovať komunitu...“ výskumníkov, ktorí ovládajú Ghidra a prispievajú k jej rastu, ako je napísané v prezentácii Roberta Joycea.

Prečo je teda Ghidra taká veľká vec?

Je to od NSA . Ktorá spoločnosť má také zdroje, aké má americká federálna agentúra? Aké skúsenosti môže mať aj tá najlepšia bezpečnostná spoločnosť v porovnaní s agentúrou poverenou bezpečnosťou najmocnejšieho národa na Zemi?

Takže áno, je to veľmi silný nástroj. Výskumník v oblasti bezpečnosti (Security)Joxen Coret tweetoval: “So, Ghidra s**ts all over any other RE tool out there with the only exception of IDA.”

Potom je tu voľný aspekt. Tým, že možno získať to, čo je pravdepodobne najvýkonnejší nástroj RE zadarmo, sa vstupná latka do bezpečnostného výskumu práve znížila na jednoduché vlastníctvo počítača a prístup(Internet) na internet .

To je jeden z dôvodov, prečo ho NSA zverejnila. Dúfajú, že nová generácia výskumníkov sa v tom zdokonalí a zváži kariéru v NSA .

Potom je tu aspekt open source. Bezpečnostné agentúry nie sú známe tým, že nechávajú ľudí pozerať sa za oponu z dobrého dôvodu. Ak viete, ako robia to, čo robia, bude ľahšie ich prekaziť. Napriek tomu sa celý zdrojový kód Ghidra zverejňuje, takže ho môže ktokoľvek prehrabať a presne vidieť, ako to funguje.

A nie, neexistujú žiadne správy o zadných vrátkach vlády. Ron Joyce sa k tomu rýchlo vyjadril a povedal, že komunita bezpečnostného výskumu: „...je posledná komunita, ktorej by ste chceli poskytnúť niečo s nainštalovanými zadnými dvierkami, ľuďom, ktorí hľadajú, aby sa tieto veci roztrhali.“

Z hľadiska vzdelávania Ghidra tiež umožňuje začínajúcim softvérovým inžinierom rozoberať programy, aby videli, ako fungujú, a potom sa naučili, ako urobiť niečo podobné s vlastnými projektmi. Pozeranie sa do kódu inej osoby je už dlho akceptovanou praxou medzi programátormi a vývojármi, aby sa stali lepšími programátormi. Ak bol tento kód otvorene zdieľaný, samozrejme.

Snáď najväčšia vec je, že Ghidra bola navrhnutá tak, aby sa používala spoločne. Môžete mať zdieľané úložisko so svojimi spolupracovníkmi alebo priateľmi, aby ste mohli pracovať na projekte naraz. To výrazne urýchľuje proces analýzy.

Čo teraz?

Federálna vláda USA sa zaviazala vydávať stále viac softvéru súvisiaceho s bezpečnosťou. Niektoré z nich budú vo svojej podstate veľmi technické, napríklad Ghidra , a niektoré budú užívateľsky prívetivejšie, napríklad verzia Androidu s vylepšeným zabezpečením(security-enhanced version of Android) .

To všetko predznamenáva jedinečný čas spolupráce medzi vládou a civilnou sférou s cieľom udržať našu dátovú infraštruktúru čo najbezpečnejšiu.

Tajná služba USA – https://www.secretservice.gov/data/press/reports/USSS_FY2013AR.pdf

https://media.defense.gov/2012/Apr/27/2000157039/-1/-1/0/120417-F-JM997-405.JPG



About the author

Som softvérový vývojár s viac ako 10-ročnými skúsenosťami. Špecializujem sa na programovanie pre Mac a napísal som niekoľko tisíc riadkov kódu pre rôzne aplikácie Mac, vrátane, ale nie výlučne: TextEdit, GarageBand, iMovie a Inkscape. Mám skúsenosti aj s vývojom pre Linux a Windows. Moje zručnosti vývojára mi umožňujú písať vysokokvalitné a komplexné návody pre rôzne platformy vývoja softvéru – od macOS po Linux – vďaka čomu sú moje návody ideálnou voľbou pre tých, ktorí sa chcú dozvedieť viac o nástrojoch, ktoré používajú.



Related posts