今年の2月、JPCERT/CCが主催する「制御システムセキュリティカンファレンス 2012」において、制御システムが抱える脆弱性について具体的な事例を交えて、技術的な側面から発表しました。

調査の過程で発見された脆弱性は、ICS-CERTへ報告しました。
ICS-CERTは米国の国土安全保障省の管轄で米国の制御システムセキュリティを担当する機関です。

その際報告した脆弱性のうちの一件が、ようやく2012年9月にアドバイザリという形で公開されました。

以下はカンファレンスの際に紹介したディレクトリトラバーサルの実例です。
dirtraversal

しかし、注意していただきたいのが、このアドバイザリは脆弱性が修正されたことをアナウンスするものではなく、脆弱性が存在するにも関わらず放置され続けていることを注意喚起するという内容です。
慎重派が多いICS-CERTにおいて、未修整の脆弱性に関するアドバイザリが出されることは珍しいことです。なぜ慎重派が多いかというと、制御システムは一般の情報システムと比べ、攻撃が発生した場合の影響が大きいためです。
それにも関わらず、今回ICS-CERTが強制開示という対応を取らざるを得なかったのか、私が脆弱性を報告してから公表されるまでの顛末をご紹介したいと思います。
  1. 脆弱性の種類がディレクトリトラバーサルという、攻撃手法が単純なタイプの脆弱性だったので、文書にてICS-CERTへ報告
  2. 開発元が脆弱性を理解できないと言っているという連絡をICS-CERTから受ける
  3. 私は攻撃方法についての動画を作成し、ICS-CERTへ送付
  4. 開発元の環境では再現しない、検証したバージョンが古いのではないかという連絡を受ける
  5. 英語版のWindowsを用意し、念のため再度最新版のアプリケーションをインストールして、脆弱性が再現することを確認
  6. アプリケーションのインストールからセットアップ、バージョンの確認、起動、そして最後に攻撃を行う動画を作成し、ICS-CERTへ送付
  7. それでも開発元は再現させることもできず、脆弱性について理解できないという返答
この一部始終を見ていたICS-CERTはアドバイザリの公開を決断しました。私が報告してから情報公開までに8ヶ月近くの時間を要しました。
実はICS-CERTとのやりとりの中で、ICS-CERT側の担当者がDEFCON CTFの決勝に参加することが判明し、ラスベガスのCTF決勝会場で直接話をすることができました。(DEFCON CTF決勝については、こちら。2011年の記事ですが。)

公開の理由について、「あんなに親切で単純明快な報告なのに、それでも理解できないというのは、開発者がすっとぼけようとしているとしか考えられない。今までで一番わかりやすい報告だったよ。情報を公開する以外に解決策は無いと判断した。」という話を伺いました。(余談ですが彼らのCTFチームはとても紳士的で、私のチームが停電で困っているときに助けてくれました。)

今回は報告から8ヶ月経っての公開となりましたが、ICS-CERTの脆弱性情報公開ポリシーでは強制開示までの目安は45日と定められています。
これは45日を過ぎると強制的に公開されるという意味ではなく、なんの反応もないまま45日を過ぎると公開する場合があるという意味です。45日以内に修正完了しなければならないという意味ではありません。ふつうに対応していれば45日ルールが適用されることはありませんので、ご安心を。