米国時間3月6日、現在開催中のRSA Conferenceで、米国家安全保障局(NSA)は、組織内で10年以上使用してきたソフトウェアリバースエンジニアリングツール「Ghidra」を無償で公開したと発表した。
このツールはどんなソフトウェアエンジニアにとっても有用だが、特に大きな恩恵に与るのはマルウェアアナリストだ。
NSAの目的は、Ghidraをリリースすることで、NSAや、NSAが非公式にGhidraを共有しているほかの政府情報機関の求人に応募する人材が、あらかじめこのツールに慣れられるようにすることだという。
Ghidraは現在、公式ウェブサイトからしかダウンロードできないが、NSAは今後、ソースコードをオープンソースライセンスでGitHubに公開する予定だ。
2019年の初めにNSAがGhidraを公開するというニュースが流れてから2カ月間、誰もがこのツールを心待ちにしてきた。
その理由は、Ghidraが非常に高額な商用ライセンスでしか利用できない、同様の機能を持つリバースエンジニアリングツール「IDA Pro」の代わりとして利用できるためだ。
ほとんどの専門家は、無償で提供されるGhidraは、すぐにリバースエンジニアリングツール市場で大きなシェアを占めるようになると考えている。すでに出てきているレビューでGhidraが高い評価を受けていることも、この見方を後押ししている。
提供:ZDNet
提供:ZDNet
技術的には、GhidraはJavaで書かれており、GUIを持ち、Windows、macOS、Linuxで動作する。
RSA Conferenceでこのツールの公開を発表したNSAの上級顧問Rob Joyce氏は、Ghidraはさまざまなアーキテクチャのバイナリを分析することができ、必要に応じて対象アーキテクチャを簡単に拡張できると述べている。
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
— Rob Joyce (@RGB_Lights) March 5, 2019
We join Rob Joyce in announcing that #Ghidra is alive! Download your copy: https://t.co/h7hOPQIChJ and start reversing! #RSAC #RSAC2019 pic.twitter.com/VXUSFopMOk
— NSA/CSS (@NSAGov) March 6, 2019
Ghidraのインストール作業は、ZIPのアーカイブファイルを解凍するだけで済む。唯一の要件は、GUIを動かすために必要な「Java Development Kit(JDK)11」以降がインストールされていることだ。
しかしGhidraは、多くの専門家が期待するようにはIDA Proの代わりにはならないかもしれない。これは、IDA ProにはGhidraには存在しないデバッガコンポーネントがあるためだ。しかし、その状況もいずれ改善される可能性が高い。
Ghidraのコードはオープンソースとして公開されるため、将来はコミュニティからのコントリビューションが可能になる。このため多くの人は、Ghidraにはいずれデバッガが追加されるだろうと考えている。
ツールのソースコードがまだGitHubに公開されていないうちから、情報セキュリティのコミュニティがGhidraに貢献する姿勢を見せ始めている。
ツールがリリースされて数分後、英国を拠点とするサイバーセキュリティ企業Hacker Houseの共同創設者兼ディレクターであるMatthew Hickey氏は、リモートでのコード実行につながる恐れのあるコンポーネントがあるとツイートしている。もっとも、Hickey氏によると、この問題は1行のプログラム変更で回避でき、Ghidraを通常のモードではなく「デバッグモード」で実行した場合にのみ問題が発生すると同氏は述べている。
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
— Hacker Fantastic (@hackerfantastic) March 6, 2019
このツールに関する詳細が知りたければ、公式ウェブサイト、GitHubのリポジトリ、ツールの付属文書などを参照するといいだろう。
この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。