リバースエンジニアリング
リバースエンジニアリング とは何ですか?
リバースエンジニアリングコンパイル済みのソフトウェア、ファームウェア、ハードウェアを逆アセンブル・解析し、その設計、挙動、内部動作を復元する作業。
セキュリティ領域でのリバースエンジニアリングは、ソースコードが入手できないバイナリ(マルウェア検体、疑わしいバックドア、脆弱なライブラリ、独自プロトコル、組み込みファームウェアなど)の動作ロジックを復元します。アナリストは IDA Pro、Ghidra、Binary Ninja、radare2 などの逆アセンブラ/逆コンパイラ、x64dbg、WinDbg、GDB などのデバッガ、Frida、Pin、QEMU などの動的計装フレームワークを駆使し、制御フローのマッピング、暗号処理の特定、アルゴリズムの復元、IoC の抽出を行います。脆弱性研究、マルウェア解析、チート対策、エクスプロイト開発、DRM 解析の中核となり、研究目的では概ね合法ですが、法域や EULA の制約を遵守する必要があります。
● 例
- 01
シンボルが除去された Linux ELF を Ghidra で逆コンパイルし、ハードコードされたバックドアアカウントを特定する。
- 02
Frida でモバイル銀行アプリにフックし、証明書ピンニングのロジックを調査する。
● よくある質問
リバースエンジニアリング とは何ですか?
コンパイル済みのソフトウェア、ファームウェア、ハードウェアを逆アセンブル・解析し、その設計、挙動、内部動作を復元する作業。 サイバーセキュリティの フォレンジックと IR カテゴリに属します。
リバースエンジニアリング とはどういう意味ですか?
コンパイル済みのソフトウェア、ファームウェア、ハードウェアを逆アセンブル・解析し、その設計、挙動、内部動作を復元する作業。
リバースエンジニアリング からどのように防御しますか?
リバースエンジニアリング に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。
リバースエンジニアリング の別名は何ですか?
一般的な別名: バイナリリバースエンジニアリング, RE。