How to patch?
Information gathering
New security vulnerabilities are discovered and published almost daily. Patches are important because they provide a way to mitigate these vulnerabilities.
Oftentimes vendors will publish security advisories on their website when a new vulnerability is discovered or patched. Most vendors also give you the option to subscribe to this advisory page so that you get a notification when an update is posted. This helps with keeping track of how vulnerable your assets are.
Evaluate
Patching is also a risk management issue, there are risks involved by choosing to apply or not apply a certain patch. Patches are changes and may impact safety, reliability, certification, or performance. By applying a patch, you risk that other applications in the system are no longer compatible and are causing issues or that vendors no longer provide support. Some vendors offer compatibility lists on their website, where they list the versions that are compatible or of which they suspect that they will break your application. It is a good practice to check this with your supplier before applying a patch.
Test
It is recommended to test a patch before applying it to a production system.
This can be done in multiple ways:
- Set up a separate test environment with the same hardware/software and apply the patch
- Simulate your environment with virtual machines and apply the patch
- Test the patch on one part of a redundant system so that you have a backup system in case it fails
Also, make sure you have back-ups that can be restored to the pre-patched state in case of problems!
Deploy
Most industrial control systems run 24/7 and need high availability. Applying a patch will most likely cause downtime because the component will need to reboot. This makes it hard to apply efficient patch management in an ICS environment and makes these devices highly vulnerable. A good practice is to plan security updates on a regular schedule, this can, for example, be combined with planned maintenances. The IEC62443 series document on patch management suggests using a severity-based patch management timeframe, this means that a target patch installation timeframe is defined based on the priority level (and associated risk) of the vulnerability.
Verify & Report
After installation of the patch, verify that the patch was applied successfully. If something went wrong during the patching process your system might still be vulnerable, and you can resolve this before restarting operations. Documenting your patching process shows that you actively tried to mitigate known risks in case of a cyber incident.