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

問3 スマートフォン用アプリケーションプログラムの開発

テーマ:スマートフォン用アプリケーションプログラムの開発
左右2分割表示:左側の問題文をスクロールしながら右側の設問に解答できます

長文事例本文

図表クリックで拡大
A社は,撮影機器の販売や写真のプリントサービスを全国に200店舗で展開する従業員2,000名の企業である。実店舗の運営に加え,インターネットを介して撮影機器の販売を行うECサイト事業を有している。このたび,会員がスマートフォン(以下,スマホという)用アプリケーションプログラム(以下,スマホ用アプリケーションプログラムをスマホアプリという)を通じて,写真入りのカレンダーなどのグッズ(以下,フォトグッズという)を注文できるサービス(以下,Eサービスという)を新規に開始することになった。Eサービス用スマホアプリ(以下,Fアプリという)は国内で流通する主要なスマホOSであるOS-αとOS-βの過去5年以内に正式リリースされたバージョンをサポートする。 〔Eサービスの説明〕 Eサービスは,Fアプリとサーバサイドのシステム群で構成される。Fアプリは,インターネットを介してEサービス用Webサーバ(以下,A社Webサーバといい,FQDNはwww.a-sha.co.jpとする)及び大手クラウドサービスプロバイダC社のクラウドストレージサービス(以下,Cサービスという)との間でHTTPSを使用して通信する。フォトグッズの作成に使う写真は,FアプリからCサービスにアップロードする。Eサービスのネットワーク構成を図1に,機能概要を図2に,Fアプリの画面構成を図3に,フォトグッズの注文処理の流れを図4に,Cサービスの仕様を図5に示す。
図1 Eサービスのネットワーク構成(概要) 拡大
図1 Eサービスのネットワーク構成(概要)
図2 Eサービスの機能概要(抜粋) 拡大
図2 Eサービスの機能概要(抜粋)
図3 Fアプリの画面構成(抜粋) 拡大
図3 Fアプリの画面構成(抜粋)
図4 フォトグッズの注文処理の流れ 拡大
図4 フォトグッズの注文処理の流れ
図5 Cサービスの仕様(抜粋) 拡大
図5 Cサービスの仕様(抜粋)
Eサービスで使うCサービスのストレージ名は,e-serviceである。Fアプリでは,方式aを利用する。アクセスキーは,鍵長256ビットの共通鍵とAES-CBCアルゴリズムで暗号化し,Fアプリ内にリソースとして保存する。Cサービスのストレージ名並びにAES-CBCの共通鍵及び初期ベクトルは,Fアプリのコード中に定数として定義する。 〔キャンペーン案内機能の実装方法〕 Fアプリでのキャンペーンページの表示には,WebViewという仕組みを用いる。WebViewは,スマホOSの提供する仕組みであり,スマホアプリの画面の一部にWebページを表示させることができる。キャンペーンページのHTMLは,WebViewを用いて,Fアプリの画面上に表示させる。 会員に送るキャンペーン案内のメール本文中には,Fアプリでキャンペーンページを表示するためのURL(以下,F-URLという)を含める。会員がメールアプリからF-URLを開くと,Fアプリが起動し,WebView上にキャンペーンページが表示される。キャンペーンページからキャンペーンに応募する際の会員のセッションの識別には,Fアプリに保存されている認証トークンを用いる。OS-αでは,キャンペーンページが表示された後に,WebViewの機能によってキャンペーンページ上のECMAScriptコードがFアプリのgetToken関数を呼び出す。これによって,認証トークンがFアプリからキャンペーンページに引き渡される。OS-βでは別の方式で同様の機能を実現する。キャンペーンページ上のECMAScriptコードを図6に示す。
図6 キャンペーンページ上のECMAScriptコード 拡大
図6 キャンペーンページ上のECMAScriptコード
キャンペーンページ以外からgetToken関数を悪用されないように,getToken関数の内部では,図7のように呼出し元のWebページのURLを確認する。
図7 getToken関数の処理の流れ 拡大
図7 getToken関数の処理の流れ
F-URLの例を図8に示す。
図8 F-URLの例 拡大
図8 F-URLの例
〔Fアプリの脆弱性診断結果〕 A社は,セキュリティ専門会社のD社に依頼してFアプリの脆弱性診断を実施した。その結果,表1に示す脆弱性が検出された。
表1 脆弱性診断結果(抜粋) 拡大
表1 脆弱性診断結果(抜粋)
〔脆弱性1〕 Fアプリの開発チームに所属するUさんは,D社のSさんが開催する診断結果報告会に参加した。 Uさんは,脆弱性1が作り込まれた経緯を説明した。Uさんによると,FアプリとA社Webサーバとの間の通信内容に異常がないかどうかを調査するために,開発用PCで通信解析ツールを利用した。この通信解析ツールはプロキシサーバとして動作する。このツールを利用すると,Fアプリでは,サーバ証明書の検証エラーが発生し,FアプリとA社Webサーバとの間の通信が中断されてしまった。そこで,インターネット上のある記事でエラーが発生しても通信を続行する方法が紹介されていたのを参考にして,Fアプリのコードを変更したということであった。 この通信解析ツールを利用し,“https://www.a-sha.co.jp/campaign/□□□”にアクセスした際のレイヤー4〜7の通信フローの例を図9に示す。
図9 通信解析ツールを利用した際の通信フローの例(抜粋) 拡大
図9 通信解析ツールを利用した際の通信フローの例(抜粋)
Uさんは,通信解析ツールを利用してテストを行う際も通信を正常に続行させる方法をチーム内で話し合った。その結果,今後,開発用のスマホに⑥必要な設定を行うことにした。加えて,OS-αではテストを行う際だけその設定を有効化するように,Fアプリの中にも設定を追加した。 〔脆弱性2〕 脆弱性2への対応について,Sさんからは方式bを利用し,その際に署名付きURLの生成を図4中の i の時点で行ってはどうかとの提案があった。UさんはSさんの提案を了承した。 〔脆弱性3〕 次は,脆弱性3についてのUさんとSさんの会話である。 Uさん:対策として,図7の処理を修正します。 Sさん:図7の処理を修正すれば,認証トークンを盗まれるリスクは回避できます。しかし,Webブラウザと比べると,⑦フィッシングサイトにアクセスしてしまっても気付くことができないというFアプリの仕様上の問題点が残ります。フィッシングサイトに気付くことができるようにするための機能か,そもそもフィッシングサイトにアクセスできないようにする機能が必要です。 Uさん:はい。図7の処理の修正に加えて,⑧フィッシングサイトにアクセスできないようにする機能を実装します。 A社は,検出された脆弱性を修正し,Eサービスの提供を開始した。

設問一覧 & 解答・演習

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

設問1 (1)記述問題
〔Fアプリの脆弱性診断結果〕について答えよ。
表1中の下線①について,アクセスキーを取得する方法を,具体的に答えよ。
0 文字
設問1 (2)記述問題
〔Fアプリの脆弱性診断結果〕について答えよ。
表1中の下線②について,アクセスキーを取得する方法を,具体的に答えよ。
0 文字
設問1 (3)記述問題
〔Fアプリの脆弱性診断結果〕について答えよ。
表1中の下線③について,ダウンロードする方法を,具体的に答えよ。
0 文字
設問1 (4)記述問題
〔Fアプリの脆弱性診断結果〕について答えよ。
表1中の下線④について,攻撃者のWebサイトにアクセスさせることができるように細工したURLの例を,攻撃者が取得したドメイン名をk-sha.co.jpとした場合で答えよ。
0 文字
設問2 (1)記号・選択式
〔脆弱性1〕について答えよ。
図9中の下線⑤について,サーバ証明書のSubject Alternative Nameの値を,具体的に答えよ。
※直接入力してください
設問2 (2)記号・選択式
〔脆弱性1〕について答えよ。
図9中の a 〜 h に入れる適切な字句を,解答群の中から選び,記号で答えよ。
【空欄スロット選択】 割り当てる空欄を選んでから下の選択肢をクリック:
選択中の解答:未選択(上の選択肢ボタンをクリックしてください)
設問2 (3)記述問題
〔脆弱性1〕について答えよ。
本文中の下線⑥について,設定の内容を,具体的に答えよ。
0 文字
設問3記号・選択式
本文中の i に入れる記号を,図4中の(あ)〜(お)から選び,答えよ。
※記号ボタンをクリックするか、直接入力してください
設問4 (1)記述問題
制限字数:20 字以内
〔脆弱性3〕について答えよ。
本文中の下線⑦について,問題点を,20字以内で答えよ。
0 / 20 文字
設問4 (2)記述問題
〔脆弱性3〕について答えよ。
本文中の下線⑧について,実装する機能を,具体的に答えよ。
0 文字
午後長文記述の得点力を引き上げる定番対策書Amazon・楽天 公式提携
PR
うかる! 情報処理安全確保支援士 午後問題集 [第2版]
IPA 厳選対策書うかる! 情報処理安全確保支援士 午後問題集 [第2版]村山 直紀 著 / 日本経済新聞出版
午後記述バイブル
村山 直紀 著 / 日本経済新聞出版

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

💡 推薦ポイント:午後試験の長文事例でどこに着目して脆弱性と対策を抜き出すか、合格答案の記述テンプレートを効率よく習得できます。
※本リンク先はプロモーション(アフィリエイト広告)が含まれています
【出題趣旨】IPA公式発表
JPCERTコーディネーションセンター及びIPAが運営する脆弱性対策情報ポータルサイト“JVN(Japan Vulnerability Notes)”には,国内企業が開発したスマートフォンアプリケーションプログラムの脆弱性が公表されている。 本問では,スマートフォン用アプリケーションプログラムの脆弱性を題材として,脆弱性への対策の能力を問う。
【採点講評】IPA公式発表
問3では,スマートフォン用アプリケーションプログラム(以下,スマホアプリという)を題材に,脆弱性,それを悪用した攻撃手法及びその対策について出題した。全体として正答率はやや低かった。 設問1(3)は,正答率が低かった。クラウドストレージサービスのアクセスキーを不正利用することによって,ストレージ上の全利用者の写真をダウンロードする具体的な方法を問う問題であったが,抽象的な解答が散見された。設問文をよく読んで解答してほしい。 設問2(3)は,正答率が低かった。プライベート認証局のルート証明書を端末にインストールすることによって,サーバ証明書の検証エラーを解消させる方法を問う問題であった。同様の方法は,ネットワーク機器のTLSインスペクション機能などでも利用されるので,理解してほしい。 設問3は,正答率が平均的であった。署名付きURLの適切な生成場所を解答させる問題であったが,攻撃者による解析が容易なスマホアプリ上という解答が散見された。秘密情報の処理をサーバ上で完結させ安全を確保する実装は,クライアントサーバ型でも採用される基本的な方法なので,理解してほしい。
本番形式・制限時間付きで演習する
令和7年 春期 午後(2問選択・150分)を実戦演習モードで通し解答し、総合採点を受けられます。
実戦演習を始める