情報処理安全確保支援士午後II 事例記述令和4年 春期
午後II 問1

午後II 問1 Webサイトのセキュリティ

テーマ:Webサイトのセキュリティ
左右2分割表示:左側の問題文をスクロールしながら右側の設問に解答できます

長文事例本文

図表クリックで拡大
A社は,従業員1,500名の中堅システム開発会社である。A社では,セキュリティ品質の高いWebサイトを開発するために,表1に示すWebセキュリティ管理基準を定めて運用している。
表 1 Web セキュリティ管理基準(抜粋) 拡大
表 1 Web セキュリティ管理基準(抜粋)
〔A社によるB社の子会社化〕 B社は,従業員200名の新興のITサービス会社であり,各種SaaSを提供している。アジャイル開発の能力が高く,機能の追加や性能の改善を頻繁に行っている。B社とA社とは協業関係にあったが,両社の経営陣は,双方の強みを生かせると判断し,A社によるB社の子会社化について合意した。 B社のクラウド環境には,コーポレートサイト(以下,サイトBという),及びB社が提供中の三つのSaaSそれぞれのWebサイト(以下,サイトX,サイトY,サイトZという)がある。それらの概要を表2に示す。
表 2 B社の Web サイトの概要 拡大
表 2 B社の Web サイトの概要
子会社化に当たって,B社のWebサイトのセキュリティ水準を確認することになり,A社の品質管理部でセキュリティ技術を担当しているRさんが対応することになった。 〔B社のWebサイトのセキュリティ水準の確認〕 Rさんは,サイトB,サイトX,サイトY及びサイトZに対する脆弱性診断をD社に依頼した。診断の結果,検出された脆弱性を表3に示す。
表 3 検出された脆弱性(抜粋) 拡大
表 3 検出された脆弱性(抜粋)
〔サイトBのXSS脆弱性〕 D社は,サイトBに①診断用リクエストを送ることで,XSS脆弱性があることを確認した。このリクエストは,ライブラリMを使ってプログラムCが処理する。ライブラリMのコードを図1に示す。
図 1 ライブラリ M のコード 拡大
図 1 ライブラリ M のコード
ライブラリMは,SEOのためのライブラリである。 B社では,開発部のメンバそれぞれが,開発時に利用可能なライブラリを収集している。使用するライブラリは,マルウェアが含まれていない,既知の脆弱性が修正された,安全性が確認できているライブラリを公開しているWebサイトから,ファイルサーバにダウンロードし,利用している。ファイルサーバは,開発部のメンバであればアクセス可能である。 今回使われていたライブラリMは,既知のXSS脆弱性の対策をしていないバージョンであった。その結果,ライブラリMを使っているサイトB,サイトX,サイトY及びサイトZにおいて,同じXSS脆弱性が検出された。 これを受けて,B社における②再発防止策について検討した。 〔サイトXのCSRF脆弱性〕 サイトXは,セッションIDをJSESSIONIDというcookieに格納している。D社は,サイトXのキャンペーン応募ページでCSRF脆弱性を検出した。 CSRF脆弱性を確認した手順は,次のとおりであった。 (1) 診断用利用者(以下,利用者Aという)の利用者IDでサイトXにログインし,キャンペーン応募ページで送信されるリクエストの内容をツールを使って確認した。リクエストの内容を図2に示す。
図 2 リクエストの内容 拡大
図 2 リクエストの内容
リクエストの内容を確認後,csrftokenをCSRF対策用のパラメタと考え,リクエスト中のcsrftokenの値を削除して送信した場合と1文字変更して送信した場合を試したところ,どちらもエラーになった。 (2) 利用者Aとは別の診断用利用者(以下,利用者Bという)の利用者IDでサイトXにログインし,キャンペーン応募ページで送信されるリクエスト中のcsrftokenの値に,図2のcsrftokenの値を設定して送信したところ,利用者Bとして処理された。 この結果から,csrftokenとa又はbとをひも付けるという対策ができていないことが分かった。 〔サイトXのクリックジャッキング脆弱性〕 サイトXでは,クリックジャッキングによって,利用者が気付かずに利用者情報の公開範囲を変更させられてしまう脆弱性が検出された。攻撃者が図3の画面を用いてクリックジャッキングを行う場合を仮定してみる。このとき,クリックイベントは,利用者から見て手前にある画面上で発生するものとする。
図 3 攻撃者が用いる画面 拡大
図 3 攻撃者が用いる画面
攻撃者は,画面cを利用者から見てdにe状態で罠サイトに公開し,サイトXの画面fを利用者から見てgにh状態で重ねて表示する。この状態のサイトにアクセスした利用者は,意図せず利用者情報の公開範囲を変更させられてしまう可能性がある。 クリックジャッキング脆弱性の対策には,レスポンスヘッダにiを含める方法とjを含める方法がある。後者は標準化されている。 〔サイトYのSSRF脆弱性〕 サイトYでは,例えば,図4のリクエストを受け取ると,A社のニューストピックを取得し,表示するようになっている。
図 4 A 社のニューストピックを取得するリクエスト 拡大
図 4 A 社のニューストピックを取得するリクエスト
この処理にSSRF脆弱性があった。D社は,③図4のリクエスト中の値を変更してサイトYに送り,サイトYのDBサーバのメンテナンス用のWebインタフェースにアクセスできることを確認した。 〔サイトZのSSRF脆弱性〕 サイトZでは,最近,新機能が開発された。新機能の一つである,旅行会社P社の宿泊サイト(以下,P社宿泊サイトという)との連携機能でSSRF脆弱性が検出された。その機能は,駅名を入力すると,その駅周辺のホテルの割引クーポンなどの“お得情報”を表示できるというものである。利用者が,P社宿泊サイトに登録されている駅名の一つ,“東京”を入力したときの流れを図5に,登録されていない架空の駅名である“abc”を入力したときの流れを図6に,D社の専門技術者V氏がSSRF脆弱性を検出した手順を表4に示す。
図 5 登録されている駅名である“東京”を入力したときの流れ 拡大
図 5 登録されている駅名である“東京”を入力したときの流れ
図 6 登録されていない駅名である“abc”を入力したときの流れ 拡大
図 6 登録されていない駅名である“abc”を入力したときの流れ
表 4 SSRF 脆弱性を検出した手順 拡大
表 4 SSRF 脆弱性を検出した手順
表4の手順によって,V氏は,Authorizationヘッダの値を受け取ることができた。P社の協力の下,この値を用いることで,本来許可なしではアクセスできないP社宿泊サイトや同じAuthorizationヘッダの値を利用するP社保有のサーバへのアクセスが可能になることを確認した。 D社からは,P社宿泊サイトからのレスポンスに含まれるURLが想定されたものかを調べて想定外の値の場合はそのURLにはアクセスしないようにするという,SSRF脆弱性への対策が提案された。加えて,④別の対策も実施することが望ましいとのことであった。 Rさんは,D社の脆弱性診断で検出された脆弱性について,B社の開発部のE課長に報告した。その後,B社の開発部によって対策が実施され,D社による再度の脆弱性診断で問題が修正されたことが確認された。 〔開発プロセスの見直し〕 B社のWebサイトのセキュリティ水準について,Rさんは,開発プロセスの観点からも調査を進めた。 B社では,顧客に機能の追加要望や性能の改善要望をヒアリングしながら,開発部内で目標を設定し,アジャイル開発を行っている。また,社外の研修などでセキュアプログラミングの知識を習得し,その知識を生かしてWebサイトを開発している。 B社の開発プロセスの概要を図7に示す。
図 7 B 社の開発プロセスの概要 拡大
図 7 B 社の開発プロセスの概要
Rさんは,B社のWebサイトのセキュリティ水準を十分なものにするためには,A社のようなWebセキュリティ管理基準をB社に導入する必要があると考えた。次は,B社の開発プロセスについてのRさんとE課長の会話である。 Rさん:B社でも表1のとおりに実施できますか。 E課長:開発フェーズにおいてはできると思います。しかし,改良リリースの周期は2週間程度です。専門技術者による脆弱性診断には,その周期の大半を費やしてしまうので,省略できないでしょうか。 Rさん:⑤ソースコードレビューやツールによる脆弱性診断では発見できないが,専門技術者による脆弱性診断では発見できる脆弱性が多くあります。専門技術者による脆弱性診断を改良リリースにおいて毎回実施できない場合でも,当該診断が長期間行われないことを避けるために,⑥時期を決めて実施することや,⑦開発プロセスを見直すことを検討してみてください。 E課長:分かりました。そのほかに,アジャイル開発に合った脆弱性対策はないでしょうか。 Rさん:Webサイトの実装に必要となる一般的な機能や定型コードを,ライブラリとしてあらかじめ用意したフレームワークには,⑧脆弱性対策が組み込まれていて,それがデフォルトで有効になっているものもあるので,利用を検討してみてください。 その後,B社は,セキュリティを考慮したアジャイル開発を行うことになった。

設問一覧 & 解答・演習

まずは解答を作成してみましょう。「解答例を見る」をクリックするとIPA公式解答例と採点基準が開きます。

設問1 (1)記号・選択式
〔サイトBのXSS脆弱性〕について答えよ。
本文中の下線①における診断用リクエストの構成要素を,解答群の中から選び,記号で答えよ。
【選択肢】 クリックして選択
選択中の解答:未選択(上の選択肢ボタンをクリックしてください)
設問1 (2)記述問題
制限字数:35 字以内
〔サイトBのXSS脆弱性〕について答えよ。
本文中の下線②について,考えられる再発防止策を,35字以内で述べよ。
0 / 35 文字
設問2記号・選択式
本文中の a, b に入れる適切な字句を答えよ。
※直接入力してください
設問3 (1)記号・選択式
〔サイトXのクリックジャッキング脆弱性〕について答えよ。
本文中の c 〜 h に入れる適切な字句を,それぞれの解答群の中から選び,記号で答えよ。

c, fに関する解答群
【空欄スロット選択】 割り当てる空欄を選んでから下の選択肢をクリック:
選択中の解答:未選択(上の選択肢ボタンをクリックしてください)
設問3 (2)記号・選択式
〔サイトXのクリックジャッキング脆弱性〕について答えよ。
本文中の i, j に入れる適切な字句を,解答群の中から選び,記号で答えよ。
【空欄スロット選択】 割り当てる空欄を選んでから下の選択肢をクリック:
選択中の解答:未選択(上の選択肢ボタンをクリックしてください)
設問4記述問題
制限字数:45 字以内
本文中の下線③について,図4のリクエスト中のどの値をどのような値に変更したか。45字以内で具体的に述べよ。
0 / 45 文字
設問5 (1)記述問題
制限字数:15 字以内
〔サイトZのSSRF脆弱性〕について答えよ。
表4中の k に入れる適切な字句を,15字以内で答えよ。
0 / 15 文字
設問5 (2)記述問題
制限字数:25 字以内
〔サイトZのSSRF脆弱性〕について答えよ。
本文中の下線④について,別の対策とは何か。B社で実施することが望ましい対策を,25字以内で述べよ。
0 / 25 文字
設問6 (1)記述問題
制限字数:15 字以内
〔開発プロセスの見直し〕について答えよ。
本文中の下線⑤について,該当する脆弱性を二つ挙げ,それぞれ15字以内で答えよ。
0 / 15 文字
設問6 (2)記述問題
制限字数:20 字以内
〔開発プロセスの見直し〕について答えよ。
本文中の下線⑥について,専門技術者による脆弱性診断が長期間行われないことを避けるためには,どのような時期に実施すればよいか。改良リリースの実施に影響を与えないことを前提に,20字以内で答えよ。
0 / 20 文字
設問6 (3)記述問題
制限字数:40 字以内
〔開発プロセスの見直し〕について答えよ。
本文中の下線⑦について,専門技術者による脆弱性診断が長期間行われないことを避けるためには,開発プロセスをどのように見直せばよいか。アジャイル開発の継続を前提に,40字以内で述べよ。
0 / 40 文字
設問6 (4)記述問題
制限字数:55 字以内
〔開発プロセスの見直し〕について答えよ。
本文中の下線⑧について,CSRF脆弱性の場合は,どのような処理を行う機能が考えられるか。その処理を,55字以内で具体的に述べよ。
0 / 55 文字
午後長文記述の得点力を引き上げる定番対策書Amazon・楽天 公式提携
PR
うかる! 情報処理安全確保支援士 午後問題集 [第2版]
IPA 厳選対策書うかる! 情報処理安全確保支援士 午後問題集 [第2版]村山 直紀 著 / 日本経済新聞出版
午後記述バイブル
村山 直紀 著 / 日本経済新聞出版

うかる! 情報処理安全確保支援士 午後問題集 [第2版]

💡 推薦ポイント:午後試験の長文事例でどこに着目して脆弱性と対策を抜き出すか、合格答案の記述テンプレートを効率よく習得できます。
※本リンク先はプロモーション(アフィリエイト広告)が含まれています
【出題趣旨】IPA公式発表
アジャイル開発を行っている企業が増えている中,短期間でリリースすることを優先した結果,システムの脆弱性対応が後回しになっているケースも見られる。 本問では,Webサイトのセキュリティを題材として,Webサイトにおける脆弱性対策の理解力,開発プロセスの変化に応じたセキュリティへの対応方法を検討する能力を問う。
【採点講評】IPA公式発表
問1では,Webサイトのセキュリティを題材に,脆弱性に関する知識,開発プロセスについて出題した。全体として正答率は平均的であった。 設問3(2)は,正答率が低かった。クリックジャッキングの対策に使うレスポンスヘッダについては,標準化の動向を含めて正しく理解しておいてほしい。 設問5(2)は,正答率が低かった。脆弱性対策のために必要な実装は,システムによって異なる場合がある。システムごとに最適な方法を検討できるようにしておいてほしい。 設問6(1)は,正答率が低かった。脆弱性の種類によって,検出に有効な手段が異なる。それぞれの脆弱性について,どのような検出手段が有効かを理解しておいてほしい。 設問6(4)は,正答率が低かった。ソフトウェア開発に使われているフレームワークにどのような脆弱性対策が組み込まれているかを知っておいてほしい。
本番形式・制限時間付きで演習する
令和4年 春期 午後(2問選択・150分)を実戦演習モードで通し解答し、総合採点を受けられます。
実戦演習を始める