How Far Does Entropy Go? Duplicates, Confounding, Drift and Padding in Entropy-Based Detection of Malicious PE Files
本論文は、エントロピーに基づく悪意のあるPEファイルの検出が、データの重複、サイズの混同、およびアドバーサリアル・パディングによって著しく損なわれることを実証しており、そのようなモデルが既知のセクションを大部分記憶しているだけであり、無害に見えるバイトを付加することによって容易に回避され得ることを明らかにし、それゆえにより堅牢な検出戦略が必要であることを示している。
原論文は CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む
デジタル世界において、セキュリティの専門家は、危険なソフトウェアを特定するために「エントロピー」と呼ばれる単純な数学的概念にしばしば頼っています。ファイルを数字の長い列だと想像してみてください。もしそれらの数字が、平易な英語で書かれた物語や標準的なプログラムのように、予測可能なパターンに従っている場合、その文字列はエントロピーが低くなります。つまり、秩序があり、記述が容易です。しかし、もし数字がバラバラで、金庫に閉じ込められたメッセージや、スペースを節約するために圧縮されたファイルのように見えるなら、その文字列はエントロピーが高くなります。それはランダムで混沌としたものに見えます。悪意のあるプログラムは、コードをバラバラにすることでその真の性質を隠すことが多いため、セキュリティツールは頻繁にこの高いレベルのランダム性をスキャンします。もしファイルが過度に混沌としているように見えれば、ツールはそれを不審なものとしてフラグを立てます。この手法は高速かつ安価であり、数百万のファイルの中から、どれを詳しく調査すべきで、どれを無視してよいかを判断するために広く利用されています。
しかし、フィレンツェ大学とピサ大学の研究者による新しい研究は、この混沌の尺度の信頼性を、私たちは本当にどの程度信じることができるのかという、極めて重要な問いを投げかけています。研究チームは、Windows実行ファイルの特定のセクション(コードの最初のセクション)のランダム性が、実際に危険を示す信頼できる兆候なのか、それとも簡単に欺くことができるトリックなのかを調査しました。彼らは、主要なセキュリティデータセットから、約43,000個のファイルヘッダーと、ラベル付けされたほぼ80万個のサンプルを分析しました。彼らの研究は、この単一の尺度への現在の依存が、これまで考えられていたよりもはるかに脆弱であり、しばしば反復を危険と誤認し、未知の新たな脅威に直面した際には完全に失敗することを明らかにしています。
研究者たちはまず、これらのセキュリティツールがテストされる際の隠れた欠陥を調査することから始めました。彼らは、両方のデータセットにおいて、悪意のあるファイルの約64パーセントが、少なくとも一つの他のファイルと最初のコードセクションを共有していることを発見しました。これは、多くの異なる悪意のあるプログラムが、全く同じバラバラのテンプレートから構築されていることを意味します。セキュリティツールがランダムなシャッフルを用いてテストされる際、同じテンプレートがトレーニンググループとテストグループの両方に現れることがよくあります。このとき、ツールは実際に危険を認識することを学んでいるのではなく、単にその特定のテンプレートを記憶しているに過ぎません。研究者が、同一のファイルをグループ化することでこれを修正したところ、ツールの新しい脅威を検出する能力は大幅に低下しました。ツールが遭遇したことのないファイルを見るという現実世界の条件を模したテストでは、エントロピーに基づく検出器はほとんど役に立たなくなり、安全なエラー率で検出できるマルウェアは1パーセント未満となりました。
また、この研究は、ツールが混沌ではなく、むしろファイルのサイズに依存していたことも明らかにしました。あるデータセットでは、悪意のあるファイルは安全なファイルよりも大きい傾向があったため、検出器は大きなファイルを危険としてフラグを立てることを学習しました。しかし、研究者がこれをより大規模な別のデータセットでテストしたところ、このサイズの差は消失し、ツールの性能は崩壊しました。これは、検出器がマルウェアに関する普遍的なルールを見つけたのではなく、特定のデータのコレクションに特有の偶然性を利用していたことを証明しています。さらに、コードを隠すために使用されるパッキング・ソフトウェアによく見られる特徴である、空の最初のセクションを持つファイルは、安全なプログラムの中にも頻繁に見られるため、この特徴単体ではウイルスと正当なアプリケーションを区別できないことも判明しました。
おそらく最も衝撃的な発見は、これらの検出器がいかに簡単に回避できるかという点に関するものです。研究者たちは、攻撃者がファイルの最初のセクションの末尾に無害なバイトを追加した場合に何が起こるかについて、数学的な限界を算出しました。彼らは、攻撃者がプログラムを壊すことなく、検出器を欺くのに十分なほどファイルの見た目を変えるためのパディング(詰め物)を、ほぼ常に加えることができると結論付けました。もし攻撃者が大量のパディングを追加することが許されるならば、検出器が脅威を見逃すことをほぼ確実に保証できます。たとえ攻撃者が巧妙になり、少量のパディングしか追加しないとしても、特にそのパディングが通常の安全なデータのように見えるよう慎重に選ばれている場合、かなりの数のケースで検出を回避することができます。
研究者たちは、このようなトリックに対して免疫を持つ検出器を構築できるかどうかについても調査しました。彼らは、ファイルの総情報量はバイトが追加されても減少することはないという厳格な数学的ルールに基づいたモデルであれば、パディングによって欺かれることは確かに不可能であることを見出しました。しかし、この「ハック不可能な」モデルはあまりにも慎重すぎて、マルウェアをほとんど検出できませんでした。それは回避に対する完璧な防御でしたが、脅威を見つけるための道具としては最悪のものでした。研究は、エントロピーは有用な手がかりではあるものの、それにのみ頼ることは間違いであると結論付けています。それが提供する信号は、真の悪意ではなく、繰り返されるコードやファイルサイズの反映であることが多く、予測可能な単純な変更によって取り除くことができます。効果的なセキュリティを実現するためには、専門家はこの単一の尺度を超えて、全体像を見るために多くの他の要因と組み合わせる必要があります。
自分の分野の論文に埋もれていませんか?
研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。