この状況を見て,情報システム課の H 課長は勤務時間管理システムの運用停止を指示するとともに,T 君単独でのシステム開発には無理があると考え,セキュリティにも詳しいシステムコンサルタントの U 氏に支援を要請した。
支援を開始した U 氏は,最初に図 3 のプログラムを検査して,問題の原因と修正方法を指摘した。その指摘に従い,T 君はプログラムを修正し,テストを行って問題が発生しないことを確認した。
さらに U 氏は,悪意をもったパートが②他人のパスワードを使用しなくても,容易に他人の勤務時間集計表をダウンロードできる脆弱性があることを指摘した。
指摘を受けた T 君は,作成する勤務時間集計表のファイル名をランダム文字列とすれば脆弱性は解消できるのではないかと提案した。しかし U 氏は,そもそも個人情報が記録されたファイルを Web 公開領域に保存することに問題があると指摘して,脆弱性を解消するために図 2 の仕様を図 4 のように修正することを提案した。
図 4 勤務時間管理システムの修正仕様(抜粋)
その後,T 君は U 氏の支援を受けつつ,図 4 の仕様に沿って勤務時間管理システムの修正を行い,脆弱性が解消されたことを確認した。この結果を受けて,H 課長は勤務時間管理システムの運用再開を指示した。
ある利用者の要求が tempPDF に自分の ID のファイルを代入した直後に,別の利用者の要求が tempPDF を上書きすると,最初の利用者のリンクの組立て(tempPDF.getName())が,他人のファイル名で行われる。苦情が出たのが 25 名の利用者が同時にアクセスしていたときだったことも,同時実行による現象だと読める。Java EE 5 の API 仕様(SingleThreadModel)にも,この種の問題を避けるにはインスタンス変数を使わないか,その参照を同期化するよう勧める記述がある。
この脆弱性を解消する修正仕様に関して,図 4 中の b に入れる適切な字句を 20 字以内で答えよ。
〔b〕解答例
PDFファイル形式の勤務時間集計表
解説
本文の根拠
図 4
Web 公開領域ではなく Java サーブレット経由でだけアクセス可能な領域に保存する。
図 4
Web サーバ内の Java サーブレットは,bをブラウザへ送信する。利用者は,ブラウザの PDF プラグイン機能によって表示された内容を印刷する。
修正仕様では,集計表を Web 公開領域に置かず,Java サーブレットからだけ読める領域に保存する。すると,利用者がリンクをたどって HTTP サーバから直接ダウンロードする方法は使えない。そのため,サーブレットが,保存した集計表の中身そのものをブラウザへ送信する形に変わる。空欄 b の後ろに,“ブラウザの PDF プラグイン機能によって表示された内容を印刷する”とあるので,送るものは PDF ファイルの形の勤務時間集計表になる。
G 社は,従業員数 800 名の医薬品販売会社であり,全国 15 か所に営業所をもっている。3 か月前,ある営業所で火災が発生し,その営業所内の PC とサーバが被害を受けた。顧客データや注文データなどの電子データが消失してしまい,顧客データを再入力したり,顧客に注文データを確認したりするなどの復旧作業に 1 か月を要するなど,事業に大きな影響が出た。G 社の経営陣は,今後同様のデータ消失が起きないように,営業所を対象としたデータバックアップを見直すよう,情報システム部に指示した。また,営業所では PC に顧客データなどの機密データを保管している一方,従業員が社外に PC を持ち出して仕事をしているので,これらの機密データの社外への漏えいを防ぐ対策についても見直すよう,経営陣は指示した。
情報システム部の L 課長は,これら二つの指示を受けて,部員の Y 君にバックアップ方式と機密保護方式を検討するように指示した。
Y 君は,対象とするデータを整理するために,営業所に対して,保有しているデータの洗出しを依頼した。その結果,PC に保存されているデータのうち,バックアップ又は機密保護が必要なものは表のとおりであった。
Y 君は,暗号化の方法として,PC のハードディスクをすべて暗号化するソフトウェアを利用する方式(以下,ハードディスク暗号化方式という)と,従業員ごとに公開鍵暗号方式の鍵ペアをもち,ファイル単位で暗号化を行うソフトウェアを利用する方式(以下,ファイル暗号化方式という)の比較を行った。その結果,ファイル暗号化方式に比べ,ハードディスク暗号化方式は G 社で利用している PC では動作速度が著しく低下することが分かり,ファイル暗号化方式を採用することにした。
従業員が OS にログインしている状態であれば,暗号化されたファイルは通常のファイルと同様に,暗号化・復号を意識することなく利用することができる。しかし,従業員が OS にログインしていない状態では,従業員の b にアクセスすることができないので,ファイルが暗号化されたままの状態となり,PC からハードディスクが外された場合でも,ハードディスクからのデータ漏えいを防止することができる。
続いて Y 君は,バックアップ方式の検討を行った。営業所から,PC だけが被害を受けてデータが消失した場合は前営業日のデータに回復し,営業所全体が被害を受けた場合は最悪でも 2 週間前のデータに回復したいとの要望が出たので,これらの要望に基づいて検討することにした。Y 君は,バックアップ方式として,図 3 のように,PC のデータを営業所サーバにバックアップし,次に営業所サーバのデータを磁気テープ(以下,テープという)にバックアップする方式を考えた。
図 3 バックアップ方式
PC のデータのバックアップを定期的に実行するため,ログアウト時に実行するバックアップ用スクリプトを設定する。そのスクリプトが,PC から営業所サーバへのバックアップ処理を実行する。退社時に従業員が OS からログアウトする際に,表中の (a) と (b) の形式のデータが,営業所サーバの個人別エリアに作成された各従業員のバックアップ用フォルダ内にコピーされる。営業所サーバにファイルがコピーされる際には,ファイル暗号化方式によって暗号化されているものは復号された上でコピーされる。
このバックアップ方式に対して L 課長は,①このバックアップ方式を導入することによって,社外への情報漏えいのリスクが高くなる可能性があると指摘した。
Y 君は,これを受けてバックアップ方式に新たな対策を加えた。
〔バックアップ方式の検証と改善〕
Y 君は,検討したバックアップ方式で運用できることを検証するために,まず,バックアップ用スクリプトで PC のデータを営業所サーバにコピーし,次に PC のデータ領域のファイルを消去した上で,営業所サーバからバックアップしたデータを PC に戻し,データを確認した。その結果,すべてのデータが問題なく使用できたので,一つの営業所でパイロット運用を開始した。
パイロット運用を開始して 2 週間後,ある従業員の PC が故障し,マザーボードの交換修理を行った。すると,暗号化されたデータが全く読めなくなってしまった。そこで,営業所サーバからバックアップしたデータを PC に戻したが,②それでもサーバから戻したデータの一部は PC で読めなかった。
Y 君は,この原因を調査したところ,TPM の利用方法を改善する必要があることが分かった。そこで,③ファイル暗号化方式の手順を一部修正した。修正された方式に基づいて実施したパイロット運用の結果は順調で,順次,すべての営業所で本格運用を開始していくこととなり,G 社営業所データの,暗号化とバックアップが実施されるようになった。
b から“復号に使用”の点線矢印が伸び,a から下へ向かう“復号”の太矢印に至り,その先に c の箱がある。
〔暗号化方式の検討〕
従業員が OS にログインしていない状態では,従業員の b にアクセスすることができない
a は,図 1 で公開鍵を使って暗号化された共通鍵が,暗号化されたファイルの先頭に付く部分である。本文のとおり,共通鍵は従業員の公開鍵で暗号化されてファイルとともに保存されるので,a は“暗号化された共通鍵”(ア)である。
復号は暗号化の逆をたどる。b は“従業員ごとの鍵”で,公開鍵で暗号化されたものを復号できるのは対になる秘密鍵(オ)である。これで a を復号して取り出される c は,ファイル本体を復号するための“ファイルを復号する共通鍵”(カ)である。公開鍵暗号で共通鍵を包み,その共通鍵でファイルを暗号化する組合せは,OpenPGP の仕様(RFC 4880)にも“セッション鍵を受信者の公開鍵で暗号化する”と書かれている。
P 社は,従業員数 30 名の人材紹介会社である。コンサルタントによる人材紹介だけでなく,転職サイトも立ち上げている。この転職サイトには,求職者,求人企業が多数,登録している。求職者は,転職サイトの個人プロフィール登録画面で,氏名,生年月日,住所,電話番号,職歴などの個人プロフィールを登録する。求職者の転職サイトの利用は無料である。求人企業は,業種,募集職種,職務内容,給与,勤務地,応募資格などの求人募集内容の掲載を P 社に依頼する。求人企業は,求人募集時には求人件数に応じた利用料を,採用成立時には紹介料を P 社に支払う。
〔求職者の個人情報の保護〕
求職者は,求人募集内容を見て応募したい求人企業があれば,転職サイト内のそれぞれの求人企業の応募入力画面を利用して応募することができる。応募入力画面では,あらかじめ個人プロフィール登録画面で登録しておいた個人プロフィールをそのまま利用することもできるが,新たに入力することもできる。さらに,各求人企業に対する応募理由などを追加入力することもできる。この応募時の個人プロフィールは,P 社の Web サーバから,求人企業に,電子メール(以下,メールという)で自動送信される。
なお,求職者の個人情報を求人企業に提供することについては,求職者から事前に転職サイトの画面で同意を得ており,また,求人企業に対しても提供する個人情報の利用目的を利用規約で制限しており,特に問題ないと P 社は認識している。
求人企業のうち,数社から,暗号化されていないメールで求職者の個人情報を送信することについて,漏えいする危険性があるので改善してほしいとの要望があった。これを受けて,P 社の情報システム部の F 部長は,システム担当の Z 主任に,メールが盗聴される危険性を踏まえた改善案を作成するよう命じた。
Z 主任は,F 部長の指示に従って,改善案を表 1 にまとめた。
表 1 個人情報を含むメールが盗聴される危険性を踏まえた改善案
次は,各案を比較した際の F 部長と Z 主任の会話である。
Z 主任:案 1 の S/MIME はどうでしょうか。
F 部長:S/MIME は,各求人企業が a を用意するために認証サービスを年間契約することなどが必要である。コストが掛かるから難しいだろう。
Z 主任:各求人企業が自社で a を発行する方法は,採用できないのでしょうか。
F 部長:①各求人企業が自社で発行したものは,当社では a として受け入れられない。
Z 主任:当社で認証局システムを構築して,求人企業の各利用者分も含めて a を発行するのはどうでしょうか。
F 部長:その場合,導入コストに加えて運用コストも必要だ。
Z 主任:それでは,PGP はどうでしょうか。
F 部長:PGP は,自社で鍵の生成システムを用意できるとしても,クライアント PC の b ソフトが対応していないことが多く,操作手順が複雑になるので,一般の利用者には使いにくいだろう。案 1 の採用は難しいようだね。
Z 主任:案 2 はどうですか。
F 部長:もし攻撃者が添付ファイルを入手したら,総当たり攻撃をかけることができるので,パスワードは十分に長くしないといけないね。
Z 主任:最短パスワード長は,8 文字でどうでしょうか。
F 部長:それでは足りないだろう。サーバへのログインのように,②オンラインでパスワードを入力させる場合は,試行回数を多くできないように制限することもできるから 8 文字程度でも十分な場合が多い。しかし,案 2 の場合は,添付ファイルを攻撃者に入手されたら,ファイルに対してオフラインで直接的に攻撃されて試行回数が制限できない上に,解析ツールを利用して,ごく短時間でパスワードを解析される危険性もある。だから,パスワードはかなり長くする必要があるが,運用上はなかなか難しいだろう。
Z 主任:そうすると,案 3 でしょうか。
F 部長:そうだね。案 3 は,求人企業の利用者の手間が増えるという欠点はあるが,この欠点は操作性の高い求人企業向け Web ページを用意することによって補うことができるだろう。また,当社で求人企業の利用者の初期パスワードを管理する必要があるが,求人企業の利用者の総数から考えて,大きな手間にはならないだろう。
F 部長と Z 主任は,案 3 を採用することにした。求人企業向け Web ページの操作性については,求職者の個人プロフィールを簡単な手順で確認できるように設計することにした。
P 社では,求人企業向け Web ページを追加し,各求人企業に運用方法の変更を通知した上で,案 3 に沿った運用方法に切り替えた。
〔求人企業向け Web ページのパスワード〕
求人企業向け Web ページでは,表 2 に示すような利用者 ID とパスワードを求人企業の利用者ごとに発行し,各求人企業向けの Web ページだけにアクセスできるようになっている。求人企業の利用責任者は,最初に P 社に依頼するときに,各利用者のメールアドレスを含む申込書と,求人企業の登記事項証明書を郵送する。P 社では,利用者 ID は求人企業の各利用者にメールで送信するが,③初期パスワードの通知書は登記事項証明書に記載された所在地気付で利用責任者あてに一括して郵送している。求人企業の各利用者は,初めて求人企業向け Web ページにログインしたときには,パスワードを変更してから利用する。
なお,初期パスワードの通知書は,パスワードを変更した後も,各利用者が保管するように P 社からお願いしている。
K 社は,従業員数 1,000 名の事務機器販売会社である。K 社には,人事総務部,営業部,商品管理部,情報システム部がある。K 社のネットワークは図 1 に示すとおり,DMZ と社内ネットワークで構成されている。社内ネットワークは,内部サーバネットワークと部ごとの部門ネットワークに分割されている。社内ネットワーク上の PC から,インターネット上の Web サーバへのアクセスは,DMZ のプロキシサーバを経由して行うように,各 PC のブラウザが設定されている。
図 1 K 社のネットワーク(抜粋)
〔新種ウイルスの感染と駆除〕
ある日,情報システム部の A 主任は,営業部の C 課長から,PC の動作がおかしいので調べてほしいとの依頼を受けた。A 主任は,早速,C 課長の席を訪れ,PC の状態を確認したところ,全般的に動作が非常に遅く,業務に支障を来す状態となっていた。ハードウェアやソフトウェアの障害についてログを確認したが,障害発生を示す記録は見当たらなかった。そこで,A 主任は,ウイルス感染を疑い,その検査を行うことにした。K 社では,図 2 に示すウイルス駆除手順が決められており,A 主任はその手順に従って作業を進めた。
図 2 K 社のウイルス駆除手順
しかし,手順 (3) まで行ったが,ウイルスは検知されなかった。セキュリティパッチの適用状態を確認したところ,前月にリリースされた OS のセキュリティパッチが適用されていないことが判明した。そこで,A 主任は,PC を社内ネットワークに接続した上で,OS に対して最新のセキュリティパッチまでをすべて適用した。この時点で,PC の状態を確認したが,最初に確認したときと同様な状態であった。
A 主任は,情報システム部の B 課長に状況を説明して,指示を仰いだところ,現在導入されている I 社製ウイルス対策ソフトとは異なるベンダのウイルス対策ソフトで,ウイルス検査を試みるよう指示があった。そこで,PC を社内ネットワークから再び切断して,I 社製ウイルス対策ソフトをいったん削除した後,J 社製ウイルス対策ソフトを導入し,再度,検査を行ったところ,X ウイルスを検知したという警告が表示された。A 主任は,X ウイルスの駆除を行い,駆除が成功したと表示されたことを確認した。その後,J 社の Web サイトで,X ウイルスについて情報収集を行った。その結果,X ウイルスは新種のウイルスであることと,図 3 に示す感染方法と特徴が報告されていることが分かった。
図 3 X ウイルスの感染方法と特徴
〔X ウイルス駆除手順の作成〕
A 主任は,J 社製ウイルス対策ソフトをすべての PC とサーバに導入することは,費用的な問題ですぐにはできないことや,I 社製ウイルス対策ソフトでも近々検知できるようになると思われることから,C 課長以外の PC については,J 社製ウイルス対策ソフトの導入は,ひとまず行わないことにした。そこで,X ウイルスの感染方法と特徴から,X ウイルスに特化した駆除手順を作成することにした。駆除手順を作成するに当たっては,感染 PC の特定方法,X ウイルスの駆除作業,感染防止策の三つを検討した。まず,X ウイルスの感染方法と特徴を基にして,感染 PC の特定方法を検討した。X ウイルスに感染した PC の特定方法を図 4 に示す。
図 4 X ウイルスに感染した PC の特定方法
X ウイルスの駆除作業については,J 社から無償で提供されている,X ウイルス専用駆除ツールを利用することにした。
なお,X ウイルスに感染していない PC だけではなく,①X ウイルスの駆除に成功した PC にも,図 5 の感染防止策を行うことにした。
図 5 X ウイルスの感染防止策
以上の検討結果を踏まえ,図 6 の駆除手順を決めた。
図 6 X ウイルスの駆除手順
〔X ウイルス駆除の実行〕
A 主任は,情報システム部員とともに,まず,図 6 の (1) を実施した。その結果,営業部で使用している 180 台の PC のうち,30 台が感染 PC であることが分かった。その他の部門ネットワークで,感染 PC は発見されなかった。これら 30 台の感染 PC のうち 23 台については,前月のセキュリティパッチが適用されていなかった。残り 7 台については,OS の管理者 ID のパスワードが,感染方法 2 で使用されるパスワード辞書のものと一致していた。
また,営業部員へのヒアリング調査の結果,この X ウイルス感染は,ある営業部員が,自宅で仕事をしようとファイルを持ち帰るときに使用した,個人所有の USB メモリからの感染が発端であることが判明した。
これら 30 台の感染 PC に対して,X ウイルスの駆除手順に従って,情報システム部員が駆除作業を行い,無事,X ウイルスの駆除を完了した。また,X ウイルスに感染していない PC に対しても,感染防止策を実施し,X ウイルスへの対応を完了した。
その後,B 課長は,セキュリティパッチ適用の時期を,PC の利用者の判断にゆだねていたことが,X ウイルスの感染を広げた原因の一つと考え,K 社が保有するすべての PC への強制的なセキュリティパッチ適用と,サーバへの速やかなセキュリティパッチ適用の方法を検討するよう,A 主任に指示した。
図 3 中の特徴 2 について,感染 PC 上のファイルを攻撃者のサーバにアップロードするようなプログラムのファイルがダウンロードされた場合,どのような被害が発生する可能性があるか。30 字以内で具体的に述べよ。
解答例
秘密情報の入ったファイルが攻撃者に盗まれる可能性
解説
本文の根拠
図 3 特徴 2
X ウイルスはインターネット上の特定の Web サーバに接続し,決められた名前のファイルをダウンロードした後,そのファイルを実行しようとする。
〔X ウイルス駆除の実行〕
ある営業部員が,自宅で仕事をしようとファイルを持ち帰るときに使用した,個人所有の USB メモリからの感染が発端である
特徴 2 のとおり,X ウイルスはインターネット上の特定の Web サーバから決められた名前のファイルをダウンロードして実行しようとする。今は,その名前のファイルがサーバに存在せず,失敗している。攻撃者が,感染 PC 上のファイルをアップロードするプログラムをその名前で置けば,ダウンロードされたプログラムが感染 PC で実行される。
PC には,営業部員が持ち帰って仕事をするファイルなど,秘密情報が入っている。それが攻撃者のサーバへ送られるので,被害は秘密情報の入ったファイルが攻撃者に盗まれることである。
感染 PC の特定方法について,図 4 中の a ~ e に入れる適切な字句を答えよ。a についてはプロトコル名を 5 字以内で,b,c についてはそれぞれ 10 字以内で,d については 5 字以内で,e については 20 字以内で答えよ。
〔a〕解答例
ARP
〔b〕解答例
IPアドレス
〔c〕解答例
MACアドレス
〔d〕解答例
プロキシ
〔e〕解答例
インターネット上の特定のWebサーバ
解説
本文の根拠
図 3
X ウイルスは,次の二つの感染方法をそれぞれ,同一サブネット内の,自らの IP アドレスを除くすべての IP アドレスに対して,IP アドレスの昇順に試みる。
図 4 特定方法 1
(部門の L2SW には,モニタポートは付いていない。)
図 3 特徴 2
Web サーバへの接続には,ブラウザのプロキシ設定情報を利用する。
特定方法 1 は,感染方法 1・2 が,同一サブネット内の IP アドレスを昇順に試すことを使う。同じサブネットの相手にパケットを送るには,その IP アドレスの MAC アドレスを ARP で調べなければならない。ARP 要求は,ブロードキャストでネットワーク全体に送られる(RFC 826)。したがって,モニタポートの無い L2SW の空きポートにパケットモニタを付けても,他の PC あての通信は見えないが,ブロードキャストされる ARP(a)は見える。感染 PC は,連続した IP アドレス(b)に対して昇順に問い合わせて,MAC アドレス(c)を要求するので,その PC を感染 PC として特定できる。
特定方法 2 は,特徴 2 を使う。Web サーバへの接続にはブラウザのプロキシ設定情報を使うので,通信は DMZ のプロキシ(d)サーバを通る。そのログを解析し,インターネット上の特定の Web サーバ(e)に接続を試みている PC を探せば,感染 PC が分かる。
字数は a が 5 字以内(解答例 3 字),b と c が 10 字以内(6 字,7 字),d が 5 字以内(4 字),e が 20 字以内(18 字)。講評は,a と c の正答率が低く,モニタポートの無い L2SW では,ブロードキャストパケットを監視しなければならないことに気づいてほしかったとしている。
本文中の下線①について,駆除に成功した PC に対して,感染防止策をとらなかった場合には,どのようなことが起こり得るか。15 字以内で述べよ。
解答例
Xウイルスに再び感染する。
解説
本文の根拠
〔X ウイルス駆除の実行〕
これら 30 台の感染 PC のうち 23 台については,前月のセキュリティパッチが適用されていなかった。残り 7 台については,OS の管理者 ID のパスワードが,感染方法 2 で使用されるパスワード辞書のものと一致していた。
図 6
駆除が成功したと表示された場合は,(5) へ進む。
X ウイルス専用駆除ツールが行うのは,ウイルスを取り除くことだけで,感染の原因になった脆弱性,弱い管理者パスワード,USB メモリの自動実行機能は,そのまま残る。社内には,まだ駆除されていない感染 PC や USB メモリがあるかもしれない。感染防止策をとらずに社内ネットワークへ戻すと,それらから再び攻撃され,X ウイルスに再び感染する。
図 6 の手順で,駆除が成功したと表示された PC にも (5) の感染防止策を実施するのは,このためである。
感染防止策 1 では,パッチが未適用の PC を,パッチ配信サーバに接続してパッチを当てる。その間 PC は脆弱なままで,通常どおりに部門ネットワークへつなぐと,同じサブネットにいる感染 PC が脆弱性を攻撃して,再び感染する。そこで,当該 PC と L2SW の間にファイアウォールを置き,通信をパッチ配信サーバとの間に限定する。こうすれば,他の PC からの攻撃は届かない。
字数は 50 字以内で,解答例は 45 字。“ファイアウォールを設置”“パッチ配信サーバとの通信に限定”の二点を入れる。講評は,X ウイルスの感染方法から,同一ネットワーク上に感染 PC がある場合に感染する可能性があることに注目してほしかったとしている。