サーバサイドリクエストフォージェリ(SSRF)
Server-Side Request Forgery
さーばさいどりくえすとふぉーじぇり
外部のURLを指定してサーバにデータを取得させる機能を悪用し、攻撃者が指定した宛先へサーバからリクエストを送らせる攻撃。外部から直接アクセスできない内部ネットワークのサーバや、クラウドのメタデータサービスにアクセスして認証情報などを盗むために使われ、宛先を許可リストで制限して対策する。
Related
関連キーワードの用語
動作中のアプリケーションに外部から検査用のリクエストを送り、その応答から脆弱性を検出する検査手法。攻撃者と同じ視点で、XSSやSQLインジェクション、設定不備などを実行環境を含めて確認できる。ソースコードがなくても実施できるが、問題の箇所をコード上で特定しにくく、検査が到達しない機能は確認できない。
CPU、メモリ、ストレージ、ネットワークなどの物理的な資源を、ソフトウェアによって論理的に分割したり統合したりして利用できるようにする技術。物理的な構成に縛られずに資源を柔軟に割り当てられ、サーバ仮想化、ストレージ仮想化、ネットワーク仮想化などがあり、クラウドの基盤となる。
Webアプリケーションのセキュリティに取り組む国際的なコミュニティOWASPが、Webアプリケーションの重大なセキュリティリスクを10項目にまとめ、数年ごとに改訂して公表しているリスト。アクセス制御の不備、インジェクション、セキュリティ設定のミスなどが挙げられ、開発やセキュリティ診断の目安として広く使われる。
Webアプリケーションが利用者の入力をHTTPレスポンスヘッダに出力する際、改行コードを含む値をそのまま使うことで、攻撃者が任意のヘッダや本文を追加できてしまう攻撃。偽のCookieの設定や偽のページの表示に悪用され、ヘッダを出力するAPIの使用や改行コードの除去で対策する。
Webアプリケーションの入力欄などにSQL文の一部となる文字列を入力し、アプリケーションが組み立てるSQL文の意味を変えて、データベースの不正な参照、改ざん、削除を行う攻撃。プレースホルダを使ってSQL文を組み立てることが根本的な対策である。
Webアプリケーションが外部プログラムの呼出しなどでOSのコマンドを実行する際、入力値に紛れ込ませた不正なコマンドを実行させる攻撃。サーバ上で任意のコマンドが実行され、情報の窃取や改ざん、マルウェアの設置につながる。シェルを経由する機能を使わないことが根本的な対策である。
