A hand holding a magnifying glass above several blocks containing pictures of triangles. The block directly under the magnifying glass is taller and has a larger triangle on it
脅威の調査

Sophos AI、Black Hat USA ’25 に出展: コマンドライン異常検知に関する研究結果を発表 (続報)

以前の予告に続き、Ben Gelman と Sean Bergeron による、無害な異常データを用いたコマンドライン分類の強化に関する研究についてお伝えします。

** 本記事は、Sophos AI at Black Hat USA ’25: Anomaly detection betrayed us, so we gave it a new job の翻訳です。最新の情報は英語記事をご覧ください。**

サイバーセキュリティにおける異常検知能力は長らく、予想される動作からの逸脱をあぶり出すことで脅威を特定する手法を用いてきました。ところが、悪意のあるコマンドを特定する場合には、その手法の実務への適用はしばしば高い誤検知率をもたらし、高コストかつ非効率的です。しかし、AI における最近のイノベーションを経てなお、探求されていない新たな視点は存在するのでしょうか。

Black Hat USA 2025 において、私たちは異常検知がシステムの弱点とならないようなパイプラインを設計するという視点からの研究を発表しました。異常検知と大規模言語モデル (LLM) を組み合わせることで、専用のコマンドライン分類ツールを強化するのに不可欠なデータを自信を持って特定できます。

異常検知を別のプロセスに提供することで、教師なし学習手法が持つ潜在的な弱点、壊滅的な誤検知率を改善できます。私たちは代わりに、分類を目的とした教師ありモデルの改良に取り組みました。

意外なことに、この手法の成功は、異常検知機能が悪意のあるコマンドラインを特定することに依存しませんでした。その代わりに、異常検知を LLM ベースのラベリングと組み合わせることで、非常に多様な良性 (無害な) コマンドラインのセットが得られました。この良性データをコマンドライン分類ツールのトレーニングに活用することで、誤検知率が大幅に低減します。この手法により、膨大な実環境データの中から悪意のあるコマンドラインを探し出す作業に悩まされることなく、豊富な既存データを利用できるようになります。

本記事では、私たちの実験手法を詳述し、異常検知によって特定された多様な良性データが、分類ツールの理解を広げ、より回復力のある検知システムの構築にどのように貢献するかを解説します。

悪意のある異常値を検知するだけではなく、良性データの多様性を活用することで、私たちはコマンドライン分類戦略における潜在的なパラダイムシフトの可能性を切り開きました。

まったく新しいアプローチ

サイバーセキュリティの担当者は通常、コストのかかるラベル付きデータセットと、ノイズの多い教師なし検知を天秤にかける必要があります。従来の良性データのラベリングは、頻繁に観測される、あまり複雑でない良性の挙動に焦点を当てていました。大規模に実行するのが容易なためですが、結果として、まれで複雑な良性コマンドは意図せず除外されてしまいます。このギャップが、分類ツールに高度な良性コマンドを悪意のあるものとして誤分類させ、誤検知率を高めていました。

LLM における最近の進歩により、高精度な AI ベースのラベリングを大規模に行えるようになりました。私たちは、実際の運用テレメトリ (1 日あたり 5,000 万件以上のコマンド) で検出された異常にラベルを付けることでこの仮説を検証し、良性の異常についてほぼ完璧な精度を達成しました。異常検知を良性データのカバレッジを向上させるためだけに明示的に用いることで、その役割を変えました。それは、悪意のある挙動を不規則に特定するのではなく、良性データの多様性を確実に見つけ出すことへとシフトさせることです。このアプローチは根本的に新しいものです。なぜなら、異常検知は従来、良性のラベルの多様性を高めることよりも、悪意の発見を優先してきたからです。

異常検知と、先進的な LLM (特に OpenAI の o3-mini モデル) による自動かつ信頼性の高い良性ラベリングを組み合わせることで、私たちは教師あり分類ツールを増強し、その性能を大幅に向上させました。

実施方法

データ収集と特徴量化

私たちは 2025 年 1 月の 1 か月間にわたり、データ収集と特徴量化という 2 つの異なる実装を比較しました。それぞれを毎日適用して、ある期間における性能を評価しました。

フルスケール実装 (利用可能なすべてのテレメトリ)

まず初めに、毎日約 5,000 万件の固有のコマンドラインを含む、ソフォスのすべてのデイリーテレメトリデータで運用しました。この方法では、Apache Spark クラスと AWS SageMaker による自動スケーリングを用いてインフラストラクチャを拡張する必要がありました。

フルスケールアプローチの特徴量は、主にドメイン固有の手動エンジニアリングに基づいていました。私たちは、コマンドラインの特性を表すいくつかのデータを計算しました。

  • コマンドの複雑さとランダム性を測定したエントロピーベースの特徴量
  • 特定の文字や特殊なトークンの存在をエンコードした文字レベルの特徴量
  • コマンドライン分布全体でのトークンの頻度と重要性を反映したトークンレベルの特徴量
  • 難読化技術、データ転送コマンド、メモリまたは認証情報ダンプの操作など、悪意のある試みと一般的に関連する疑わしいパターンを主な対象とした動作確認

縮小されたスケールでの埋め込み実装 (サンプリングされたサブセット)

次に、毎日 400 万件の固有のコマンドラインを持つ日々のサンプリングされたサブセットを使用することで、スケーラビリティの懸念に対処しました。計算負荷を低減することで、より安価なアプローチにおける性能のトレードオフとリソース効率を評価できるようになりました。

注目すべきは、このアプローチの特徴量埋め込みと異常処理が、安価な Amazon SageMaker の GPU インスタンスや EC2 の CPU インスタンス上で実行可能であり、運用コストを大幅に削減できる点です。

この手法では、特徴量エンジニアリングの代わりに、プログラミングアプリケーション向けに特別に設計された、事前学習済みトランスフォーマー埋め込みモデルJina Embeddings V2 から生成されたセマンティック埋め込みを使用しました。このモデルはコマンドライン、スクリプト言語、およびコードリポジトリで明示的に事前学習されています。埋め込みは、コマンドを意味のある高次元のベクトル空間で表現します。この手法により、人力での特徴量エンジニアリングの負担がなくなり、複雑なコマンド間の関係性を本質的に捉えられます。

トランスフォーマーベースのモデルからの埋め込みは計算負荷が高い場合がありますが、今回はデータサイズが小さかったため、計算は管理可能でした。

これら 2 つの異なる手法を用いることで、検知性能を大きく損なうことなく計算量を削減できるかどうかを評価できました。この評価は、実環境への導入に向けた貴重な洞察となりました。

異常検知手法

特徴量化の後、私たちは 3 つの教師なし異常検知アルゴリズムで異常を検出しました。それぞれのアルゴリズムは、異なるモデリングの特性を持つために選択されました。 isolation forest は、まばらなランダムパーティションを特定します。2 つ目の修正された k-means は、重心距離を使用して、データ内の一般的な傾向に従わない非典型的な点を見つけます。最後の主成分分析 (PCA) は、投影された部分空間で大きな再構築誤差を持つデータを見つけ出します。

異常の重複排除と LLM によるラベリング

最初の異常検知を完了した後、私たちは実用上の問題である異常の重複に対処しました。多くの異常なコマンドは、小さなパラメータの変更や変数名の置換など、互いに最小限の違いしかありませんでした。冗長性を避け、特定の種類のコマンドの重みが意図せず大きくなることを防ぐため、私たちは重複排除のステップを確立しました。

トランスフォーマーモデル (Jina Embeddings V2) を使用してコマンドライン埋め込みを計算し、コサイン類似度比較によって異常の類似性を測定しました。コサイン類似度は、埋め込み表現間の意味的な類似性を測定する堅牢かつ効率的なベクトルベースの尺度となります。その後のラベリング分析が実質的に新しい異常に焦点を当てられるようになります。

続いて、異常は LLM ベースのラベリングにより自動で分類されました。私たちの手法は、OpenAI の o3-mini 推論 LLM を使用しました。さまざまな推論タスクでの汎用ファインチューニングにより、サイバーセキュリティ関連のテキストデータの効果的な文脈理解能力を持つためです。

このモデルは、それぞれの異常にはっきり良性または悪性のラベルを自動的に割り当て、コストのかかるアナリストによる人力での介入を大幅に削減しました。

LLM ラベリングの検証では、良性ラベルに対して非常に高い精度 (ほぼ 100%) が示されました。この結果は、その後に行われた、1 週間分の異常データに対する専門アナリストの手動評価によっても確認されています。この高い精度により、ラベリングされた良性の異常を、高い信頼性と最小限の人間の検証で、分類ツールの訓練のための後続フェーズに直接統合することが可能となりました。

この、包括的なデータ収集から正確なラベリングに至るまで注意深く構造化されたパイプラインは、多様な良性ラベル付きコマンドデータセットをもたらし、教師あり分類モデルに実装された際に誤検知率を大幅に削減しました。

結果と洞察

フルスケール実装と縮小スケール実装は、それぞれ図 1 と図 2 の通り、2 つの異なる分布をもたらしました。この手法の汎用性を実証するために、私たちは 2 つの異なるベースライン訓練データセットを強化しました。1 つは正規表現ベースライン (RB)、もう 1 つは集約型ベースライン (AB) です。正規表現ベースラインは、静的な正規表現ベースのルールからラベルを取得しました。考えうる最も単純なラベリングパイプラインを代表することを意図したものです。集約型ベースラインは、正規表現ベースのルール、サンドボックスデータ、お客様のケース調査、およびお客様のテレメトリからラベルを取得しました。より成熟した、洗練されたラベリングパイプラインを代表するものです。

Graph as described

図 1: フルスケール手法を使用してテスト月間に収集されたコマンドラインの累積分布。グラフは、すべてのコマンドライン、固有のコマンドラインによる重複排除、およびコマンドライン埋め込みのコサイン類似度による (近似的) 重複排除を示しています。

Graph as described

図 2: 縮小スケール手法を使用してテスト月間に収集されたコマンドラインの累積分布。縮小スケールの累積分布が横ばいになるのは、サンプリングされたデータが、より多くの局所最適解を見つけている可能性が高いためです

訓練セット インシデントテストの曲線下面積 タイムスプリットテストの曲線下面積
集約型ベースライン (AB) 0.6138 0.9979
AB + フルスケール 0.8935 0.9990
AB + 縮小スケール 0.8063 0.9988
正規表現ベースライン (RB) 0.7072 0.9988
RB + フルスケール 0.7689 0.9990
RB + 縮小スケール 0.7077 0.9995

表 1:追加の異常由来の良性データで訓練された集約型ベースラインモデルと正規表現ベースラインモデルの曲線下面積 (AUC)。集約型ベースライン訓練セットはお客様データとサンドボックスデータで構成されています。正規表現ベースライン訓練セットは正規表現由来のデータで構成されています。

表 1 の通り、私たちは訓練済みモデルを、タイムスプリットテストセットと、インシデント調査およびアクティブラーニングフレームワークから得られた専門家ラベル付きベンチマークの両方で評価しました。タイムスプリットテストセットは、訓練期間直後の 3 週間にわたるものです。専門家ラベル付きベンチマークは、以前に導入されたモデルの本番環境の分布に非常に近いものです。

異常由来の良性データを統合することで、それぞれ集約型ベースラインモデルの専門家ラベル付きベンチマークにおける曲線下面積 (AUC) を 27.97 ポイント、正規表現ベースラインモデルの AUC を 6.17 ポイント向上させました。

結論

効果的とは言えない、悪意のある直接分類の代わりに、末端 (まれな事象) における良性データのカバレッジを充実させるという、異常検知の優れた有用性を実証しました。これは、分類ツールの精度を向上させ、誤検知率を最小限に抑えるパラダイムシフトです。

現代の LLM は、良性データラベリングのための自動化されたパイプラインを可能にしました。これは最近まで実現できなかったことです。私たちのパイプラインは既存の本番環境パイプラインにシームレスに統合され、その汎用性と適応性の高い性質を浮き彫りにしました。