I’ve talked pretty extensively on the Defensive Security Podcast about the differences between patch management and vulnerability management. We’ve now had two notable situations within 6 months where a significant vulnerability in a portion of our infrastructure estate is vulnerable to a significant threat. And no patches. At least for a while.
In both the HeartBleed and ShellShock cases, the vulnerabilities were disclosed suddenly and exploit code was readily available, trivial to exploit and nearly undetectable (prior to implementing strategies to detected it, at least).
And in both cases we have been stuck wringing our hands waiting for patches for the systems and applications we use. In the case of Heartbleed, we sometimes waited for weeks. Or even months.
Circumstances like Heartbleed and ShellShock highlight the disparity between patch management and vulnerability management. However, being aware of the difference isn’t informative of the actions we can or should take. I’ve been thinking about our options in this situation. I find 3 broad options we can choose from:
1. Accept the risk of continuing to operate without patches until patches are available
2. Disconnect or isolate systems that are vulnerable
3. Something in the middle
…and we may choose a combination of these depending on risks and circumstances. #1 and #2 are self explanatory and may be preferable. I believe that #1 is somewhat perilous, because we may not fully understand the actual likelihood or impact. However, organizations choose to take risks all the time.
#3 is where many people will want to be. This is where it helps to have smart people who can help to quickly figure out how the vulnerability works and how your existing security infrastructure can be mobilized to help mitigate the threat.
In the current case of ShellShock, some of the immediate options are to:
1. implement mod_security rules to block the strings used in the attacks
2. implement IPS or WAF rules to prevent shell command injection
3. Implement iptables rules to filter out connections containing the strings used in the attacks
4. Increasing proactive monitoring, backups and exorcisms on vulnerable systems
…and so on. So, there ARE indeed things that can be done while waiting for a patch. But they are most often going to be highly specific to your environment and what defensive capabilities are in place.
HeartBleed and ShellShock should show us that we need to ensure we have the talent and capabilities to intelligently and effectively respond to emerging threats such as these, without having to resort to hand wringing while waiting for patches.
Think about what you can do better next time. Learn from these experiences. The next one is probably not that far away.
H/T to my partner in crime, Andy Kalat (@lerg) for the title.