応用情報技術者 2018年 春期 午前2 問38
問題文
ディレクトリトラバーサル攻撃はどれか。
選択肢
ア:OS コマンドを受け付けるアプリケーションに対して、攻撃者が、ディレクトリを作成するOS コマンドの文字列を入力して実行させる。
イ:SQL 文のリテラル部分の生成処理に問題があるアプリケーションに対して 攻撃者が、任意の SQL文を渡して実行させる。
ウ:シングルサインオンを提供するディレクトリサービスに対して、攻撃者が、不正に入手した認証情報を用いてログインし、複数のアプリケーションを不正使用する。
エ:入力文字列からアクセスするファイル名を組み立てるアプリケーションに対して、攻撃者が、上位のディレクトリを意味する文字列を入力して、非公開のファイルにアクセスする。(正解)
ディレクトリトラバーサル攻撃とは【午前2 解説】
要点まとめ
- 結論:ディレクトリトラバーサル攻撃は、入力文字列に「../」などの上位ディレクトリを示す文字列を含めて、非公開ファイルに不正アクセスする攻撃です。
- 根拠:アプリケーションがファイルパスを組み立てる際に入力検証が不十分だと、攻撃者は意図しないファイルを読み取れます。
- 差がつくポイント:攻撃の特徴を正確に理解し、OSコマンド実行やSQLインジェクションなど他の攻撃と混同しないことが重要です。
正解の理由
選択肢エは、入力文字列からファイル名を組み立てる際に「../」などの上位ディレクトリを指定し、非公開ファイルにアクセスする典型的なディレクトリトラバーサル攻撃の説明です。これにより、本来アクセスできないファイルを読み取ることが可能になります。
よくある誤解
ディレクトリトラバーサル攻撃はOSコマンドの実行やSQL文の操作ではなく、ファイルパスの不正操作によるアクセスである点を混同しやすいです。
解法ステップ
- 問題文の「ディレクトリトラバーサル攻撃」の意味を確認する。
- 各選択肢の攻撃手法を整理し、ファイルパス操作に関するものを探す。
- 「上位ディレクトリを意味する文字列を入力して非公開ファイルにアクセスする」説明が該当する選択肢を特定。
- 他の選択肢はOSコマンド実行、SQLインジェクション、認証情報の不正利用であることを確認。
- 正解はエと判断する。
選択肢別の誤答解説
- ア: OSコマンドインジェクションの説明であり、ディレクトリトラバーサルとは異なります。
- イ: SQLインジェクションの説明で、SQL文の不正操作に関する攻撃です。
- ウ: シングルサインオンの認証情報不正利用であり、ファイルパス操作とは無関係です。
- エ: ディレクトリトラバーサル攻撃の正しい説明です。
補足コラム
ディレクトリトラバーサル攻撃は、Webアプリケーションの脆弱性としてよく知られています。対策としては、入力値の正規化やホワイトリストによる検証、ファイルアクセスの権限管理が重要です。また、OSごとにパス表現が異なるため注意が必要です。
FAQ
Q: ディレクトリトラバーサル攻撃はどのように防止できますか?
A: 入力値の検証と正規化、ファイルアクセス権限の適切な設定、パスのホワイトリスト化が有効です。
A: 入力値の検証と正規化、ファイルアクセス権限の適切な設定、パスのホワイトリスト化が有効です。
Q: ディレクトリトラバーサル攻撃とOSコマンドインジェクションの違いは?
A: ディレクトリトラバーサルはファイルパスの不正操作、OSコマンドインジェクションはOSコマンドの不正実行を狙う攻撃です。
A: ディレクトリトラバーサルはファイルパスの不正操作、OSコマンドインジェクションはOSコマンドの不正実行を狙う攻撃です。
関連キーワード: ディレクトリトラバーサル、ファイルパス操作、セキュリティ脆弱性、入力検証、Webアプリケーションセキュリティ

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

