情報処理技術者試験ナビ

当サイトは準備中です。

情報処理安全確保支援士 H29春 午後Ⅱ 問1

問題

マルウェアの解析に関する次の記述を読んで,設問1〜6に答えよ。

 R社は,インターネット上でショッピングモール(以下,ECサイトという)を運営する,従業員数3,000名の企業である。ECサイトの総店舗数は5,000店,会員数は300,000名である。

〔R社のネットワーク構成と組織〕
 図1は,R社のネットワーク構成である。

f:id:honmurapeo:20170424145602p:plain

 R社内では無線LANを使用していない。また,事務用PCとEC管理PCを併せて社内PCと呼んでいる。
 R社では,内部Webサーバに対してサーバ証明書を発行するためにプライベートCAを有しており,そのルート証明書を社内PCにインストールしている。プライベートCAは,必要に応じてサーバ証明書を発行することができる。プライベートCAはネットワークに接続されていない。
 表1は,R社のネットワーク機器と役割である。

f:id:honmurapeo:20170424145641p:plain

 R社には,情報システム部(以下,IS部という),開発部,サポート部,営業部及び総務部がある。R社の各部の役割を表2に示す。

f:id:honmurapeo:20170424145708p:plain

 サポート部がECサイトの運用管理を行う際は,EC管理PCを使用している。事務用PCからFW2を経由したECサイトへのアクセスは,FW1によって遮断される。社内PCには,パッチ管理プログラムがインストールされていて,パッチ配信サーバから脆弱性修正プログラムの配信を受けると,自動的に脆弱性修正プログラムが適用される。脆弱性修正プログラムは,公表から1か月以内に配信する運用としている。社内PCの利用者には管理者権限を与えておらず,利用者が勝手にプログラムをインストールすることはできない。

〔不審な通信の発見〕
 IS部では,セキュリティ監視業務の一環として8時間ごとにプロキシサーバのアクセスログを確認している。ある日の正午過ぎ,その日の午前4時から正午までのプロキシサーバのアクセスログの集計情報を確認していたIS部のU君は,特定の社内PCから特定のサーバに多数のHTTPS通信が行われていることを発見した。U君は不審に思い,アクセスログを急いで調査した結果,次のことが判明したので,それを午後0時30分にIS部のT部長に報告した。

  • 1台の事務用PCから,社外の同一サーバ(以下,被疑サーバという)に対して多数のHTTPS通信が,およそ30分おきに行われている。
  • HTTPS通信が行われることに,数100kバイトのデータを送信している。

〔インシデントへの初動対応〕
 報告を受けたT部長は,インシデントが発生したと判断して,IS部内に設置されているCSIRTの責任者であるV課長に対してインシデント対応を開始するよう指示した。V課長はCSIRTメンバのM君を呼び,対応を開始するよう指示した。M君は,図2に示すインシデント対応規程に従って,表3の順序で初動対応を行った。

f:id:honmurapeo:20170424145740p:plain

 午後1時,不審PCを回収して解析室に設置した後,M君は初期判定を開始した。初期判定は図3に示すIS部のマルウェア初期判定ガイドラインに従って実施した。

f:id:honmurapeo:20170424145808p:plain

 M君が図3中の解析チェックリストの(2)について通信の有無を解析したところ該当する通信を発見した。その通信は,被疑サーバを宛先とした通信であった。M君は,不審PCがマルウェアに感染している疑いがあると判定し,即座にV課長に報告した。不審PCは,マルウェア感染の疑いが濃くなってきたので,CSIRTでは被疑PCという名称で呼ぶことにした。

〔インシデントへの二次対応〕
 V課長は,次の指示を出した。

  • M君に対して,図3中の解析チェックリストの(3),(4)について解析した後,詳細解析を開始すること
  • CSIRTメンバのG君に対して,被疑PCの利用者及び所属部署に連絡し,聞き取り調査をすること
  • CSIRTメンバのZ君に対して,ECサイトへの影響の有無を調査することG君が,被疑PCの利用者であるSさんから聞き取り調査をした結果は次のとおりであった。
  • 昨日まで出張が続いていたので,被疑PCの電源を入れるのは3か月ぶりであった。
  • 朝,被疑PCの電源を入れ,午前9時30分までの間,Webブラウザを開いて幾つか社外のWebページを閲覧した。その後,今まで会議に出席していたので,それ以外は被疑PCを操作していなかった。その間,被疑PCにはログオンしたままであった。被疑PCは,無操作状態でもスリープ状態にならない設定であった。
  • 会社から貸与されている出張用スマートフォンでメールを読んでおり,今日は被疑PCのメールソフトを起動していない。

 G君は,念のため各種ログを調査したが,聞き取り調査の結果との矛盾はなかった。
 Z君が実施した調査では,ECサイトへの影響は一切発見できなかった。

〔マルウェアの詳細解析〕
 M君が解析室に戻り,図3中の解析チェックリストの(4)についてファイルの差異を解析したところ,不審なファイルを発見した。その後,被疑PCを図4の詳細解析環境に接続し,通信の観測を続けた。表4は,詳細解析環境内の各サーバの役割である。

f:id:honmurapeo:20170424145849p:plain

f:id:honmurapeo:20170424145914p:plain

 被疑PCの通信について,観測の結果は次のとおりであった。
(i)解析用認証サーバに,認証を要求する。
(ⅱ)解析用プロキシサーバを経由して被疑サーバにHTTPS通信を行おうとする。
(ⅲ)被疑サーバ以外を宛先としたHTTP/HTTPS通信は行わない。
(ⅳ)被疑PCと同一サブネット上のIPアドレスに対して,何らかのアクセスをする。

 このうち,アクセスの内容が不明であった(v)を詳細に解析した結果,社内PCのOSで以前発見された脆弱性(以下,脆弱性Kという)を突いて攻撃を仕掛けていることが判明した。脆弱性Kは,2か月ほど前に脆弱性修正プログラムと併せて公開されており,R社でも社内PCに脆弱性修正プログラムを配信していた。
 被疑PCが(ⅱ)と(iv)の通信を行っている最中に,動いているプロセスをM君が調査したところ,マルウェアと思われるプロセスを発見した。発見したプロセスは,一通りの処理を終えると自身のファイルの隠蔽処理を行うとともに,自身を所定の時間経過後に起動するための設定をOSに対して組み込み,終了することが判明した。

〔マルウェアのHTTPS通信の解析〕
 マルウェアのおおよその動きが判明したので,被害の有無を確認するために,被疑サーバにアクセスしている内容を確認すべく,M君は詳細解析環境を図5のように変更した。また,次の三つを行った。

  • 解析作業による被疑PCの状態変化を考慮し,被疑PCの状態を保存するために,被疑PCのHDDの複製を作成した。
  • 解析作業による情報漏えいを防ぐために,被疑PC内のファイルのうち,機密情報が含まれているファイルの内容をランダムデータに置き換えた。
  • マルウェアがHTTPS通信を行う際,サーバ証明書の検証を行っている可能性を考慮し,検証が成功するよう,②サーバ証明書を発行し,図5の環境に,サーバ証明書と,それに対応する秘密鍵を組み込んだ

f:id:honmurapeo:20170424145948p:plain

 図5の環境で被疑PCがHTTPS通信を開始した場合の動作は,図6のとおりである。

f:id:honmurapeo:20170424150014p:plain

 M君は,図5の環境で1〜2時間ほど被疑PCを稼働させることにした。パケットデータの収集を待つ間,デバッガを用いた解析を行うことにした。

 

〔デバッガによる解析〕
 M君は,被疑PC内の不審なファイルのうち,マルウェアと思われる実行ファイルを所定の手続に従って取り出し,これを検体αと呼ぶことにした。続いて,CSIRTで用意している,デバッガを含むコード解析環境に検体aを投入した。
 まず,検体αから読解可能な文字列を探したが,ほとんど存在しなかった。続いて,デバッガによる逆アセンブルを試行した。その結果,得られたアセンブリコードには,通常であれば多数存在するはずのシステムコールの呼出しが少数しかなかった。M君はブレークポイントを指定して検体αを実行してみたが,コードの冒頭部分が実行されただけで,何ら不正な動作をすることなく終了してしまった。
 解析に行き詰まったM君がV課長に相談したところ,検体αにはデバッガ環境下で実行していることを検知して実行を停止する機能が組み込まれているのであろうという説明を受けた。マルウェアがデバッガ環境下であることを検知する方法としては,デバッガ環境下であるかどうかを調べるシステムコールを実行する方法があるが,③その他にも幾つかの方法が知られている。
 M君は,検体aのアセンブリコードを読んで,デバッガ検知機能を発見し,これを無効化することに成功した。無効化後の検体を検体α2と呼ぶことにし,M君は検体α2の解析を次の手法で進めた。

  • 検体α2をデバッガにロードした時点で,逆アセンブルを行い,システムコールの呼出し全てにブレークポイントを設定する。
  • ブレークするごとにシステムコールの内容を記録し,検体αの動作を推測する。

 この結果判明したシステムコールの呼出し回数はごく僅かで,動作の推測には至らなかった。ごく僅かの回数ブレークした後は,ブレークすることなく検体α2の実行が続き,他のPCを感染させるための通信を試みた上で終了した。この通信を行う には,システムコールの呼出しが必要なはずであるが,ブレークすることはなかった。
 またもや解析に行き詰まったM君がv課長に相談したところ,パッカーが使われている可能性が高いとの説明を受けた。V課長は,パッカーの一般的な仕組みについて図7と図8を使って説明した。

f:id:honmurapeo:20170424150046p:plain

〔応急措置の決定と実施〕
 M君がデバッガを使って検体α2を解析している間に,図5の環境において十分なパケットデータが取得できた。このパケットデータから,被疑サーバに送信していた情報が判明した。情報は暗号化されていたが,検体a2のマルウェア本体から取り出した鍵を使って復号したところ,平文を得ることができた。
 その結果,次の三つが被疑サーバに送信されていることが確認できた。

  • 被疑PC内に一時的に保存された認証情報(利用者IDと,パスワードのハッシュ値を含む)
  • 解析用認証サーバから取得した認証情報(利用者IDだけを含み,パスワードのハッシュ値を含まない)
  • OSの設定情報及びシステムファイルのファイル名の一覧

 M君の報告を受けたV課長は,マルウェアの動作の特定並びに被害の有無及び影響範囲の確認ができたと考え,これ以上の被害拡大を防ぐために,表5の応急措置を即時実施することをT部長に進言した。

f:id:honmurapeo:20170424150107p:plain

〔感染経路の特定と対処〕
 V課長は,再感染を防止するために,M君に感染経路を特定するよう指示した。M君は,Sさんからの聞き取り調査の内容から,被疑PCが社外のWebページを閲覧した際にマルウェアに感染した可能性が高いと考え,表6の手順で感染経路の特定を目指した。

f:id:honmurapeo:20170424150126p:plain

 確認したところ,URLの一覧に記載されたWebサイトの中で,インターネット上のECサービスに関するニュースを提供しているQ社のWebサイト内の1ページ(以下,Nページという)に,不自然な形でスクリプトが埋め込まれていることが発見された。このスクリプトは複雑であり,M君が読んでも動作を把握することができなかった。そこでV課長がNページを分析してみたところ,次のことが分かった。

  • NページをWebブラウザで開くと,Q社のドメイン外のサイトからPDFファイルをダウンロードして,PDF閲覧ソフトで開く。
  • Nページから不自然なスクリプトを削除したページをWebブラウザで開くと,Nページと表示に違いはないが,PDFファイルはダウンロードされない。

 V課長とM君は,Nページが改ざんされ,マルウェアを配布していると推測した。しかし,比較対照用PCをインターネットにアクセスできる環境とした上でNページを開いても,PDFの内容が表示されるだけで,不審なファイルや不審なプロセスが生成されることはなく,マルウエアに感染しなかった。
 困ったM君がV課長に相談したところ,④比較対照用PCの状態と,今日の勤務開始時刻時点の被疑PCの状態では,重要な点が異なっている可能性が高いので,  f  のログを確認してみるようアドバイスを受けた。  f  のログを確認したM君は,比較対照用PCの状態を,今日の勤務開始時刻時点の被疑PCと同一の状態にした上で,もう一度Nページにアクセスした。その結果,不審なプロセスや検体αなどの不審なフアイルが生成されていた。このことによって,マルウェア(以下,マルウェアLという)に感染したことが分かった。
 この時点で,マルウェアLの感染経路はNページを閲覧したことによるものと判断することができた。この報告を受けたV課長は,次の対応策の実施をT部長に進言した。

  • 当面の間,社内PCからQ社のWebサイトへのアクセスを遮断する。
  • 過去1週間の  a  のログを調査し,Q社のwebサイトを閲覧した社内PCを洗い出し,それらのPCについて,  a  のログと  f  のログを突き合わせ,⑤マルウェアLに感染する可能性があつたかどうか判断する
  • Q社に対して適切な方法で,Webサイトが改ざんされている旨を伝える。

 調査の結果,SさんのPC以外に感染した社内PCは存在しないことが確認できた。最後に,検体及び複製HDDを消去し,インシデント対応を無事終了した。

〔インシデント対応の事後評価〕
 V課長は,今回のインシデント対応を振り返り,1日以内に全ての対応を完了したこと,マルウェアLに感染したPCも1台だけであり,拡大を防げたことから,対応は成功したと考えた。  後日,V課長は,今回のインシデント対応に当たったメンバを招集し,事後評価を実施した。その結果,⑥ディジタルフオレンジックスという観点から,実施するタイミングを見直す必要がある作業があること,⑦被疑PCの利用者の業務継続を考慮して対応する必要があることが課題として挙げられた。さらに,今回のマルウェアLの場合,図3中の解析チェックリストではマルウェア感染を発見できない場合があるので,解析チェックリストの項目に,“  g  を比較対照用PCと突き合わせると,差異が存在する”という項目を追加する必要があるとの結論に至った。
 その後,Q社からWebサイトの改ざんの原因の判明と復旧の連絡が届いたので,内容を確認後,Q社Webサイトへのアクセス遮断を解除した。

 

IPA公開情報

出題趣旨

 (公表前)

採点講評

 (公表前)