マルテクテクBETA Security+
SSRF
Server-Side Request Forgery

SSRF(サーバーサイドリクエストフォージェリ)とは

ひとことで

サーバーに細工したリクエストを送らせ、内部ネットワークやクラウドのメタデータサービスへアクセスさせる攻撃。

たとえると

社外の人が会社の受付係に「この住所の書類を取ってきて」と頼み、受付係が社員しか入れない書庫の書類まで取ってきて渡してしまうようなものです。外の人は入れない場所でも、中の人(サーバー)に代わりに行かせることで届いてしまいます。

現場ではこう使う

画像のURLを入力するとサムネイルを作ってくれるWebサービスがありました。攻撃者がURL欄にクラウドの内部向けメタデータサービスのアドレス(169.254.169.254)を入力したところ、サーバーがそこへアクセスしてしまい、一時的な認証情報が攻撃者に返されました。対策として、アクセス先を許可リストで制限し、内部アドレスへのリクエストを禁止しました。

試験のポイント

EXAM POINT「サーバーに、内部ネットワークやクラウドのメタデータへリクエストを送らせる」「URLを受け取って取得する機能を悪用」ならSSRF。名前が似ているCSRFとは、リクエストを送るのが「サーバー」か「利用者のブラウザ」かで区別します。対策は、アクセス先の許可リスト化、入力URLの検証、サーバーから内部アドレスへの通信の制限です。

混同しやすい用語との違い

  • CSRF利用者のブラウザに意図しないリクエストを送らせる。SSRFはサーバーに送らせる
  • RCEサーバー上で任意のコードを実行させる。SSRFはサーバーにリクエストを送らせる

関連用語

SSRF が出てくる Security+ の問題に挑戦してみましょう。

無料で演習を始める