Siemens S7-1200 Insecure Storage of HTTPS CA Certificate
ICSA： ICS Advisory (ICSA-12-263-01)
Siemens has reported1 an insecure HTTPS certificate storage vulnerability in Siemens’ S7-1200 v2.x. Siemens has provided guidance to mitigate this vulnerability. This vulnerability could be exploited remotely.
Siemens reports that the vulnerability affects the following products:
- SIMATIC S7-1200 V2.x
An attacker may obtain a private key of the S7-1200 certificate authority for HTTPS and use it to create a forged certificate that can then be used in a Man-in-the-Middle attack.
Impact to individual organizations depends on many factors that are unique to each organization. ICS-CERT recommends that organizations evaluate the impact of this vulnerability based on their operational environment, architecture, and product implementation.
Products in the Siemens SIMATIC S7-1200 programmable logic controller (PLC) family have been designed for process control in industrial environments such as manufacturing, power generation and distribution, food and beverages, and chemical industries worldwide.
Insecure Storage of HTTPS CA Certificate2
The certificate authority (CA) for HTTPS connections, which is installed on Siemens SIMATIC S7-1200 PLC, stores its private key insecurely. This key is used for signing certificates. Once this key is obtained, an attacker may create a forged certificate. This can then be used to complete a Man-in-the-Middle attack on a browser that already trusts this device’s CA.
The PLC also has a private key that is used to dynamically generate its own certificate. This key is different from the CA private key and is not vulnerable to this attack.
This vulnerability could be exploited remotely.
Existence of Exploit
No known public exploits specifically target this vulnerability.
An attacker with a medium skill would be able to exploit this vulnerability.
Siemens strongly recommends the user uninstall the CA signing keys from the Web browser’s certificate store. The procedure for performing this task is specific to each browser. Once this is performed, warning messages will occur when attempting to connect to an S7-1200 PLC. The user can manually confirm the identity of the PLC and accept its certificate via the browser. This has to be done once for each S7-1200 PLC on the network.
ICS-CERT recommends that the process of confirming the identity of each PLC be performed on a secure network to prevent the possibility of a Man-in-the-Middle attack during the key exchange process. The fingerprint on the certificate will be specific to a PLC and is based on its private key. This key is still secret, and a forged certificate would contain a fingerprint mismatch.
ICS-CERT encourages asset owners to take additional defensive measures to protect against this and other cybersecurity risks.
- Minimize network exposure for all control system devices. Critical devices should not directly face the Internet.
- Locate control system networks and remote devices behind firewalls, and isolate them from the business network.
- When remote access is required, use secure methods, such as Virtual Private Networks (VPNs), recognizing that VPN is only as secure as the connected devices.
ICS-CERT also provides a section for control systems security recommended practices on the ICS-CERT Web page. Several recommended practices are available for reading and download, including Improving Industrial Control Systems Cybersecurity with Defense-in-Depth Strategies. ICS-CERT reminds organizations to perform proper impact analysis and risk assessment prior to taking defensive measures.
Additional mitigation guidance and recommended practices are publicly available in the ICS-CERT Technical Information Paper, ICS-TIP-12-146-01A—Cyber Intrusion Mitigation Strategies.
Organizations observing any suspected malicious activity should follow their established internal procedures and report their findings to ICS-CERT for tracking and correlation against other incidents.