Citect, the Sydney, Australia-based maker of Supervisory Control And Data Acquisition (SCADA) software, CitectSCADA, doesn't seem to understand IT security, or why applications that run things like pharmaceutical plants, water treatment facilities, and natural gas pipelines should be inherently secure.As I'm researching SCADA system security today, I stumbled across this story, Citect SCADA Vulnerability Unlikely, in IndustrialIT. I'm not exactly sure why the story ran Friday, as I couldn't find anything new from the news reports that covered this SCADA vulnerability that ran a couple weeks ago. Essentially, Core Security Technologies found a remotely exploitable buffer overflow, and announced its find after Citect released the patch. Which, by the way, took five months to develop.
However, a line or two from the story leaped out, and punched me in the nose:
CITECT has responded to allegations of security problems in its SCADA solution by telling customers they are unlikely to be at risk if their systems are protected by industry-standard security guidelines.
This is almost a "throw-away" statement. They're saying that if the users of their software have all of the proper mitigating controls in place on their network, they have nothing to worry about. This is true of many application vulnerabilities.
It gets better:
The potential security breaches found by Core Security Technologies were limited to Windows-based control systems utilizing ODBC technology. However, they were only exploitable if the control systems were connected to the Internet without any security in place.
Did you catch that? Citect is saying that customers only have to worry about this vulnerability if they're connected to the Internet, and without any security in place. Now, most every application security vulnerability we get concerned about (browsers, e-mail, client applications) are "only exploitable if the system is connected to the Internet." And, if an adversary grabs physical control of your system, they won't be needing to run buffer overflow attacks.
What Citect doesn't seem to get is that applications should be built as inherently secure as possible -- from the jump. That means vetting applications for proper input validation, authentication, and other common programming gaffes that could lead to the compromise of an application. That way, should network security break down for some reason, even temporarily, customers wouldn't have to worry about a "remote, unauthenticated attacker" who "may be able to execute arbitrary code or cause a denial-of-service" as described in this US-CERT Vulnerability Note.
On its About Us page, Citect describes itself as having "The ability to develop powerful and reliable 'industrial strength' software, capable of withstanding the rigors of large-scale operations, has been one of our strengths."
Industrial strength software is great, it'd be even better if it could withstand buffer-overflows out of the box.