SSRF
Server-Side Request Forgery
SSRF(サーバーサイドリクエストフォージェリ)とは
ひとことで
サーバーに細工したリクエストを送らせ、内部ネットワークやクラウドのメタデータサービスへアクセスさせる攻撃。
たとえると
社外の人が会社の受付係に「この住所の書類を取ってきて」と頼み、受付係が社員しか入れない書庫の書類まで取ってきて渡してしまうようなものです。外の人は入れない場所でも、中の人(サーバー)に代わりに行かせることで届いてしまいます。
現場ではこう使う
画像のURLを入力するとサムネイルを作ってくれるWebサービスがありました。攻撃者がURL欄にクラウドの内部向けメタデータサービスのアドレス(169.254.169.254)を入力したところ、サーバーがそこへアクセスしてしまい、一時的な認証情報が攻撃者に返されました。対策として、アクセス先を許可リストで制限し、内部アドレスへのリクエストを禁止しました。
試験のポイント
EXAM POINT「サーバーに、内部ネットワークやクラウドのメタデータへリクエストを送らせる」「URLを受け取って取得する機能を悪用」ならSSRF。名前が似ているCSRFとは、リクエストを送るのが「サーバー」か「利用者のブラウザ」かで区別します。対策は、アクセス先の許可リスト化、入力URLの検証、サーバーから内部アドレスへの通信の制限です。