隠れたコマンドライン攻撃を検出する
サイバーセキュリティにおける難読化されたコマンドライン活動を特定する新しい方法。
― 1 分で読む
サイバー犯罪者は、コマンドラインの難読化という手法を使って行動を隠すことが多い。これは、コマンドの見た目を変えながらも、ちゃんと動作するようにすることを含む。こういう戦術は多くのセキュリティシステムにとって厄介で、通常は特定のパターンやシグネチャを認識して悪意のあるコマンドを特定するから。
この記事では、コマンドラインの活動を理解するために特別に設計された言語モデルを使って、これらの隠れたコマンドを検出する新しいアプローチについて話す。私たちの研究結果は、このモデルが大学やビジネスなど、さまざまな環境からの大量のデータでも難読化を効果的に見つけられることを示している。
従来の手法の問題
多くのセキュリティ手法は、プログラムのユニークな識別子やその実行時のコマンドのテキストをチェックしてマルウェアの兆候を探している。しかし、攻撃者がコンピュータ上にすでにある一般に利用できるプログラムを使うと、問題が発生する。これを「土地に寝泊まりするバイナリ(LoLBins)」と言う。これらのプログラムは日常的な作業に使われているので、従来の手法では追跡することができなくなる。
LoLBinsが使われると、コマンドライン上のシグネチャマッチングが隠れたマルウェアを検出するための数少ない手段の一つになる。しかし、それでも攻撃者は行動を隠そうとする。文字の大文字小文字を変えたり、不要なスペースを追加したり、コマンドの動作に影響を与えない特殊文字を挿入したりする。これらのトリックは難読化技術として知られている。
難読化のためのシグネチャを書くのは無数の技術を組み合わせる方法があるため難しい。この複雑さが、従来の手法がこれらの悪意のある行動を捕まえるのを難しくし、新しい検出アプローチが必要とされる理由だ。
私たちのアプローチ
私たちは、特にLoLBinsからのコマンドラインログでの難読化検出に焦点を当てた。コマンドラインは文に似ているので、検出に言語モデルを使うことにした。論文では、このモデルをゼロから訓練した方法や、特に悪意のある活動に関しての実世界データでの広範なテストについて詳しく述べている。
私たちの検出方法がどれだけ効果的であるかを示すために、既知および未知のマルウェアサンプルを成功裏に特定したケーススタディを含めている。
難読化の手法
コマンドラインの難読化の一般的な形を理解するには、攻撃者が自分の行動をいかに隠すかを見ることが大事。彼らはよく知られたツールや技術に頼り、コマンドのテキストを些細に見えるが効果的な方法で変える。
攻撃者は文字の大文字小文字を変えたり、スペースを挿入したり、コマンド実行に影響を与えない文字を使ったりする。こういう変更は、固定されたシグネチャに依存するセキュリティシステムにとっては、より難しくする。
これらの難読化技術に特化したシグネチャを書くことは、無限の組み合わせが可能なため、大変な作業だ。この難解な性質の難読化が、私たちの提案した検出モデルが埋められるギャップを生んでいる。
言語モデルの構築
ゼロから言語モデルを作るには、一連のステップが必要だ:データの準備、トークナイザーの訓練、モデルの事前訓練、そしてファインチューニング。
データ準備
私たちのモデルがコマンドラインデータを分析する前に、テキストをトークンと呼ばれる小さな単位に分解する必要がある。これにより、モデルはこれらの単位が文脈の中でどう関連しているかを理解できる。ただし、コマンドラインにはIPアドレスや日付など、私たちの目的に対して無関係な要素が含まれていることが多い。モデルを最適化するために、初期準備段階でこれらの非必須な部分を一般的なトークンに置き換える。
トークナイザー訓練
データが準備できたら、訓練されたトークナイザーを使ってトークンに分解する必要がある。私たちはコマンドラインログ専用のカスタムトークナイザーを訓練した、なぜなら既存のトークナイザーは自然言語に焦点を当てていて、構造が異なるから。
カスタムトークナイザーは、処理したデータを圧縮するのに効果的で、分析が速くなる。いくつかのテストの後、ボキャブラリーサイズが20kのトークナイザーがトークンの質と処理速度の点で最良の結果を出すことが分かった。
モデルの事前訓練
次に、モデルの事前訓練に移る。ここでモデルは、ラベル付きの例がなくてもコマンドラインデータの構造を学ぶ。私たちは、効率が良く、検出目標に密接に関連する訓練法を選んだ。
このフェーズでは、大量のデータが必要で、私たちは通常のコマンド活動を表す実行ログからデータを集めた。モデルはこのプロセスを通じて、コマンドの構造の違いを見つけることを学び、難読化の検出にとって重要だ。
モデルのファインチューニング
ファインチューニングフェーズでは、モデルを調整して難読化されたコマンドを正確に分類できるようにする。この分野の一般的な課題は、良性のコマンドに比べて難読化されたコマンドが少ないことだ。
この不均衡に対処するために、より多くの難読化サンプルを考慮した訓練データセットを修正した。また、モデルが分かりにくいコマンドに焦点を当てるのを助ける特別な訓練技術も取り入れ、何でも良性と分類するわけではないようにした。
実世界でのテスト
私たちのアプローチの真のテストは、実世界のシナリオでどれだけうまく機能するかだ。新しいデータを3日間使ってモデルを評価し、高いレベルの良性コマンドの中での検出能力を測定した。
この評価では、モデルは約1600サンプルを潜在的に難読化されたとしてフラグを立てた。これらの発見を分類してその正確性を判断した。不幸なことに、実世界のテレメトリーの性質により、良性コマンドの量が多かったため、予想よりも精度が下がった。
悪意のある活動を検出するためのモデルの精度を向上させるために、ラベル付きサンプルを使って再訓練し、難読化された悪意のあるコマンドを強調しつつ、広範な良性の例も保持した。
結果
調整を実施した後、さらに4日間の新しいデータで追加のテストを行った。結果はモデルの精度が大幅に向上し、以前は隠されていた悪意のあるコマンドを特定する際の正確性が向上した。
検出しきい値を上げることで、精度を高く保ちながら偽陽性の数を最小化することもでき、複雑な環境でもモデルの効率性を強調した。
ケーススタディ
私たちのモデルの強みは、既知の難読化技術を検出する能力だけでなく、新たに見たことのない技術を認識する能力にもある。2つのケーススタディがこの効果を強調する。
ケーススタディ1: Raspberry Robinマルウェア
Raspberry Robinは、さまざまな一般的なシステムバイナリに依存するワームだ。その悪意のある戦略を検出するための多くの既知の方法があるにもかかわらず、私たちのモデルは従来の手法では見逃されていたコマンドシグネチャを特定し、難読化に対するその堅牢性を示した。
ケーススタディ2: Gamarueマルウェア
Raspberry Robinと似て、Gamarueもコマンドを実行するための確立された方法を利用している。私たちのモデルは、シグネチャ検出を回避するような文字使用のわずかな変更を認識した。
どちらのケースでも、私たちのモデルはマルウェアの活動のさまざまな段階を効果的に特定し、そのオペレーションに関する貴重な洞察を提供した。
結論
この論文では、カスタムトレーニングされた小さな言語モデルを使って難読化されたコマンドラインを検出する新しいアプローチを提示した。訓練プロセスを詳述し、さまざまな環境や実行ログにわたって難読化を効果的に特定できることを示した。
私たちのモデルは、難読化を多用する2つの一般的なマルウェアファミリーを特定する実用的な価値を示した。大規模なデータセットの中でも高い精度を達成し、この手法を従来の検出技術に対する重要な進歩として位置付けた。
今後は、Unixベースのシステムもカバーするように検出能力を拡張する予定だ。サイバーセキュリティ分析者の継続的なサポートは、私たちの研究において重要な役割を果たし、難読化検出におけるさらなる進展の道を開いている。
タイトル: Command-line Obfuscation Detection using Small Language Models
概要: To avoid detection, adversaries often use command-line obfuscation. There are numerous techniques of the command-line obfuscation, all designed to alter the command-line syntax without affecting its original functionality. This variability forces most security solutions to create an exhaustive enumeration of signatures for even a single pattern. In contrast to using signatures, we have implemented a scalable NLP-based detection method that leverages a custom-trained, small transformer language model that can be applied to any source of execution logs. The evaluation on top of real-world telemetry demonstrates that our approach yields high-precision detections even on high-volume telemetry from a diverse set of environments spanning from universities and businesses to healthcare or finance. The practical value is demonstrated in a case study of real-world samples detected by our model. We show the model's superiority to signatures on established malware known to employ obfuscation and showcase previously unseen obfuscated samples detected by our model.
著者: Vojtech Outrata, Michael Adam Polak, Martin Kopp
最終更新: 2024-08-05 00:00:00
言語: English
ソースURL: https://arxiv.org/abs/2408.02637
ソースPDF: https://arxiv.org/pdf/2408.02637
ライセンス: https://creativecommons.org/licenses/by/4.0/
変更点: この要約はAIの助けを借りて作成されており、不正確な場合があります。正確な情報については、ここにリンクされている元のソース文書を参照してください。
オープンアクセスの相互運用性を利用させていただいた arxiv に感謝します。