AIにより、主流ソフトウェアやマルウェアのリバースエンジニアリングが格段に容易に

人工知能(AI)ツールの登場により、主流のソフトウェアやマルウェアのリバースエンジニアリングはかつてないほど容易になっています。セキュリティ研究者は、この変化がサイバー防御や知的財産(IP)の窃取などに影響を及ぼすと警告しています。

私たちが日常的に使うアプリケーションは、数十万行、場合によっては数百万行ものコードで動いています。数百のサードパーティ製ライブラリ、膨大な数のファイル、相互に絡み合った複雑なコンポーネント群も組み込まれています。これらをすべて展開して構造を把握する作業は、AI登場以前は非常に困難でした。しかし現在では、小規模なチームや個人でも十分に手が届く作業になっています。

Intezerのサイバーセキュリティ研究者らは最近、AIでソフトウェアをリバースエンジニアリングする難しさを、著名な対象を使って検証しました。対象に選んだのは、Slack、AppleのFinderアプリ、そしてセキュリティ研究者にとって重要なTurlaマルウェアです。皮肉なことに、最も扱いにくかったのはマルウェアでした。一方、AppleとSalesforceの独自アプリをゼロから実質的に再現する作業は、中程度の難しさにとどまったといいます。この検証では、AIによるソフトウェアのリバースエンジニアリングがどれほど容易かを調べました。

Intezerのシニアセキュリティ研究者でマルウェアアナリストのNicole Fishbein氏は、AIについて「ハードルを下げた」と話します。「以前は、ソフトウェアをリバースエンジニアリングするには経験が必要でした。アセンブリ言語を理解しなければならず、多くの時間もかかりました。今では、誰でもできるとまでは言いたくありませんが、ずっと簡単になっています」

自宅でできるリバースエンジニアリングの方法

サイバーセキュリティにおけるほかの大きなタスクにAIを適用する場合と同様に、大規模なプログラムを適切にリバースエンジニアリングするには、「ハーネス」が必要です。ハーネスとは、いわば小さなパワードスーツのようなものです。モデルを特定のタスクに集中させ、作業に必要なツールを提供し、各種の権限や制限を定義します。

Fishbein氏は、対象が何であれ、次のように振り返ります。「プログラムごとに性質が大きく異なるため、どのケースでも別々のハーネスを作る必要がありました。たとえば、あるケースではClaudeにソースコードの再構築を頼むだけで済みますが、別のケースではClaudeが拒否します。マルウェアでは、安全のために何も実行したくなかったので、追加のモデルを加えた、より複雑なハーネスを用意しました」

マルウェア再構築用のハーネスは最終的に、コンパイラを包む決定論的なPythonの制御プレーンに、仮想マシン、各種の静的解析ツール、複数の大規模言語モデル(LLM)を組み合わせた構成になりました。「全体を制御するオーケストレーターエージェントがあり、さまざまなサブエージェントにタスクを振り分けます。Binary Ninjaなどのツールが提供する情報をもとに、バイナリ全体を小さな関数に分割します。そこから、あるエージェントが再構築を行い、別のエージェントがその結果をテストするという流れです」と同氏は説明します。

最終的にFishbein氏と同僚は、Turlaのレプリカを作り上げました。コマンドの受信と実行の仕組み、ファイル転送の仕組みなど、動作パイプラインの全体をほぼ再現しています。納期に追われていないマルウェア研究者であれば、「全体像を再現し、重要な要素を見落とさなければ、多くの情報が得られます」と同氏は話します。

SlackとApple Finderの再構築

Fishbein氏は次のように語ります。「この研究を始めたとき、私の頭の片隅には、バイブコーディングでアプリを作る人たちが、ごく一般的な他のアプリを模倣することがありました。それがどこまで可能なのか、単純に知りたかったのです」。元のアプリをほぼ完全に模倣できるかを試した結果、極端に難しいわけではありませんでしたが、成果にはばらつきがありました。

研究者らが作ったFinderの模造品は、ファイル操作やローカル検索など、本物のアプリと同じ日常的な用途の多くに対応できました。ただし、元のアプリから得られる情報だけでは、内部構造を正確に再現するには足りませんでした。

Slackはより容易でした。Finderはクラウドサービスが管理するファイルや、他のmacOSサービスに結果が左右される操作に依存していました。これに対してSlackは、JavaScriptのソースコードをリバースエンジニアリングすれば、研究者らが容易に解読できるものがほとんどでした。研究者らは、クライアント全体を「非常に簡単に」再現できたと記しています。一方で、サーバー側は情報を得にくく、正確な再構築に苦労したといいます。Salesforceの独自コードの窃取や、脆弱性を探すための解析を狙う現実の攻撃者なら、そもそもインフラ側をそれほど重視しない可能性もあります。

ハッカーと企業への影響

9月10日、Anthropicは、脅威アクターによる同社モデルの悪用の実態を記したレポートを公開しました。複数の事例の中には、ロシアの脅威アクターMidnight Blizzardによる大規模な活動が含まれています。主な標的は、ウクライナの政府、軍、外交関係者でした。Midnight Blizzardはウクライナでのキャンペーンの一環として、ドローンの視覚システム向けの独自ソフトウェア開発キット(SDK)一式を盗み出しました。この高度な持続的脅威(APT)は、Claudeの助けを借りて「数日間」かけてこれをリバースエンジニアリングしたといいます。ドローンがロシアとウクライナの戦争で大きな役割を果たしていることを考えれば、この標的選びは当然といえます。

同じレポートでAnthropicは、中国によるキャンペーンについても説明しています。目的には、マルウェア開発、外国政府のネットワークへの偵察、主要なエンドポイントセキュリティ製品の脆弱性発見などが含まれていました。多数のワークフローを同時に管理するため、攻撃者はClaudeを複数のワークストリームで稼働させていました。そのうちの1つは、バグを探すためにセキュリティ製品をリバースエンジニアリングするものでした。

国家の支援を受けた攻撃者だけではありません。Fishbein氏は、脅威アクターの中でも下位の層にもリバースエンジニアリングの形跡があると指摘します。「突然オープンソース化されるマルウェアが数多く見られます。脅威アクターは、うまく機能するマルウェアを見つけると、ソースコードを流出させたり、再現したうえで誰でも使えるオープンソースとして公開したりする傾向があります」と同氏は話します。

もちろん、AIはリバースエンジニアリングを一般の善良なユーザーにも広げています。先月には、「REA」(「Reverse Engineer Anything」の略)というオープンソース(OSS)ツール兼Model Context Protocol(MCP)サーバーが、GitHubに掲載されたプログラムの中で最も人気を集めました。

リバースエンジニアリングがこれまでになく速く、より多くの人に手の届くものになった今、ベンダーは自社の知的財産をより慎重に守る必要があるかもしれません。最初の一歩は、防御策を決める前に、どのような結果を防ぎたいのかを定めることでしょう。たとえばSlackのクライアントは、リバースエンジニアリングで容易に再現できます。しかしその場合でも、実装全体まで再現することはできません。Fishbein氏は「現時点の研究結果が示しているのは、サーバー側のインフラを顧客に[公開]していない限り、守られているということです」と指摘します。

皮肉なことに、ソースコードを守るために、開発者はハッカーの手口を参考にするとよいかもしれません。マルウェア開発者(そして歴史的には慎重な企業も)は、効果的な暗号化や難読化(AIの助けを借りることもあるでしょう)、その他の解析対策が、リバースエンジニアリングを試みるサイバーセキュリティの防御側を阻むうえで有効だと、長年にわたり実証してきました。

Fishbein氏は「以前からある暗号化ツールや、さまざまなチート対策の仕組みも役に立つでしょう。ただ、新しいモデルが毎月[性能を向上]させているので、それがどれだけ持ちこたえるかは分かりません」と語ります。

翻訳元: https://www.darkreading.com/application-security/ai-reverse-engineering-apps

本記事は darkreading.com の記事を翻訳・要約したものです。