情報セキュリティ

基本情報技術者試験K社のWebアプリでは、利用者が自分の注文明細をURLのパラメタに含む注文番号で参照する。ある利用者が注文番号の…

情報セキュリティ情報セキュリティ難易度:hard
K社のWebアプリでは、利用者が自分の注文明細をURLのパラメタに含む注文番号で参照する。ある利用者が注文番号の数字を別の値に書き換えたところ、他人の注文明細が表示されてしまった。この問題への根本対策として、最も適切なものはどれか。
注文番号を連番ではなく推測しにくいランダムな文字列に変更する。
要求された明細の持ち主と要求してきた利用者が一致するかをサーバ側で都度照合する。
注文番号のパラメタをURLではなく、画面に表示されないHTTPヘッダに入れて渡す。
注文明細の照会機能の利用に先立ち、利用者にログインを求める。
正解
イ.要求された明細の持ち主と要求してきた利用者が一致するかをサーバ側で都度照合する。

問題の本質は、認証済みであっても『その注文明細を見る権限がその利用者にあるか』というサーバ側の認可チェックが欠落している点にある。要求された明細が要求者本人のものかをサーバ側で必ず検証すれば、番号を書き換えても他人の明細は表示されず、根本的に防げる。

?選択肢ごとの解説

ア ×推測しにくい番号にしても、何らかの手段で他人の番号を知れば参照できてしまい、認可を確認しない限り根本対策にならない(推測困難性に頼る隠蔽に過ぎない)。
イ ○問題の本質は、認証済みであっても『その注文明細を見る権限がその利用者にあるか』というサーバ側の認可チェックが欠落している点にある。要求された明細が要求者本人のものかをサーバ側で必ず検証すれば、番号を書き換えても他人の明細は表示されず、根本的に防げる。
ウ ×パラメタをヘッダで渡しても利用者は値を変更できるため、渡し方を変えるだけでは他人の明細を参照できる問題は解消しない。
エ ×ログイン必須化は認証の話であり、認証済みの利用者が他人の明細を見られるという認可の欠落は解決しない。

情報セキュリティの他の問題

この問題の「深掘り・誤答の完全解説・覚え方」は、登録すると読めます。

基本情報技術者試験は全4,036問。公開しているのはその一部で、登録すると残りも一問ごとにAI解説つきで解けます。SRS暗記カード・全真模試・弱点診断まで。

登録は1分・クレジットカード不要。無料のまま練習・暗記カード・模試まで使えます。

作成・校閲:ukamiru編集部 · 基本情報技術者試験 過去問 · fe-b-sec-0119

【基本情報技術者試験】K社のWebアプリでは、利用者が自分の注文明細をURLのパラ…|正解「要求された明細の持ち主と要求…」|ukamiru 過去問