redirect_uri パラメーター(OAuth 2.0 における重要要素)に関するネットワークスペシャリスト試験
承知しました ✅
では redirect_uri パラメーター(OAuth 2.0 における重要要素)をテーマに、以下の3区分で問題を構成します。
択一式問題(午前Ⅱ形式)10問
午後Ⅰ形式問題(短文解析・穴埋め)10問
午後Ⅱ形式問題(シナリオ型)10問
各問に 解答・解説 を付与
---
1. 択一式問題(午前Ⅱ形式・10問)
問題1
redirect_uri パラメーターの主な役割はどれか。
A. 認可サーバへのログイン情報を渡す
B. アクセストークンを格納するDBを指定する
C. 認可後にユーザエージェントをリダイレクトする先を指定する
D. クライアントIDを暗号化する
解答 C
解説 redirect_uri は認可サーバからリソース所有者をリダイレクトする先URL。
---
問題2
redirect_uri の値はどの段階で登録されるべきか。
A. 認可リクエスト送信時
B. クライアント登録時
C. トークン発行時
D. リソースアクセス時
解答 B
解説 OAuthではクライアント登録時に安全なredirect_uriを登録する。
---
問題3
redirect_uri における不一致が発生した場合の標準動作はどれか。
A. 最も近いURLに自動修正
B. エラーを返す
C. デフォルトのトップページに戻す
D. 無条件でトークンを発行
解答 B
解説 登録済みと完全一致しなければエラー。
---
問題4
redirect_uri 攻撃により懸念されるリスクはどれか。
A. セッションハイジャック
B. アクセストークンの漏洩
C. SQLインジェクション
D. DNSキャッシュポイズニング
解答 B
解説 不正なリダイレクト先にトークンが送られる危険。
---
問題5
redirect_uri の検証において必須とされるのはどれか。
A. 完全一致(Exact Match)
B. 部分一致(Prefix Match)
C. ドメインレベルの一致のみ
D. スキームを無視
解答 A
解説 OAuth 2.0では完全一致が原則。
---
問題6
redirect_uri によるオープンリダイレクタ脆弱性を防ぐための対策はどれか。
A. redirect_uri を常に動的に決定する
B. 登録済みリストと照合する
C. リダイレクト先をユーザ入力に任せる
D. クエリ文字列を無視する
解答 B
解説 ホワイトリスト方式でのみ許可。
---
問題7
redirect_uri を省略可能とする場合のセキュリティリスクは何か。
A. 認証情報が暗号化されなくなる
B. 攻撃者が任意のURIを指定できる
C. TLSが必須でなくなる
D. トークンの有効期限が伸びる
解答 B
解説 任意URI指定でトークン漏洩リスクが増大。
---
問題8
OAuth2のImplicitフローでredirect_uriが果たす役割はどれか。
A. 認証コードを受け取る
B. アクセストークンを直接返す
C. リフレッシュトークンを更新する
D. クライアント登録を行う
解答 B
解説 Implicitフローではアクセストークンが直接返る。
---
問題9
PKCE利用時にredirect_uriが果たす役割はどれか。
A. Code Challengeを送る
B. Code Verifierを送る
C. 認可コードを受け取る窓口
D. リフレッシュトークンを発行する
解答 C
解説 認可コードはredirect_uriに返される。
---
問題10
セキュリティ的に望ましいredirect_uriの構成はどれか。
A. ワイルドカードを多用する
B. HTTPSを利用し固定する
C. HTTPで任意ポート利用
D. ユーザ入力に依存
解答 B
解説 HTTPSで固定URIを使うのがベストプラクティス。
---
2. 午後Ⅰ形式(短文解析・穴埋め・10問)
---
1. redirect_uriはOAuthにおいて認可サーバからユーザエージェントを ______ させる先を示す。
→ リダイレクト
2. redirect_uriはクライアント ______ 時に事前登録される。
→ 登録
3. 登録済みと不一致のredirect_uriが指定された場合、サーバは ______ を返す。
→ エラー
4. 不正なredirect_uri指定により ______ が漏洩するリスクがある。
→ アクセストークン
5. redirect_uriの検証は ______ 一致が原則である。
→ 完全
6. 脆弱性防止には登録済みURIとの ______ 照合を行う。
→ ホワイトリスト
7. Implicitフローではredirect_uriに直接 ______ が返る。
→ アクセストークン
8. PKCE利用時、認可コードは ______ に返却される。
→ redirect_uri
9. セキュアな構成のため、redirect_uriは ______ を利用すべきである。
→ HTTPS
10. redirect_uriを省略可能にすると攻撃者が ______ URIを指定できるリスクがある。
→ 任意の
---
3. 午後Ⅱ形式(シナリオ・10問)
---
問題1
企業内WebアプリにOAuthを導入したところ、不正なサイトにリダイレクトされトークンが盗まれる事故が発生した。原因を説明せよ。
解答例 redirect_uriを登録・検証しておらず、攻撃者が不正URIを指定できたため。
---
問題2
redirect_uriが完全一致でなくプレフィックス一致で実装されていた。どのような攻撃が可能か。
解答例 攻撃者がhttps://trusted.com.evil.comのような偽サイトを指定しトークンを奪う。
---
問題3
開発環境でhttp://localhost:8080/callbackを使う場合、どのようなセキュリティ配慮が必要か。
解答例 本番環境では利用せず、開発専用として登録・利用範囲を制限する。
---
問題4
認可サーバの実装でredirect_uriを省略可能にしていた。これがなぜ危険か説明せよ。
解答例 攻撃者が任意のURIを指定し、トークンを盗み取れるから。
---
問題5
PKCEを利用していても、redirect_uriを厳格に検証しなければならない理由を説明せよ。
解答例 PKCEはコード奪取防止だが、リダイレクト先が偽装されれば依然としてトークンが漏れるため。
---
問題6
あるアプリではredirect_uriにワイルドカードを許可していた。セキュリティ上の問題点を説明せよ。
解答例 任意のドメインでトークンを受け取れてしまい、攻撃者が容易に悪用できる。
---
問題7
redirect_uriを検証する際に「スキーム」「ホスト」「パス」のどれをチェックすべきか答えよ。
解答例 全て。部分一致やホストのみの一致では不十分。
---
問題8
認可コードフローにおいて、redirect_uriが正しく設定されていない場合の典型的な障害例を述べよ。
解答例 認可コードが発行されず、ログイン処理が失敗する。
---
問題9
redirect_uriをHTTPSに固定する利点を説明せよ。
解答例 中間者攻撃や盗聴によるトークン漏洩を防げる。
---
問題10
インシデント対応チームがredirect_uriの誤設定によるトークン漏洩を検知した。運用改善として取るべき対策を2つ述べよ。
解答例 (1) 登録済みURI以外を拒否するよう実装変更。 (2) トークンの失効と監査ログの定期確認。
---
✅ 以上で 択一式10問 + 午後Ⅰ形式10問 + 午後Ⅱ形式10問(合計30問)+解答・解説 を作成しました。
---
ご希望に合わせて、次は 「redirect_uriに関する典型的な脆弱性事例と対策問題集」 をまとめましょうか?
コメント
コメントを投稿