Stuxnet is the first malware in recent history that attacked industrial control systems also known as SCADA (Supervisory Control and Data Acquisition) systems developed by Siemens (Siemens SIMATIC WinCC). These systems monitor and control critical industrial facilities like nuclear power plants, power grids etc. Clearly, any security breach in such systems can have far reaching consequences and as such, these are arguably the most protected IT systems so much so that it is not impossible to imagine that none of these systems are even connected to or accessible through Internet.
It is not clear how Stuxnet originally spread but it took advantage of four software vulnerabilities; two of them are zero-day vulnerabilities in Microsoft Windows i.e., at the time Stuxnet was spreading, these vulnerabilities had not been responsibly disclosed to Microsoft and as such there was no patch available from Microsoft (a patch is however available now).
Vulnerability
Identifier |
Vendor-ID | Affected Software | Zero-day? | Palo Alto
Threat ID |
CVE-2010-2568 | MS10-046 | Windows | Yes | 33325 |
CVE-2010-2729 | MS10-061 | Windows | Yes | 33427 |
CVE-2008-4250 | MS08-067 | Windows | No | 32953, 31922 |
CVE-2010-2772 | Not Available | Siemens SIMATIC WinCC | Yes | 33442, 33443
(To be released this week) |
CVE-2010-2568
It is a zero-day vulnerability in Windows (now patched) that results in arbitrary code execution (with the same permissions as that of logged-in user) contained in a .LNK or .PIF file whenever a file folder containing these files is opened. Note that it is not necessary to click on the file icons for the malicious code to run; just opening the containing file folder will trigger the malicious code execution.
There are two ways to control this threat using our next-generation firewall:
- Disable download of .LNK or .PIF files using file blocking profile and apply it on traffic from Internet to private network i.e., on a security policy with source zone as private network and destination zone as Internet (note that the request for download originates from the private network).
- Use a vulnerability protection profile on above security policy (threat id 33325 protects against this attack).
CVE-2010-2729
It is a zero-day vulnerability in Windows (now patched) that results in arbitrary code execution (with elevated permissions as that of the logged-in user). Since the code is executed with system-level privileges instead of privileges of the logged-in user, this vulnerability is more critical than CVE-2010-2568. A remote attacker can send a specially crafted RPC message to the vulnerable system and be able to download and store malicious files in Windows system directory which can later be automatically executed.
There are two ways to control this threat using our next-generation firewall:
- Disable RPC application traffic from Internet to private network.
- Use a vulnerability protection profile on above security policy (threat id 33427 protects against this attack).
CVE-2008-4250
It is a vulnerability (not zero-day) in Windows that can be exploited using a specially crafted RPC message which results in remote code execution with system-level privileges and in that sense it is similar to CVE-2010-2729.
There are two ways to control this threat using our next-generation firewall:
- Disable RPC application traffic from Internet to private network.
- Use a vulnerability protection profile on above security policy (threat ids 32953 and 31922 protect against this attack).
CVE-2010-2772
It is a zero-day vulnerability in Siemens Simatic WinCC software (SCADA software from Siemens) and is caused due to use of a hard-coded password to access the Microsoft SQL database from WinCC software.
There is one way to control this threat using our next-generation firewall:
- Use a vulnerability protection profile on above security policy (threat ids 33442 and 33443 protect against this attack). Note that these signatures will be released in our upcoming content release for this week.
Besides signatures mentioned above, we support an additional 28 SCADA vulnerability protection signatures. Also, through our application identification (App-ID) technology, we can identify different protocols used by SCADA like Modbus, DNP3 and ICCP. For Modbus, we support 15 signatures that identify read/write Modbus commands e.g., modbus-mas-write-register, modbus-read-input-registers, modbus-read-write-register etc. For a complete list, check Applipedia.
More information about Stuxnet attack is available from Siemens support site.