【図解】仮想パッチとは?フロンティアAI時代に、パッチが間に合わない期間を守るしくみを初心者向けに解説

以前のコラムで、フロンティアAI(最先端の高性能な AI モデル)によって攻撃側が速くなる、という話を書きました。その続きとして今回取り上げるのが「仮想パッチ」です。脆弱性が見つかってから本番にパッチを当てるまでの間をどう守るのか、OWASP(Web アプリのセキュリティに取り組む非営利の団体)のガイドと各社の公式資料を読み直しながら、どこで何を止めているのかを図にしてみました。

この記事でわかること
  1. なぜ今、仮想パッチが話題になっているのか
  2. 仮想パッチと公式パッチ(恒久パッチ)の違い
  3. 仮想パッチを置く4つの場所と、HTTPS で暗号化された通信での効き方
  4. 各社の製品に共通する考え方と、主な製品の例
  5. 入れてから外すまでの運用の流れと、つまずきやすい点
この記事について

フロンティアAIそのものと、セキュリティで気にしたい点は 【コラム】フロンティアAIとは?チャットボットから「動くAI」へ、セキュリティで気にしたいこと にまとめています。

記事に出てくる製品名は、しくみを説明するための例です。特定の製品を勧めるものではありません。詳しくは「主な製品の例」の注意書きを読んでください。

なぜ今「仮想パッチ」なのか

脆弱性が見つかって公開されると(多くは CVE〈共通脆弱性識別子:脆弱性ごとに付く世界共通の番号〉が付きます)、ふつうはソフトウェアのベンダーが修正プログラム(パッチ)を出し、利用者がテストしてから本番に当てます。この「公開されてからパッチが当たるまで」の間、システムは攻撃を受けうる状態のまま動いています。仮想パッチは、この期間に攻撃だけを止めておくための手段です(図1)。

時間脆弱性が見つかる公開される(CVE など)ベンダーがパッチを配布本番にパッチを適用テスト・保守時間を待つ仮想パッチなし攻撃を受けうる期間(パッチを待つだけ)仮想パッチあり仮想パッチで攻撃を止める期間↑ ルールを配布・適用パッチ適用後に外す ↑AI で見つかる脆弱性が増え、公開から悪用までが短くなるほど、この期間が問題になる仮想パッチは、恒久パッチが当たるまでの期間を埋めるためのもの
図1 脆弱性の公開からパッチ適用までと、仮想パッチが受け持つ期間

この期間が改めて問題になっているのは、AI によって脆弱性の見つかり方が変わってきたからです。Palo Alto Networks の脅威調査チーム Unit 42 は2026年8月、NOVA(Network and Open-Source Vulnerability Analyzer:AI がソースコードを読み、脆弱性の発見から再現の確認、報告までを自動で行う、同社の調査システム)で、2か月の間に 3,915 件のオープンソースのプロジェクトを調べ、14,090 件の脆弱性を確認したと報告しました。そのうち 99.4% はそれまで報告されていなかったもので、公開情報と一致したのは 85 件だけだったそうです。

Unit 42 は、見つかる速さが上がるほど公開から悪用までの間隔が縮み、パッチの公開を見て攻撃コード(エクスプロイト)を作る作業も自動化できるとして、「パッチを当てるまでの猶予」がほとんどなくなったと述べています。同社は、従来のパッチを展開するまでの業界平均を 55 日としています(Verizon の DBIR〈Data Breach Investigations Report:毎年出ている情報漏えいの調査報告書〉2024 年版より)。

数字の見方

TrendAI(トレンドマイクロ)のまとめでは、DBIR 2026 年版で、侵入のきっかけとして脆弱性の悪用が 31% と初めて最も多くなったこと、CISA(米国のサイバーセキュリティ・インフラストラクチャセキュリティ庁)の KEV カタログ(実際に悪用が確認された脆弱性の一覧)に載った脆弱性のうち、2025 年に修正し終えたのは 26% だったことが紹介されています。どれも調査ごとの数字なので、傾向をつかむ材料として見てください。

パッチをすぐ当てられない理由

「パッチが出たらすぐ当てればいい」と言えれば楽ですが、現場ではそうはいかない事情があります。OWASP や各社の資料に挙がっている理由を表にまとめました。

理由よくある例
止められない24時間動いている Web サービス、工場の制御システム、医療機器。再起動や停止がそのまま業務に響く
事前のテストが要るパッチを当てて別の機能が壊れないか(デグレード)を確かめる時間と、保守時間の調整
自分では直せないサードパーティ製品や外注で作ったアプリ。コードを直すには別の案件が必要になる
パッチがない修正が出る前のゼロデイ(パッチがまだない脆弱性)、サポートが終わった製品(Windows Server 2012/2012 R2 は2023年10月、Windows 10 は2025年10月にサポート終了)
人手が足りない開発者が別の案件にかかっていて、すぐには手が回らない

仮想パッチとは

OWASP の Virtual Patching Cheat Sheet では、仮想パッチを「既知の脆弱性を狙う攻撃を検知して止めるセキュリティポリシーの適用レイヤーで、脆弱なコードそのものは変えないもの」と定義しています。英語では Virtual Patching、トレンドマイクロなどは脆弱性シールド(Vulnerability Shielding)とも呼んでいます。

道路にたとえると、公式パッチは穴を舗装し直す工事、仮想パッチは穴の手前に柵を置くことです(図2)。

公式パッチ = 穴を埋める工事仮想パッチ = 穴の手前に柵を置く舗装し直す通行止め穴は残っている柵(ルール)攻撃普通の車・穴そのものがなくなる(根本の対策)・工事の間、道を止めることがある (停止・再起動・事前テスト)・すぐ置けて、道は使い続けられる・柵をすり抜ける車がいるかもしれない (ルールに合わない攻撃は通る)仮想パッチは穴を埋めない。穴に落ちる通り道をふさぐだけ
図2 公式パッチと仮想パッチのたとえ

実際の動きを、リクエストの流れで見ると図3のようになります。仮想パッチは、脆弱なサーバの手前(または中)で、届いた通信をルールと照らし合わせています。

普通の通信攻撃利用者攻撃者仮想パッチIPS・WAF など脆弱なサーバパッチ未適用① 普通のリクエスト② ルールと照合一致しない③ そのまま転送④ 応答⑤ 既知の脆弱性を狙うリクエスト⑥ ルールと照合一致 → 遮断してログに記録⑦ 遮断(接続のリセットなど)サーバには届かない脆弱性はサーバに残ったまま。止めているのは手前の検査だけ
図3 仮想パッチが攻撃だけを止める流れ
  • ①〜④:ルールに一致しない普通のリクエストは、そのままサーバに届きます。
  • ⑤〜⑦:既知の脆弱性を狙う形のリクエストはルールに一致し、仮想パッチのところで止まります。止めたことはログに残ります。

ここで押さえておきたいのは、脆弱性そのものはサーバに残ったままだという点です。OWASP も、仮想パッチが効くのは検査している通信と、ルールが見分けられる攻撃の形だけで、脆弱性はなくならないと書いています。迂回できないかをテストし、コードやベンダーの修正は並行して進める前提です。

公式パッチとの違い

比べる点公式パッチ(恒久パッチ)仮想パッチ
何を変えるか脆弱なソフトウェアのコード手前や周りの検査ルール(ソフトは変えない)
止める必要再起動や停止、事前テストが要ることが多い多くは止めずに入れられる
入れられる時期ベンダーの修正と社内の手続き次第ルールが用意できればすぐ
効き目脆弱性そのものがなくなるルールに合う攻撃だけを止める。脆弱性は残る
位置づけ根本の対策パッチまでのつなぎ(補完的な管理策:本来の対策がすぐできないときに、代わりにリスクを下げる対策)
ルールの作り方は2通り

OWASP は仮想パッチのルールを次の2つに分けています。

  • 許可リスト型(ポジティブモデル):そのパラメータに来てよい値(文字の種類、長さなど)を決め、それ以外を止める。迂回されにくく、OWASP はこちらを推奨しています。
  • 拒否リスト型(ネガティブモデル):攻撃の形を決めて、それに合うものを止める。すぐ作れる反面、形を少し変えた攻撃に抜けられやすい。

報告に載っていた攻撃文字列だけを止めるような「その攻撃専用」のルールは、すぐ効いても長くは役に立たないので避けるよう注意されています。また OWASP は、仮想パッチが特に向いているのは SQL インジェクション(入力に SQL の命令を紛れ込ませて、データベースを不正に操作する攻撃)のような注入系の脆弱性で、それ以外の種類では十分に効かないことがあるとしています。

仮想パッチを置く4つの場所

「仮想パッチ」とひとことで言っても、止めている場所は製品によってかなり違います。大きく分けると、図4の4か所です。

インターネットWAF12① ネットワークIPS・NGFWパケットを見る② Web・APIWAF・WAAPHTTP の中身を見るサーバ・端末4アプリ内部:RASPJVM・.NET などの中で実行直前の処理を見る3ホスト:エージェントOS・プロセス・メモリの動きを見る※ 工場・制御システム(OT)の前に置く OT 向け IPS も ① の仲間同じ「仮想パッチ」でも、止める場所と見ているものが違う
図4 仮想パッチを置く4つの場所

ネットワーク(IPS・NGFW)

ネットワークの通り道に置いた IPS(Intrusion Prevention System:侵入防止システム。不正な通信を見つけて止める機器や機能)や NGFW(Next-Generation Firewall:アプリケーションの識別や IPS などを持つ次世代ファイアウォール)が、流れる通信の中身を検査し、特定の脆弱性を狙う形の通信を止めます。照合に使うのはシグネチャ(攻撃の特徴を書いたルール)で、ベンダーが配信したものを機器が自動で取り込む形が一般的です(図5)。

準備通信が来たときベンダーシグネチャを配信攻撃者IPS・NGFW通り道に置く後ろの機器サーバ・OT 機器など① シグネチャを配信自動で定期的に更新② 脆弱性を狙う通信③ 通信の中身を解析して照合プロトコルを読み、シグネチャと比べる④ 一致 → 破棄してログに記録⑤ 一致しない通信だけ転送1台で後ろの機器をまとめて守るネットワークの仮想パッチは、通り道でシグネチャと照らし合わせて止める
図5 ネットワークの仮想パッチ(IPS・NGFW)の流れ
  • ①:ベンダーがシグネチャを配信し、IPS が取り込みます。新しい脆弱性が出ると、それに合わせたシグネチャが追加されます。
  • ②〜④:届いた通信の中身をプロトコルに沿って読み、シグネチャと照らし合わせます。一致したら、その通信を破棄してログに残します。
  • ⑤:一致しない通信だけが、後ろの機器に届きます。

1台で後ろにある多くのサーバや機器をまとめて守れるのが強みで、エージェントを入れられない機器、サポートが終わった機器、OT(Operational Technology:工場やプラントの設備を動かす制御系のシステム)を守る手段として使われます。逆に、その機器を通らない通信は検査できません。暗号化された通信も、復号しなければ中身は見えません(あとの「HTTPS で暗号化されていると、どこまで効くのか」で説明します)。

Web・API(WAF・WAAP)

Web サーバや API の手前にリバースプロキシ(サーバの代わりに通信を受け取り、後ろのサーバへ中継するしくみ)として置いた WAF(Web Application Firewall:Web アプリへの攻撃を止めるファイアウォール)で止める方法です。WAAP(Web Application and API Protection)は、WAF に API の保護、ボット対策、DDoS 対策(大量の通信を送りつけてサービスを止める攻撃への対策)を加えたものを指す呼び方です。

WAF は、ふだんから SQL インジェクションやクロスサイトスクリプティング(Web ページに不正なスクリプトを埋め込む攻撃)などをまとめて防ぐルールで動いています。仮想パッチとして使うときは、それに加えて「今回見つかった弱点」に合わせたルールを足します。OWASP の例では、あるページのパラメータに SQL インジェクションの脆弱性が見つかったとき、そのページのそのパラメータには数字だけを許すルールを WAF に入れて、アプリを直すまでの間を守っています(図6)。

準備(仮想パッチのルールを足す)攻撃が来たとき普通の利用セキュリティ担当クライアント利用者・攻撃者WAFサーバの手前Web サーバ脆弱なアプリ① 弱点の情報を確認/item の id に問題② ルールを追加「/item の id は数字だけ許可」③ HTTPS で送信id に SQL の命令を混ぜる④ TLS を終端して中身を取り出す⑤ 足したルールで照合id が数字だけでない → 遮断⑥ エラーを返す(403 など)脆弱なアプリには届かない⑦ HTTPS で送信id=123⑧ ルールに合う → 通す⑨ 転送⑩ 応答(WAF 経由)弱点の場所に合わせたルールを WAF に足し、そこだけ先に守る
図6 WAF に「弱点に合わせたルール」を足して守る流れ
  • ①〜②:セキュリティ担当が弱点の場所(どのページの、どのパラメータか)を確かめ、そこに合わせたルールを WAF に足します。アプリには手を入れません。
  • ③〜④:クライアントの HTTPS 接続は、サーバではなく WAF が受けます。WAF がサーバの証明書を持ち、TLS(HTTPS の暗号化のしくみ)を終端(そこで暗号を終わらせること)して中身を取り出します。
  • ⑤〜⑥:足したルールに合わない(id に数字以外が入っている)ので、WAF がエラーを返し、脆弱なアプリには届きません。
  • ⑦〜⑩:ルールに合う普通のリクエストは、そのままサーバへ転送されます。

ここで大事なのは、ルールを弱点の場所に合わせて絞ることです。図6のように「来てよい値」を決めるルールは、攻撃の形を少し変えられても抜けられにくく、普通の利用も止めにくくなります。API なら、API の定義(OpenAPI:API の仕様を書くための標準の形式)から来てよいリクエストを決めることもできます。DAST(Dynamic Application Security Testing:動いている Web アプリに外から攻撃を試して脆弱性を探すツール)の結果を取り込み、見つかった弱点に合わせたルールを作る機能を持つ製品もあります。リバースプロキシの位置づけは 【図解】フォワードプロキシとリバースプロキシの違いとは? で説明しています。

ホスト(エージェント)

サーバや端末に入れたエージェント(そのマシンの上で動き、管理サーバの指示で保護を行うソフト)が、そのマシンの上で攻撃を止めます。製品によってやり方が違い、大きく2つのタイプがあります(図7)。

ホスト型 IPS の場合アプリのメモリで守る場合同じサーバの中送信者管理サーバルールを配るエージェントサーバ上で動く脆弱なアプリ同じサーバ上① IPS のルールを配る② 脆弱性を狙う通信③ OS に届いた通信を検査一致 → 破棄してログに記録アプリには渡らない④ 保護の設定を配る弱点(CVE)ごと⑤ アプリのメモリに保護を入れるアプリのファイルは変えない⑥ 保護中であることを報告どの弱点を・いつから⑦ 弱点を突く入力⑧ 弱点の処理へ進めず止まる保護した経路は通れないホストの仮想パッチは、守りたいマシンの上で止める
図7 ホストの仮想パッチ(エージェント)の流れ
  • ①〜③(ホスト型 IPS):管理サーバが IPS のルールを配り、エージェントがそのマシンに届いた通信を検査して、攻撃に一致したものを破棄します。ネットワークの IPS と同じことを、守るマシンの上でしているイメージです。トレンドマイクロの Server & Workload Protection などがこのタイプです。
  • ④〜⑥(メモリで守るタイプ):管理サーバが弱点(CVE)ごとの保護の設定を配り、エージェントが脆弱なアプリのメモリに保護を入れます。アプリのファイルや設定は書き換えません。保護を始めたことは、管理サーバに記録されます。
  • ⑦〜⑧:弱点を突く入力が来ても、アプリは保護された経路(弱点の処理)へ進めず、攻撃が成り立ちません。通信の中身を照合するのではなく、アプリが動く場所で弱点への道をふさいでいる点が、ホスト型 IPS との違いです。Vicarius の vShield がこのタイプで、同社は、各 CVE が使うメモリ上や実行ファイル上の経路を特定してふさぐと説明しています(細かいしくみは公開されていません)。

ネットワークの構成に関係なく、そのマシン自身を守れるのが利点です。その代わり、エージェントを入れられる OS やアプリでないと使えず、台数分の導入と管理が要ります。

アプリ内部(RASP)

RASP(Runtime Application Self-Protection:アプリが動いている実行環境の中に組み込み、アプリ自身が攻撃を止めるしくみ)は、WAF のようにサーバの手前に置く別の機器ではありません。Java なら JVM(Java のプログラムを動かす実行環境)に、RASP のモジュール(エージェント)を起動時に読み込ませ、アプリと同じ JVM の中で動かします(図8)。.NET など、ほかの実行環境に対応した製品もあります。

クライアントWAF別の機器サーバの手前に置くWeb サーバJVM(Java の実行環境)アプリのコードSQL 文を組み立てて DB へRASP のモジュール起動時に JVM に読み込むフックで確認データベースRASP は WAF のような別の機器ではなく、アプリと同じ JVM の中で動く
図8 RASP はどこにあるのか(WAF との置き場所の違い)

RASP のモジュールは、データベースへの問い合わせ、OS コマンドの実行、ファイルの読み書きといった危ない処理の入口にフック(処理の途中に割り込んで中身を確かめる仕掛け)を入れます。アプリがその処理を呼ぶと、実行する直前に RASP が中身を確かめます。SQL インジェクションを例に、流れを追うと図9のようになります。

起動するとき普通の入力攻撃の入力Web サーバ(JVM)クライアントアプリのコードJVM の中RASP同じ JVM の中データベース① 危ない処理にフックを入れるDB 問い合わせ・OS コマンドなど② リクエストid=123③ SQL 文を組み立てる… WHERE id = 123④ 実行前にフックで確認⑤ 入力は「値」のまま → OK⑥ DB に問い合わせ⑦ リクエストid=123 OR 1=1⑧ SQL 文を組み立てる… WHERE id = 123 OR 1=1⑨ 実行前にフックで確認⑩ 入力が条件(命令)として働く→ 攻撃と判断⑪ 処理を止める⑫ エラーを返すDB には届かないRASP は、DB に送る直前の SQL 文で、入力がどう使われたかを見る
図9 RASP が SQL インジェクションを止める流れ
  • ①:JVM が起動するときに RASP のモジュールが読み込まれ、危ない処理の入口にフックを入れます。
  • ②〜⑥:普通の入力(id=123)では、組み立てた SQL 文の中で入力は「値」のままです。RASP は問題なしと判断し、アプリはそのまま DB に問い合わせます。
  • ⑦〜⑩:攻撃の入力(id=123 OR 1=1)では、入力の一部が SQL 文の「条件(命令)」として働き、文の意味が変わってしまいます。RASP は DB に送る直前のこの状態を見て、攻撃と判断します。判定のしかたは製品で違いますが、考え方はこのとおりです。
  • ⑪〜⑫:RASP が処理を止め、アプリはエラーを返します。DB には届きません。

WAF と RASP の違いを表にすると、次のようになります。WAF が見ているのは、届いたリクエストの文字の並び(id=123 OR 1=1 という文字列)だけで、それがアプリの中でどう使われるかまでは分かりません。RASP は、入力が実際に SQL 文に組み込まれたあとの姿を見て判断できます。

比べる点WAFRASP
置く場所サーバの手前の別の機器(リバースプロキシ)サーバの中。アプリと同じ JVM などの実行環境
見ているもの届いたリクエストの文字(URL・パラメータ・ヘッダなど)DB やコマンドに渡す直前の処理と、そこに入った入力
判断のしかた文字がルール(攻撃の形や許す値)に合うか入力によって処理の意味が変わったか
入れるもの機器やクラウドサービス。アプリは変えない実行環境にモジュールを読み込む。アプリのコードは変えない

実際に何が起きるかを見て判断できるので、精度を上げやすいのが RASP の長所です。ただし、言語やフレームワークごとにモジュールが要ること、アクセス権の不備(他人のデータを ID だけ変えて読めてしまう、など)や業務の流れを悪用する攻撃は、処理としては正常に見えるので止めにくいことに注意が必要です。導入はまず監視モードで始め、様子を見てから止める範囲を広げるのが一般的です。

HTTPS で暗号化されていると、どこまで効くのか

いまの Web の通信は、ほとんどが HTTPS で暗号化されています。仮想パッチは通信の中身を見て判断するので、暗号化された中身を見られるかどうかで、効き目が大きく変わります。場所ごとに整理すると図10のようになります。

クライアント途中の機器サーバ復号しないIPS・FWPCWebIPS見えるのは宛先・サーバ名など一部だけ復号する FWサーバの鍵を入れるPCWebFWいったん復号して検査し、暗号化し直すWAFTLS を終端PCWebWAF平文か再暗号化WAF で暗号を終わらせて中身を見るホスト・RASPサーバの中PCWebサーバの中で復号されたあとを見る暗号化された区間暗号化されていない区間暗号化された中身を見られるのは、復号できる場所だけ
図10 HTTPS の通信で、どこなら中身が見えるか
  • 復号しない IPS・FW:見えるのは、宛先の IP アドレスとポート、接続先のサーバ名など、暗号化されていない一部だけです。HTTPS の中に入った Web アプリへの攻撃は、シグネチャがあっても照合できません。Fortinet の資料でも、証明書の検査だけ(certificate inspection)では SSL/TLS の層までしか見ず、暗号化された中身をすべて検査するには通信を復号する deep inspection が要るとしています。
  • 復号する FW:外から社内のサーバへ来る通信なら、守るサーバの証明書と秘密鍵を FW に入れて復号し、検査できます。Palo Alto の SSL Inbound Inspection(外から来る SSL/TLS 通信を復号して検査する機能)がこれで、FW がクライアントとサーバの間に入り、2つのセッションに分けて中継します。ただし、クライアント証明書で認証する通信や、証明書を固定する(ピンニング)アプリの通信など、復号できないものもあります。
  • WAF:図6のとおり、TLS を WAF で終端するので、中身を見て判断できます。
  • ホスト・RASP:RASP はアプリの中で、復号されたあとの値を扱うので、HTTPS かどうかに左右されません。ホスト型 IPS が暗号化通信をどこまで検査できるかは製品によって違うので、製品の資料で確かめてください。

まとめると、HTTPS で公開している Web アプリを守る目的なら、復号しないネットワークの IPS だけでは効果は限られます。その場合は、WAF で TLS を終端するか、FW で受信方向の復号を設定するか、ホストや RASP で守るかを組み合わせて考えることになります。

一方で、ネットワークの仮想パッチが役に立たないわけではありません。社内のファイル共有や OT の制御用プロトコルなど、暗号化していないことが多い通信や、エージェントを入れられない機器への攻撃は、ネットワークの IPS で止められます。何の通信を守りたいのかを先に決めてから、置き場所を選ぶのがよいと思います。

復号するときの注意

復号すると、FW や WAF にサーバの秘密鍵を置くことになります。鍵の管理、復号による処理の負荷、復号した中身がログに残らないかといった点も、あわせて設計が必要です。

4つの場所の比較

場所見ているものHTTPS
の中身
向いている場面苦手なこと
① ネットワーク通信の中身復号を設定したときだけまとめて守りたい。エージェントを入れられない機器・OT経路の外の通信、復号しない暗号化通信
② Web・APIHTTP のリクエスト見える(TLS を終端)公開している Web サイトや APIHTTP 以外の通信。正しい形をした不正なリクエスト
③ ホストOS・プロセス・メモリの動き製品によるサーバや端末そのものを守りたいエージェントを入れられない機器
④ アプリ内部実行直前の処理見える(復号後の値)自社で持つ Java や .NET などのアプリ対応していない言語。アクセス権や業務ロジックの不備

各社の製品に共通する考え方

各社の資料を並べて読むと、言い方は違っても、似た考え方が2つ見えてきます。

1. 見つけてから当てるまでの輪を速く回す

1つ目は、脆弱性を見つけてから、ルールにして、対象に当て、結果を見張るまでの流れを、できるだけ速く回そうとしている点です(図11)。

① 見つける脆弱性情報・診断・AI による発見② 調べる影響する版・条件・攻撃の形③ ルールにするシグネチャ・WAF ルールなど④ 配る・当てる対象の機器やサーバへ、止めずに⑤ 見張る・外すログ・再テスト・パッチ後に外す各社が速く回そうとしているのはこの輪どこまで自動にするかは製品と運用で違う発見からルール配布までが速いほど、無防備な期間は短くなる
図11 仮想パッチの輪(見つける → 調べる → ルールにする → 配る・当てる → 見張る・外す)
  • Palo Alto Networks は、Unit 42 の NOVA が見つけた脆弱性から仮想パッチの候補も作り、新しい脆弱性への保護を数時間で配信するとしています。
  • VMware は、脆弱性スキャンで見つかったワークロードにタグを付け、タグに合わせて IPS のポリシーを自動で当てる使い方を紹介しています。
  • TXOne Networks は、AI でルールを学習・調整し、ポリシーを展開する手間を 9 割以上減らして、数週間かかっていた作業を数時間にするとしています。

どこまで自動で進めるかは製品と運用で違います。Fortinet も、ほとんどの組織はルールを見直してテストしてから止める設定にしている、と書いています。

2. 入口・内部・アプリの中で重ねる

2つ目は、1か所だけに頼らず、何か所かで重ねて止める考え方です(図12)。

インターネットWAF・NGFWNorth-South入口で止めるデータセンター・クラウドIPSIPSIPSEast-West横の移動を止めるRASPIn-Appアプリの中入口・内部の横移動・アプリの中、の3か所で重ねて止める
図12 入口(North-South)・内部(East-West)・アプリの中(In-App)で重ねる
  • North-South(入口:外部と内部の間を行き来する通信):インターネットから入ってくる通信を、WAF や NGFW で止めます。
  • East-West(内部の横移動:内部のサーバどうしの通信):中に入られたあと、別のサーバへ広がる攻撃を止めます。VMware の vDefend は、各ワークロードの仮想 NIC(仮想マシンのネットワークの差し口)で通信を検査する分散型の IDS/IPS(IDS は侵入を検知するだけ、IPS は検知して止める)です。
  • In-App(アプリの中):入口をすり抜けた攻撃を、アプリの中の RASP で止めます。WAF を最初の防御、RASP を最後の防御と位置づける説明もあります。

主な製品の例

製品名についての注意(免責)

この節に出てくる製品名・機能名と説明は、各社が公開しているドキュメントやブログを、2026年10月時点で筆者が読んでまとめたものです。特定の製品を勧めたり、性能や効果を保証したりするものではありません。「数時間で配信」「手間を 9 割以上削減」などの数字は各社の説明で、どの環境でもそうなるとは限りません。

製品の仕様、対応範囲、名称、提供状況は変わることがあり、記事の内容が実際と違っている可能性もあります。導入や比較を検討するときは、必ずメーカーの最新のドキュメントを確認し、メーカーや販売代理店に問い合わせたうえで、自社の環境で検証してください。

各社が仮想パッチとして出している製品を、図4の4つの場所に当てはめると図13のようになります。

ネットワークIPS・NGFWPalo Alto NetworksFrontier Virtual PatchingTrendAITippingPoint TXEFortinetFortiGate の IPSVMwarevDefend 分散 IDPSTXOne NetworksvEdgeIPS Pro(OT)Web・APIWAF・WAAPFortinetFortiWebVMwareAvi WAFホストエージェントTrendAIServer & Workload ProtectionTrendAIEndpoint SecurityVicariusvShield(メモリ)アプリ内部RASPWaratekWaratek RASP(JVM)1社が複数の場所を持つことも多い。比べるときは「どこで止めるか」から見る
図13 主な製品と、仮想パッチを置く場所
会社製品・機能場所特徴(各社の公開資料より)
Palo Alto
Networks
Frontier Virtual Patching(PAN-OS 12.2)ネットワークNGFW で、パッチが出る前の脆弱性も含めて数時間で保護を配信するとしている。新しい検知エンジン「vaulted protection」(パッチが出る前の脆弱性を安全に保護するための仕組みとしている)を使う。PAN-OS(同社のファイアウォールの OS)のアップグレードと自動のコンテンツ更新で使える
TrendAI
(トレンド
マイクロ)
TrendAI Vision One(Network Security の TippingPoint TXE、Server & Workload Protection、Endpoint Security)ネットワーク
ホスト
ZDI(Zero Day Initiative:同社が運営する、ベンダーを問わない脆弱性の報奨金プログラム)の情報をもとに IPS のフィルタを配る。ホスト型 IPS は再起動もコード変更もなしで当てられる
FortinetFortiGate の IPS、FortiWeb、FortiGate Ruggedネットワーク
Web・OT
IPS と WAF のルールで止める。OT 向けの堅牢化モデルにも IPS を載せている
VMware
by Broadcom
vDefend 分散 IDPS、Avi WAF内部・Web各ワークロードの仮想 NIC で検査し、横の移動を止める。Avi WAF は DAST(Qualys、OWASP ZAP)の結果を取り込んでポリシーを作れる
TXOne
Networks
Edge(vEdgeIPS Pro)OTフェイルセーフ設計(セキュリティ機器が生産の通信を妨げないようにする設計)のインライン IPS。2026年9月に仮想アプライアンス版の vEdgeIPS Pro を追加した
VicariusvRx(vShield)ホストアプリのメモリ空間を包んで攻撃の経路をふさぐ。パッチを当てて確認が済むと保護を外す
WaratekWaratek RASP(IAST+RASP)アプリ内部JVM の中で危ない処理を止める。コード変更・再起動なしで仮想パッチを当てられる。IAST(Interactive Application Security Testing:テスト中のアプリの中で動き、脆弱性を見つけるツール)も持つ

入れてから外すまでの運用

仮想パッチは、入れたら終わりではありません。OWASP は、インシデント対応と同じ考え方で、準備・特定・分析・仮想パッチの作成・実装とテスト・回復とフォローアップの順に進めることを勧めています。担当者と機器のやり取りで見ると、図14のようになります。

準備・分析実装・テスト回復・フォローアップ情報源ベンダー・公開情報セキュリティ担当仮想パッチIPS・WAF など業務システムシステム担当① 脆弱性の通知・公開② 影響を確かめる対象の版・設定・攻撃の例③ ルールを作り、チケットに記録④ ルールを「ログのみ」で入れる⑤ 普段の通信で誤検知を見るこの間、通信は止めない⑥ 遮断モードに切り替える⑦ 再テスト形を変えた攻撃で迂回できないか⑧ 恒久パッチを適用⑨ 直ったことを確かめる⑩ ルールを外す(記録は残す)まず「ログのみ」で入れ、誤検知がないのを見てから遮断に切り替える
図14 仮想パッチを入れてから外すまでの流れ
手順誰が・どこで何をするか
①情報源 → セキュリティ担当ベンダーの通知や公開情報で脆弱性を知る。自社の診断で見つかることもある
②セキュリティ担当影響するバージョン、問題が起きる設定、攻撃の例(PoC:脆弱性を実際に突けることを示すコード)を確かめる
③セキュリティ担当ルールを作り、CVE 番号やルール ID をチケットに記録する
④〜⑤仮想パッチまず「ログのみ(検知のみ)」で入れ、普段の通信が引っかからないかを見る
⑥仮想パッチ誤検知がないのを確かめてから、遮断モードに切り替える
⑦セキュリティ担当 → 仮想パッチ形を変えた攻撃や別の経路で迂回できないかを再テストする。抜けられたら②に戻る
⑧〜⑨業務システム(システム担当)恒久パッチを当て、脆弱性が直ったことを確かめる
⑩セキュリティ担当 → 仮想パッチルールを外し、記録を残す

⑩については、OWASP の中で、ログが取れて便利なので仮想パッチを残しておく人も多い、と紹介されています。外すか残すかは、ルールの数と性能への影響を見て決めればよいと思います。

事前にやっておくこと

OWASP は、インシデントが起きてから WAF の導入を提案しても遅いので、平時に準備しておくよう書いています。

  • 使っている製品のベンダーの脆弱性通知に登録しておく。
  • 仮想パッチを急いで入れるときの承認手順と、元に戻す条件を決めておく。
  • 仮想パッチに使う機器やソフトを、あらかじめ置いておく。
  • ルール ID、時刻、対象、結果をログに残す。パスワードやカード番号などの機微な値は、ログから外すか伏せる。

つまずきやすい点

つまずき何が起きるか対策
いきなり遮断する正常な通信や、OT の独自プロトコルの通信まで止めてしまうログのみで始め、誤検知を見てから切り替える。止めたルールだけをすぐ無効にできるようにしておく
恒久策のつもりで放置するパッチが当たらないまま残り、ルールも古くなるパッチまでのつなぎと決め、チケットで期限と担当を管理する
シグネチャを更新しない新しい形の攻撃を見逃す自動更新を有効にし、重要な CVE が対象に入っているか確かめる
広すぎる・狭すぎるルール広すぎると誤検知と性能低下、攻撃文字列だけの狭いルールは抜けられやすいCVE と対象の機器・ポート・パラメータに合わせて作る
検査しない経路がある復号していない HTTPS や、仮想パッチを通らない経路から攻撃される経路を洗い出し、必要なら復号、WAF、ホスト側の対策を組み合わせる

まとめ

仮想パッチは、脆弱なソフトは変えずに、その手前や周りで攻撃だけを止め、恒久パッチまでの時間を稼ぐための手段です。置く場所ごとの特徴を表にまとめます。

場所主な仕組みこんなときに
① ネットワークIPS・NGFW のシグネチャ多くの機器をまとめて守りたい。OT やサポート切れの機器がある。HTTPS を守るなら復号とセットで
② Web・APIWAF・WAAP のルールインターネットに公開している Web サイトや API を守りたい
③ ホストエージェント(ホスト型 IPS、メモリ保護)サーバや端末そのものを守りたい
④ アプリ内部RASP自社で持つアプリを、実行直前で守りたい

どの場所でも、脆弱性そのものは残っています。ログのみで始めて遮断に切り替え、迂回できないかを確かめ、恒久パッチを当てたら外す、という流れまで含めて運用を決めておくことが大切です。

動画で解説この記事の内容を、図解の動画でも説明しています

このページのまま再生できますYouTubeで開く ›

参考にした資料

この記事は、次の資料で内容を確かめて書きました。製品名や対応範囲は変わることがあるので、最新の情報はリンク先とメーカーへの問い合わせで確かめてください。

あとがき

調べてみると、仮想パッチという同じ言葉でも、IPS のシグネチャ、WAF のルール、ホストのメモリ保護、アプリの中の RASP と、止めている場所がかなり違いました。とくに HTTPS の通信では、どこで暗号がほどけるかによって効き目が大きく変わります。製品を比べるときは、まず「どの場所で、何を見て止めるのか」と「暗号化された中身を見られるのか」を確かめると整理しやすいと思います。

コメント