攻撃の痕跡 (IOA) と侵害の痕跡 (IOC)

攻撃の痕跡 (IOA) とは?

攻撃の痕跡 (IOA) は、攻撃で使用されたマルウェアやエクスプロイトに関係なく、攻撃者が達成しようとしている目的を検知することに焦点を当てています。アンチウイルスシグネチャと同様に、IOCベースの検知アプローチでは、マルウェアを使用しない侵入やゼロデイエクスプロイトによる増加している脅威を検知できません。その結果、次世代セキュリティソリューションは、クラウドストライクが先駆者となってきたIOAベースのアプローチに移行しています。

侵害の痕跡 (IOC) とは?

侵害の痕跡 (IOC) は、フォレンジックの世界では、ネットワークのセキュリティが侵害されたことを示すコンピューター上の証拠として説明されることがよくあります。通常、調査担当者は、不審なインシデントの通知を受けた後に、スケジュールに基づいて、またはネットワークでの不審な活動が発見された後に、このデータを収集します。理想的には、これらの情報を収集して、疑わしいファイルを検知して隔離できる「よりスマートな」ツールを将来作成するために役立てます。

IoA vs IoC circle chart

攻撃の痕跡 (IOA) – 現実世界

攻撃の痕跡 (IOA) に焦点を絞って議論する1つの方法として、犯罪者が現実世界でどのように銀行窃盗を計画し実行するかを例として取り上げます。

賢い泥棒は、銀行を「下調べ」し、偵察して、防御の脆弱性を把握することから始めます。窃盗に最適なタイミングと方法を決定すると、銀行への侵入に移ります。窃盗犯は、セキュリティシステムを無効にし、金庫室に向かい、組み合わせ錠を解錠しようとします。成功すると、戦利品を盗み、何事もなく逃走し、作戦が完了します。IOAは、銀行窃盗犯が目的の達成に成功するために示さざるを得ない一連の振る舞いになります。窃盗犯は、金庫室に侵入する前に、銀行の周りを車で走り(ターゲットを特定)、駐車して、建物に入る必要があります。セキュリティシステムを無効にしなければ、金庫室に入り金銭を奪ったときにアラームが鳴ります。

もちろん、銀行の周りを車で走り、駐車して、建物に入るなどのアクティビティそれ自体は、攻撃が差し迫っていることを示すものではありません。さらに、銀行の金庫室を開いて現金を引き出しても、金庫室にアクセスする権限がその個人にあれば、必ずしもIOAにはなりません。特定のアクティビティの組み合わせによってIOAがトリガーされます。

攻撃の痕跡 (IOA) – サイバー世界

サイバー世界での例を見てみましょう。IOAは、攻撃者が成功するために行う必要のある一連のアクションを表します。執念深い攻撃者が使用する、最も一般的で、今でも最も成功している戦術であるスピアフィッシングを分析すると、この点を理解できます。

フィッシングEメールが成功するには、リンクをクリックしたり、マシンに感染するドキュメントを開いたりするようにターゲットに促す必要があります。侵害されると、攻撃者はひっそりと別のプロセスを実行し、メモリやディスクに潜み、システムの再起動後も存続し続けます。次のステップでは、コマンドアンドコントロールサイトと通信し、さらなる指示を待っていることをハンドラーに通知します。

IOAは、これらのステップの実行、攻撃者の意図、および達成しようとしている結果に関心があります。IOAは、攻撃者が目標を達成するために使用する具体的なツールには焦点を当てません。
これらの実行ポイントを監視して、痕跡を収集し、ステートフル実行検査エンジンで処理することで、アクターがネットワークへのアクセスを成功させる方法や、その意図を推測できます。ツールまたはマルウェアの高度な知識(つまり侵害の痕跡 (IOC))は必要ありません。

ioc v ioa attack timeline

IOAとIOCの比較

銀行窃盗犯の例えを振り返って、IOCだけを探していると想像してみてください。以前の窃盗の例では、CCTVにより、銀行窃盗犯が紫色のバンを運転し、バルチモア・レイブンズの帽子をかぶり、ドリルと液体窒素を使用して金庫室に侵入したことを特定することができました。これらの一意の特性、その手口 (MO) を追跡し観察しようとしていますが、同じ人物が代わりに赤色の車を運転し、カウボーイハットをかぶり、バールを使用して金庫室に入室したとすればどうでしょうか?その結果はどうなりますか?監視チームは古くなったプロファイル (IOC) を反映した痕跡に頼ったため、窃盗犯は再び成功します。

上記のように、IOAは、アクター/窃盗犯が成功するために実行する必要のある一連のアクション(銀行に入る、警報システムを無効にする、金庫室に侵入するなど)を反映しています。

ioc v ioa reactive & proactive model

IOAはリアルタイムレコーダー

IOAのアプローチの副産物は、ネットワークで起きていることをリアルタイムで正確に収集し分析できるようになることです。実行時の振る舞いを観察するということは、本質的に、自身の環境内をビデオカメラで観察したり、フライトデータレコーダーにアクセスしたりすることと同じです。

現実世界に戻ると、刑事が犯罪現場に到着し、銃、死体、そして血を見た場合、通常、起きたことが記録されているビデオを持っている人がいないか尋ねます。ここでの血、死体、銃は、手動で再構築する必要のあるIOCであり、特定の時点におけるアーティファクトになります。非常に簡単に言えば、IOAはビデオ記録の内容を提供します。

サイバー領域におけるIOAの威力は、攻撃者が行った、環境への侵入、ファイルへのアクセス、パスワードのダンプ、ラテラルムーブメント、そして最終的なデータ流出の方法を示すことです。

ioc vs ioa realtime

IOAの現実世界の例 – 中国のアクター

CrowdStrike Adversary Intelligenceには、中国のアクターによる以下のアクティビティの例があります。次の例では、1人の特定の攻撃者のアクティビティがどのようにエンドポイント保護も回避できたかを浮き彫りにしています。

攻撃者は次の手口を使用します。

  • メモリ内マルウェア – ディスクへの書き込みを絶対に行わない
  • 既知および許容されているITツールを使用する – Windows PowerShellでコマンドラインコードを使用する
  • ログをクリーンアップして痕跡を残さない

この手口に対し他のエンドポイントソリューションで生じる問題を調べてみましょう。

アンチウイルス – マルウェアがディスクに書き込まれることがないため、オンデマンドスキャンが設定されているほとんどのアンチウイルスソリューションは呼び出されません。オンデマンドスキャンは、ファイルの書き込みまたはアクセス時にのみトリガーされます。さらに、ほとんどのプロアクティブな組織では、エンドユーザーのパフォーマンスに影響を与えるため、フルスキャンは週に1回しか行われません。防御側がこのフルスキャンを実行していれば、またアンチウイルスベンダーが更新したシグネチャでメモリをスキャンできていたならば、このアクティビティに関するアラートを提供できていました。

アンチウイルス2.0ソリューション – これらは、機械学習や他の手法を使用して、問題のあるファイルかどうかを判断するソリューションです。PowerShellは、悪意のあるツールとして識別されない(識別してはならない)正規のWindowsシステム管理ツールです。したがって、これらのソリューションでは、この振る舞いについてクライアントがアラートを受け取ることはありません。

ホワイトリスト – Powershell.exeは既知のITツールであり、ほとんどの環境で実行が許可されているため、ホワイトリストソリューションが実施されていても回避されます。

IOCスキャンソリューション – この攻撃者はディスクに書き込みをせず、作業完了後にクリーンアップを行うので、何を見つけ出すことができるでしょうか?IOCは既知のアーティファクトのことであり、このケースでは、検出するアーティファクトはもう存在していません。さらに、ほとんどのフォレンジック主導型ソリューションでは、標的にされるシステムを定期的に「スイープ」する必要があり、攻撃者がスイープの合間に活動を行うことができれば、検知されないままになります。

対象の攻撃者の戦術、手法、手順に集中することで、クラウドストライクは攻撃者が誰で、何にアクセスしようとしているのか、そしてその理由を判断できます。侵害の痕跡 (IOC) を検知する頃には、組織はおそらくすでに侵害されており、損害を修復するために、コストのかかるインシデント対応作業が必要になる可能性があります。

攻撃の痕跡 (IOA) を記録して収集し、ステートフル実行検査エンジンで処理することで、チームは、リアルタイムでアクティビティを確認し、すぐに対応することができます。独自のネットワークフライトレコーダーにアクセスすれば、事後の「断片をつなぎ合わせる」ことに関連する時間のかかるタスクの多くを回避できます。犯罪現場の再現に必要なツールを第一対応者に提供することで、持続的標的型攻撃(APT攻撃)に立ち向かうための費用対効果の高いプロアクティブなアプローチが可能になります。

IOAアプローチについて詳しく知りたいですか?クラウドストライクでイベントストリーム処理 (ESP) を活用して悪意のある振る舞いを検知する方法に関する記事をお読みください。