情報処理安全確保支援士試験 情報処理安全確保支援士試験 令和7年度春期 午前Ⅰ 問14: Web アプリケーションソフトウェアの開発における OS コマンドインジェクション対策はどれか。
←情報処理安全確保支援士試験 令和7年度春期 午前Ⅰ
Web アプリケーションソフトウェアの開発における OS コマンドインジェクション対策はどれか。
問題本文
Web アプリケーションソフトウェアの開発における OS コマンドインジェクション対策はどれか。
選択肢
- ア.SQL 文の組立ては全てプレースホルダで実装する。
- イ.シェルを起動できる言語機能を利用した実装を避ける。
- ウ.直接メモリにアクセスできる言語機能を利用した実装を避ける。
- エ.利用者が入力したファイル名にディレクトリが含まれていないかのエラーチェックを実装する。
正解
イ. シェルを起動できる言語機能を利用した実装を避ける。
解説
OSコマンドインジェクションは、外部入力を含んだ文字列をシェル経由でOSコマンドとして実行させられる攻撃。根本対策は、シェルを起動する言語機能(system関数等)の使用自体を避け、必要ならコマンドと引数を分離して直接呼び出すこと。イが正解。アはSQLインジェクション対策、エはディレクトリトラバーサル対策で別の脆弱性向け。入力をシェルに渡さない設計が要点。
選択肢ごとの解説
- ア.プレースホルダ利用はSQLインジェクションの対策で、OSコマンド実行の防止策ではないため誤り。
- イ.シェルを起動する言語機能を避ければコマンド注入の経路を断てるため、対策として正しい。
- ウ.メモリ直接アクセスの回避はバッファオーバフロー等への対策で、本問の対策ではなく誤り。
- エ.ファイル名のディレクトリ確認はパストラバーサル対策で、OSコマンドインジェクション対策ではなく誤り。
情報処理安全確保支援士試験 令和7年度春期 午前Ⅰ の過去問一覧へ戻る・問14