令和7年度 春期 応用情報技術者試験 午前 問42
テクノロジセキュリティ技術
この問題は2025(R7)春 応用情報技術者 午前に出題されたものです。出題時点の法令・制度に基づく内容のため、現行の内容と一致しない場合があります。
本ページの問題文・選択肢は、原本の体裁を Web 表示用に正規化しています(改行・記号・数式・図表参照の調整)。設問の趣旨および正解に影響する変更は加えていません。
Webアプリケーションソフトウェアの開発におけるOSコマンドインジェクション対策はどれか。
解答・解説を読む
正解: 選択肢イ
正解の根拠
OSコマンドインジェクションとは、ユーザーからの入力データをシェルなどのOSコマンドに渡す際に、攻撃者が悪意のあるコマンドを紛れ込ませて実行させる攻撃手法です。
この攻撃を防ぐための根本的な対策は、シェルを起動できる言語機能を利用した実装を避けることです。
各選択肢の解説
- ア: SQL文の組立ては全てプレースホルダで実装する。
これはデータベースを不正操作する SQLインジェクション に対する対策です。 - イ: シェルを起動できる言語機能を利用した実装を避ける。
これが正解です。OSコマンドインジェクション を防ぐための根本的な対策となります。 - ウ: 直接メモリにアクセスできる言語機能を利用した実装を避ける。
これはメモリ領域を溢れさせて不正なコードを実行させる バッファオーバフロー などの脆弱性に対する対策です。 - エ: 利用者が入力したファイル名にディレクトリが含まれていないかのエラーチェックを実装する。
これは公開を意図していないファイルに不正にアクセスする ディレクトリトラバーサル に対する対策です。