editor's blog
Subscribe Now

Intentionally Fuzzy

All software has bugs; every system has some kind of vulnerability. And the canonical way of dealing with them is to fix the bugs or tighten the code to eliminate system weaknesses. And then we patch our systems, as anyone who has been late to the airport and has shut down their computer in a last-ditch effort to get out the door, only to have the computer say, “Updating 1 of 32… Please do not power down or unplug your computer,” can attest. (Because, when Windows decides it’s time to update, well, there’s not much in this universe that can out-prioritize that.)

Editorials aside, each of those patches required someone to find a problem, then figure out how to fix the problem, then actually fix it, and, finally, test to prove that the fix doesn’t do some other harm. And that all takes time. If the vulnerability is severe, then ne’er-do-wells could be out busily enjoying unfettered access to somewhere they’re not supposed to be while the hole is being plugged.

So, when it comes to security for important infrastructure like utilities and other industrial sites, you can’t wait for the fix. In fact, a fix might not even be forthcoming. Instead, you figure out what malevolent traffic might look like, and you block it. You’re not fixing the broken lock on the door to keep the burglar out; you’re simply putting a dog in front of the door to filter out the burglars.

This is the situation described to me by Wurldtech’s Greg Speakman and Nate Kube shortly after they announced that Siemens’s CERT lab had been certified on Wurldtech’s Achilles certification testing. Achilles is a test facility that includes “fuzzers” – tests that present equipment with traffic that is almost correct, but is mutated here or there. The idea is to see if such “nearly good” traffic can get in and cause an observable change in behavior (which might be benign or might have no deleterious effect unless sustained over time) or, worse yet, cause a system failure. They automatically create tests based on protocol standards and run those against their clients’ systems.

When issues are found, the signatures of the offending traffic enter their database and are used to strengthen the traffic filters. They claim to have found over 350 “0-days” for their clients. The oddly-named “0-day” refers to any vulnerability found by outsiders before the equipment company itself knows about it – they’ve had 0 days to respond to it.

That characterization makes sense for systems already out on the market, but apparently it still applies if a company contracts someone like Wurldtech to help with system validation before shipping the systems. The fact that the issue was found outside the company – even if at the company’s request, before any systems are shipped into the field – seems to qualify it as a 0-day (even though, if the equipment maker bought out the certification house or did similar testing in-house, then the same discovery would no longer be a 0-day).

You can find more on the recent Siemens certification in their release.

Leave a Reply

featured blogs
Jul 17, 2018
In the first installment, I wrote about why I had to visit Japan in 1983, and the semiconductor stuff I did there. Today, it's all the other stuff. Japanese Food When I went on this first trip to Japan, Japanese food was not common in the US (and had been non-existent in...
Jul 16, 2018
Each instance of an Achronix Speedcore eFPGA in your ASIC or SoC design must be configured after the system powers up because Speedcore eFPGAs employ nonvolatile SRAM technology to store the eFPGA'€™s configuration bits. Each Speedcore instance contains its own FPGA configu...
Jul 12, 2018
A single failure of a machine due to heat can bring down an entire assembly line to halt. At the printed circuit board level, we designers need to provide the most robust solutions to keep the wheels...