インタラクティブ・ディスアセンブラ (IDA )は、コンピュータソフトウェア 用の逆アセンブラであり、 機械実行可能コード からアセンブリ言語の ソースコード を生成します。様々なプロセッサ やオペレーティングシステム に対応した多様な実行形式をサポートしています。また、 Windows PE 、Mac OS X Mach-O 、Linux ELF 実行ファイルのデバッガ としても使用できます。解析対象プログラムの高水準なCソースコード風表現を生成する デコンパイラ プラグインは、別途料金で利用可能です。[ 4 ] [ 5 ]
IDAは、マルウェア解析 [ 6 ] [ 7 ] やソフトウェアの脆弱性 調査[ 8 ] [ 9 ] など、ソフトウェアのリバースエンジニアリング で広く使用されています。IDAのデコンパイラは、最も人気があり、広く使用されているデコンパイルフレームワークの1つであり、[ 10 ] [ 11 ] [ 12 ] 、IDAはプログラム逆アセンブリと静的バイナリ解析の「事実上の業界標準」と呼ばれています。[ 13 ] [ 14 ] [ 15 ]
歴史 イルファク・ギルファノフは 1990年にIDAの開発を開始し、[ 16 ] [ 17 ] [ 18 ] [ 19 ] 、当初はシェア ウェアとして配布していました。1996年、ベルギーの 企業DataRescueがIDAの開発を引き継ぎ、IDA Proという名前で商用製品として販売を開始しました。[ 20 ] [ 21 ]
IDAの初期バージョンにはグラフィカルユーザーインターフェース(GUI) がなく、拡張されたDOS 、OS/2 、またはWindowsコンソールアプリケーション として実行されました。[ 22 ] 1999年に、DataRescueはGUIを備えたIDA Proの最初のバージョンであるIDA Pro 4.0をリリースしました。[ 23 ]
2005年、ギルファノフはHex-Rays Decompiler IDA拡張機能の開発を進めるためにHex-Raysを設立しました。[ 24 ] [ 25 ] 2008年1月、Hex-RaysはDataRescueのIDA Proの開発とサポートを引き継ぎました。[ 26 ] [ 27 ]
2022年、Hex-Raysは、欧州のベンチャーキャピタル およびプライベートエクイティ投資家 であるSmartfinが率いる投資家グループに買収されました。この買収の共同投資家には、ベルギーの公的持株会社であるThe Federal Holding & Investment Company (SFPIM) と、ワロン地域の 公的投資会社であるRegional Investment Company of Wallonia (SRIW)が含まれていました 。[ 28 ] [ 29 ]
特徴 IDAはコンパイルされたプログラムをアセンブリ言語表現に逆アセンブルします。基本的な逆アセンブルに加えて、IDAは逆アセンブルされたプログラムに以下の情報を自動的に注釈付けします。[ 30 ]
しかし、逆アセンブリの性質上、完全な正確性は保証されず、必然的に多くの人間の介入が必要になります。IDAには、逆アセンブリの改善を支援するインタラクティブな機能が備わっています。典型的なIDAユーザーは、自動生成された逆アセンブリリストを基に、セクションをコードからデータへ、あるいはその逆へ変換し、リストの名前を変更したり、注釈を付けたり、その他の情報を追加したりして、機能が明確になるまで作業を進めていきます。
スクリプト 「IDCスクリプト」を使用すると、逆アセンブラの動作を拡張できます。ユーザーが記述するスクリプトのベースとして使用できる便利なスクリプトがいくつか用意されています。スクリプトは、生成されたコードに追加の変更を加えるために最もよく使用されます。例えば、元のソースコードの関数名を使用して外部シンボルテーブルをロードできます。
ユーザーは、IDCの代わりに、あるいはIDCに加えて、他の一般的なスクリプト言語を使用できるようにするプラグインを作成しています。IdaRUB [ 31 ] はRubyを サポートし、IDAPython [ 32 ] はPython のサポートを追加します。バージョン5.4以降、IDAPython(Python 2.5に依存)はIDA Proにプリインストールされています。
デバッグ IDA Proは、次のような多くのデバッガーをサポートしています。 [ 33 ]
リモート Windows、Linux、Mac アプリケーション (Hex-Rays 提供) では、ネイティブ環境で実行ファイルを実行できます (マルウェア用の仮想マシンを使用していると思われます) GNU デバッガ (gdb) は Linux と OS X だけでなく、ネイティブ Windows デバッガでもサポートされています。Bochsプラグインは、単純なアプリケーション(破損したUPX またはmpress圧縮実行ファイルなど)をデバッグするために提供されています。 Intel PIN ベースのデバッガー トレース再生装置
バージョン IDA Proの最新のフルバージョンは、有料の年間サブスクリプション(2024年12月現在、バージョン9.0sp1)で入手できます。一方、IDA Freeと呼ばれる、機能が少ないバージョン(x86に限定)は無料でダウンロードできます。[ 34 ]
サポートされているシステム/プロセッサ/コンパイラシステムホスト Windows x86 および ARMLinux x86 macOS x86とAppleシリコン 認識される実行可能ファイル形式 命令セット コンパイラ/ライブラリ(自動ライブラリ関数認識用)[ 35 ]
ロゴ IDA Pro のロゴは、マントノン侯爵夫人フランソワーズ ドービニエ の画像をトリミングしたものです。ロゴ画像は、ピエール・ミニナール のサークルの画家であると証明されたフランソワーズ・ドービニエの細密画に似ています。[ 36 ]
オリジナルのグレースケール版のロゴは、1999年9月にIDA 4.0のリリースとともに導入されました。[ 18 ] イルファク・ギルファノフは、このロゴはルーヴァンの聖イダ を描いたものではないと述べています。[ 37 ]
参照
参考文献 ^ Czokow, Geoffrey (2021年5月20日). 「IDA:バイナリ解析イノベーション30周年を祝う」 Hex -Rays . 2023年3月19日 閲覧 。 ^ 「IDA 9.2リリース」 2025年9月8日。 2025年 11月14日 閲覧 。 ^ “Hex-rays Home” . 2024年5月26日時点のオリジナルより アーカイブ。 2008年3月31日 閲覧 。 ^ Eagle, Chris (2011). 「第23章 実世界のIDAプラグイン」. IDA Pro Book: 世界で最も人気のある逆アセンブラの非公式ガイド (第2版). サンフランシスコ: No Starch Press. pp. 500– 502. ISBN 978-1-59327-395-8 . OCLC 830164382 .^ 「Hex-Rays Decompiler」 . hex-rays.com . 2023年3月18日 閲覧 。 ^ Staff, SC (2017-09-11). 「Hex-Rays IDA Pro」 . SC Media . 2023年3月13日 閲覧。 ^ シコルスキー、マイケル (2012). 「第5章 IDA Pro」. 『実践マルウェア分析:悪意あるソフトウェアを分析するための実践ガイド』 . アンドリュー・ホニグ. サンフランシスコ: No Starch Press. ISBN 978-1-59327-430-6 . OCLC 830164262 .^ Shoshitaishvili, Yan; Wang, Ruoyu; Salls, Christopher; Stephens, Nick; Polino, Mario; Dutcher, Andrew; Grosen, John; Feng, Siji; Hauser, Christophe; Kruegel, Christopher; Vigna, Giovanni (2016-05-22). 「SOK: (State of) the Art of War: Offensive Techniques in Binary Analysis」. 2016 IEEE Symposium on Security and Privacy (SP) . pp. 138– 157. doi : 10.1109/SP.2016.17 . hdl : 11311/1161277 . ISBN 978-1-5090-0824-7 。^ Guo, Wei; Wei, Qiang; Wu, Qianqiong; Guo, Zhimin (2022-04-01). 「CSChecker: 静的テイント解析に基づくバイナリテイントベースの脆弱性検出手法」 . Journal of Physics: Conference Series . 2258 (1) 012069. Bibcode : 2022JPhCS2258a2069G . doi : 10.1088/1742-6596/2258/1/012069 . ISSN 1742-6588 . ^ Yakdan, Khaled; Eschweiler, Sebastian; Gerhards-Padilla, Elmar; Smith, Matthew (2015). No More Goto: Decompilation Using Pattern-Independent Control-Flow Structuring and Semantics-Preserving Transformations . doi : 10.14722/ndss.2015.23185 . ISBN 978-1-891562-38-9 . 2023年3月18日 閲覧 。^ Schulte, Eric; Ruchti, Jason; Noonan, Matt; Ciarletta, David; Loginov, Alexey (2018). 「進化する正確な逆コンパイル」 . Proceedings 2018 Workshop on Binary Analysis Research . Reston, VA: Internet Society. doi : 10.14722/bar.2018.23008 . ISBN 978-1-891562-50-1 。^ Liu, Zhibo; Wang, Shuai (2020-07-18). 「これまでの歩み:Cデコンパイラのデコンパイル精度テスト」 . Proceedings of the 29th ACM SIGSOFT International Symposium on Software Testing and Analysis . ISSTA 2020. ニューヨーク、ニューヨーク州、米国:Association for Computing Machinery. pp. 475– 487. doi : 10.1145/3395363.3397370 . ISBN 978-1-4503-8008-9 。^ Di Federico, Alessandro; Payer, Mathias; Agosta, Giovanni (2017-02-05). 「Rev.ng: CFGSと関数境界を復元するための統合バイナリ解析フレームワーク」 . Proceedings of the 26th International Conference on Compiler Construction . CC 2017. ニューヨーク、ニューヨーク州、米国: Association for Computing Machinery. pp. 131– 141. doi : 10.1145/3033019.3033028 . ISBN 978-1-4503-5233-8 広範囲にわたる評価では、GCC と clang を使用して MIPS、ARM、x86-64 用にコンパイルされたバイナリで [バイナリ分析] ツールをテストし、業界の最先端ツールである IDA Pro と、よく知られている 2 つの学術ツールである BAP/ByteWeight と angr と比較します。 ^ Garcia Prado, Carlos; Erickson, Jon (2018年4月10日). 「Hex-Rays APIによるアドホック問題の解決」 . FireEye脅威調査ブログ . 2022年6月2日時点の オリジナルよりアーカイブ。 2023年 3月12日 閲覧 。IDA Proは、バイナリリバースエンジニアリングにおける事実上の標準です。 ^ Andriesse, Dennis (2019). 「付録C:バイナリ解析ツール一覧」. 実践的なバイナリ解析:バイナリ計測、解析、逆アセンブリのためのLinuxツール構築 . サンフランシスコ、カリフォルニア州: No Starch Press, Inc. ISBN 978-1-59327-913-4 。OCLC 1050453850 。この [IDA Pro] は、事実上の業界標準の再帰逆アセンブラです。 ^ Гильфанов、Ильфак (2003 年 5 月 22 日)。 「IDA Pro - サムイ・モシュニー・ディザッセンブラー対泥沼」 IDA Pro - 最高のパフォーマンスとパフォーマンス [IDA Pro - 世界で最も強力な逆アセンブラ] (インタビュー) (ロシア語)。 АлексейのДоляがインタビューしました。 Компания「Ф-Центр」。秒2.30。2021年5月15日のオリジナル からアーカイブ。2023 年3 月 14 日 に取得 。1991 年の映画では、1991 年に公開された映画が公開されています。 ^ "IDA Pro - Часто задаваемые вопросы" . 2003 年 12 月 19 日の オリジナル からアーカイブ。Первые строки для IDA были написаны в декабре 1990. ^ a b Czokow, Geoffrey (2021年5月20日). 「IDA:バイナリ解析イノベーション30周年を祝う」 Hex -Rays . 2023年3月19日 閲覧。 ^ 「Hex Rays - 最先端のバイナリコード解析ソリューション」 hex-rays.com . 2023 年5月31日時点のオリジナルより アーカイブ。 2023年7月21日 閲覧 。 ^ Guilfanov, Ilfak (2015 年 6 月 22 日)、 CODE BLUE 2014 : Ilfak Guilfanov - Keynote: The story of IDA Pro 、 2023 年 3 月 16 日 閲覧、 1996 年に Datarescue が私の趣味のプロジェクトを商用プログラムに変換しました。 ^ 「DataRescue IDA Pro Page」 . DataRescue . 1997年2月14日時点の オリジナル よりアーカイブ 。 ^ 「DataRescue IDAページ:評価版のダウンロード」 。DataRescue 。 1997年2月14日時点の オリジナルより アーカイブ 。 ^ 「DataRescue IDA Pro What's new Page」 . DataRescue . 1999年10月10日時点の オリジナル よりアーカイブ 。 ^ “Gegevens van de geregistreerde entiteit | KBO Public Search” . kbopub.economie.fgov.be 。 2023-03-13 に取得 。 ^ 「Hex-Rays Decompiler」 . Hex-Rays . 2007年10月11日時点の オリジナル よりアーカイブ。 ^ 「DataRescueホームページ:IDA Pro逆アセンブラーとPhotoRescueのホームページ」 。DataRescue 。 2008年2月21日時点の オリジナルからの アーカイブ 。 ニュース 2008年7月1日:IDA ProがHex-Raysに移行。 ^ 「Hex-Raysホームページ」 . Hex-Rays . 2008年2月12日時点の オリジナル よりアーカイブ 。 ^ 「投資家コンソーシアムがHex-Raysを買収 – Hex Rays」 2022年10月19日。2023年7月21日 時点のオリジナルより アーカイブ。 2023年7月21日 閲覧 。 ^ 「News Industry | Smartfin主導のコンソーシアムがHex-Raysを買収し、製品イノベーションの取り組みを加速」 Help Net Security . 2022年10月20日. 2023年7月21日時点のオリジナルより アーカイブ。 2023年7月21日 閲覧 。 ^ Eagle, Chris (2011). 「パートII. IDAの基本的な使い方」. IDA Pro Book: 世界で最も人気のある逆アセンブラの非公式ガイド (第2版). サンフランシスコ: No Starch Press. ISBN 978-1-59327-395-8 . OCLC 830164382 .^ “Spoonm/Idarub” . GitHub . 2016年1月8日時点のオリジナルより アーカイブ 。 2011年12月5日 閲覧。 ^ “Idapython [d-dome.net]” . 2006年1月16日時点の オリジナル よりアーカイブ 。 ^ Eagle, Chris (2008). The IDA Pro Book: The Unofficial Guide to the World's Most Popular Disassembler . No Starch Press . ISBN 978-1-59327-178-7 。^ 「IDA Pro フリーウェア版ダウンロード」 。 2008年8月8日時点のオリジナルより アーカイブ 。 2008年3月31日 閲覧。 ^ 「FLIRTコンパイラサポート」 Hex -Rays 。 2011年10月3日時点のオリジナルより アーカイブ 。 2010年4月13日 閲覧。 ^ “Französische Schule、Nachfolge Pierre Mignard - Osterauktion 17.04.2019 - Schätzwert: EUR 1.500 bis EUR 2.600 - Dorotheum" . www.dorotheum.com (オーストリア系ドイツ語)。 2023-08-14 のオリジナルから アーカイブされました 。 2024 年 7 月 8 日 に取得 。 ^ Guilfanov, Ilfak (2006年4月13日). 「Sainte Ida | Hex Blog」 . Hex Blog . 2011年6月17日時点のオリジナルより アーカイブ。 2024年7月8日 閲覧 。
さらに読む
外部リンク