ReVuln, a Malta-based security startup that specializes in vulnerability research, is working on a product that could allow companies to protect their SCADA (supervisory control and data acquisition) software installations against entire classes of vulnerabilities. In the meantime, the company is developing and selling custom patches for SCADA software vulnerabilities that have yet to be addressed by the vendors.
For several years now security researchers have warned that SCADA software is riddled with serious vulnerabilities and often lacks the most basic security controls. Adding to this problem is the fact that many industrial control system owners are increasingly exposing SCADA management interfaces to the Internet for the convenience of remote administration.
Many security researchers would like SCADA systems to be re-engineered with security in mind, but that's a long-term goal at best. For now, even patching known vulnerabilities is a complicated affair in the SCADA world.
Many SCADA vendors don't release security patches in a timely manner and even when such patches do get released, it can take a very long time for them to be deployed on vulnerable systems. SCADA systems are often used to monitor and control critical processes, so any code changes, like those introduced by patches, need to be thoroughly assessed so they don't affect system stability and availability. In addition, since SCADA systems are designed for continuous operation, in many cases their owners can't afford to regularly restart the management software to apply new patches.
In order to tackle these issues, ReVuln is creating and selling zero-day SCADA vulnerability patches that can actually modify the vulnerable code directly in memory -- a procedure known as hot patching or runtime patching -- which means that SCADA system owners are not required to restart the vulnerable applications. These patches are available through a new service that ReVuln has launched recently, the company said via email.
Hot patching or runtime patching is not a new concept. The procedure has been around for years, but it is considered risky by some people because it is hard to get right and can lead to crashes.
Runtime patching can be risky if not performed correctly, but by gathering the right information from the target process, runtime patching can be a viable option, ReVuln said. The company said it did an extensive amount of testing before launching the custom patching service, because it wanted to make sure that it had a solid solution for fixing specific zero-day vulnerabilities.
ReVuln's founders Luigi Auriemma and Donato Ferrante presented the company's custom patch service and the prototype of a new product called SCADA Shield last week at the 2013 SCADA Security Scientific Symposium (S4) in Miami.
SCADA Shield is designed to mitigate entire classes of vulnerabilities, including stack-based overflow, heap-based overflow, command injection, directory traversal, use-after-free and double-free vulnerabilities. The product does not require any installation and its core functionalities are implemented in user-level code, the company said.
There are some features that use kernel-level code, but those are optional and work is being done to reduce the kernel-level code as much as possible in order to enhance portability. "The prototype works on Windows-based systems, from Windows 98 to the latest version of Windows," the company said. The user just need to specify what process needs to be protected.
SCADA Shield also uses some runtime patching techniques, but only some optional features, ReVuln said.
"I seriously doubt that this kind of solutions will be adopted in a highly critical industrial environment," Ruben Santamarta, a security researcher with security consultancy firm IOActive, said via email. "We have to understand that our common IT procedures are not always the best option for the industrial sector."
Patching is still a problem in the IT world, so people have to be realistic, he said. The risk that industrial facilities face if they start deploying products that fundamentally change the code of other products is high.
Santamarta favors a defense-in-depth approach to securing SCADA systems that doesn't focus on the end-point, but on the architecture of the whole industrial control system. The end-point should be considered an already compromised asset, he said.
The solution to patching software should not be to install additional software that might require patching as well, Santamarta said.
The decision to develop SCADA defensive solutions is somewhat unusual for ReVuln, considering that the company also sells information about zero-day vulnerabilities to private buyers, including government agencies, without reporting them to the affected vendors. Around 45 percent of the vulnerabilities in ReVuln's portfolio are located in SCADA software.
ReVuln hasn't received any feedback from customers regarding its custom patch service yet, but said that there was a lot of interest in both products after their presentation at the S4 conference.