インテグレーションと情報付加
ツールを接続し、コンテキストを追加します。
「インテグレーションと情報付加」はCoddyKit上の無料Cyber Security Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCyber Security Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cyber Security Academyコースには全4レッスンが含まれています。
インテグレーションが難所である理由
SOARプラットフォームの能力は、接続できるツールの能力に左右されます。インテグレーション(コネクタ)は、プレイブックからAPI経由で外部システムに問い合わせたり、指示を送ったりできるようにするアダプターです。
視覚的なプレイブックは注目を集めますが、目立たないインテグレーション層、認証、レート制限、データ解析に、エンジニアリング作業の大半と障害の多くが集中しています。
インテグレーションの2つの方向
インテグレーションには2つの方向があります。
- インバウンド(取り込み):SIEM、EDR、メールゲートウェイ、クラウド監査ログからSOARにイベントを取り込みます。これらがプレイブックをトリガーします。
- アウトバウンド(アクション):SOARからツールに指示を送ります。たとえば、ファイアウォールでIPをブロックする、IDプロバイダーでユーザーを無効化する、EDRでホストを隔離する、といった処理です。
通常、完全なインテグレーションには両方が必要です。イベントを受け取り、同じエコシステムに対して対応を実行します。
エンリッチメントとは何か
エンリッチメントとは、生のインジケーターにコンテキストを追加し、次の判断に役立つ情報にすることです。単なるIPアドレスからは、ほとんど何も分かりません。エンリッチメントによって、次のような情報が得られます。
- 位置情報と保有者のASN
- 脅威インテリジェンスによるレピュテーションスコアと既知のキャンペーン
- 環境内の別の場所にも存在するかどうか
- 既知の安全なインフラストラクチャの許可リストに含まれているかどうか
エンリッチメントによって、1つのアーティファクトが、プレイブックの分岐に利用できる一連の証拠になります。
一般的なエンリッチメントソース
一般的なエンリッチメントのカテゴリとソースの例を示します。
- レピュテーション/脅威インテリジェンス:VirusTotal、AbuseIPDB、自組織のMISPインスタンス
- 内部コンテキスト:CMDB(このホストの所有者は誰か)、IAM(このユーザーは何にアクセスできるか)、資産インベントリ
- サンドボックス:不審なファイルやURLを実行し、動作を観察します。
- WHOIS/DNS:ドメインの登録年数や登録情報は、フィッシングを示す強いシグナルです。
内部ソースと外部ソースを組み合わせます。外部レピュテーションだけでは、これは自分たちにとって重要かという問いに答えられません。
エンリッチメントAPI呼び出し
これは、SOARのエンリッチメントアクションがラップするレピュテーション検索の形式です。プレイブックはレスポンスを解析し、正規化したスコアを保存します。
GET https://www.virustotal.com/api/v3/ip_addresses/198.51.100.23
x-apikey: $VT_API_KEY
# response (trimmed)
# {
# "data": { "attributes": {
# "last_analysis_stats": { "malicious": 7, "harmless": 60 }
# }}
# }すべてを正規化する
すべてのツールは、それぞれ独自のスキーマでデータを返します。あるレピュテーションAPIは0〜100のスコアを返し、別のAPIはmalicious/suspicious/cleanを返し、3つ目のAPIはベンダーごとの生の判定結果を返します。
分岐する前に、これらを共通の内部表現に正規化します。各ソースを共通の尺度または列挙値に対応付け、プレイブックのロジックがどのベンダーから返答されたかを意識しなくて済むようにします。
def normalize_vt(resp):
stats = resp["data"]["attributes"]["last_analysis_stats"]
total = stats["malicious"] + stats["harmless"]
pct = (stats["malicious"] / total) * 100 if total else 0
return {"source": "virustotal", "score": round(pct)}認証と秘密情報
インテグレーションでは、APIキー、OAuthトークン、サービスアカウントを使って認証します。これらは価値の高い秘密情報として扱います。SOARのトークンが漏洩すると、環境全体のアカウントを無効化したり、ホストを隔離したりできてしまいます。
- 認証情報はプラットフォームのシークレットボルトに保存し、プレイブックのテキストには決して記載しません。
- 各インテグレーションの権限は、必要最小限に絞ります(最小権限)。
- トークンをローテーションし、使用状況を監視します。SOARは高い権限を持つアクターです。
レート制限とキャッシュ
エンリッチメントAPIにはレート制限があります。すべてのイベントで、すべてのアーティファクトをエンリッチメントするプレイブックは、特に無料プランの脅威インテリジェンスでは、すぐに制限に達します。
対策は次のとおりです。
- エンリッチメント結果をキャッシュします。IPのレピュテーションが分単位で変化することはほとんどありません。
- ケース内の検索を重複排除し、同じハッシュを5回検索しないようにします。
- エンドポイントに過剰なリクエストを送るのではなく、バックオフを使ってHTTP 429に対応します。
不完全なデータや矛盾するデータに対応する
ソース間で判定が一致しないことがあります。VirusTotalがIPを悪意ありと判定する一方で、AbuseIPDBではクリーンと表示される場合があります。1つのソースを盲目的に信頼するのではなく、エンリッチメントで集約するように設計します。
一般的な方法には、最大の重大度を採用する、高い確信度が必要なアクションの前にN個のソースの一致を求める、ノイズの多い公開フィードよりも信頼できる内部インテリジェンスを重視する、といったものがあります。後から確認できるように、判定に寄与したソースを必ず記録します。
インテグレーションの健全性監視
気づかないまま壊れたインテグレーションは危険です。プレイブックがデータの欠落した状態で処理を進める可能性があるためです。コネクタの健全性を積極的に監視します。
- APIがエラーや認証失敗を返し始めたらアラートを出します。
- レイテンシを追跡します。エンリッチメントソースが遅いと、プレイブック全体が停止します。
- スキーマの変更を監視します。ベンダーは予告なくレスポンス形式を変更することがあります。
インテグレーションを、独自のSLAとアラートを持つ本番環境の依存関係として扱います。
エンリッチメントの副作用に注意する
エンリッチメントは通常安全ですが、制御すべき副作用を持つ検索もあります。サンドボックスでURLを実行したり、単純なWHOISやHTTPの取得を行ったりするだけでも、攻撃者に発見されたことを知らせてしまう可能性があります。
- アクティブなソースより先に、パッシブなソース(キャッシュされたインテリジェンス、パッシブDNS)を使います。
- ライブで実行する場合は、自組織を明らかにしないインフラストラクチャを経由させます。
- 自動エンリッチメントの手順自体が、攻撃者に発見を知らせるトリガーにならないようにします。
理解度チェック
レート制限下でのエンリッチメント設計について考えます。
まとめ
インテグレーションとエンリッチメントの要点:
- インテグレーションはイベントを取り込み、アクションを送るコネクタです。エンジニアリング作業と障害の多くがここに集中します。
- エンリッチメントは、レピュテーション、内部の所有者情報、サンドボックスの結果などのコンテキストを追加し、プレイブックが十分な情報に基づいて判断できるようにします。
- 外部の脅威インテリジェンスと内部コンテキストを組み合わせ、すべてのソースを共有表現に正規化します。
- 最小権限とシークレットボルトでインテグレーションの認証情報を保護します。SOARは高い権限を持つアクターです。
- キャッシュと重複排除でレート制限を守り、矛盾するソースを集約し、インテグレーションの健全性を積極的に監視します。
よくある質問
「インテグレーションと情報付加」レッスンは無料ですか?
はい。「インテグレーションと情報付加」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cyber Security Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cyber Security Academyコースには全4レッスンが含まれています。
「インテグレーションと情報付加」で何を学びますか?
ツールを接続し、コンテキストを追加します。 ブラウザで直接実行するハンズオンコードでCyber Security Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Cyber Security Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCyber Security Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「インテグレーションと情報付加」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCyber Security Academyレッスンでコードを書いて実行できますか?
はい。すべてのCyber Security Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- SOARが重要な理由
- プレイブック設計
- インテグレーションと情報付加
- 自動化の効果測定