B 社は,従業員数 300 名の建築資材販売会社であり,本社,営業店 10 か所の他に倉庫がある。本社,各営業店及び倉庫のネットワークは IP-VPN で接続されており,インターネットとの接続は本社に集約されている。本社と営業店では,それぞれ,本社用 PC と営業用 PC から情報共有サーバ(以下,G サーバという)を利用し,Windows のファイル共有機能を使って資料を共有している。本社用 PC 及び営業用 PC では,一般利用者権限でログオンすると,自動的に G サーバへもその権限でログオンされ,G サーバ上の共有フォルダが各 PC の G ドライブとして自動的に割り当てられる。G サーバ上の共有フォルダの利用者データ,本社用 PC の利用者データ及び営業用 PC の利用者データは,それぞれ,各コンピュータのローカルディスク上に設けられた一般利用者権限ではアクセスできない領域に 1 時間に 1 回,毎時 0 分に開始されるジョブによって,バックアップされる。ジョブのログには,バックアップの開始と終了の時刻,総ファイル数,ジョブ実行結果などが記録される。
B 社は,販売及び在庫管理を行うソフトウェアを独自に開発し利用している。受注から出荷までの業務を管理する Web アプリケーションソフトウェア(以下,業務 AP という)は,販売及び在庫管理用の Windows サーバ(以下,D サーバという)上で稼働している。B 社の全ての PC は,ログオン時に,D サーバへも一般利用者権限で自動的にログオンされ,D サーバ上の共有フォルダが Windows のファイル共有機能を使って各 PC の D ドライブとして自動的に割り当てられる。出荷業務は,倉庫に設置された作業用 PC に,無線ハンディターミナル(以下,HT という)を接続して行う。各 PC で用いる B 社の Windows アプリケーション(以下,A アプリという)は,業務 AP に HTTP over TLS で接続する機能,及び出荷指示情報が記載されたファイル(以下,出荷指示ファイルという)を読み書きする機能をもっている。
B 社のシステム構成を図1に,受注から出荷までの業務の流れを図2に示す。
図1 B 社のシステム構成図2 受注から出荷までの業務の流れ
〔セキュリティインシデントの発生〕
ある日の 9:50 に,出荷担当者の V さんから,IT システム担当者の L 君に A アプリの障害の連絡が入った。L 君が D サーバ上の共有フォルダを確認したところ,出荷指示ファイルが破損しており,A アプリで読込みエラーが発生していた。L 君は,原因究明よりも,業務の再開を優先するため,業務 AP の管理機能を使って出荷指示ファイルを再出力して復旧させた。このとき,L 君は,①破損した出荷指示ファイルを削除せず,別のフォルダに移動しておいた。後に,このファイルが,調査に役立った。
復旧させた直後,10:30 に,営業担当者の S さんから L 君に,暗号化されたファイルを取り戻したければ手順に従うよう指示する脅迫文が,営業用 PC05 のデスクトップ画面に表示されているという連絡が入った。また,営業用 PC05 で一部のファイルを開くことができなくなっていた。L 君は,営業用 PC05 がマルウェアに感染したと判断し,営業用 PC05 をネットワークから切り離すよう S さんに指示した。
L 君は,D サーバの出荷指示ファイルも営業用 PC05 と同じように開くことができなくなっていたことから,D サーバも同じマルウェアに感染した可能性があると考え,一連の事象を上司に報告した。上司と相談した結果,業務を一時停止し,D サーバをネットワークから切り離し,従業員に注意喚起をした後,セキュリティ専門会社 U 社の J 氏に協力を依頼して,調査を行うことにした。
〔セキュリティインシデントの調査〕
L 君と J 氏は,感染経路と影響範囲を特定するために,営業用 PC05 と D サーバからログファイルやメモリダンプなどを収集して,表1のタイムラインを作成した。
表1 セキュリティインシデントのタイムライン
受信した電子メールを調査したところ,PDF ファイルに偽装したマルウェアが添付されていた。ファイル名に Unicode 制御文字の a が使われていたので,実際のファイル名は invoice.fdp.exe であるが,表示上は invoice.exe.pdf となっていた。S さんは PDF ファイルだと思って添付ファイルを開いたとのことで,開いたときにマルウェアのプログラムが実行されたと考えられた。差出人は B 社従業員になっていたが,メールヘッダの b フィールドで,経由したメールサーバを調べたところ,社外から送信されていたことが分かった。
J 氏:今回のマルウェアは,ランサムウェア X と呼ばれるものです。ランサムウェア X は,アクセス可能なドライブをドライブレターのアルファベット順に探し,見つけたドライブ内のファイルを暗号化して上書き保存します。内蔵ドライブ,外付けドライブ,ネットワークドライブが対象です。暗号化の対象となるファイルは,文書ファイルなど約 60 種類の拡張子をもつファイルです。対象となるファイルを全て暗号化した後で,脅迫文を画面に表示します。
L 君:ファイルが暗号化されていたので,A アプリで読込みエラーが発生したわけですね。しかし,D サーバは,どのようにして感染したのでしょうか。
J 氏:ランサムウェア X によって,③D サーバ上のファイルが暗号化されたと考えられますが,D サーバ自体が感染した形跡はありません。
G サーバを調査したところ,共有フォルダのファイルが暗号化されていることが分かった。しかし,G サーバ上に取得しているバックアップデータを使って,ファイルを復元することができたので,大きな影響はなかった。
〔被害拡大防止策の実施〕
L 君は,PC がランサムウェアに感染した場合に備えて,サーバへの被害を最小限にする対策を講じることにした。D サーバ上の出荷指示ファイルを格納しているフォルダのアクセス権限が必要最小限になるよう,表2のとおりに見直しを行った。
表2 D サーバ上の出荷指示ファイルを格納しているフォルダのアクセス権限設定(抜粋)
L 君は,G サーバについても,ファイルの被害が最小限になるように,G サーバ上の共有フォルダのアクセス権限を見直した。
L 君は,ランサムウェアによって暗号化されたファイルを,バックアップから復元する以外に元に戻す方法はないか J 氏に質問した。J 氏によると,ランサムウェアには,ファイルの暗号化に共通鍵暗号だけを使っているタイプと,共通鍵暗号と公開鍵暗号を組み合わせて使っているタイプが発見されている。それぞれファイルを復号可能なケースが報告されているとのことであった。共通鍵暗号だけを使うタイプでは,ランサムウェアのプログラム内にその鍵がハードコードされていれば,ランサムウェアの検体を解析することによって,その鍵を入手してファイルを復号できる可能性がある。一方,共通鍵暗号と公開鍵暗号を組み合わせて使うタイプでは,PC のメモリ上に一時的に作成する共通鍵で対象ファイルを暗号化した後,その共通鍵をプログラム内にハードコードされた公開鍵で暗号化した上で,メモリ上からは共通鍵を消去するので,④このタイプでは,検体を解析しても,ファイルを復号することは難しい。ただし,ランサムウェア X の場合,暗号化に使用した共通鍵をメモリ上から消去しないため,⑤PC をハイバネーション機能によって休止状態で保管しておくことによって,セキュリティベンダから復号ツールが提供されたときに,復号できる場合があるとのことであった。
L 君は,ランサムウェアに感染した場合の対応手順やツールの整備を上司に進言した。
数日後,J 氏から,OS の新たな脆弱性を悪用する新たなランサムウェア Y が発見されたので,至急,セキュリティパッチ P を適用した方がよいという連絡があった。L 君が確認したところ,B 社のサーバと PC に影響する脆弱性であることが分かった。ランサムウェア Y は,⑥ファイルを暗号化するとともに,他のサーバや PC の OS の脆弱性を悪用し,管理者権限で次々と感染を広げるとのことであった。
L 君は,ランサムウェア Y に対処するために,全てのサーバと PC にセキュリティパッチ P を適用するとともに,セキュリティパッチ適用に関する運用の見直しを検討することにした。
下線①は,ランサムウェアによって暗号化され,破損した出荷指示ファイルである。ランサムウェア X は“ファイルを暗号化して上書き保存”するので,暗号化された時点でファイルの内容が書き換えられ,ファイルの更新日時がその時刻になる。表1 の“ファイルが暗号化された”時刻(8:32,9:11 など)は,こうした更新日時を集めて並べたものと考えられ,イ(更新日時)が答えである。
上書き保存なので,ファイルが作られた時刻(作成日時)は変わらず,暗号化の時刻の手がかりにならない。破損したファイルを L 君が削除せず別のフォルダに移動したのは,この更新日時がタイムライン(表1)を作る材料になるからである。
ファイル名に Unicode 制御文字の a が使われていたので,実際のファイル名は invoice.fdp.exe であるが,表示上は invoice.exe.pdf となっていた。
受信メールの調査
メールヘッダの b フィールドで,経由したメールサーバを調べたところ,社外から送信されていたことが分かった。
a は,実際のファイル名 invoice.fdp.exe が画面上は invoice.exe.pdf に見えるようにする Unicode 制御文字である。RLO(Right-to-Left Override)は,後ろに続く文字の表示を右から左へ並べ替える制御文字で,ファイル名の途中に入れると,その後ろの“fdp.exe”が“exe.pdf”と逆順に表示される。利用者は PDF ファイルだと思って開いてしまう。よって a はオである。
b は,経由したメールサーバを調べるメールヘッダのフィールドである。メールを中継するサーバは,受け取った際に Received ヘッダを追加していく(RFC 5321 のトレース情報)。これをたどれば,差出人が B 社従業員でも社外から送信されたことが分かる。よって b はエである。
ランサムウェア X の感染開始時刻より前に取得が終わったバックアップなら,暗号化されたファイルを含まない。そこで,感染開始時刻と比較するのはバックアップの“終了時刻”である。ジョブのログにはバックアップの開始と終了の時刻が記録されているので,終了時刻が感染開始時刻より前の世代のうち,最も新しいものを選べばよい。解答例は“バックアップ終了時刻”である。
本文中の下線③について,感染していない D サーバも,ランサムウェア X によってファイルが暗号化された。その原因となる,営業用 PC の設定とランサムウェア X の特徴を,それぞれ 35 字以内で述べよ。
〔営業用PCの設定〕解答例
Dサーバ上の共有フォルダをネットワークドライブとして割り当てる。
〔ランサムウェアXの特徴〕解答例
ネットワークドライブ上のファイルも暗号化の対象となる。
解説
本文の根拠
冒頭
B 社の全ての PC は,ログオン時に,D サーバへも一般利用者権限で自動的にログオンされ,D サーバ上の共有フォルダが Windows のファイル共有機能を使って各 PC の D ドライブとして自動的に割り当てられる。
J 氏の説明
内蔵ドライブ,外付けドライブ,ネットワークドライブが対象です。
J 氏の発言
D サーバ自体が感染した形跡はありません。
D サーバは感染していないのに,出荷指示ファイルが暗号化された。その理由は,営業用 PC の設定と,ランサムウェア X の特徴の組合せにある。営業用 PC では,ログオン時に D サーバの共有フォルダが D ドライブ(ネットワークドライブ)として自動的に割り当てられる。一方,ランサムウェア X は,内蔵ドライブや外付けドライブだけでなく,ネットワークドライブ上のファイルも暗号化の対象にする。そのため,感染した営業用 PC を通じて,D サーバ上のファイルが暗号化された。
営業用 PC の側は“D サーバの共有フォルダがネットワークドライブとして割り当てられている”こと,ランサムウェア X の側は“ネットワークドライブも暗号化の対象になる”ことを書く。解答例は,設定が“Dサーバ上の共有フォルダをネットワークドライブとして割り当てる。”,特徴が“ネットワークドライブ上のファイルも暗号化の対象となる。”である。
ランサムウェア X が起動した直後に感染を検知し,営業用 PC05 をネットワークから切り離していれば,今回の被害を一部防ぐことができたと考えられる。どのような被害を防ぐことができたか。25 字以内で述べよ。
解答例
DサーバとGサーバのファイルの暗号化
解説
本文の根拠
表1 No 6
invoice.fdp.exe が実行された。
表1 No 8
出荷指示_01_00001.csv ファイルが暗号化された。
J 氏の発言
D サーバ上のファイルの暗号化が完了した後で,G サーバ上のファイルを暗号化している可能性があるので調査が必要です。
ランサムウェア X が起動したのは 8:30(表1 No 6)で,営業用 PC05 のファイルの暗号化は 9:11 まで続き,その後に D サーバ上のファイルの暗号化(9:11~9:40)が始まっている。J 氏の説明では,D サーバの後に G サーバのファイルも暗号化される。起動直後に感染を検知して営業用 PC05 をネットワークから切り離していれば,ネットワークドライブとして接続されている D サーバと G サーバのファイルは暗号化されずに済んだと考えられる。
本文中の下線⑤のように,PC を休止状態で保管しておけばファイルを復号できる可能性があるが,シャットダウンしてしまうとその可能性が低くなる。可能性が低くなる理由を,ランサムウェア X の動作を踏まえて 35 字以内で述べよ。
解答例
PC内で一時的に作成されたメモリ上の共通鍵が消えてしまうため
解説
本文の根拠
J 氏の説明
ランサムウェア X の場合,暗号化に使用した共通鍵をメモリ上から消去しないため,
J 氏の説明
PC をハイバネーション機能によって休止状態で保管しておく
ランサムウェア X は,暗号化に使った共通鍵をメモリ上から消去しない。ハイバネーション(休止状態)では,メモリの内容がディスクに保存され,電源を入れ直すとメモリの内容が戻るので,共通鍵が残っていれば復号ツールで復号できる可能性がある。シャットダウンすると,メモリの内容は保存されずに消えるので,PC 内で一時的に作成されたメモリ上の共通鍵も消えてしまい,復号できる可能性が低くなる。
設問3(2)と読み比べる。(2)は,ランサムウェアが共通鍵を意図的に消去するので復号できない,という話である。(3)の X は共通鍵を消さないので,メモリ上に残っていることを足がかりにする。
本文中の下線⑥について,セキュリティパッチ P を適用せずに放置した場合,営業用 PC がランサムウェア Y に感染すると,他のサーバや PC に感染が広がり,甚大な被害が生じるおそれがある。G サーバにおいて,ランサムウェア X では起きないが,ランサムウェア Y では起きる被害を,40 字以内で述べよ。
解答例
共有フォルダのバックアップデータも暗号化されてしまい復元できなくなる。
解説
本文の根拠
下線⑥
ファイルを暗号化するとともに,他のサーバや PC の OS の脆弱性を悪用し,管理者権限で次々と感染を広げる
表2 の後
L 君は,G サーバについても,ファイルの被害が最小限になるように,G サーバ上の共有フォルダのアクセス権限を見直した。
冒頭
G サーバ上の共有フォルダの利用者データ,本社用 PC の利用者データ及び営業用 PC の利用者データは,それぞれ,各コンピュータのローカルディスク上に設けられた一般利用者権限ではアクセスできない領域に 1 時間に 1 回,毎時 0 分に開始されるジョブによって,バックアップされる。
ランサムウェア X は一般利用者権限で動くので,一般利用者権限ではアクセスできない領域のバックアップデータは暗号化できず,G サーバのファイルはバックアップから復元できた。ランサムウェア Y は OS の脆弱性を悪用して管理者権限を得て,他のサーバや PC に感染を広げる。管理者権限があれば,一般利用者権限ではアクセスできない領域にあるバックアップデータにも書込みができ,ファイルといっしょに暗号化できる。よって,G サーバの共有フォルダのバックアップデータも暗号化され,復元できなくなる。
X では起きず,Y でだけ起きる被害を問われている。ファイルの暗号化は X でも起きるので答えにならない。違いは“管理者権限”で,その結果バックアップデータまで失われることが Y の被害である。
字数は 40 字以内で,解答例は 35 字。“バックアップデータも暗号化され,復元できなくなる”の 2 点を入れる。“ファイルが暗号化される”だけでは X との違いが出ない。
A 社は,Web マーケティングを支援する従業員数 40 名の企業である。A 社では,現在,Web マーケティング分析システム(以下,W システムという)を Web アプリケーションとして独自に開発し,クラウドサービス事業者 S 社のクラウドサービス上で顧客にサービスとして提供している。W システムでは,A 社独自の分析アルゴリズムを用いて,顧客の Web サイトを分析する。顧客の評価は高く,販売も好調である。
〔W システムの概要〕
W システムの開発は,役員 T 氏とシステム担当の K 氏が行っている。T 氏がアルゴリズムなどの基本的な仕様を決め,K 氏が,Java,サーブレットや開発フレームワークなどを用いて開発している。また,ブラウザ側での機能性向上のために JavaScript も用いている。開発は K 氏が管理する PC(以下,開発用 PC という)上で行い,完成したプログラムをシステム管理者の F 氏が本番システムにデプロイし,運用している。
W システムの画面構成は,次のようになっている。
総ページ数は 8 である。
“ログインページ”で利用者を認証し,認証が成功すると,“ダッシュボードページ”へ遷移する。
“ダッシュボードページ”からは,“分析キーワード入力ページ”などへ遷移できる。
W システムのシンプルなページの構成は,顧客にも好評である。
〔W システムの実装に関する脆弱性〕
A 社では,W システムのセキュリティ検査を,あらかじめ定められた手順に従い K 氏がブラウザを用いて手動で実施している。しかし,昨今の他社のセキュリティインシデント増加を受け,念のために,先月実施した社内のセキュリティ検査とは別に,今月になり初めて,外部の専門家にセキュリティ検査を依頼することにした。
そこで,セキュリティ専門会社 L 社の情報処理安全確保支援士である N 氏が,W システムのセキュリティ検査を担当することになった。
今回指摘された脆弱性は,検査すべき項目の中に含まれており,K 氏によるブラウザを用いた手動のセキュリティ検査によって発見され,開発用 PC 上のコードでは先月に修正されていた。しかし,K 氏からファイルを受け取った F 氏が,本番システムに修正版をデプロイし忘れたので,本番システムに脆弱性が残存したままとなっていた。
今回指摘された脆弱性は,検査すべき項目の中に含まれており,K 氏によるブラウザを用いた手動のセキュリティ検査によって発見され,開発用 PC 上のコードでは先月に修正されていた。
N 氏の説明
K 氏からファイルを受け取った F 氏が,本番システムに修正版をデプロイし忘れたので,本番システムに脆弱性が残存したままとなっていた。
K 氏の検査は,開発用 PC 上のコードに対して行われていた。脆弱性は開発用 PC では修正済みだったのに,本番システムに修正版がデプロイされず,残ったままだった。検査手順に,本番システムを検査する工程が無かったことが問題である。N 氏は,本番システムに対しても検査を行うべきだと提案している。解答例は“セキュリティ検査を本番システムに対し行うこと”である。
“どのように改善すべきか”は,開発用 PC とは別の,デプロイ後の本番システムを検査対象に加える,という意味である。デプロイ漏れや,環境の違いによる設定の差も,本番システムの検査で見つけられる。
運用開始から 3 か月が経過した頃,C 社の問合せ窓口に,EC サイトで利用されている一部のサーバ証明書に対応する秘密鍵が,サーバ証明書と一緒に,ある Web サイト(以下,Q サイトという)に掲示されているという通報があった。そこで,システム部の M 部長は,EC サイトの管理を担当する B さんに,セキュリティ専門会社である E 社の支援を得て本件を調査し必要な措置を講じるよう指示した。
E 社のセキュリティコンサルタントである H 氏のアドバイスを受けて B さんが確かめたところ,Q サイトに掲示された秘密鍵は自社のものと一致していた。B さんは鍵が危たい化したと判断した。
次は,H 氏と B さんの会話である。
H 氏:サーバ証明書に対応する秘密鍵が公開された影響について,順に説明していきましょう。サーバ証明書は認証局サービス事業者から発行されます。サーバ証明書には,サーバの FQDN と公開鍵が記載されます。サーバ証明書の作成とその検証には公開鍵暗号方式を利用した a 技術を利用します。サーバ証明書は SSL/TLS で利用されます。SSL/TLS は複数の暗号技術を用います。データの送受信時は,暗号化と復号のために b を利用します。また,データの送信者と受信者が b で使用する鍵を共有するために,公開鍵暗号方式を用いて c を行います。現在,世の中で発行されているサーバ証明書には複数の種類があり,代表的なものはドメイン認証証明書と d です。サーバ証明書の種類によって,認証局サービス事業者が発行時に行う審査の内容が異なります。
H 氏:経緯はまだ分かりません。Q サイトには,サーバ証明書のうち,ある古い暗号ソフトウェア(以下,Z ソフトという)を用いて鍵ペアが生成されたものを対象に秘密鍵の推定を試み,推定に成功したものを掲示している旨の説明がありました。御社は Z ソフトを利用していませんか。②鍵ペアの生成に用いる擬似乱数生成器に必要な条件を,Z ソフトは,満たさないことが分かっています。
〔鍵の危たい化への初動対応〕
H 氏は,次の二つの措置をとるように B さんにアドバイスした。
当該鍵に関わるサーバ証明書の [ ア ] 停止
当該鍵に関わるサーバ証明書の [ イ ] 申請
H 氏は,今後,再び鍵の危たい化が起きた場合に備えて,あらかじめ検討して準備しておくことが望ましい事項について,B さんに説明した。その事項を図1に示す。
図1 あらかじめ検討して準備しておくことが望ましい事項
〔H 氏による調査及び問題の指摘〕
B さんは,秘密鍵が他者に知られてしまった原因と,SSL/TLS の利用に関して EC サイトの設定などに改善すべき問題がないかについて,H 氏に調査を依頼した。
C 社の社名も比較的知られるようになった。C 社では,事業を更に拡大するために,新たに独自のドメイン名を取得し,C 社専用の販売サイト(以下,EC サイトという)を立ち上げることにした。
ドメイン認証証明書は,認証局が,申請者がそのドメインを管理していることだけを確認して発行する。サーバの運営者が実在する C 社であることまでは確認しない。EC サイトは,C 社が新しいドメイン名で立ち上げたサイトなので,利用者が見ても,このサイトの運営者が C 社であることを証明書から確認できない。EV 証明書など,組織の実在を審査する証明書であれば,運営者が C 社であることを確認できる。よって,ドメイン認証証明書では,サーバの運営者が C 社であることを確認できないからである。
新しいサイトは,利用者が C 社のサイトだと分かりにくいので,偽サイトと区別できる証明書が望ましい。設問1(1)で出た EV 証明書がこれに当たる。採点講評も,サーバ証明書の種類と発行時の審査の違いを理解しておくよう述べている。