情報セキュリティ
基本情報技術者試験|あるWebアプリは、利用者のブラウザに保存させた状態データを、サーバ受信時にそのままオブジェクトへ復元(デシリア…
あるWebアプリは、利用者のブラウザに保存させた状態データを、サーバ受信時にそのままオブジェクトへ復元(デシリアライズ)して処理に用いている。攻撃者が復元処理を悪用し、改ざんしたデータでサーバ上の意図しない処理や任意コードの実行を狙う脆弱性が指摘された。根本対策として、最も適切なものはどれか。
ウそのまま復元せず、改ざんの有無の確認と、想定する型・内容への適合の検証を経てから扱う。
ア復元したオブジェクトを画面に出すときの文字サイズを大きくし、内容を確認しやすくするようにする。
イ状態データの保管場所をブラウザからサーバ側のログファイルへ移し、長期間にわたり残すようにする。
エ復元処理に要する時間を計測し、規定値より遅い場合はその処理を途中で打ち切るようにする。
正解
ウ.そのまま復元せず、改ざんの有無の確認と、想定する型・内容への適合の検証を経てから扱う。
脆弱性の原因は、利用者側という信頼できない場所から受け取ったデータを無検証でオブジェクトへ復元している点にある。改ざんされていないこと(署名やMACの検証)を確かめ、復元結果が想定する型・内容に適合することを検証してから扱う、あるいはそもそも信頼境界外のデータをそのまま復元せず安全な形式で受け渡すことで、改ざんデータによる不正処理や任意コード実行を防げる。
?選択肢ごとの解説
ウ ○脆弱性の原因は、利用者側という信頼できない場所から受け取ったデータを無検証でオブジェクトへ復元している点にある。改ざんされていないこと(署名やMACの検証)を確かめ、復元結果が想定する型・内容に適合することを検証してから扱う、あるいはそもそも信頼境界外のデータをそのまま復元せず安全な形式で受け渡すことで、改ざんデータによる不正処理や任意コード実行を防げる。
ア ×表示文字サイズの変更は見やすさの調整に過ぎず、改ざんデータが復元・実行される動作とは無関係である。
イ ×保存先をログへ変えても、受信データを無検証で復元する処理が残る限り脆弱性は解消せず、むしろログ肥大などの別問題を招く。
エ ×復元時間の計測とタイムアウトは性能・可用性の制御であり、改ざんされたデータの内容が悪用される問題を防げない。
情報セキュリティの他の問題
ある会員サイトで、攻撃者が用意した別ページに会員サイトの操作画面を透明な枠として重ね、利用者が無関係なボタンと思って押した操…あるWebサービスでは出力時のエスケープを進めているが、開発規模が大きく、万一エスケープ漏れが残った場合にスクリプト実行によ…あるWebサービスはHTTPSに対応済みだが、利用者がアドレス欄にホスト名だけを入力した最初のアクセスがHTTPで行われ、そ…あるサイトの検索結果画面は、利用者がURLで渡した検索語を『〇〇の検索結果』という形でHTML本文にそのまま出力している。細…あるWebアプリの一覧画面は、利用者が選んだ並べ替え対象の列名をSQL文のORDER…A社のWebアプリで、利用者が入力する都道府県コードを検証する処理を実装する。コードは『01』から『47』までの定義済みの値…B社では開発中のWebアプリについて、まだ動作する環境を構築していない段階で、ソースコードに潜む脆弱性をできるだけ早期に洗い…C社の脆弱性管理担当者は、診断ツールが報告した多数の脆弱性に対し、限られた人員で修正対応する順序を決めたい。対応の優先度を客…
この問題の「深掘り・誤答の完全解説・覚え方」は、登録すると読めます。
基本情報技術者試験は全4,036問。公開しているのはその一部で、登録すると残りも一問ごとにAI解説つきで解けます。SRS暗記カード・全真模試・弱点診断まで。
登録は1分・クレジットカード不要。無料のまま練習・暗記カード・模試まで使えます。
作成・校閲:ukamiru編集部 · 基本情報技術者試験 過去問 · fe-b-sec-0103
