仮想パッチ
B 社の受注システムが利用している Web アプリケーションフレームワークに,細工したリクエストによって任意のコードを実行される脆弱性が公表された。修正版は提供されているが,B 社では回帰テストに 4 週間を要するので,直ちには適用できない。攻撃リクエストの特徴は公表されており,受注システムへの通信はすべて WAF を経由している。修正版を適用するまでの対策として,最も適切なものはどれか。
- アWAF に,当該脆弱性を悪用するリクエストの特徴に一致する通信を遮断するルールを追加する。
- イ修正版をまず一部のサーバに適用し,不具合が無ければ段階的に全サーバへ適用範囲を広げる。
- ウ受注システムのサーバの OS に,最新のセキュリティ更新プログラムを適用する。
- エWAF に,当該脆弱性を悪用するリクエストを検知した場合に管理者に通知するルールを追加する。
正解と解説を見る
正解 ア
この問題の基礎知識
- 仮想パッチは,脆弱なコードを変更せずに,WAF や IPS などで既知の脆弱性を悪用する通信を検知して遮断する暫定対策であり,修正版を適用するまでの間のリスクを下げる。
- 脆弱性の根本的な解消は修正版の適用(恒久対策)であり,暫定対策はそれまでの間に攻撃を防ぐものである。対策は,脆弱性のある構成要素自体か,そこに届く攻撃通信に対して行う必要がある。
- WAF や IDS/IPS には,検知して記録・通知するだけの動作と,通信を遮断する動作がある。検知だけでは攻撃は対象のシステムに届く。
アWAF に,当該脆弱性を悪用するリクエストの特徴に一致する通信を遮断するルールを追加する。正解
脆弱なコードを変更せずに,既知の脆弱性を悪用する通信を検知して遮断する仮想パッチである。恒久対策である修正版の適用までの間,攻撃経路を塞ぐことができる。符号化を変えた攻撃などでルールを回避されないかも試験する。
イ修正版をまず一部のサーバに適用し,不具合が無ければ段階的に全サーバへ適用範囲を広げる。
段階的な適用は展開時の影響を抑える手法だが,回帰テストを終えていない修正版を本番環境に適用することになり,問題文の制約に反する。また,適用前のサーバは攻撃を受け得る。
ウ受注システムのサーバの OS に,最新のセキュリティ更新プログラムを適用する。
脆弱性はアプリケーションフレームワークにあるので,OS を更新しても解消しない。対策は,脆弱性のある構成要素自体か,その構成要素に届く攻撃通信に対して行う必要がある。
エWAF に,当該脆弱性を悪用するリクエストを検知した場合に管理者に通知するルールを追加する。
検知と通知だけでは攻撃リクエストは受注システムに届き,任意のコードが実行された後に対応することになる。修正版の適用までの暫定対策として攻撃を防ぐには,遮断まで行う必要がある。
検証用の出典出典照合済み
OWASP Virtual Patching Cheat Sheet照合の根拠(2 件)
- ア(正解)/エ(誤り): 仮想パッチは既知の脆弱性への攻撃を検知し「遮断」する。検知と通知だけでは仮想パッチにならない
A security policy enforcement layer that detects and blocks matching exploitation attempts against a known vulnerability without changing the vulnerable code.
OWASP Virtual Patching Cheat Sheet · Definition: Virtual Patching(新しいタブで開きます) - ア(正解): 恒久対策の準備中に既知の攻撃経路を遮断し,符号化を変えた回避なども試験する
Attack Surface Reduction - Block the known exploitation path while a permanent fix is prepared. Test alternate encodings, affected endpoints, and paths that bypass the enforcement layer before claiming coverage.
OWASP Virtual Patching Cheat Sheet · Value of Virtual Patching(新しいタブで開きます)
修正版は回帰テストのため 4 週間適用できず,攻撃の特徴が公表済みで全通信が WAF を経由するので,WAF での遮断(仮想パッチ)が暫定対策になる。イは未テストの修正版を本番に入れて制約に反し,ウは脆弱性の所在(フレームワーク)と無関係なので論理的に排除。