侵害の痕跡(IoC):入門ガイド
Security Blessing Onyegbulaサイバー攻撃の発生を確認したり、サイバー防御戦略を構築、強化したりするために、脅威インテリジェンスチームは多くの情報を活用します。その中にはIoC (侵害の痕跡)も含まれます。IoCはフォレンジックデータであり、以下を行う際に重要です。
- システムの脆弱性を特定する。
- サイバー犯罪がどのように実行されたかを確認する。
IoCの重要性は決して軽視できませんが、効果的なサイバーセキュリティ戦略を構築するためには、それだけでは万全とは言えません。この記事では、侵害の痕跡とその種類や、脅威インテリジェンスチームにとってのその重要性について詳しく解説します。
それでは始めましょう。
IoC (Indicators of Compromise:侵害の痕跡)とは?
侵害の痕跡とは、データ侵害、侵入、またはサイバー攻撃が発生したことを示す足跡やデータです。IoCの存在は、システム、ネットワーク、またはドメイン内に脆弱性があることを示しています。IoCの主な目的は、セキュリティイベントが発生した後で、その分析を支援することです。イベント発生後の分析は、脅威ハンティングを行う際に重要です。
著書『Identity Attack Vectors』の中で、著者のMorey Haber氏とDarran Rolls氏は、IoCによって見つけ出せるものとして以下を挙げています。
- 環境内での異常発生の兆候
- 異常を裏付ける証拠
- 侵害の根本原因
IoCの特徴
専門家は、IoCであると判断する条件として、以下の3つを挙げています。
- オブザーバビリティ:悪意のあるイベントが発生した痕跡を示している必要があります。
- コンテキスト:攻撃が発生した具体的なコンテキストにアーティファクトが合致している必要があります。例えば、フィッシング攻撃が発生した場合、疑わしいURLや疑わしいメールの添付ファイルといったものがIoCとなります。これらはいずれもそのような攻撃を実行するための一般的な手段です。
- メタデータ:セキュリティチームがIoCを分析するには、追加情報が必要です。これには、痕跡の発生源、データ、発生時刻、および攻撃に関連するアーティファクトが含まれます。
IoCは、攻撃の実行に使用されたツールや、攻撃者やマルウェアが経由したさまざまなタッチポイント、侵入の結果などを示すことができます。
IoCの種類
IoCの主な3つの種類について見てみましょう。
- ネットワークベースのIoCは、ネットワーク接続やトラフィックを分析することで検出されます。ネットワーク内のさまざまなコンポーネントから、IoCの構成要素となる悪意のあるデータを見つけ出すことができます。ネットワークベースのIoCには、悪質なドメイン名や疑わしいIPアドレスなどがあります。
- ファイルベースのIoCは、ホストシステム内で見つかったファイルに関連しています。これには、ハッシュファイル、ファイル名、ファイルパスなどがあります。
- 挙動ベースのIoCは、システムまたはネットワーク内の悪意のあるアクティビティを示すパターンを監視することで検出されます。サイトへのトラフィックが異常に多い、ログイン試行が繰り返し失敗するなどの挙動は、IoCとしてフラグが付けられる可能性があります。
重要なのは、さまざまなタイプのIoCを検出する際の課題や検出後に取るべき対応が、攻撃者に応じて異なるという点です。IoCの種類ごとの難易度と影響度は、Pyramid of Pain (痛みのピラミッド)を使って分かりやすく示すことができます。この概念は、脅威の専門家であるDavid Bianco氏によって2013年に提唱されており、Bianco氏はこの発想の原点を次のように説明しています。
Pyramid of Painとは、「脅威検出におけるサイバー脅威インテリジェンスの効果的な運用、特に攻撃者側の攻撃コストを増加させることに重点を置いた運用のためのフレームワーク」と考えるとよいでしょう。
IoCの例
IoCにはいくつかの形態があります。ここでは、サイバーセキュリティのコミュニティでよく知られている一般的なIoCを紹介します。
ネットワークの異常な送信トラフィック:サーバーから送信されるトラフィック量が極めて多い場合や、通常よりも非常に多い場合は、コマンドアンドコントロール(C2)通信の兆候である可能性があります。また、侵害された内部のシステムから外部のC2通信センターへの送信トラフィックであることも考えられます。
重要なのは、これがマルウェアの存在やデータ流出の可能性を示しているという点です。このIoCが示唆する重大な結果はデータ漏洩です。
多数のログイン試行の失敗:ユーザーログインの失敗は毎日発生しています。ただし、場合によっては、このようなログインの失敗は、偽の資格情報を使用してシステムにログインしようとしている悪意のある人物の存在を示唆しています。その目的としては、以下が考えられます。
- 特定のユーザーアカウントを乗っ取る(不正行為者は頻繁にこの手法を使用します)。
- システム全般をより広範囲に侵害する。
想定外の場所からのアクティビティ:システムが通常は使用されていない地域からのネットワークアクティビティには警戒が必要です。実際のハッキングは、不明な場所や偽造または改変されたIPアドレスから試行されるのが一般的です。
計画外のソフトウェア更新:システム管理者が許可していない計画外のソフトウェア更新が実行された場合、それはシステムのセキュリティが侵害されていることを意味しています。
通常とは異なるアプリケーションを攻撃者が不正にインストールした可能性があり、排除しなかった場合、ソフトウェアの更新を通じて悪意のあるコードが実行される可能性があります。
疑わしいレジストリ変更:Windowsのレジストリには、以下のような機密情報が格納されています。
- 構成設定
- オペレーティングシステムとアプリケーションのオプション
レジストリの変更が繰り返される場合、攻撃者が悪意のあるコードを実行するためにシステムを構築している可能性があります。
HTMLレスポンスサイズ:オンラインでのやり取りの際、HTMLレスポンスのサイズを確認することで、Webサーバーから送られる情報の異常を判断できます。HTMLレスポンスサイズが通常よりも大きい場合は危険信号です。これは、データが流出していたり、HTMLレスポンス内に悪意のあるコードが隠されている可能性があります。
データベースの読み取り量の増加:データベースアクセスが頻繁に発生して読み取り量が急増している場合、それは何者かがデータベースに不正にアクセスし、機密データ(財務データや顧客レコードなど)を盗み出そうとしている可能性があります。
地理的不規則性:ビジネスとは無関係な心当たりのない国のIPからのネットワークトラフィックは、悪意のあるアクティビティの痕跡である可能性があります。同様に、組織がビジネスを行っていない国への大量の送信トラフィックは、データ流出の可能性を示唆しています。
正規ユーザーの通常の場所とは異なる場所からログインが試行されている場合は、何者かがそのアカウントにアクセスしようとしている可能性があります。ログイン試行が何度も失敗している場合、それはブルートフォース攻撃の可能性があります。
通常とは異なるDNSリクエスト:悪質なドメインを含むDNSリクエストは、システムがマルウェアに感染していることを示している可能性があります。また、大量のDNSクエリーは、データの流出やコマンドアンドコントロールサーバーとの通信が発生している可能性を示唆しています。また、攻撃者は、セキュリティ対策を回避するためにDNSトンネリングを使用する可能性もあります。
IoCとIoAの比較
脅威インテリジェンスでは、侵害がすでに発生した、もしくは現在発生しているということをセキュリティ管理者が把握できる指標が2つあります。そのうちの1つがIoCで、もう1つの指標が「攻撃の兆候」(IoA)です。
- 攻撃の兆候(IoA)とは、現在進行中のサイバー攻撃を見つけ出すために使用する挙動やパターンです。IoAは、システムまたはネットワークで、悪意のあるアクティビティを行う目的とそれに使用される手法を識別します。つまり、この2つの概念の最も大きな違いは攻撃の状態です。検出時に攻撃がまだ進行中である場合、それはIoAです。
- IoAが現在進行中の攻撃の可能性を見つけ出すのとは対照的に、IoCは攻撃発生後の徹底的な調査のために使用されます。
チーズを盗もうとしているネズミを捕まえようとしている状況や、強盗が侵入しようとしているドア付近の物音に耳をそばだてている状況を想像してみてください。このような挙動のデジタルバージョンがIoAです。IoAを活用することで、サイバー攻撃が発生している間にそれを阻止したり、さらにはその場でハッカーを捕まえたりすることもできます。
どちらの指標も極めて重要ですが、いくつかの大きな違いを認識しておくことでこの2つを明確に識別することができます。その違いは以下のとおりです。
検知のタイミング
- IoAは、サイバー攻撃やデータ侵害に対処するための動的な情報をタイムリーに提供します。IoAを特定できれば、問題が深刻化する前に状況を立て直せる可能性が高まります。
- IoCは過去に遡って証拠を確認するために使用するものであり、犯罪者が現場を離れた後で、監視カメラに写った犯行の録画を確認するのと似ています。IoCは、攻撃の原因とそれがどのように発生したかを示す指標です。
プロアクティブまたはリアクティブな対応
- IoAは、状況が悪化する前に攻撃を阻止するための情報を提供します。即座に対処できれば、修復すべきダメージを減らし、うまくいけば損失も最小限に抑えられるでしょう。
- IoCは事後的な分析に使用する指標であるため、対応できるのは攻撃が発生した後のみです。
データの性質
- IoAはフォレンジック情報とは異なり、イベントが進行中であることを示唆する行動パターンやテクニックに関する情報を提供します。つまり、マルウェアの意図や攻撃者の目標に応じて動的に変化する可能性があり、予測不可能です。
- IoCは通常、確定済みのデータであり、分類して過去の情報と比較できる形式になっています。これは静的なデータであり、比較的扱いやすいものです。
脅威インテリジェンスにおけるIoCの重要性
IoCについて理解したところで、IoCを調査することによって得られる、組織と脅威インテリジェンスチームにとっての主なメリットを詳しく見てみましょう。
IoCは将来の攻撃を未然に防ぎます。通常、IoCの形式は変わらないため、セキュリティチームはそれを基に攻撃のデータベースを作成してその情報をツールに統合し、それ以降はシステム内の悪意のあるツールを自動的に発見してシステムから排除することができます。また、システム内で発見されたIoCを定期的に公開しているレポートやサイバーコミュニティがいくつかあり、これらを活用して同種の攻撃からの防御に役立てることができます。
実際にあった例としては、FBIのFLASHレポートに記載された、RagnarLockerという悪名高いランサムウェア攻撃グループに関連するIoCについて、アメリカのサイバー防衛機関であるCISAがアラートを発信し、このグループが企むサイバー空間への攻撃について多くの組織に警告を発したことがありました。
IoCは効果的なインシデント対応計画の作成に役立ちます。サイバー攻撃の侵入方法やその影響に精通することは、効果的なインシデント対応計画を策定するのに役立ちます。アナリストは、手探りで作業するのではなく目に見える具体的な情報を活用しながら、サイバー攻撃を予測すると同時にそれに対抗することも可能になります。
IoCは脅威ハンティングをサポートします。サイバーセキュリティにおいて、IoCは脅威インテリジェンスに分類されるため、セキュリティ監査や脅威ハンティングの出発点としては最適です。IoCによって問題に関する具体的な証拠が提示され、多くの場合、攻撃がどのように行われたかについての詳細な情報も提供されます。
IoCはサイバー空間全体の安全性を向上させます。組織が過去や現在のIoCについてナレッジを公開する場合があります。この情報を活用することで、さらに多くの組織がサイバーセキュリティを強化することができます。
また、IoCのアラートには、サイバー攻撃を防ぐための詳細な推奨事項や、サイバー危機が深刻化して他のネットワークにも拡大するのを防ぐための効果的なインシデント対応戦略が含まれるものもあります。例えば、チリの銀行規制当局に対するサイバー攻撃が発生した際には、その直後にMicrosoft Exchangeサーバーで発見されたIoCが規制当局によって共有されました。さらに、共有されたIoCの情報に基づいて、このようなIoCを迅速に検出できるようにMicrosoft MSERTツールが更新されました。
IoCの特定と処理
IoCを特定してそれに対応するには、以下のことを行う必要があります。
疑わしいアーティファクトにフラグを付けて調査する
前のセクションで説明したものと類似した特徴を持つアーティファクトを見つけます。データに対して何か違和感を覚えた場合は、一旦立ち止まって調査します。サイバー攻撃に関しては、「念には念を」の原則が常に当てはまります。
自動チェックツールをインストールする
ウイルス対策とマルウェア対策のツールを利用すれば、IoCとして識別された悪意のあるエージェントを検出し、システムから排除できます。ただし、高度なツールであってもゼロデイ攻撃は検出できないため、大損害につながる可能性があることに注意が必要です(ゼロデイ攻撃とは、ソフトウェア、ハードウェア、セキュリティのコミュニティにまだ知られていない新しい攻撃です)。そのため、これらのツールだけに頼っていると、重要なアクティビティを見逃してしまうでしょう。
トレンドとレポートの最新情報をチェックする
サイバーセキュリティ関連の最新状況の把握に努めます。IoCの情報を公開している以下のような信頼できるサイトのレポートに目を通し、IoCに関するトレンドをフォローします。
- VirusTotal
- Onyphe
- Any.runの Malware Trends Tracker のWebサイト
- Malware information sharing platform (MISP)
- AlienVault OTX
- BlackBerry Threat Research & Intelligence Teamが公開しているGitHub
また、確認したIoCの社内データベースを、監視ツールやセキュリティ情報/イベント管理(SIEM)ソリューションに統合することもできます。
従業員の力を借りてIoCを特定する
従業員が十分なトレーニングを受けていれば、IoCを特定するうえで大きな助けになります。異常なアクティビティや疑わしいアクティビティを識別して報告できるようにチームと従業員をトレーニングします。疑わしいアクティビティには、不審なメール、通常とは異なるログイン試行、ネットワークやシステムの不可解な挙動などが挙げられますが、この他にも多数あります。従業員に対しては明確なガイドラインを示し、IoCを特定して関係者に報告する際に従うべきプロセスを熟知してもらう必要があります。
IoCの特定後に脅威を排除する
IoCに基づいて特定した脅威を排除する方法を以下に簡単に説明します。
- 脅威を封じ込めます。封じ込めには、システムやネットワークの切り離し、アカウントの無効化、トラフィックのブロックなどが含まれます。
- 脅威の根本原因と影響を調査します。これには、ログ、ネットワークトラフィック、システムファイルなどのデータを使用します。
- 脅威を根絶します。これは、関連する修復プロセスに従います。このプロセスには、悪意のあるファイルの削除、アクセス制御の更新、パスワードのリセット、パッチ適用による脆弱性の修正などが含まれます。
- 脅威が根絶されたことを確認するために徹底的なテストを実施します。確認が完了したら、システムやネットワークセグメントを元のネットワークに再統合します。
- 不審なアクティビティの監視を継続し、見逃した可能性のある脅威を捕捉します。
セキュリティを強化するためのベストプラクティス
ここからは、サイバーセキュリティ戦略のベストプラクティスを紹介します。
監視と検出:SIEM、XDR、IDS、IPS、ファイアウォールなどのツールを導入して継続的に監視することで、セキュリティチームが脅威を早期に検出し、リアルタイムで対応できるようにします。
アクセス制御:最小権限の原則に基づいて、重要なシステムや機密データへのアクセスを制限します。また、アクセス制御の定期的な見直しと更新を行い、内部脅威を最小限に抑えます。
脆弱性管理とパッチ管理:システムの脆弱性を定期的に評価してセキュリティパッチを適用します。パッチの確認を自動化し、更新を最優先で行うよう関係者に周知します。
バックアップとリカバリ:データのバックアップと暗号化を定期的に実行し、データを複数の場所に保存します。復旧手順をテストし、データ侵害の発生時にデータを復元できることを確認します。
インシデント対応計画:インシデント対応計画に関して、利害関係者のスキル開発とトレーニングを実施します。定期的に演習を行い、インシデント後には計画を見直し、学んだ教訓を取り入れます。
セキュリティ意識:従業員が脅威を発見して報告できるように継続的なトレーニングを提供し、サイバーセキュリティのベストプラクティスの実践を奨励します。
IoCの検出と管理にとどまらないサイバー防御
IoCを探し出して攻撃の被害に対応する方法を知ることは、サイバー防御チームに多くのメリットをもたらします。しかし、昨今のWeb環境におけるサイバー犯罪の猛攻に耐えるためには、これだけでは不十分です。
IoCは絶対確実なガイドラインを提供するものではなく、あくまでも将来発生する同様の攻撃の回避方法を示すものです。IoCに関する大量のレポートのみに頼ることや、やみくもにセーフガードをシステムに統合することは、脅威の誤検出やセキュリティに関する誤った認識など、メリットよりもむしろデメリットをもたらす可能性があります。
IoCは極めて重要ではありますが、やはり最も重要なのは、セキュリティに対して多面的にアプローチすることです。脅威ハンティングにIoCやIoAのようなサイバーインテリジェンスを取り入れること、サイバーセキュリティ分野の最新レポートをフォローすること、AIと機械学習テクノロジーを活用することなど、より安全なサイバー空間を構築するためにはこれらのすべてが欠かせません。
関連記事

AppLockerルールを悪用した防御回避:詳細分析

Splunkで脅威ハンティング:アクティブなハンターのためのハンズオンチュートリアル
