Ghidra(ギドラ、 [3])は、アメリカ国家安全保障局(NSA)によって開発されたオープンソースのリバースエンジニアリングツールである。実行バイナリは2019年3月の RSAカンファレンスで公開され、ソースコードは1か月後にGitHubで公開された[4]。Ghidraは多くのセキュリティ研究者によってIDA Proの競合相手とみなされている[5]。また、GUI用のSwingを使用してJavaで作成されている。逆コンパイラの部分はC++で記述されているため、スタンドアロン形式で使用できる[注釈 1]。
Ghidraを使用して自動分析を実行するスクリプトは、JavaまたはPython(Jython経由)で作成できる[6][7]。ただし、この機能は拡張可能であり、コミュニティプラグインを介して他のプログラミング言語でも作成できる[8]。Ghidraに新しい機能を追加するプラグインは、Javaベースの拡張フレームワークを使用して開発できる[9]。
歴史
Ghidraの存在は2017年3月にVault 7を通じて初めて公開されたが[10]、ソフトウェア自体は2年後に機密解除され、正式リリースまで利用できないままだった[4]。ソースコード内のコメントから、1999年頃から存在していたことが判明した[11]。
大幅な変更箇所[12][13]
| バージョン |
年 |
主な変更点 |
| 1.0 |
2003 |
概念実証 |
| 2.0 |
2004 |
データベース、ドッキングウィンドウ |
| 3.0 |
2006 |
SLEIGH、逆コンパイラ、バージョン管理 |
| 4.0 |
2007 |
スクリプト、バージョントラッキング |
| 5.0 |
2010 |
ファイルシステムブラウザ |
| 6.0 |
2014 |
非機密バージョン |
| 9.0 |
2019 |
公開バージョン |
| 9.2 |
2020 |
グラフ可視化、新たなPDBパーサー |
| 10.0 |
2021 |
デバッガー |
| 11.0 |
2023 |
RustとGoバイナリのサポート、BSim |
| 11.1 |
2024 |
SwiftとDWARF 5のサポート、 Mach-Oの改善 |
2019年6月、corebootはGhidraのソフトウェアスイートをオープンソースで公開した後、ファームウェア固有の問題に対するリバースエンジニアリングの取り組みにGhidraの使用を開始した[14]。
Ghidra 10.0以降、正式にデバッガとして使用できるようになった[15][16]。Ghidraのデバッガは、WinDbg経由のユーザーモードWindowsプログラムとGDB経由のLinuxプログラムのデバッグをサポートしている[17]。
次のアーキテクチャまたはバイナリ形式に対応している[18][19]。
脚注
注釈
出典
- ^ “Release Ghidra 11.4.2 · NationalSecurityAgency/ghidra” (英語). GitHub. 2025年9月25日閲覧。
- ^ “ghidra/NOTICE”. GitHub.com. 2019年4月13日閲覧。
- ^ “Come Get Your Free NSA Reverse Engineering Tool!”. YouTube.com. 2021年12月15日時点のオリジナルよりアーカイブ。2019年5月17日閲覧。
- ^ a b Newman, Lily Hay. “The NSA Makes Ghidra, a Powerful Cybersecurity Tool, Open Source”. Wired. 2019年3月6日閲覧。
- ^ Cimpanu. “NSA releases Ghidra, a free software reverse engineering toolkit” (英語). ZDNet. 2019年3月7日閲覧。
- ^ “Ghidra Scripting Class”. GitHub. 2023年2月19日閲覧。
- ^ “Three Heads are Better Than One: Mastering NSA's Ghidra Reverse Engineering Tool”. GitHub. 2019年9月30日閲覧。
- ^ “Ghidraal”. GitHub. 2023年2月19日閲覧。
- ^ “Ghidra Advanced Development Class”. GitHub. 2023年2月19日閲覧。
- ^ “NSA to release a free reverse engineering tool” (英語). ZDNET. 2024年2月22日時点のオリジナルよりアーカイブ。2024年2月22日閲覧。
- ^ “Build software better, together” (英語). GitHub. 2024年2月22日時点のオリジナルよりアーカイブ。2024年2月22日閲覧。
- ^ “ghidra/Ghidra/Configurations/Public_Release/src/global/docs/ChangeHistory.html at master · NationalSecurityAgency/ghidra” (英語). GitHub. 2024年5月8日時点のオリジナルよりアーカイブ。2024年5月8日閲覧。
- ^ Ghidra - Journey from Classified NSA Tool to Open Source (英語). 2024年5月8日時点のオリジナルよりアーカイブ. www.youtube.comより2024年5月8日閲覧.
- ^ “Coreboot Project Is Leveraging NSA Software To Help With Firmware Reverse Engineering”. 2023年7月15日閲覧。
- ^ “Compiled/built Ghidra 9.3 for Windows with Debugger feature by Galician R&D Center in Advanced Telecommunications employees.”. 2023年7月15日閲覧。
- ^ “Analizando el depurador de Ghidra” (2021年3月11日). 2023年7月15日閲覧。
- ^ “What's new in Ghidra 10.0”. 2023年7月15日閲覧。
- ^
Joyce, Rob [@RGB_Lights] (5 March 2019). “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”. 2019年3月7日時点のオリジナルよりアーカイブ. X(旧Twitter)より2019年3月6日閲覧.
- ^ “List of Processors Supported by Ghidra”. Github.com. 2023年10月12日時点のオリジナルよりアーカイブ。2023年9月29日閲覧。
関連項目
外部リンク