01.03.2019 Views

CDM-CYBER-DEFENSE-eMAGAZINE-March-2019

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

kind. Many of them require some kind of privileged access already and as I alluded to earlier,<br />

remote code execution is exceedingly rare.<br />

This brings us to Schrodinger’s vulnerability, a play on the oft used trope of Schrodinger’s cat,<br />

which to paraphrase implies that until you look in the box, the cat is both alive and dead. A more<br />

contemporary reference would be the response that former Secretary of Defense Donald<br />

Rumsfeld once blurted out in reference to ‘known knowns’, ‘known unknowns’ and ‘unknown<br />

unknowns’ with the latter being the riskiest.<br />

Let’s map this to an information asset today and call-back the alarmist reference I started this<br />

article with on. This information asset that is out of date but might have a vulnerability even there<br />

are none publicly available is going into the region of ‘unknown unknowns’. We know there are<br />

no publicly available vulnerabilities but there may be a vulnerability that exists that we just don’t<br />

know about. So how probable is this. Fortunately there’s no need to speculate since there’s plenty<br />

of research to draw conclusions from. ‘Zero days, Thousands of Nights: The Life and Times of<br />

Zero-Day vulnerabilities and their Exploits’ is a piece of research by Lillian Ablon and Andy Bogart<br />

that focuses on this very issue. They found that if a zero-day existed and was hoarded by an entity<br />

but kept from public view, it would stay that way for an average of 7 years.<br />

What this means for us is that regardless of what version of software you are on, there may be a<br />

zero-day that exist (however improbable) but no one will know about it and it will stay that way for<br />

an average of 7 years. What's worse is that if you update your software to the latest version, then<br />

that version too may also contain this zero-day, even though you are ‘fully patched’, simply<br />

because the code refactoring in the new version has not taken into the account the zero-day by<br />

virtue of the fact that it’s still an unknown. The research does make a distinction for end of life<br />

software, since this will never be patched again, so if a new zero-day is discovered then it<br />

effectively becomes ‘immortal’ since the vendor will never release a new patch to cover this.<br />

Using exploitability for defense<br />

Combining a few approaches can stave off junk risk and avoid you chasing contrived scenarios<br />

that will never materialize:<br />

• Switch from pentesting to crowdsourced security for external assets: Pentesting<br />

methodology is starting to be considered a legacy approach to offensive security testing.<br />

It does not emulate a hacker in any way – it only gives you a frozen snapshot of security<br />

posture at a specific point in time, nothing more. Crucially, crowdsourced also gives you<br />

actionable threats with proof of concept and their methodology maps more realistically to<br />

how attackers behave (for example, no time limit on testing), while pentesting focuses on<br />

theoretical threats.<br />

• Having out of date software doesn’t mean you’re automatically vulnerable! While this may<br />

shock some individuals, if the specific threat vector that your version of software is<br />

vulnerable to isn’t exposed in its current configuration, then you are safe.<br />

• Practically all attacks focus on known vulnerabilities so updating your software to the latest<br />

version to protect against ‘zero-day’ attacks is irrelevant. The new version is as likely to<br />

be vulnerable since no code has been refactored to account for the zero-day, hence its<br />

unknown status. Updating software is for known threats, not unknown ones.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!