情報セキュリティ
基本情報技術者試験「入力値検証」の問題
A社のWebアプリで、利用者が入力する都道府県コードを検証する処理を実装する。コードは『01』から『47』までの定義済みの値だけが正当である。多様な不正入力を確実に排除するための検証方式として、最も適切なものはどれか。
ア取り得る値の集合を事前に確定させ、その集合に属さない入力をすべて拒む。
イ過去に攻撃で使われた危険な文字列のパターンを列挙し、該当する入力を拒否する。
ウ入力された文字列の長さが規定のバイト数以内に収まっているかだけを確認する。
エ入力に含まれる記号文字を無害な文字へ置換してから処理を継続する。
正解
ア.取り得る値の集合を事前に確定させ、その集合に属さない入力をすべて拒む。
正当な値が有限かつ明確に列挙できる場面では、許可する値だけを定義して一致した入力のみ通すホワイトリスト方式が最適である。定義外の入力は理由を問わず一律に弾けるため、未知の攻撃パターンも含めて確実に排除でき、漏れが生じにくい。
?選択肢ごとの解説
ア ○正当な値が有限かつ明確に列挙できる場面では、許可する値だけを定義して一致した入力のみ通すホワイトリスト方式が最適である。定義外の入力は理由を問わず一律に弾けるため、未知の攻撃パターンも含めて確実に排除でき、漏れが生じにくい。
イ ×危険な文字列を列挙して拒否するブラックリスト方式は、列挙漏れや新手の攻撃に対応できず、正当値が明確な本件では過剰かつ不確実である。
ウ ×長さの確認だけでは、規定バイト数内に収まる不正な値(例えば存在しないコード)を通してしまい、正当性の検証にならない。
エ ×記号の置換は無害化の一手だが、置換後も範囲外の値が残り得るため、定義済み値だけを通すべき本件の要件を満たさない。
情報セキュリティの他の問題
A社の経理担当者が、取引先を装ったメールに添付された請求書ファイルを業務PCで開いたところ、見慣れない画面が一瞬表示されて消…B社のWebサービスで、複数の利用者アカウントに対し正しいIDとパスワードの組合せによるログインが短時間に外部から成立する事…C社では、退職予定者や異動者のアカウント権限の見直しが滞り、業務上不要になった共有フォルダへのアクセス権が残り続けている。情…D社のファイルサーバがランサムウェアに感染し、業務ファイルが暗号化された。D社は日次でバックアップを取得しているが、バックア…E社の従業員に、取引先銀行を名乗る『口座情報の更新が必要』というメールが届いた。本文中のリンク先URLにアクセスすると、銀行…F社は社外の従業員が、カフェなどの公衆無線LANを利用して社内システムへアクセスしている。通信内容が経路上で第三者に盗聴・改…
この問題の「深掘り・誤答の完全解説・試験のコツ・覚え方」はアプリで。
無料ではじめる →基本情報技術者試験の全問を、一問ごとにAIの8-ways解説つきで。SRS暗記カード・全真模試・弱点診断まで。まずは無料で。
作成・校閲:ukamiru編集部 · 基本情報技術者試験 過去問 · fe-b-sec-0109
