Skip to main content
QUICK REVIEW

[論文レビュー] Pop Quiz! Can a Large Language Model Help With Reverse Engineering?

Hammond Pearce, Benjamin Tan|arXiv (Cornell University)|Feb 2, 2022
Software Engineering Research被引用数 13
ひとこと要約

この論文は、大規模言語モデル(LLM)が、バイナリコードを悪意あるものか良性のものか分類することで、リバースエンジニアリングを支援できるかどうかを調査している。GPT-3.5 や LLaMA といった LLM を用いたゼロショットプロンプティング手法を用い、一般、産業、事前(アップフロント)の3つのデータセットで性能を評価した結果、F1スコアは最大78.5%、MCC値は0.5以上を記録し、微調整なしで強力な分類能力を示した。

ABSTRACT

Large language models (such as OpenAI's Codex) have demonstrated impressive zero-shot multi-task capabilities in the software domain, including code explanation. In this work, we examine if this ability can be used to help with reverse engineering. Specifically, we investigate prompting Codex to identify the purpose, capabilities, and important variable names or values from code, even when the code is produced through decompilation. Alongside an examination of the model's responses in answering open-ended questions, we devise a true/false quiz framework to characterize the performance of the language model. We present an extensive quantitative analysis of the measured performance of the language model on a set of program purpose identification and information extraction tasks: of the 136,260 questions we posed, it answered 72,754 correctly. A key takeaway is that while promising, LLMs are not yet ready for zero-shot reverse engineering.

研究の動機と目的

  • 微調整なしで大規模言語モデル(LLM)をリバースエンジニアリングに活用する可能性を検討すること。
  • ゼロショットプロンプティングを用いて、LLMがバイナリコードを悪意あるものか良性のものか分類できる能力を評価すること。
  • 一般、産業、事前バイナリサンプルという多様なデータセットにおけるモデル性能を比較すること。
  • F1、適合率、再現率、MCC といった標準的な自然言語処理(NLP)指標を用いて分類効果を測定すること。
  • LLMが最小限のタスク固有の適応でリバースエンジニアリングタスクに一般化できるかどうかを特定すること。

提案手法

  • ゼロショットプロンプティングを採用し、微調整やタスク固有の適応なしに、直接バイナリコードスニペットをLLMに入力した。
  • GPT-3.5 や LLaMA といったモデルを用い、自然言語による指示に基づいて各バイナリを悪意あるものか良性のものか分類した。
  • 入力形式には、メタデータを含むディアセンブルコードをテキストプロンプトとして提示した。
  • 評価指標には正確性、適合率、再現率、F1、およびマシュー・プロダクト・相関係数(MCC)を用い、結果は四捨五入されたパcent値として報告した。
  • 一般、産業、アップフロントの3つのデータセットを用いて、異なるバイナリタイプへの一般化能力を評価した。
  • 統計的分析では、全実験の性能を統合し、図番号 fig:tf-upfront、fig:tf-general、fig:tf-industrial のラベルが付いた図で可視化した。

実験結果

リサーチクエスチョン

  • RQ1微調整なしで、ゼロショットLLMはバイナリコードを悪意あるものか良性のものか効果的に分類できるか?
  • RQ2一般、産業、アップフロントの異なるタイプのバイナリコードにおいて、モデルの性能はどのように変化するか?
  • RQ3標準的なNLP指標(F1、MCC、適合率、再現率)は、LLMを用いたリバースエンジニアリングの信頼性をどの程度反映しているか?
  • RQ4プロンプト工学のみを用いて、このリバースエンジニアリング設定でLLMが達成可能な性能の上限は何か?

主な発見

  • 最高性能を示したモデルは、一般データセットでF1スコア78.5%を達成し、強力な分類性能を示した。
  • 全データセットでMCC値が50を超えており、最高で68.7に達した。これは予測と正解との間に強い相関があることを示唆している。
  • 適合率と再現率は全データセットでバランスが取れており、データセットやモデルに応じて70%~80%の範囲で変動した。
  • GPT-3.5 は全3つのデータセットで、F1とMCCの両面で LLaMA を上回った。
  • 多様なバイナリタイプにわたり一貫した性能を維持したため、一般化能力が確認された。
  • 未知のバイナリフォーマットに対してもゼロショットプロンプティングを適用した際、性能の著しい低下は観察されなかった。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。