フィードバックループと機械学習で高精度な侵入検知を可能とするLacework FortiCNAPP

文●フォーティネットジャパン 編集●ASCII

提供: フォーティネットジャパン

  • この記事をはてなブックマークに追加
  • 本文印刷

本記事はフォーティネットジャパンが提供する「FORTINETブログ」に掲載された「Lacework FortiCNAPPは、フィードバックループと機械学習を通じて高精度な侵入検知を強化」を再編集したものです。

精度の高い侵入検知に、継続的な学習が必要とされる理由

 侵入検知は静的なエンジリアリングの課題ではなく、動的で経験的なプロセスであり、攻撃者の行動、開発手法、および組織内の規範の変化に合わせて進化する必要があります。

 サイバー犯罪者は一ヵ所に留まっておらず、侵入のために状況に適合し、難読化を行い、新たな手法を模索しています。同時に、ソフトウェア開発やIT運用などの一般的な活動は、組織によって大きく異なる場合があり、あるクラウド環境では正常とみなされることが、別のクラウド環境では危険信号となる場合があります。また、同じ環境内であっても、チームの変更、ツールチェーンの更新、または一時的な回避策に伴い、活動内容が急激に変化する場合もあります。

 このため、効果的な侵入検知には、状況の変化に応じて脅威や通常の行動に関する理解を常に深めることが可能な、継続的に学習できるシステムが必要です。

 そのため、Lacework FortiCNAPPの侵入検知エンジンは、過去の攻撃の静的なルールやスナップショットに基づいて構築されているのではなく、代わりに、顧客からのインプット、機械学習(ML)、および自動テストを統合したフィードバック重視のループを採用することで、検知ロジックやシグナルスコアを継続的に改善しています。このような体系的なフィードバックループにより、FortiCNAPPは現実世界の環境で、高い適合率(誤検知が少ない)と再現率(検知漏れが少ない)の両方を実現することができます。

ルールだけでなくシグナルも利用:複合アラートの仕組み

 FortiCNAPP検知エンジンの中核は、複合アラートシステムです。複合アラートは、単一のルールや侵害指標(IOC)に基づいてアラートをトリガするのではなく、複数の要素の幅広い入力シグナルを評価します。

脅威の振る舞い:アクセス制御の迂回、または権限の昇格の試行などを含む指標。
IOC(Indicator of Compromise:侵害指標):精査された脅威インテリジェンスフィードから得られた既知の不正なIP、ドメイン、またはハッシュ。
異常:グローバル、組織内、または個々のユーザー、システム、またはワークロードのいずれかの振る舞いの逸脱。

 これらのシグナルは複数のソースから取得されます。一部のシグナルは静的ルールに基づきます。他には、異常検知モデル、または振る舞いベースラインのアウトプットも利用されます。また、バイナリ(真/偽)結果を生成したり、数値スコアを連続的に生成する場合もあります。いずれにせよ、これらはすべて正規化され、複合アラートのスコアエンジンに提供されます。

図1:FortiCNAPPでシグナルを統合:振る舞いの異常、脅威指標、およびルールベースの検知などの複数のシグナルタイプが統合され、複合アラートのスコアモデルに反映されます。

 これらの各シグナルは、単独では必ずしも同等ではなく有益でもないため、状況を複雑にしています。シグナルは通常、次の3つのカテゴリに分類されます。

決定的シグナル:単独で十分にアラートを正当化できるシグナル
組み合わせシグナル:アラート単独では正当化できないが、他の指標を一緒に見ると予測可能なシグナル
文脈的シグナル:検知の結果には反映されないが、アラートが発生すると、有用なフォレンジック情報(証拠)を提供するシグナル

 現実世界のシナリオで、各シグナルの予測される重み付けを判断することは困難です。初期のシグナル設計時、これらのシグナルタイプの区別は必ずしも明確ではありません。そのため、ユーザーフィードバックが重要な役割を果たします。

ユーザーフィードバック:グランドトゥルース(正解)に基づく検知モデル

 FortiCNAPPでユーザーが複合アラートを閉じるたびに、結果について、脅威が確認された正しい検知(真陽性)なのか、または侵入テストなのか、もしくは、通常の振る舞いが不正として分類ミスされた誤検知(偽陽性)なのかをラベル付けすることができます。また、アラートは表示されていないがアラート対象である場合、ユーザーは見逃し(偽陰性)を報告することもできます。

図2:FortiCNAPPのフィードバックループ:顧客によってラベル付けされたアラートは、成長するトレーニングコーパスにフィード(供給)されることで、複合アラートのスコアモデルの継続的な再トレーニングが可能になります。

 このフィードバックは単なるサポート待ちのチケットではなく、FortiCNAPPのトレーニングコーパスの一部になります。個々のイベントはラベル付けされ、提示されるシグナルのスナップショット、およびアラートを出すべきかどうかに関する顧客の判断がキャプチャされます。時間の経過に伴い、この成長するコーパスは以下について区別できるようになります。

・実際に検知の正確性が高まるシグナル
・ノイズ情報または誤った信頼性につながるシグナル
・現実世界の状況下における、シグナルの組み合わせの振る舞い

 ユーザーからのフィードバックにより、驚くべき真実が明らかになったケースは数多くあります。当初は予測に関係すると思われていたシグナルの優先順位が下げられたり、重要でないと思われていたシグナルが適切なコンテキスト下で確認された場合、侵入の非常に有効な指標になることもあります。

匿名データを使用して複合アラートモデルをトレーニング

 フィードバックは、取得後に構造化データセットに組み込まれ、FortiCNAPPの複合アラートのスコアモデルのトレーニングに使用されます。これらの機械学習(ML)モデルを使用することで、実際の脅威に関連するシグナルの組み合わせを、通常の活動と比較して評価できます。
 
 重要な点として、このモデルが顧客固有のコンテンツを取り込むことは絶対にありません。理由は、すべてのシグナルはブール値(真偽)または数値なため、トレーニングは本質的に匿名化されているからです。モデルのトレーニングまたは推論に、顧客の機密データが渡されることはありません。

 新たなフィードバックが追加されると、モデルは、最新の現実世界のインサイトを反映するために再トレーニングされます。これにより、過去の前提に起因する誤検知(偽陽性)を削減しながら、新たな手法に継続的に対応できる検出エンジンを構築できます。

 結果として得られるモデルは、アラートの忠実度が改善するだけでなく、セキュリティチームは、適切な緊急度に基づいて、適切なシグナルに注意を集中することができます。

モデルのアウトプットを利用してシグナルの設計を改善

 FortiCNAPPの検知モデルが成熟するのに伴い、アラートの改善だけでなく、精度も高まっています。また、シグナル自体に関する私たちの理解も深まっています。

 モデルを一貫的に再トレーニングし、特定のシグナルの予測可能性の強さや相関関係の弱さを特定することで、この学習を将来のシグナル設計に適用しています。新しいシグナルは、過去のデータと比較してベンチマークすることで、影響度の可能性に関するスコアを付けた後にシグナルを展開することができます。弱いシグナルやノイズのあるシグナルは、調整、削除、または格下げを行う場合があります。

 これにより、検知のアウトプット、シグナル設計、および検知戦略の間でフィードバックをループさせることで、事後対応型の検知から、継続的な改善サイクルに移行します。

適合率と再現率:すべてのビルドで実施されるテスト方法

 継続的な学習は強力ですが、機能している既存の仕組みを壊してはいけません。そのため、FortiCNAPP侵入検知システムのプレリリースビルドはすべて、本番環境へのロールアウト前に、厳しいテストが実施されています。

 各候補ビルドは、次の2つのデータセットと照らして、夜間の自動テストが実施されます。

ラベル付き侵入シナリオ:これは、事前に適切なアラート結果がわかっているケースで、総合的なケース、レッドチームが設定したケース、および顧客がラベル付けしたケースが含まれます。これにより、以下の測定が可能になります:
 ・適合率 = 真陽性(TP) /(真陽性(TP)+偽陽性(FP)):有効なアラートの数は?
 ・再現率 = 真陽性(TP)/(真陽性(TP)+偽陰性(FN)):検知に成功した実際の脅威の数は?

顧客の最近のテレメトリ(遠隔測定)(ラベル付けなし):これは、実際の顧客データのサンプルを使用することで、「グランドトゥルース(正解)」が不明の場合であっても、ビルドの全体的なアラート率を評価することができます。これは、価値の低いアラートの氾濫を顧客に与える可能性があるリグレッション(退行)に対する第2の防御線として機能します。

 各モデルリリースでは、これらのテストスイートを組み合わせることで、検知の品質および誤検知率(シグナル/ノイズ比)の両方を維持および改善することができます。

図3:検知の有効性パイプライン:プレリリースビルドは、アラート品質の測定、リグレッションの防止、および本番準備の確認を行うために、既知の攻撃シナリオや最近のテレメトリと照らして評価されます。

準備状況の定量化:リリース前に検知の有効性をチェック

 テスト結果は、診断だけではなく運用についても含まれます。そのため、FortiCNAPPは、正式なリリース条件の一部として、適合率、再現率、およびアラート量の閾値に関する一連の定義を使用しています。

 ビルドの本番準備が完了しているとみなされるには、事前に、すべての主要な指標で、明確な改善、または少なくともリグレッション(退行)がないことを実証する必要があります。このような測定に基づいた有効性評価の取り組みにより、理論だけでなく一貫的な性能を備えた検知ロジックを利用することで、お客様の環境を確実に保護します。

データを活用した体系的なアプローチにより、検知をスマート化

 侵入検知は決して静的なものではありません。「正常」または「不正」と定義される振る舞いは常に変化しています。ただし、これは当て推量で検知するという意味ではありません。

 FortiCNAPPは、顧客からのインサイト、機械学習、および厳格な検証に基づいた、フィードバックを活用したアーキテクチャを採用しており、現実世界に合わせて進化する正確な検知を実現します。

 単に侵入を検知するのではなく、脅威とノイズ情報を区別する能力を継続的に強化することで、お客様は、不安に感じることなく自信を持って行動することができます。
 
 Lacework FortiCNAPPは、複合シグナルアーキテクチャ、顧客からのフィードバックループ 、および自動テストパイプラインを活用することで、セキュリティチームは、重要な状況をより迅速かつ正確に検知することができます。詳細をご確認ください。

■関連サイト