問題
CSRF(クロスサイトリクエストフォージェリ)への対策として、適切なものはどれか。
選択肢
- 1SQL文をエスケープ処理する
- 2リクエストごとに発行する秘密のトークン(CSRFトークン)を検証する
- 3パスワードハッシュをソルト付きにする
- 4OSのパッチを当てる
正解
2. リクエストごとに発行する秘密のトークン(CSRFトークン)を検証する
詳しい解説を見る解説を閉じる
解説
CSRF(クロスサイトリクエストフォージェリ)は、ログイン状態の利用者に罠ページを踏ませ、その利用者のブラウザから正規サイトへ本人が意図しないリクエスト(送金、退会、設定変更など)を送信させる攻撃である。サーバ側は正規セッションからの要求と区別できないため、対策としてフォームごとに推測困難な秘密のトークン(CSRFトークン)を埋め込み、リクエスト受信時にサーバ側で照合する方式が基本となる。罠ページを作る攻撃者はトークンの値を知り得ないため、偽造リクエストは検証で排除される。SQL文のエスケープはSQLインジェクション対策、ソルト付きパスワードハッシュは漏えい時の解読対策、OSパッチは既知の脆弱性対策であり、いずれもCSRFには効かない。CookieのSameSite属性による緩和策も併せて覚えたい。
一問一答
全400問を繰り返し学習