中谷 昌幸/JPCERTコーディネーションセンター 早期警戒グループ グループマネージャ
名和 利男/JPCERTコーディネーションセンター 専門委員

 前回のコラム(サイバー演習で弱点をあぶり出す)では,最近少しずつ実施例が増えている「サイバー演習」の概要を紹介した。サイバー演習は,実施目的とその形態の違いにより,セミナー,ワークショップ,ゲームなど7段階に分けられる(図1)。最も高度な「フルスケール演習」は警察をはじめとする公的組織との連携までを含めた,実動を一部伴う実践的な演習。その次の「機能演習」は組織のトップにまで至るエスカレーションを含めた,指示機能などの各実務機能を評価する演習で,これらは内容的にもコスト的にもハードルが高い。そのため,企業レベルでのサイバー演習の現実的なゴールとしては3番目に高度な「ドリル」だろうと考えられる。そこで今回は,「ドリル」の一つである「コミュニケーション・チェック・ドリル」の内容を,詳しく紹介しよう。

 コミュニケーション・チェック・ドリルの目的は,CSIRTやセキュリティ関連部署を構成するメンバーをはじめとする,組織内のセキュリティ関係者に期待される機能,能力,相互のコミュニケーションの状況を確認,検証することである。過去に実際に起こったインシデントや,今後想定されるインシデントなどを基にしたシナリオを作成し,プレーヤ(参加者)が,普段の運用の流れに即してインシデント対応活動を実施する。この際,プレーヤ間のすべてのやり取りは,コントローラ(プレーヤから見るとプロキシ的な役割)を通じて実施される。コントローラは情報の集約と進行シナリオの調整役である。

 例えば,外部から「Webサイトにアクセスするとおかしなことが起こる」という連絡が入った場合のシナリオを考えよう。想定するイベントの流れはこうだ。Webサイトに判読しづらいように変換(難読化)されたスクリプトが埋め込まれ,アクセスしたユーザーが不審なサイトに誘導される。誘導された先のサイトは不審ではあるものの,動画へのリンクを掲載しているだけに見える。動画コンテンツにアクセスしようとすると,コーデックのダウンロードによる更新を求められ,別の悪意あるサイトに誘導される。ここで,マルウエアを仕込んだ偽コーデックをダウンロードさせるわけだ。

 最近ではいかにもありそうなシナリオだが,インシデント対応活動としては,(1)不審なスクリプトを見付ける,(2)難読化されたスクリプトを解読・解析する,(3)コーデックのダウンロード・サイトにアクセスして,マルウエアを解析する,(4)スクリプトを削除するなどWebコンテンツを修正する,(5)事実を公開する,(6)マルウエアの被害に遭った可能性のあるユーザーに対する対処を考えるといったことが考えられる。このほかに,スクリプトを発見した時点でJPCERTコーディネーションセンターなどの公的組織に連絡して解析を依頼したり,他の組織における同様事案の発生状況を確認したりするという選択肢もある。

 コミュニケーション・チェック・ドリルの良いところは,インシデントが発生した場合の対応を体感できることだけではない。あらかじめ設定したルールに基づいて,レスポンス能力やコミュニケーション能力,意思決定者や専門家・外部組織への連絡手段の活用能力などを可能な限り数値化することにより,コミュニケーション能力やスキル・レベルを定量的に測ることができる。

 またサイバー演習では,全く利害関係のない第三者にエバリュエータ(検証担当者)として参加してもらい,ドリルにおける確認・検証対象項目に関する定量的および定性的なコメントや意見を出してもらうことにより,客観的かつ全体的な評価も得られる。

 ドリル終了後に30分~1時間程度,プレーヤ(参加者)による意見交換(Wash Up)の場を設ければ,見落としていた確認・検証対象項目に関するフィードバックを得ることができるし,参加者間の相互理解も促進できる。さらにシナリオの設計概要,ドリル結果やフィードバックから見出されたこと(Findings),その分析(Analysis),得られた教訓や知恵(Lessons Learned)などを文書にまとめた事後報告書が成果物として手に入る。

 ただし,ここまでのサイバー演習を実施するには,入念な計画と準備が欠かせない。ドリル実施の目的意識の擦り合わせ,シナリオ作り,コントローラの活動マニュアル作りといった作業を進める必要がある。次回は,簡単なシナリオ作りの方法を紹介しよう。