Virtual patching is the quick development and short-term implementation of a security policy meant to prevent an exploit from occurring as a result of a newly discovered vulnerability. A virtual patch is sometimes called a Web application firewall (WAF).
A patch is a quick repair job for a piece of programming. Typically, a patch is developed and distributed as a replacement for, or insertion in, compiled code. An application firewall is an enhanced firewall that limits access to a computer's OS (operating system) by specific application programs.
A virtual patch analyzes transactions using the security enforcement layer to prevent malicious traffic from reaching the vulnerable application. The virtual patch, if effective, prevents the exploit from taking place without modifying the application's source code. This approach offers several advantages over conventional patching:
- A virtual patch protects mission-critical components that must remain online, so operations are not interrupted as they often are with a conventional patch in an emergency situation.
- A virtual patch mitigates the risk of an exploit quickly, until an effective, permanent patch can be tested and released by the application vendor.
- A virtual patch lets an organization maintain its normal patching cycle without interrupting operations if a vulnerability arises midway between scheduled patch releases.
- A virtual patch only needs to be installed in a few locations, rather than on all of the hosts in a network.
- Because the libraries and support code are not modified, a virtual patch is unlikely to produce conflicts in the system.
Disadvantages or risks of virtual patching include:
- It might not address all possible ways, or all of the possible locations, in which an exploit can occur as a result of a particular vulnerability.
- Once a virtual patch has been implemented and has proven effective, an organization might feel reduced motivation to produce a permanent patch.
- While a virtual patch can avert an immediate crisis, it is not likely to offer as much benefit in the long term as a permanent patch would, because the virtual patch cannot eliminate inherent defects in an application program.