サイバー攻撃が高度化してきたことで、シグニチャベースのアンチウイルスで攻撃を完全に防止することは、もはや不可能になっています。そこで重要になるのが、攻撃を受けていることをできる限り早期に察知し、その影響範囲を限定することです。そのための情報源として利用されるのがIoCです。これは「Indicator of Compromise」の略であり、攻撃されたことを示す「痕跡情報」を意味します。
IoCは自社内だけではなく、他の企業や組織と共有することで、大きな威力を発揮します。攻撃を受けた組織がそのIoCを公開することで、他の組織がより迅速に攻撃を検知することが可能になるからです。そのためIoCは共通したフォーマットで記述される必要があります。
IoCのフォーマット規格は現在複数存在しますが、比較的よく知られているのはMandiant社が作成しオープンソースとして公開している、XMLベースの「OpenIOC」でしょう。また同社は、IoCを定義する「IOC Editor」や、端末内にIoCが存在するか否かを調査する「IOC Finder」「Redline」といったツールも提供しています。なお同社は2014年に、FireEye社によって買収されています。
その一方で、標準仕様である「STIX(Structured Threat Information eXpression)」の策定も行われています。これは米国政府の支援を受けた非営利団体「MITRE」が中心になって進められているもので、2012年6月にバージョン0.3、2014年5月にバージョン1.1.1がリリースされています。これもXMLをベースにしたものですが、今後はより軽量なJSONベースの形式が主流になるという観測も広がっているようです。
IoCで痕跡情報として記述される項目のことを「Indicator Terms」といいます。具体的には、攻撃によって変更されるレジストリー、使用されるプロセスの名称、通信先のURIやIPアドレスなどが記述されます。これらの痕跡情報をもとに端末をスキャンすることで、同様の攻撃を受けたことがあるかどうかが判別できます。これは一見するとウイルススキャンに似ていますが、調査対象となる項目がウイルススキャンよりも幅広いため、より多くの攻撃を見つけ出すことが可能になります。
攻撃の影響を最小限にとどめる上で、IoCは強力な情報源になります。ただしIoCも万能ではありません。その限界や課題をきちんと理解し、適切な方法で運用しなければなりません。
まず注意すべきことは、公開・共有されているIoCの品質です。現在すでに、膨大な量のIoCが複数の組織から入手できるようになっていますが、すべてのIoCが役立つとは限りません。例えばIoCの中には、マルウェアを検出するためのファイルハッシュIoCが数多く含まれていますが、多くのマルウェアは短期間で亜種へと進化していくため、このようなIoCはすぐに古くなってしまいます。また標的ごとに異なる挙動を行うマルウェアや、ストレージに痕跡を残さない非マルウェア攻撃も増えています。このような攻撃をIoCで検出することは困難です。
このように、膨大な量のIoCを入手したとしても、その中から本当に有益なものを見つけ出すことは決して簡単ではないのです。そのためIoCのことを「干し草」と呼ぶ専門家もいます。その真意は、まるで干し草の中から針を見つけ出すようなものだ、ということです。またIoCの取得や、統合管理するためのシステム構築・運用、IoCツールを活用できる専門家の確保などに、膨大なコストがかかることも忘れてはなりません。
進化し続けるサイバー攻撃に対処していくには、IoCの活用は必要不可欠だといえるでしょう。しかしIoCには課題もあることを忘れてはなりません。その限界や利用上の問題点を意識した上で、効果的な「Threat Hunting」を実現していく必要があるのです。
IoCの課題に対する一つの答えがここにあります。(CB Defenseページに移動)
VMware Carbon Black Cloud Endpoint Standard(旧CB Defense、以下Endpoint Standard)は、あらゆるサイバー攻撃からコンピューターを保護する次世代アンチウイルス+EDRソリューションです。マルウェア攻撃だけでなく、メモリやPowerShellなどスクリプト言語を悪用する非マルウェア(ファイルレス)攻撃などをブロックするとともに、万一の際にも侵入状況の把握やその対応を行うことができます。
詳しくはこちら