Simple Science

最先端の科学をわかりやすく解説

# コンピューターサイエンス # 暗号とセキュリティ # 人工知能 # 計算と言語

マルウェアとコード難読化:新しい戦場

LLMを使って、難読化技術がマルウェアの世界をどう変えてるかを探ってる。

Seyedreza Mohseni, Seyedali Mohammadi, Deepa Tilwani, Yash Saxena, Gerald Ndawula, Sriram Vema, Edward Raff, Manas Gaur

― 1 分で読む


難読化:マルウェアの巧妙な 難読化:マルウェアの巧妙な トリック う方法。 マルウェアが検出を逃れるために難読化を使
目次

今日の世界では、コンピュータープログラムが至る所にあって、その中にはあまり友好的じゃないものもあるんだ。たとえば、マルウェアはソフトウェアの世界での悪者。こっそりコンピュータに侵入してデータを盗んだり、その他のいやらしいことをするために作られてる。セキュリティソフトがそれを捕まえるのを難しくするために、マルウェア開発者はコードの難読化という手口をよく使うんだ。

コードの難読化は、まるでマジシャンの手品みたいなもん。マジシャンが観客を混乱させるために物を違って見せるのと同じように、コードの難読化はプログラムの元のコードを違って見せて、セキュリティソフトを混乱させるんだ。これで、誰かがそのプログラムがマルウェアだと疑っても、それを証明するのがめっちゃ難しくなる。

大規模言語モデル(LLMS)の役割

でも今、新しいものが登場してきた:大規模言語モデル(LLMs)。これは膨大なテキストやコードをトレーニングした高度なAIシステムだ。コードを作ったり、変えたり、難読化したりする可能性がある、まるでコーディングワークショップの助っ人みたいな存在。

想像してみて。マルウェア開発者が一人で難読化の問題に取り組む代わりに、LLMに助けを求められるシナリオを。LLMはすぐに新しい難読化されたコードを生成して、マルウェア作者が見つけにくいマルウェアを作るのを助けるんだ。

MetamorphASMとは?

ここで、MetamorphASMというプロジェクトが登場する。このプロジェクトは、LLMsがどれくらいコードの難読化ができるかをテストするためのフレームワークなんだ。AIとサイバーいたずらが出会う大きな遊び場みたいに考えてみて!

MetamorphASMプロジェクトには、MetamorphASM Dataset(MAD)というデータセットが含まれている。このデータセットは、難読化されたアセンブリコードのサンプルが328,200件あり、LLMsが複雑でごちゃごちゃしたコード構造をどれくらい効果的に作成・理解できるかを分析することを目的にしてる。

コードの難読化が重要な理由

マルウェア作者が難読化にこだわる理由って何だろう?それは隠れんぼのゲームみたいなもん。セキュリティソフトは既知のマルウェアのサインを特定して悪いソフトを捕まえようとする。もしマルウェアのコードが毎回違って見えたら、セキュリティプログラムがそれを認識するのが難しくなる。つまり、昔ながらのトリックがマルウェアを目の届かないところに隠してくれるんだ。

コードの難読化の技術

コードの難読化にはいくつかの技術がある。ちょっと見てみよう。もちろん、プログラミングのマジックを含んでるよ:

1. デッドコード挿入

謎の小説にたくさんの赤いニシンを入れるのを想像してみて。デッドコード挿入はまさにそれと同じ。プログラムに役に立たない余計なコードを追加するんだ。この余計なコードは目的のないランダムな命令で、元のプログラムを分析するのを難しくする。セキュリティソフトがコードが何をしているのかを理解しようとすると、この機能しない混乱で混乱しちゃうんだ。

2. レジスタ置換

次はレジスタ置換。プログラミングの世界では、レジスタは道具箱みたいなもの。何かを直そうとするときに道具を入れ替えたら、やっていることを追うのが難しくなる。同じように、レジスタ置換では、マルウェアがレジスタの名前を他の名前に置き換える。だから、元のコードがEAX(偉大なるビルダー)を使ってたら、EBX(信頼のアシスタント)に変えちゃうかも。機能は変わらないけど、見た目が変わるから、セキュリティソフトが問題を見つけにくくなる。

3. 制御フロー変更

最後に制御フロー変更。これはプログラムの命令の順序を入れ替えながら、その機能を維持する技術なんだ。手順をどんどん入れ替えながらレシピを読むのを想像してみて。ある瞬間には材料を混ぜて、次の瞬間にはケーキを焼いてる!これにより、セキュリティシステムはマルウェアが何をしようとしているのかを理解するのが難しくなる。操作の論理的な流れが予測不可能で混沌とするからね。

セキュリティソフトの課題

セキュリティソフト、つまりアンチウイルスプログラムは、僕たちのデバイスを守るために懸命に働いてる。でも、マルウェア作者が難読化でますますクリエイティブになってくると、この仕事はますます難しくなる。難読化技術が複雑で多様であればあるほど、セキュリティプログラムがそれを検出するのが難しくなるんだ。

だからこそ、MetamorphASMプロジェクトが重要なんだ。このプロジェクトは、LLMsが難読化をどれくらいうまく扱えるかを研究することを目指してる。もしLLMsが難読化されたコードを生成できるなら、それはセキュリティ研究者がマルウェアに対抗するためのツールにもなるだろう。

MetamorphASMはどう機能するの?

MetamorphASMプロジェクトの最初のステップは、大量のアセンブリコードのデータセットを集めることだった。このコードはさまざまなソフトウェアプログラムから集められ、特にWindowsシステム上で動作するものをターゲットにしてる。データセットが集まったら、不要な部分を取り除いて、価値のあるコードセクションだけを残す掃除プロセスを経る。

次に、アセンブリコードは上で説明した3つの技術を使って難読化された。デッドコード挿入、レジスタ置換、制御フロー変更だ。これらの変換されたスニペットは、さらに分析するために構造化された形で保存された。

LLMとマルウェア難読化の出会い

MetamorphASMプロジェクトの次のステージでは、さまざまなLLMsが難読化されたコードを生成する能力をテストした。すべてのモデルがオープンソースだったわけじゃなく、一部は商業用だった。目的は、どのモデルがこのタスクに最適かを見ることだった。

研究者たちは、LLMsを評価するためのベンチマークを作成し、自動計測や手動レビューの両方を考慮した。LLMsがどれくらいペースで難読化されたコードを生成できるか、そしてそのコードが元のバージョンにどれくらい似ているかを測定した。結果は、GPT-4o-miniのようなLLMsが難読化されたアセンブリコードを作成するのが効果的だと示した。

実験結果

おもしろいことに、これらのモデルの性能を測った結果、すべてが同じように作られているわけじゃないことがわかった。一部のLLMsは特定の難読化技術に優れているけど、他の技術では苦労することも。たとえば、あるモデルはデッドコード挿入が得意だったのに、レジスタ置換ではうまくいかなかったり。

研究者たちは、これらのモデルの効果は使用される特定の技術によって大きく異なることを強調した。つまり、あるモデルは強力なジェネラリストかもしれないけど、すべてのシナリオで最高の難読化をするわけではないんだ。

結果の評価

LLMsによって行われた難読化の質を評価するために、研究者たちは主に二つの方法を採用した:デルタエントロピーとコサイン類似度。デルタエントロピーは元のコードの複雑さがどれだけ変わったかを測定し、コサイン類似度は生成されたコードが元のものにどれだけ似ているかを測るんだ。

研究結果は、特定のレベルのデルタエントロピーとコサイン類似度を維持することが重要だと示した。もしコードがあまりにも複雑になりすぎたり、あまりにも似ていたりしたら、機能を失ったり、セキュリティソフトに騙されにくくなったりするからさ。

サイバーセキュリティへの影響

MetamorphASMプロジェクトから得られた知識によって、セキュリティ研究者はLLMsが今後どのように良い方向でも悪い方向でも使われるかをよりよく理解できるようになる。一方では、LLMsが高度な難読化技術の開発に役立つから、マルウェア作者はもっと洗練された脅威を作り出すことが可能になる。一方では、セキュリティ研究者も同じ技術を使ってこれらの脅威に対抗する効果的な方法を見つけることができる。

この研究の最終的な目標は、より安全なデジタル環境を作ること。LLMsの能力を理解することで、専門家たちはより良い検出方法や対抗策を考案して、マルウェアが行う難読化のトリックに立ち向かおうとしているんだ。

将来の展望

この研究が進むにつれ、マルウェア開発者とサイバーセキュリティの専門家の両方にとって未来は明るく見える。LLMsの二重性は、これらのAIモデルがクスッと笑えるほど見つけにくいマルウェアを生むかもしれないけど、同時にセキュリティチームがそれらの課題に対抗する力を与えてくれることを意味してる。

研究者たちがLLMsと難読化の世界をさらに深く探索する中で、次にどんな素晴らしいトリックが出てくるかは誰にもわからない。もしかしたら、いつの日かAIを訓練して、影に隠れている厄介なマルウェア泥棒を見つける専門の探偵にしちゃうかもね。彼らが究極のマジックトリックを演じてると思っても。

結論

マルウェアとサイバーセキュリティの戦いは続いていて、コードの難読化はマルウェアを隠すための巧妙な戦術として機能してる。LLMsの登場は、この闘争に新たな次元を加え、脅威とセキュリティ専門家へのツールの両方を提供している。MetamorphASMのようなプロジェクトを通じて、研究者たちはこれらのダイナミクスを理解する道を切り開き、デジタルのネコとネズミのゲームで一歩先を行こうとしている。世界が技術にますます依存する中で、この戦いは進化するだろうし、サイバーセキュリティの変化し続ける風景の中でワクワクするような、時にはおかしな結果が生まれるかもしれないね。

オリジナルソース

タイトル: Can LLMs Obfuscate Code? A Systematic Analysis of Large Language Models into Assembly Code Obfuscation

概要: Malware authors often employ code obfuscations to make their malware harder to detect. Existing tools for generating obfuscated code often require access to the original source code (e.g., C++ or Java), and adding new obfuscations is a non-trivial, labor-intensive process. In this study, we ask the following question: Can Large Language Models (LLMs) potentially generate a new obfuscated assembly code? If so, this poses a risk to anti-virus engines and potentially increases the flexibility of attackers to create new obfuscation patterns. We answer this in the affirmative by developing the MetamorphASM benchmark comprising MetamorphASM Dataset (MAD) along with three code obfuscation techniques: dead code, register substitution, and control flow change. The MetamorphASM systematically evaluates the ability of LLMs to generate and analyze obfuscated code using MAD, which contains 328,200 obfuscated assembly code samples. We release this dataset and analyze the success rate of various LLMs (e.g., GPT-3.5/4, GPT-4o-mini, Starcoder, CodeGemma, CodeLlama, CodeT5, and LLaMA 3.1) in generating obfuscated assembly code. The evaluation was performed using established information-theoretic metrics and manual human review to ensure correctness and provide the foundation for researchers to study and develop remediations to this risk. The source code can be found at the following GitHub link: https://github.com/mohammadi-ali/MetamorphASM.

著者: Seyedreza Mohseni, Seyedali Mohammadi, Deepa Tilwani, Yash Saxena, Gerald Ndawula, Sriram Vema, Edward Raff, Manas Gaur

最終更新: Dec 24, 2024

言語: English

ソースURL: https://arxiv.org/abs/2412.16135

ソースPDF: https://arxiv.org/pdf/2412.16135

ライセンス: https://creativecommons.org/licenses/by/4.0/

変更点: この要約はAIの助けを借りて作成されており、不正確な場合があります。正確な情報については、ここにリンクされている元のソース文書を参照してください。

オープンアクセスの相互運用性を利用させていただいた arxiv に感謝します。

著者たちからもっと読む

人工知能 ソーシャルメディアでのメンタルヘルス分析の新しい方法

研究者たちがオンラインでのメンタルヘルスの議論をよりよく理解するためのフレームワークを開発した。

Vedant Khandelwal, Manas Gaur, Ugur Kursuncu

― 1 分で読む

類似の記事