読者です 読者をやめる 読者になる 読者になる

IOCについて

はじめに

SECCON 2014 online予選 冬のforensic500 Confused analyteにてIOCに遭遇した。当時はIOCの名前を聞いたことがある程度だったので、軽く調べて まとめてみた。

本文

IOC(Indicators of Compromise)とは攻撃されたことを示す痕跡のことで、IOCxmlベースで定義する、MANDIANT社が作成したOpen IOCという規格がある。Open IOCが出るまではマルウェアの能力を記述する共通の規格がなかったので、これによってマルウェアの解析結果を共有しやすくなった。

OpenIOCで使えるツールには、IOC EditerIOC FinderRedlineがあって、IOC Editerで定義したIOCが含まれているかどうか、IOC FinderやRedlineで調査することができる。

IOC EditerでIOCを定義する様子。
f:id:TAKEmaru:20150131085935p:plain


IDSとの違いはIDSが攻撃の兆候を検知するのに対し、IOCは攻撃が既に進んでいる(成功している)ことを示すという点である。

実際に定義されるIOCのIndicater Termsは、変更されるレジストリキーやプロセスの名前、通信先のURIIPアドレスなどのユニークな値である。Open IOCのwebページに Indicator Termsの例が載っていた。

よく使われる Indicator Terms の一覧 - http://openioc.org/terms/Common.iocterms
全ての Indicator Terms の一覧 - http://openioc.org/terms/Current.iocterms


また、マルウェアを解析してIOCを定義していく様子が以下の文献に載っていて勉強になった。
https://www.mandiant.com/blog/creating-ioc-spot-duqu-family/
http://www.sans.org/reading-room/whitepapers/forensics/ioc-indicators-compromise-malware-forensics-34200

IOCについて書かれている日本語の文献としてIIJ Security Diary: OpenIOCを使った脅威存在痕跡の定義と検出がある。