SC情報処理安全確保支援士試験 午後Ⅰ
令和5年度春期 情報処理安全確保支援士 午後Ⅰ 問1
事例を読んで設問の答えを考えてから、解説のポイントとIPA公式の解答例・採点講評で確認しましょう。
問題
解き方のヒントを見る
SQLのつなぎ書きとstatic共有の落とし穴
注文番号をSQL文にそのまま文字列連結するのは、入力された文字をそのまま鍵穴に突っ込むようなものだよ。悪意のある文字列が混ざるとSQLインジェクションにつながるので、`WHERE head.order_no = ?` のようにプレースホルダを使って、外部入力の `orderNo` は安全に束縛しよう。また、得意先コードを `static` で持つと、みんなで同じメモ帳を使っている状態になり、同時アクセス時に別の利用者の値が混ざる危険があるよ。利用者ごとに分けて管理できるよう、セッション単位で保持する設計に直す必要があるんだ。
この問題で問われていること
この問題では、静的解析で見つかるSQLの危ない書き方と、システムテストで見えてくる同時アクセス時の値の混線や権限の取り違えを、別々の話ではなく一つのセキュアプログラミング上の問題として読めるかがポイントだよ。
From Static Analysis Findings to Safe Web Implementation
secure remediation of a Java web app requires parameterized SQL、 removal of unsafe external-input concatenation、 and fixing race conditions caused by static shared state
replace string-built SQL with placeholders\nbind external input through PreparedStatement\navoid static shared user data\nkeep customer-specific values in session scope
確認ポイント
- SQL 文字列連結を排除する。
- `static` 共有状態の競合を見逃さない。
- 利用者単位データはセッションへ閉じ込める。
正解と解説を見る
解説
公式過去問です。問題冊子と解答例を参照して確認してください。
公式問題冊子
問題冊子: https://www.ipa.go.jp/shiken/mondai-kaiotu/ps6vr70000010d6y-att/2023r05h_sc_pm1_qs.pdf
公式解答例
解答例: https://www.ipa.go.jp/shiken/mondai-kaiotu/ps6vr70000010d6y-att/2023r05h_sc_pm1_ans.pdf
採点講評
採点講評: https://www.ipa.go.jp/shiken/mondai-kaiotu/ps6vr70000010d6y-att/2023r05h_sc_pm1_cmnt.pdf
学習のポイント
公式問題冊子、解答例、採点講評を併読して要点を整理してください。
出典:独立行政法人 情報処理推進機構(IPA)令和5年度春期 情報処理安全確保支援士試験 午後Ⅰ 問1(公式資料:問題冊子(PDF) / 解答例 / 採点講評)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針