WinCC Open Architecture Security Guideline
WinCC Open Architecture Security Guideline
WinCC Open Architecture Security Guideline
Implementation of the
Security Strategy for 6
Security Solutions
Security Checklist 7
Glossary 8
Lists 9
05/2019
Legal Information
Warning Concept
This manual contains notes that need to be considered, to heed the secure configuration of a plant
and to prevent damage to property.
The notes on security impacts are shown by a warning triangle in different colors or a warning light.
Notes referring to a minor or an improbably security issue have no symbols.
The alerts and warnings are illustrated here in descending order of its level.
DANGER
Means that death or severe security issues will occur, if the corresponding precautions are not
taken.
WARNING
Means that death or severe security issues may occur, if the corresponding precautions are not
taken.
CAUTION
With a warning triangle means that moderate security issues may occur, if the corresponding
precautions are not taken.
ATTENTION
With a grey warning triangle means that an undesirable event or condition may occur if the
corresponding note is not heeded.
CAUTION
Without a warning triangle means that damage to property may occur, if the corresponding
precautions are not taken.
With the occurrence of multiple hazardous levels, the warning for the highest level is used. If a caution
with the warning triangle warns of personal injury, it may also have a warning of damage to property.
ETM professional control GmbH | A Siemens Company 05/2019 Copyright © ETM professional control GmbH |
A Siemens Company A Siemens Company
Marktstraße 3
A-7000 Eisenstadt subject to alterations
7000 Eisenstadt
AUSTRIA
Qualified Staff
The product/system associated with this documentation should be handled only by personnel qualified
for the task. They should handle the tasks assigned to them and paying attention to the associated
documentation, like this document. Qualified persons, based on their training and experience, can
detect risks and avoid possible hazards when handling these products/systems.
WARNING
ETM professional control GmbH products should be used only for the application areas foreseen in
the associated technical documentation. If third party products and components are used, they must
be recommended and/or approved by ETM professional control GmbH. The fault-free and secure
operation of the products assumes proper transport and storage, assembly, installation,
commissioning, operation and maintenance. The permissible ambient conditions must be followed.
Notes (Instructions) in the associated documentation must be seen and followed.
Brands
All names and designations marked with the registered trademark ® are registered brands of the
Siemens AG or affiliated companies like e.g. ETM professional control GmbH. The use of the
registered brands by a third party for their own purposes may infringe the rights of the owner.
Disclaimer
We have checked the contents of the documentation to ensure that they match the hardware and
software described. Nevertheless, deviations cannot be entirely excluded, and we cannot, therefore,
guarantee complete agreement. The information in this documentation is, however, reviewed regularly
and any corrections necessary are incorporated in later editions. Information about the current version
can be found in the page footer.
Page 3 of 271
SCOPE .................................................................................................................................................................................. 7
INTENTION OF THIS DOCUMENT ................................................................................................................................................. 7
DISCLAIMER ........................................................................................................................................................................... 8
1.3.1 License ........................................................................................................................................................................... 8
STRUCTURE AND ORGANIZATION OF THIS DOCUMENT ................................................................................................................... 10
REQUIRED KNOWLEDGE.......................................................................................................................................................... 10
1.5.1 Training center ............................................................................................................................................................ 11
PRODUCTS USED .................................................................................................................................................................. 11
ABBREVIATIONS .................................................................................................................................................................... 13
3 REFERENCES ..................................................................................................................................................................... 17
4 DEFINITIONS ..................................................................................................................................................................... 23
Page 4 of 271
Page 5 of 271
8 GLOSSARY....................................................................................................................................................................... 243
Page 6 of 271
The "WinCC Open Architecture Security Guideline" merely has the character of recommendations and is
meant to support SIMATIC WinCC OA customers in secure operations of their production systems. The
recommendations are based on state-of-the-art technology, current standards and the characteristics of the
products used.
Due to the continuously advancing threat level, a hundred percent/complete permanent protection cannot be
guaranteed even in case of full implementation. A regular validation of the implemented measures within the
scope of the security guideline is recommended.
Registered Brands
SIMATIC WinCC Open Architecture is a registered brand name of ETM professional control GmbH, a
subsidiary of Siemens AG. The use of product names and designations in this documentation by a third party
for their own purposes may infringe the right of the registered brands owner.
Copyright© ETM professional control GmbH | A Siemens Company 2019 All Rights Reserved
Marktstraße 3
7000 Eisenstadt
Austria
The proposed parameters for WinCC OA and settings for the operating system are derived from the
knowledge and experiences made at Siemens AG and ETM professional control GmbH but must be adapted
to match the requirements of the plant.
Page 7 of 271
Page 8 of 271
To stay informed about WinCC OA product updates and security notifications such as detected
security holes and recommendations, sign up for our product-specific ETM-Newsletter. More
information is available under:
http://www.etm.at/index_e.asp?id=16&sb1=&sb2=&sb3=&sname=&sid=&seite_id=151
(acc.: 27th March 2019)
Page 9 of 271
This symbol refers to more information in the WinCC OA Documentation. The description points to
the specific information. Further details or configuration suggestions can also be provided by WinCC
OA Documentation.
Required knowledge
The following knowledge is assumed for understanding and implementing the concepts introduced in this
document:
Page 10 of 271
ATTENTION
This Guideline cannot be a substitute for the training in the fields of networking techniques,
Microsoft® Windows or Linux administration of desktops and servers and their operation in the
Windows domains, but instead, assumes some knowledge in these areas.
Products Used
The following products, product versions and options are used for the implementation of approaches for
solutions described in this document:
Siemens SIMATIC WinCC Open Architecture 3.16 FP2 (P009) has an especially hardened process
visualization system (Control & Visualization System), installed on the operating systems mentioned below.
Basically, WinCC Open Architecture supports Microsoft® Windows and Linux (RedHat®, OpenSUSE®).
Updates for operating systems are in the responsibility of the OS producers. Please get more information
from the producers’ Website.
ATTENTION
For using WinCC Open Architecture on a Windows operating system the following information must
be considered:
When WinCC Open Architecture runs on a Microsoft® Windows operating system, Microsoft
handles updates of the operating system. ETM professional control GmbH will not explicitly test any
Windows patches or give any recommendation for the usage of those patches. For information on
the updates of the operating system see:
https://technet.microsoft.com/en-us/security (acc.: 27th March 2019)
https://technet.microsoft.com/en-us/security/bulletin/dn602597 (acc.: 27th March 2019)
Administration rights may be needed for the WinCC Open Architecture installation and for creating
WinCC Open Architecture project instances, depending on the rights that were set for the folder
structure.
Page 11 of 271
The TCP/IP protocol must be installed on the platforms since the WinCC Open Architecture
processes communicate through TCP.
Either TCP/IP v4 or v6 can be set active. Both protocols should never be set active simultaneously.
When both protocols are used simultaneously, the faultless communication between the WinCC
Open Architecture systems cannot be guaranteed. ETM professional control GmbH recommends
restricting the communication within the plant to TCP/IP v4 and deactivating v6 to avoid issues
caused by incompatibilities.
Page 12 of 271
Abbreviation Explanation
ACC Access on – This is the date when an external Web reference was accessed
ACL Access Control List
AD Active Directory
AES Alert & Event Screen of WinCC OA
AS Authentication Server
BCC Backup Control Center (2nd node for WinCC OA DRS System)
BSI Bundesamt für Sicherheit in der Informationstechnik (Federal Office for Information
Security [Germany])
CA Certification Authority
CBC Cipher Block Chaining Mode
CIS Center for Internet Security
COM Component Object Model
CRL Certificate Revocation List
CSN Control Systems Network
CSP Cryptographic Service Provider
CTK Crypto Token
CTRL Control Scripting Language
DATA WinCC OA Data-Manager
DC Domain Controller
DCN Distributed Computer Network
DCOM Distributed Component Object Model
DCS Distributed Control System
DDoS Distributed Denial of Service
DIST DISTributed system, DISTribution-Manager (DIST-System, Dist Manager)
DMZ Demilitarized Zone
DoS Denial of Service
DP Datapoint
DPE Datapoint Element
DPL Datapoint List, typical usage as file extension e.g. export.dpl or dpl-file
DPT Datapoint Type
Page 13 of 271
Page 14 of 271
Page 15 of 271
The "Security Guideline WinCC Open Architecture" recommends the use of security mechanisms available
currently for this purpose. This means the system operator uses all available security mechanisms from
Siemens AG, ETM professional control GmbH or third-party providers, to ensure the maximum possible level
of security.
The configurations illustrated in this document may also be implemented and scaled with modifications. This
depends on the level of protection needed by the system operator; the responsibilities present or security
mechanisms that have already been implemented. However, this should be planned diligently and carefully
by all technicians, specialists, administrators and others responsible in each case. To achieve the maximum
level of security, the modified configurations should not contradict the basic principles of this security
concept.
The “Security Guideline WinCC Open Architecture” should facilitate the cooperation and interaction between
network administrators of organizations (IT administrators) and automation networks (automation engineers).
Thus, the benefits of networking process control technology with data processing of the other production
levels may be used without increasing the security risks on either side.
Note:
It must be taken into consideration that not all common and existing security concepts from vendor
products of the IT environment can be implemented 1:1 in process automation.
The focus of the IT lies in global accessibility coupled with the maximum possible level of security.
ATTENTION
Any deviations from the recommended security guideline for WinCC OA may cause security gaps
with undesirable or adverse consequences.
Ensure that the considered system is always updated in such a manner that no security gaps may
occur. This document holds the security guideline for SIMATIC - WinCC Open Architecture 3.16
FP2 (P009).
Please get in touch with your contact person at ETM professional control GmbH | A Siemens Company,
regarding the related version of this security guideline if a document for a different WinCC OA
version is needed.
Page 16 of 271
IEC 62443/ISA99
ISA/IEC-62443 is a series of standards, technical reports, and related information that define procedures for
implementing electronically secure Industrial Automation and Control Systems (IACS). This guidance applies
to end-users (i.e. asset owner), system integrators, security practitioners, and control systems manufacturers
responsible for manufacturing, designing, implementing, or managing IACS systems.
Figure 1 - IEC 62443 definition from 9th February 2018 (ISA99, kein Datum)
Page 17 of 271
• Part 1 (General) deals with general aspects and security standards. It defines a common basis in the
form of terminology, concepts and models for the electronic security in the fields’ industrial automation
and process control system. Following aspects are covered:
o Terminology
o Concepts
o Models
o Compliance metrics
o Security Levels (SL):
▪ SL 1 - Protection against casual or coincidental violation
▪ SL 2 - Protection against intentional violation using simple means
▪ SL 3 - Protection against intentional violation using sophisticated means
▪ SL 4 - Protection against intentional violation using sophisticated means with
extended resources
• Part 2 (Policies and Procedures) deals with implemented policies and procedures on site and must
be considered by the asset owner (see document 2-1, 2-2 and 2-3). It supports the development of a
program for the security of industrial automation and control systems. In addition, this part supplies
detailed support related to process activities and key elements when developing a management
system for the cyber security.
The following aspects are covered by this norm:
o Organization
o Training / awareness
o Continuity plan
o Policies, procedures
o Personnel security
o Physical security
o Network segmentation
o Account administration
o Authentication
o Authorization
o Risk management and implementation
o Solution development and maintenance
o Incident planning and response
Page 18 of 271
Page 19 of 271
Figure 2 - Responsibilities for asset owner, Integrator and Product supplier in IEC62443 (Kobes, 2016)
Page 20 of 271
Page 21 of 271
• Close coordination of the security needs of the customers and system operators (e.g. via the
selected security-critical reference systems and reference customers).
• Cooperation with independent institutions and organizations (e.g. OPC Foundation, ISA, ISCI, ARC,
OMAC, MsMUG, PCSF and PCSRF).
• Close interaction with other manufacturers and suppliers (e.g. Microsoft®).
http://www.industry.siemens.com/topics/global/en/industrial-security/Pages/default.aspx
(acc.: 27th March 2019)
Page 22 of 271
“can”: Is used to indicate that something is possible (e.g. an organization or individual can do
something).
Page 23 of 271
The network names and the primary colors used (red, yellow, green) in the following figure show the
networks depending on production level according to ISA-S95 as well as on security area according to ISA-
S99. The automation level (MCS according to ISA-S95) is divided in further task-specific networks (green,
blue, violet) in this security concept. This distinction is needed to consider the different requirements of
bandwidth, availability, response times and climatic resistance.
Page 24 of 271
2. Bypassing individual security mechanisms (e.g. " Man in the Middle ")
5. Spying out data (e.g. formulations and corporate secrets or even the principle of operation of
systems and their security mechanisms)
Those seven issues are only a subset of possible threats for an industrial plant. The German Federal Office
for Information Security has provided an overview of threatening scenarios on the following page:
https://www.bsi.bund.de/EN/Topics/ITGrundschutz/ITGrundschutzCatalogues/itgrundschutzcatalogues_node
.html (acc.: 27th March 2019)
A list of recommendations, on Security Management, is provided by specialized companies. This referred list
has solutions about CIS vulnerabilities and is kept by the company Tenable.
https://www.tenable.com/blog/cis-adapts-critical-security-controls-to-industrial-control-systems
(acc.: 27th. March 2019).
The following defense strategies serve as an overall approach to supplement the required and desired
access types and operator control options with most available security mechanisms in a multi-level defense
(Defense in Depth) with many security layers and serve as an overview for SIMATIC WinCC OA customers
and are explained in detail.
Page 25 of 271
• Definition of the security measures proper for the individual plant depending on found dangers and
risks
• Reaching and keeping the necessary security level needs a continuous security management
process
o Risk analysis with evaluation of current dangers and definition of counter measures to
reduce the risk to an acceptable level
• Products, plants and processes must follow standards of care, based on laws, standards, internal
guidelines and state of the art solutions.
The following defense strategies serve as an overall approach to supplement the required and desired
access types and operator control options with most available security mechanisms in a multi-level defense
(Defense in Depth) with numerous security layers and serve as an overview for WinCC OA customers and
are explained in more detail.
Page 26 of 271
Defense in Depth
Page 27 of 271
Individual security measures (e.g. IP security or VPN) may be used multiple times or meet different
requirements simultaneously. These security measures are centrally described once and provided with notes
on this central description along with the respective security solution.
The different security measures and strategies can either supplement themselves favorably or affect
themselves unfavorably. In each case, it must be strived to achieve a reasonable balance between
availability, security, comfort and performance. If one of the security solutions described has such a problem,
attention is drawn towards this.
The main aim of the following description of the individual security strategies and their system
implementation is to support the system planner and operator with the composition of the current security
measures. In this manner, security measures in future can be supplemented efficiently and in a targeted
manner.
Page 28 of 271
Product Security: Defines the security mechanism implemented into a product itself. The company
ETM professional control GmbH, as product supplier is responsible for the implemented features.
WinCC OA operational Guidelines defines how an Integrator, Service Provider or asset owner should
handle a product. In case of WinCC OA this information is provided by means of following list.
o This Security Guideline document
o WinCC OA Documentation
o Different trainings offered by ETM professional control GmbH (e.g. CSW workshop)
o White papers accessible via SIMATIC WinCC Open Architecture portal
(https://www.winccoa.com/)
o Consulting services
Industrial IT Security Services supports an asset owner (and system integrator as a contractor of asset
owner) in achievement and maintaining of a desired security level of an IACS in total. Different
vendors offer services to achieve a desired security level.
A possible vendor of Industrial IT Security Services is Siemens AG. The Siemens AG security
services portfolio covers security audits, SOC services, vulnerability management services etc.
More detailed information about Industrial Security from Siemens AG is available at the following
page:
https://new.siemens.com/global/en/company/topic-areas/future-of-manufacturing/industrial-
security.html (acc. 01st February 2019).
The following figure shows which layer needs to be covered for a defined responsibility. While Product
Security and Operational Guidelines are covered by WinCC OA security competence, Industrial IT Security
Services should be covered from a vendor company.
Product Supplier
Product Security
Page 29 of 271
1. Plant Security
o Physical Security
2. Network security
3. System Integrity
o System hardening
o Patch Management
Page 30 of 271
While planning the systems or system migration, a decision must be taken, based on the types of access
needed. In cooperation with the asset owner following mechanism could by implemented for the described
layers of security.
Page 31 of 271
Page 32 of 271
In general it is recommended to use an actual block cipher like AES256, please mind that old ciphers
like DES or 3DES are already deprecated and should not be used anymore. For recommended block
ciphers, see Appendix chapter: Block Cipher.
It is not possible to recommend a specific authentication tool at this time but ETM customer support
can help in such cases.
e. Network administration has the choice of centralized, time-related and task-specific password
guidelines as well as group-related access rights administration which are applied in WinCC OA and a
standardized audit trail.
Using an OS based user authentication would also be possible under Linux with Samba 4. However,
the configurations which are used there cannot be applied to WinCC OA automatically.
An implementation on site without an AD on Windows or on Linux via Samba 4 may be less secure
compared to the given recommendation but depending on the desired requirements of the plant
operator it might be enough.
f. Need to connect. A project solution must only allow the connection of required devices or interfaces.
Page 33 of 271
The strategy of the Defense in Depth in this documentation is not a simple list of the security measures that
can be used in process control technology such as, e.g. encoding, authentication, authorization etc. It is a
description of the meaningful use of these security measures in different layers of protection, customized
precisely to the types of access from the customer's point of view. Within this example, four different types of
access where used:
• Data exchange/Information exchange: Data and information exchange between different production
levels, neighboring systems, onshore/offshore components, automation/security and cells.
• Real-time Controlling/Remote Controlling: The control or remote support of onshore to offshore or
different systems or between the remote-control center and the system.
Page 34 of 271
Realtime Data
Figure 8 – Implementation of Defense in Depth concept for different Types of Access (Siemens, 2019)
Every access should take place only via clearly authenticated network devices and by authorized
users. „Data Exchange“ and “Real-time Controlling“ in this overview represent the information-related
connections of the Enterprise Resource Planning (ERP) systems for the business level, the Manufacturing
Page 35 of 271
Moreover, there is a reference in the overview to an access type called "Real-time Data". This stands for a
mixture of "Data Exchange" and "Real-time Controlling". In most cases, this mixed type of access results
from the access technique used or it is the result of bundling of multiple tasks by the system operator.
However, this mixed type of access should be avoided, since the security measures that can be used are
very diverse and compromise solutions often are an enhanced level of risk.
Note:
User permissions should be limited to a minimum for the required type of access. Do not use
administrator permissions if this is not necessary!
Page 36 of 271
The strategy for dividing plants and connected plants into security cells increases the availability of the
overall system, if failures or security threats that result in failure can thereby be restricted to the immediate
vicinity. Because this strategy results in the setup of a modern and securely networked process automation
plant, the planning of the security cells for this plant must be very thorough. The plant is first divided into
process cells for this purpose and then into security cells based on the security measures.
• A process cell must be an independent "functional system or sub-system", which can be run for a
certain period without connection to the remaining systems or parts of the systems. In other words, a
process cell must be and remain autonomously functional for a certain period.
• All associated elements of a process cell must be connected directly (e.g. not over leased lines).
From the network point of view, it must be a LAN (Local Area Network).
• Parts of the system that could cause a high load on the network and processor, e.g. when they need
to connect via complex security mechanisms from the outside, should necessarily be integrated
directly in the process cell.
One or more process cells become one security cell when the following conditions are met:
• Only trustworthy and authorized persons having proper training should get entry to a security cell.
The following entries, among others, must be checked stringently:
o Physical entry to the production areas and rooms of the process control system
o Operation of the process control system and manual production sections
o Access to the file system and configuration of the process control stations
o Access to computer and controller networks, their power supplies and infrastructure (e.g.
network services, domain controller)
• Any access to a security cell should take place only after checking the legitimacy. For this purpose,
for example, persons and devices must be authenticated and authorized.
• Any access must be capable of being logged or must take place under supervision by authorized
persons, e.g. entry of persons, file access, use of support etc.
• Devices that often must communicate with each other shall be placed within one security cell to
avoid an impact caused by a slow bandwidth. A slow bandwidth could be caused by network
limitations on site or it could be configured to reduce the overall network load
(see chapter: Limitation of bandwidth between security cells).
Page 37 of 271
Page 38 of 271
The strategy of the task-related operation and access rights includes restricting the rights and functions of
the user, system operator, devices, network and software components to the minimum needed.
To achieve effective protection without restricting the normal activities, it is necessary to coordinate the
following aspects:
• Operation and access rights to the respective system and its area of protection
• Purpose of use of individual devices and software components
• Organization of the production and its areas of responsibility
• Administration of the system
This coordination can be executed on basis of the production levels and the production process and is
described in the following.
Note:
In smaller plants, the access is only divided in local or remote access and therefore no MES/ERP connection
is used.
Securing a simple remote access is described in the section: Secure Access Techniques
The organization of the production process is based on three levels, ERP (Enterprise Resource Planning),
MES (Manufacturing Execution Systems) and MCS (Manufacturing Control Systems). These are defined in
the ISA-95.
Page 39 of 271
The areas of responsibility for resources (e.g. personnel, material and systems) within an organization are
oriented at the production process. These areas of responsibility must be reflected in the assignment to the
structures and system components respectively:
• Software components (e.g. by local access rights of the software on the computer)
• Devices
• Networking (e.g. also the administration of the network and the network access)
Page 40 of 271
To avoid security gaps, the exact demarcation of the areas of responsibility must also be done at the network
and administration level. This must be done in coordination with the other production levels.
Page 41 of 271
To implement the areas of responsibility, the network structure and the technical options for controlling the
network traffic of individual networks (illustrated by way of an example with firewalls and perimeter) must
match these areas of responsibility.
The administration of the users and computers in the AD Domain or in a Samba 4 configuration on a Linux
system must be adapted to these areas of responsibility. The next figure illustrates the connection via
different types of trusted relationships between administrative domains (Microsoft® Windows ) for the office
IT (ERP level) and the production IT (MCS level). In the figure, the production planning area (MES level)
does not have its own IT administration. Instead, it is administered by the office IT and production IT areas
respectively, depending on where the associated users and computers of an organization are usually found.
Page 42 of 271
The trusted relationships between the domains simplify the secure and mutual identification of users of the
respective domain. The trustworthy users may get access to the domain at the other end.
The responsibility for meaningful restriction of the process operation authorizations for individual operators
needs to be defined by the plant operator (production manager). The settings are configured in the process
control system or process visualization applications (in case of WinCC OA via the WinCC OA user
administration).
Note:
With incorrect administrative rights for the plant operator at the operating system level, an
unauthorized user can change settings.
Each process control station, software part or network hardware should be able to execute only
those tasks locally or in the network that are assigned to them by the manufacturer. This limitation
reduces the possible potential of damage by a "security credential taken over" (e.g. password) for a
user or a device.
The example described above can only be implemented if there is an AD within a Microsoft®
environment. If that is not the case, the trusted relationship cannot be set up as described.
ETM professional control GmbH does not supply any generally valid and usable alternative at this
point.
Page 43 of 271
5.5.1 Requirements
• All tasks are implemented and administered respectively via a central storage location (e.g. backup
server, Windows update service server etc.).
• All tasks must have distribution and security paths (e.g. network connection, unlocks at firewalls etc.)
customized to the respective system.
• The grouping of systems with the same settings or purpose of use (e.g. in Windows software update
service) reduces the incidence of errors in individual local configurations.
• Important parts of the system must be defined and grouped in such a manner that these groups can
be processed independently of one another. This must also be possible without having to shut down
plant operation completely. The following groups could be created, for example:
o Grouping the WinCC OA servers to defined classes according to their purpose.
o All WinCC OA UI clients in one “Client group “.
5.5.2 Tasks
1. Software updates:
Planning and execution of the central distribution of software updates like
security updates, hot fixes, installations, virus signature updates, upgrades,
project updates, certificates etc. from one centralized storage location to the
individual components needed to be updated.
2. Software configuration:
Planning and execution of the central configuration of systems such as
operating system, virus scanner, Windows update etc. from one central
configuration server to the individual systems needed to be configured.
Deviations, if any, must be discussed and coordinated with the system operator. An example of this is the
exclusive local storage of data/backup data, which, in case of data loss on the local storage locations can no
longer supply the data needed.
Page 44 of 271
Therefore, it is possible to realize that tasks which need the permission bit 4 can only be done via a special
workstation (e.g. a locked-up office).
Page 45 of 271
“Secure Socket Layer (SSL) and Transport Layer Security (TLS) are cryptographic protocols designed to
provide secure communications on the Internet. This protocol provided endpoint authentication and
communication privacy over the Internet using cryptography. Both SSL and TLS provide for server and client
side authentication. However, in typical use, usually just the server is authenticated (i.e., its identity is
ensured), while the client remains unauthenticated. To provide for mutual authentication requires a PKI
deployment of certificates to the clients. The protocol allows client/server applications to communicate in a
way designed to prevent eavesdropping, message tampering, and message forgery.
Jointly developed by Netscape and Microsoft, SSL version 3.0 was released in 1996, which later served as a
basis to develop Transport Layer Security (TLS), an IETF standard protocol.” (Stapleton & Epstein, 2016, S.
84)
Based on the OSI model TLS uses the layers Transport and Session for communication to the other host, in
contrast to IPsec which uses the Network Layer.
Application Application
Presentation Presentation
TLS/SSL
Session Session
TLS/SSL
Transport Transport
IP Sec
Network Network
Physical Physical
Figure 15- Usage of TLS/SSL in OSI model between Client and Server
Page 46 of 271
The secure dispatch of a message needs three methods, which must be used together:
1. Encryption: The content of a message must not be readable for an unauthorized user.
2. Signing: The message needs a digital signature to prove the identity of the sender.
3. Integrity: The receiver needs verification that the message was not altered.
5.6.1.1.1 Encryption
Firstly, the receiver Alice shares her public key with the sender Bob. Next Bob encrypts the message
based on this public key from Alice. The encrypted message is transmitted to the receiver Alice.
Finally, Alice receives the message from Bob and can decrypt the content with her private key. This key
must be kept secret by user Alice. A theft of this Private Key could cause a threat, where the transmitted
messages may be sniffed and decrypted by a malicious user.
Page 47 of 271
Page 48 of 271
The following picture shows how Alice adds a MAC to her message before Bob receives it.
Firstly the received message is split by the algorithm running on Bob’s side into the original message and
the transferred MAC.
Next this algorithm uses the “Master-secret” key (see chapter: TLS Handshake) to generate an own MAC,
based on the original message. Finally, verification is done, to ensure that Bob’s MAC is equal with the
original MAC created by Alice.
Page 49 of 271
Page 50 of 271
WinCC OA can be configured to use Kerberos 5 protocol for authentication of managers and ensures
optionally an encrypted communication between the components of a WinCC OA project. This involves also
a mandatory SSO mechanism, CRC message check and a proxy mechanism controlled by OS mechanism.
Following example shows how an authorized user can access a service from a WinCC OA server host. The
AD controller holds the KEY Distribution Center (KDC) with Authentication Server (AS) and
Ticket Granting Service (TGS).
Page 51 of 271
1. User from client (Remote UI) wants to access a service from a WinCC OA server.
In a first step the user sends a message (as_request) with login name and name of the requested
service to AS (Authentication Server) in KDC (Key Distribution Center), to get a Ticket Granting
Ticket (TGT). This ticket is required to request a service ticket for WinCC OA server.
2. AS from KDC sends encrypted TGT to WinCC OA user (as_reply).
3. User sends encrypted TGT to TGS in KDC to request an application ticket for WinCC OA server
(tgs_request).
4. TGS sends encrypted session key with service ticket to access WinCC OA server, based on full
service principal name (tgs_replay).
5. User sends encrypted service ticket with timestamp to WinCC OA Server (ap_request).
6. WinCC OA server accepts request and grants service for WinCC OA user (ap_replay).
Interesting points in usage of Kerberos:
• All configured services (WinCC OA server) need to be configured in Active Directory and Service
Principal Names (SPN) need to be configured.
• Kerberos must run always: A redundant concept must be implemented via IT infrastructure
measurements to avoid a single point of failure.
• All passwords are encrypted with the same key (Kerberos master key).
• Lifetime of a TGT is configurable; the default value is eight hours.
A system could be vulnerable if a TGT is stolen during this period.
Page 52 of 271
The following aspects enable the security concept in automation plants described here to become effective:
• The use of robust and system-tested products having a high degree of availability, a basic hardening
(e.g. IP hardening) and predefined security settings.
• Customization that uses current techniques and standards facilitates system design adapted to the
security needs.
• The effectiveness of the security solutions is achieved only with diligent and responsible operation of
the systems and components. In addition, they must be used following the typical application
specified by the manufacturer.
Page 53 of 271
A plant shall be split into different Security Cells. Security Cells and Network Architecture
A plant shall regular get updates to close newly Patch management and security updates
discovery security gaps.
A plant shall record security-related and Logging, audit, maintenance and asset
process-specific data management
A process to recover from a disaster shall be Implement Backup and Restore concept
defined.
A continuous Risk assessment process shall be Implement Risk assessment process based on
implemented. VDI/VDE 2182
Important for every security solution is the usage of highly available network periphery that is provided by
various manufacturers. The corresponding manufacturers must clarify the reliability of the components. ETM
professional control GmbH cannot give a binding statement to the compatibility between WinCC OA and the
components of special manufacturers.
Siemens for example supplies components of the SCALANCE product family from SIMATIC NET. Detailed
information on SIMATIC NET as network periphery can be found on the Siemens Website:
http://w3.siemens.com/mcms/industrial-communication/en/scalance/Pages/default.aspx
(acc.: 27h March 2019)
Page 54 of 271
• Prevent the impermissible data traffic to the process control and visualization systems
• Enable permitted data traffic and thus the normal operation of the process control and visualization
systems
Access points can be:
Protects the production control network PCN and enables the primarily
certificate-based, encoded and signed access to individual trustworthy
Back-end Firewall remote stations and networks (e.g. MON of the manufacturing execution
system, MES) and the remote and support access to the PCN.
Three homed- Combined front-end and back-end firewall with certain "Minimal Perimeters"
Firewall for scalable security solutions
The design of the security cells and networks should also limit the scope of responsibility of the system
operator precisely (e.g. with respect to the IT administrators of the ECN and office networks). This means
that the system operator must clearly have the administrative rights and obligations in his security cell. It
needs to be decided which security cells and network design should be implemented. This decision, in
general, is influenced by the significance and size of a system, its spatial division, the risk obtained and the
budget available.
CAUTION
It is essential to use and configure reliable network equipment (e.g. Switches) with hardened
configuration to avoid negative impact caused by an attack. The documentations of the network
equipment can give enough help to protect the network against DOS and other attacks to the
network.
Page 55 of 271
• A plant is called "highly secure" if it has a high amount of possible number of security layers (e.g. the
combination of front-end and back-end firewalls is more secure than a single firewall). This is
because in case the front-end suffers from a hostile take-over, the production-related network is still
protected by the back-end firewall.
• A plant is called "secure" if it has the basic security mechanisms (e.g. the perimeter technique of web
publication instead of direct access to the Webserver).
• A plant is called "large" if it has its own infrastructure (e.g. domain controller) or it is connected to the
information processing system of the organization.
• A plant is called "normal" (and thus, not given a special name) when it is configured as a classical
multi-user DCS process control system (without special infrastructure) and holds only rudimentary
connections or its own MES.
• A plant is called "small" if it is primarily a single-user or small multi-user system without connection to
other systems or to the information processing system of the organization.
To avoid this situation, it is recommended to run a machine within an own Security cell until the OS is
hardened with all available patches and prepared to run in an operative environment.
The following figure gives a simple illustration of a possible sample for the structure of a large and highly
secure production plant. This example shows only a possible solution and it does not show the mandatory
configuration for secure systems.
• The upstream perimeter network belonging to the plant's scope of responsibility (orange network),
protected by one front-end and one back-end firewall.
• The office and business network office LAN (red network) is secured by its own firewall
All three production-related areas (marked in red, orange and light blue) are secure network systems,
secured as security cells, and can work independently for a specific period. They have their own domain
controller
Page 56 of 271
The support and remote access may take place using multiple access types and paths. The access is
authenticated, authorized and logged centrally in the back-end firewall. More information on this is given in
the section Protected Maintenance Access.
Page 57 of 271
Page 58 of 271
• The system operation is maintained by two redundant WinCC OA servers as a WinCC OA DRS system in
the PCN. The PCN is separated into two different locations. Visualization is performed by two distributed
clients who are also configured inside the PCN.
• Archiving of historical data in the database is done in an Oracle–RAC where the archived data is written
to a SAN system. Data replication is configured via WinCC OA DRS System.
• Administration and authentication within the PCN via Active Directory using its own and independent PCN
domain (production domain) with primary domain controller (PDC) and backup domain controller (BDC).
Important network services are provided within the PCN, for example:
o Name resolution (IP address, host)
o Address allocation (IP address)
o System clock synchronization (NTP, SNTP): In WinCC OA the data transmission uses time stamps.
Depending on the time stamps logical decisions are made for the processing. Therefore, it must
synchronize the system time on all clients, PLCs, RTUS and modules. The system time progress must
be constant.
• Inside the perimeter network (PN) the application gateway is used for publishing the process control data.
In this example following services are used
o WinCC OA HTTP-Server (WinCC OA Webserver) with the complete process diagram for the
visualization on the WinCC OA Desktop UI inside the Enterprise Control Network
o WinCC OA OPC server for transmitting selected data (OPC items) to other OPC clients.
o The virus scan server inside the PN
o WSUS server to deploy Microsoft® Windows updates to receive updates from Microsoft®
o Linux Mirror Server to receive CentOS® packages and make them deployable for all Clients on a
CentOS® based platform.
o SCCM Server to deploy updates within the system.
• Remote trustworthy clients and servers of the process control system (e.g. Webserver, MES server),
without direct process data link, are integrated via encoded SSL/TLS communication in the PCN security
cell. The authentication takes place mutually via certificates; the back-end firewall allows IPsec traffic that
has been set up.
• Non-trustworthy devices in the ECN office network receive user-dependent access to web publications of
the production system in the perimeter via the front-end firewall. The authentication takes place via an
encoded connection on the server side with a username and password.
• Trustworthy users of the MES production planning area, who work in the ECN office network, may be
granted access to data for selected applications via firewall client software of the front-end firewall. The
use of these applications depends on whether the application can take over the function of the firewall
client
• The access of the external support stations is performed over specific nodes inside the back and front
firewall. The required ports for communications between the zones need to be configured on these
firewalls.
Page 59 of 271
Page 60 of 271
The following figure gives a simple illustration of the structure of a secure and small production plant with the
following areas marked in color:
• The PCN (green network).
• The office and business network, ECN (Enterprise Control Network: red network) secures itself
optionally via its own firewall. This assumes that the access of non-trustworthy computers to the
WAN/Intranet will not always be controllable.
• The WAN/Intranet stands here as an example of the organization's own network that is configured to
allow remote access.
The production-related area, that is the application area of the
WinCC OA ULC UX / WinCC OA HTTP-Server, is secured as a security cell.
In general, the system structure of small security-relevant systems consists of multiple WinCC OA
workstations with remote user interfaces and a WinCC OA server. Active authentication method is SSA
(see chapter: Server-Side authentication)
Note:
Systems that are used exclusively within a security cell should not be connected to an external
unprotected network unless there is a compulsive need to do so. The only exception is access for
maintenance. The following is applicable, in principle: One or more single user systems with direct
connection to the process operation should not be run in an unprotected network (that is, beyond a
security cell). The reason for this is that in case of just one possible threat to the security, the
process control is endangered (too few security layers).
The support and remote access for maintenance may take place via multiple access types and paths.
However, it must always be authenticated and authorized for this security cell centrally at the added firewall
(access point firewall).
Page 61 of 271
WinCC OA Firewall
Support Station Office PC
WAN
WinCC OA
Support Station
Firewall
Accesspoint
WinCC OA
WinCC OA Desktop UI
Client
WinCC OA
WinCC OA Server Webserver
Page 62 of 271
ATTENTION
All tunnel mechanisms and firewalls are potential "predetermined breaking points" of the network.
If a DoS attack is recognized the firewall is put into a safe state resulting in a heavily reduced data
transmission. All plant sections must be designed to be able to continue operation in case of a security cell
failure.
• At all access points (back-end firewall, Three-Homed firewall and access point firewall)
• At the security cell subscribers (local IPsec filter rules of the individual operating systems)
• At the security control devices (SIMATIC SCALANCE S, product series of the security modules)
Page 63 of 271
The figure shows a security cell link of the CSN implemented for "Industrial Ethernet" (WinCC OA S7 driver)
with security modules.
Page 64 of 271
Page 65 of 271
The provided example shows three different security cells realized by usage of the WinCC OA mxProxy. In
this case the WinCC OA mxProxy runs on a dedicated machine inside from Security Cell one which is
defined as Master Cell. Each other WinCC OA server runs without a WinCC OA mxProxy manager.
The two other security cells set up a connection to the dedicated machine (WinCC OA mxProxy) inside
security cell one. This machine is also defined as predetermined breaking point. It is necessary that this host
can establish a connection to the WinCC OA hosts running in security cell two and three.
An attack could result into a fail of the WinCC OA mxProxy machine which disables the communication
between the security cells but keeps the internal communication active.
Figure 26 - Sample configuration for security cell connection via a single WinCC OA mxProxy
This figure above shows only a possible way to implement a security cell architecture based on WinCC OA
mxProxy manger.
Page 66 of 271
ATTENTION
There is no mandatory recommendation about the split of security cells provided by ETM
professional control GmbH. Every implementation on site needs to fulfill special requirements from a
security point of view. This means the security design for each site typically has a unique
architecture.
Also consider chapter: “Usage of mxProxy and restriction of open ports and limitation of the IP access list”
inside this document.
To protect the overall system from this negative impact it is recommended to protected electricity grid based
on following standards:
Page 67 of 271
Access technique:
o Secure Web Publication
o Secure integration of manufacturing control
Access technique:
o Secure data exchange
o Secure Web Publication
• Maintenance or Support:
All engineering activities, upgrades or changes of the process control system, as well as error
diagnostics and correction. Monitoring and archiving of diagnostic information, data backups,
updates or fine tuning of configurations.
Access technique:
o Protected Maintenance Access
• Realtime data:
Combination of "Data exchange" and "Realtime controlling"
Access technique:
o Secure Web Publication
o Secure integration of manufacturing control
o Secure data exchange
Page 68 of 271
Webservers can be provided by various third-party suppliers, e.g. the Apache Webserver from the “Apache
Software Foundation” or the Microsoft® Forefront Threat Management Gateway Server (TMG) server
from Microsoft®. For these Webservers various security solutions, e.g. in combination with OpenVPN are
available. Further details can be found on the homepages of the Webserver provider.
An example of a configuration with WinCC OA is given with the Hide secure network behind a Reverse Proxy
chapter.
Page 69 of 271
ETM provides a default configuration for this service with the CTRL script webclient_http.ctl. It is
recommended to run this service as predetermined breaking point with an own CTRL Manager running
within a DMZ (see chapter: Highly Secure Large System). The start mode for this CTRL Manager needs to
be set to “automatic” to ensure that it is started and running while the project is in run mode.
Usage of WinCC OA HTTP-Server feature allows the automatic deployment of scripts, panels or
configuration files to the requesting client machines. This feature enables a kind of comfort but to avoid a
negative security impact; following recommendations need to be considered:
1. Encrypted panels and scripts need to be used for security relevant tasks,
see chapter: Script and Panel Encryption.
2. A Desktop-UI needs a local cache of all project related files including the required certificates, to establish
a connection to the WinCC OA server. A WinCC OA HTTP-Server automatically deploys the required
certificates for the WinCC OA mxProxy to the requesting client:
This means a client can use the same certificates as the WinCC OA HTTP-Server host for the WinCC OA
mxProxy communication. To avoid a negative security impact one of the following recommendations,
need to be considered:
a) Usage of Microsoft® Windows Certificate Store (see chapter: Windows certificate store).
With this feature enabled it is necessary to create and import the client certificate for the client
machine.
This disables the functionality of the default certificates inside the config folder from the WinCC OA
HTTP-Server project. Although the three mentioned files are still deployed by this server to the client.
They will have no functionality and are useless for an attacker. Another benefit is that the certificates
inside the store are protected via OS based mechanism.
Although this is the recommended configuration for all Windows based system, this is not applicable
for a Linux or Mobile OS (Android, iOS).
With the actual version from SIMATIC - WinCC Open Architecture 3.16 FP2 (P009) only the Windows
certificate store is supported.
Page 70 of 271
The path to this certificate must to be configured via “sslCertificate” config entry. This functionality
will use the certificates inside this specific and secured folder for the authentication mechanism
instead the default certificates. This allows the WinCC OA HTTP-Server host to keep his private
key for WinCC OA mxProxy communication secret.
Following example shows where certificate and private key are loaded from data folder of a project
instead of the config folder:
For the client machines it is necessary to create own certificates and deploy them manually to the
client machine. Although there is no existing functionality in WinCC OA to make this step
automatically it is possible to implement a tailored mechanism which fulfills the given requirements
by the customer.
To ensure a correct reading of the certificates for a client machine it is necessary to configure the
“config.webclient” on WinCC OA HTTP-Server with a folder that exists on the client host.
This manual configuration makes the default certificates obsolete and closes the attack vector for
the certificate theft from a client.
Page 71 of 271
The ULC UX uses browser technology to display plant information on a device without any need of
installation on the client device.
This ULC UX is useable in an unsecured environment (see chapter: Intended operational environment (UI))
because no code is executed on client side.
A web browser sets up a connection to the WinCC OA HTTP-Server running in a secure environment. It is
recommended to run this server inside a DMZ as a predetermined breaking point. The complete logic is
handled within this secured zone and only the visualization information is transferred to the web browser.
Although a single WinCC OA HTTP WinCC OA server can provide information to multiple clients, it may be
possible that a several number of clients could cause scaling problems.
Those problems can be solved via the Load-Balancing feature from ULC UX servers. In that case it is
necessary to start multiple WinCC OA httpServer projects (on different hosts) to ensure a good and reliable
scaling.
A configurable load balancing function will help to distribute the load between the different Webservers.
Reference tables / Configuration file / Entries for different sections / [httpServer] / loadBalance
The amount of necessary WinCC OA HTTP-Server inside the DMZ depends on the amount of user
interfaces and the typical load inside a WinCC OA panel (e.g. dynamic elements in a panel). The correct
amount needs to be evaluated for each project separately.
• When protocols and mechanisms are used for internal data exchange, which was developed for
operation within local networks and domains (e.g. OPC / SQL / ODBC).
• The mutual authentication of encrypted communication is made via X.509 based certificates.
• The authorization is made with OS-based and application-specific access rights.
Page 72 of 271
• Data made available for the plant (e.g. documentation, PCS updates, device descriptions)
Page 73 of 271
To ensure the maximum possible security for the system to be kept, every access must be authenticated and
authorized. This can be done centrally at the access point firewall using a combination of multiple techniques
and security mechanisms. A "direct dial-up" to the device supplies too weak testing options and hence, it is
not recommended.
Depending on the type of the dial-up planned – whether local or via remote – and the maintenance access,
there are different requirements and solutions depending on the risk level expected.
A secure or protected network connection, a connection via a VPN client, is used as the basis for
maintenance access.
Compared to local dial-up, the following other factors must be taken into consideration:
Page 74 of 271
• Administrative access
High risk level since full access is available to the complete systems
• Authentication ensued via server-sided encryption (for example: HTTPS) via username, password
and certificates.
• Authentication is OS based and specific for a web application. It is necessary to adjust the
hostname/IP addresses with the local OS system to access the connected WinCC OA system.
• Remote desktop (VPN client with remote desktop for MES, OS or any but uniquely defined target
system)
• Remote terminal (VPN client with access to the terminal server and the applications released for this
purpose in the terminal client)
The authorization for the maintenance tasks takes place via username and password at the maintenance
software or at the terminal.
Page 75 of 271
• A protected maintenance access should be performed by using a VPN connection to the firewall.
The security for the connection (e.g. encryption level) must be selected depending on the level of
risk.
• The VPN dial-up is authenticated with the help of username and password at the firewall. The firewall
verifies this login.
• If the access to the software of the process control system takes place with a specific support PC,
the support PC connected via VPN can be secured like a remote process control computer.
• If administrative access or, in fact, access to the CSN is necessary, this should be done only via
remote desktop, net meeting or remote support to selected plant PCs and the stationary MES.
Page 76 of 271
Any possible security threat can be restricted effectively only if each individual member of the security cell is
hardened. The following measures are necessary for hardening:
Although a virtual environment (e.g. running on an ESXI server) extends the configured environment,
additional security requirements need to be considered.
An own catalogue of security settings are usually published by vendors of the chosen virtual infrastructure,
e.g. VM-Ware offers a few suggestions regarding the configuration on their Web-page.
https://docs.vmware.com/en/VMware-vSphere/index.html (acc.: 27th March 2019).
6.2.1.1 Shutting down/Uninstalling services that are not needed under Microsoft® Windows
A general list of not needed services cannot be given for a WinCC OA project due to the dependencies of
the plant configuration of the customers. It is to consider if a service is needed. Examples for services that
can be disabled in most of the cases:
1. “Wireless Zero Configuration”
Service for the configuration of wireless services to Windows
2. “Domain Time” or “Windows Time”
If a custom tool is used for the synchronization of the system clock
3. “CD/DVD-Autorun”
Automatic start of auto run files of inserted CD/DVDs
4. “SNMP Service”
SNMP poses a security threat on network level and should only be activated if it is needed for the project
solution. If SNMP is needed following chapter should be considered:
Restrict SNMP driver communication to SNMPv3
Page 77 of 271
Type the following command to list all services which are started at boot time in run level # 3 on a CentOS
machine:
To disable a service currently running the following command can be used on CentOS:
If a service should not be started during an OS startup procedure, following command needs to be executed
on CentOS:
chkconfig serviceName off
It is recommended to disable the SSH Daemon and the Bluetooth service if none of that is needed. Both
services could be disabled in following way, on CentOS:
• WLAN, Bluetooth
• USB, Firewire, etc.
Page 78 of 271
It is possible to activate SMB signing for Windows and for Linux systems:
• Microsoft® Windows:
Local Security Policy: Security Settings → Local Policies → Security Options →
Microsoft network server: Digitally sign communications (always) --> Enabled
• Linux CentOS:
Configuration is possible by changing the file: /etc/samba/smb.conf with following line:
server signing = mandatory
Note:
According to Microsoft® an activation of SMB packet signing can degrade the performance up to 15
percent.
https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-
2003/cc786681(v=ws.10) (acc.: 27th March 2019)
Page 79 of 271
• Restrict local access to files, registry settings (only Microsoft® Windows), shared files/folders and
databases (Oracle, SQL-Server) for individual and known local groups, users, services and applications.
To get a higher security level while using WinCC OA, it is recommended to restrict the access privileges
of user groups on the file system layer. ETM professional control GmbH differentiates in this
recommendation between server (host system where the WinCC OA project with Data- and Event
Manager is running) and workstation (host system with a remote UI).
<proj_path>/data
<proj_path>/log
<proj_path>/log
<proj_path>/db
All directories
All directories
Project folder
Project folder
Project execution account X X W W W X X W
Plant administrator WX WX W WX WX WX WX W
Operator R R W
Table 6 – User authorization on folder level
Legend:
• W → Write access
• R → Read access
• X → Execute access
• Project execution account: User which executes the project on site. This user may also be a machine
account like “NETWORK SERVICE” if the project runs as service
(see chapter: Start a WinCC OA project as a service).
• Plant administrator: Administrator on site which is in responsibility of the deployment and maintenance
of the project.
• Operator: Operator on site which operates the system, usually running in kiosk mode with limited
privileges.
Page 80 of 271
Page 81 of 271
This functionality may be extendable by usage of digital signs, implemented by an integrator or asset owner
on site. An approach is applicable for all files like panels, scripts, compiled libraries or executables created
by API interface. Finally, all used files on site should have a digital signature.
To sum it up it is recommended to use Application Control software which allows the verification of signed
files.
SIMATIC - WinCC Open Architecture 3.16 FP2 (P009) has been tested with the following Whitelisting
software:
Page 82 of 271
• CTRL + ALT + TAB → Opens Dialog to lock machine, shutdown machine, etc.
• Windows Key → Open Start menu
A complete list of shortcuts which can be used to escape the Kiosk Mode can be given by OS manual.
Page 83 of 271
Another source of useful information is also available by the BSI (Bundesamt für Sicherheit in der
Informationstechnik). Here is a start link to the provided service:
https://www.bsi.bund.de/EN/TheBSI/thebsi_node.html (acc.: 27th March 2019)
• Control flow
• Fix coded values for first values or keys
Different obfuscation tools from different vendors can offer divergent functionalities. Here is a small choice:
• 2LKit Obfuscator
• Cloakware
• ConfuserEx
• The Marvin Obfuscator
• Zelix KalssMaster
Page 84 of 271
Due to historical reasons some features from WinCC OA like the OPC DA driver needs DCOM to set up a
connection between the different parts of a plant. Based on this information it is recommended to select one
of the following options.
1. Disable DCOM: This is the recommended way if DCOM is not used at all in the entire system
2. Hardening DCOM: If DCOM is needed it is suggested to implement hardening to reduce the threat
caused by this vulnerability.
Page 85 of 271
But in dependency of the plant environment this approach is probably not possible and a remote connection
between an OPC DA client and an OPC DA server is needed. Details about the configuration to set up a
communication are available within the WinCC OA documentation.
Drivers / OPC Data Access / Initial setup of OPC communication / DCOM settings for Remote
Servers
The negative effect of the described configuration is that it weakens the security configuration on OS level
and allows remote access of users without privileges like anonymous or everyone. This approach allows a
remote attack from malicious users via this open interface and therefore this setting is only recommended in
a full secured environment where an access from a malicious user is not possible. The following figure
shows a possible attack scenario via this open interface.
The following description in chapters Usage of secure tunnel to avoid remote DCOM communication and
Usage of hardening guideline for OPC DCOM can give a hint to avoid or reduce this attack scenario.
Page 86 of 271
Different vendors offer options for OPC tunneling, the integrator or the asset owner must choose which
solutions can fulfill the requirements on site. A possible solution is offered by the OPC Training institute with
OPC Expert.
Page 87 of 271
Regarding the hardening of the DCOM interface itself we can suggest the OPC Security Whitepaper from
“byres research”. This whitepaper is hosted by the SCADAhacker webpage (login required):
https://scadahacker.com/library/Documents/OPC_Security/OPC%20Security%20-
%20Hardening%20Guidelines%20for%20OPC%20Hosts.pdf (acc.: 27th March 2019)
To ensure the working functionality it is necessary to trigger the startup of WinCC OA OPC DA server by the
OPC DA client. A startup via WinCC OA console would start this OPCDA-Server with the local permissions
of the WinCC OA Process Monitor and this could result into issues caused by a wrong set of privileges.
Drivers / OPC Data Access / Initial setup of OPC communication / DCOM settings for Remote
Servers
This figure shows a symbolic implementation of a Reverse-Proxy which controls the communication between
a Web Server from a secure network with the internet.
Page 88 of 271
Based on this whitepaper it is possible to suggest a configuration for the usage of an Apache Reverse-Proxy,
which holds following parts:
• WinCC OA project runs on two redundant WinCC OA server controllers inside the PCN.
Data- and Event manager accepts WinCC OA messages without SSL-encryption
(config entry: mxProxy = “none”).
• Certificates for WinCC OA mxProxy, WinCC OA HTTP-Server and WinCC OA Servers are deployed.
• Root certificates are imported in “Trusted Root Certification Authorities” on client machine.
Page 89 of 271
ATTENTION
The communication between PenTestProxy to all three WinCC OA servers is not encrypted.
This applies also to the communication between the WinCC OA server machines (remote CTRL
Manager with WinCC OA HTTP Server and both REDU managers) which communicates not
encrypted. Therefore, it is necessary to protect this unencrypted communication with IT
infrastructure measurements.
The basic configuration for the Apache server is already applied as recommended in the whitepaper. For the
configuration following content in the configuration file (/etc/httpd/conf/httpd.conf) could be used:
Listen 80
<IfModule mod_ssl.c>
</IfModule>
Page 90 of 271
# Proxy functionality for webSocket communication (ws and secure wss (secure websockets)
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
# Proxy functionality for SSL communication via the Apache HTTP server
LoadModule ssl_module modules/mod_ssl.so
ProxyPass / http://PenTestWEB/
ProxyPassReverse / http://PenTestWEB/
</VirtualHost>
## reverse proxy setting for https communication
AllowCONNECT 443
<VirtualHost *:443>
##### SSL Configuration with https certificates created for WinCC OA HTTP Server
SSLEngine on
SSLCertificateFile /opt/WinCC_OA/cert/certificate.pem
SSLCertificateKeyFile /opt/WinCC_OA/cert/privkey.pem
SSLProtocol All -SSLv2 -SSLv3
SSLHonorCipherOrder on
SSLCompression off
ProxyPass / https://PenTestWEB:443
ProxyPassReverse / https://PenTestWEB:443
</VirtualHost>
Page 91 of 271
Page 92 of 271
Figure 34 - Start page from WinCC OA HTTP-Server with trusted certificate via Apache Server
Page 93 of 271
This situation can be avoided by usage of the ULC UX as a client solution via Apache proxy with a complete
end to end encryption. In this case the WinCC OA mxProxy applies on both WinCC OA server hosts and the
communication is completely encrypted. This is possible due the behavior of the https communication
between ULC UX client and WinCC OA HTTP-Server. The ULC UX features uses WebSocket technology to
upgrade https communication from the initial connect to a secured web socket communication. And this
needs to be configured on the Apache proxy server. The suggested configuration is based on this
architecture:
• Apache Reverse-Proxy is configured to send and upgrade the https communication to web socket
secured (wss).
• Certificate files are deployed on all server machines including Apache server
• Host with ULC UX client has imported the root certificate into the “Trusted Root Certification
Authorities” store.
Page 94 of 271
The figure above shows https/wss communication between ULC UX client to WinCC OA HTTP-Server and
SSL communication to both WinCC OA servers. Details about functionality of ULC UX are available within
WinCC OA documentation:
WinCC OA UI / ULC UX
To ensure a working communication via Apache proxy following settings needs to be configured for the
Apache configuration file (/etc/httpd/conf/httpd.conf for CentOS®):
Page 95 of 271
# Proxy base module which is necessary for all the other proxy modules
LoadModule proxy_module modules/mod_proxy.so
# Proxy functionality for webSocket communication (ws and secure wss (secure websockets)
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
# Proxy functionality for SSL communication via the Apache HTTP server
LoadModule ssl_module modules/mod_ssl.so
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
SSLProxyCheckPeerCN off
SSLVerifyClient none
SSLProxyEngine on
SSLProxyVerify none
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off
</IfModule>
This section configures the message transfer via incoming port 443:
AllowCONNECT 443
<VirtualHost *:443>
##### SSL Configuration #####
SSLEngine on
SSLCertificateFile /opt/WinCC_OA/cert/certificate.pem
SSLCertificateKeyFile /opt/WinCC_OA/cert/privkey.pem
</VirtualHost>
Page 96 of 271
Page 97 of 271
ODA is available up to a two-node plug-and-play RAC cluster. Oracle Standard Edition 2 (within Oracle VM)
and Oracle Enterprise Edition are fully supported and certified to run on every ODA; it reduces typical
deployment times from weeks to less than a day. ODA uses also best practices for operating system and
database security to fulfill the given security requirements. (Fernandez, 2015, S. 69)
For a secure configuration of an ODA different configuration attempts are possible. Different suggestions
regarding hardening are available by different vendors. One example vendor is the DOAG group
(https://www.doag.org/en/home/ (acc.: 05th February 2019), which has published following document during
an exhibition from 20th to 23th November 2018:
https://www.doag.org/formes/pubfiles/10852341/2018-Infra-Tammy_Bednar-
Oracle_Database_Appliance_built-in_Security_features_-Manuskript.pdf (acc.: 05th February 2019).
Methods for improving the security maturity for the selected Oracle solution needs to be provided by an
Oracle specialist. This is part of “Industrial IT Security Services” from a Defense in Depth concept
(see chapter: Defense in Depth).
Different Hardening Guideline are also provided by Oracle itself. Due to the situation that this document
cannot give specific recommendation regarding hardening of Oracle it is recommended to consult an Oracle
specialist to implement specific security requirements.
Page 98 of 271
Figure 38 - SELinux
The figure above shows how a process tries to request an action from an object (e.g. manipulation of a file).
The request is checked inside the Linux Kernel by SELinux Modules. After a successful check, the access to
an object is granted and the activities are performed. A denied access is logged as a security relevant event
and can be analyzed. It is recommended to keep the default setting with the enforced mode of SELinux. In
some special cases it may be necessary to change the mode to permissive, but this could reduce the overall
level of security at the configured system.
Page 99 of 271
/etc/selinux/config
According to NSA it is essential that end systems (with a running WinCC OA application) can separate
information based on confidentiality and integrity requirements to provide a secure system. Security
mechanism which are implemented into an OS are the foundation of this separation (NSA, 2019).
CAUTION
A disabled SELinux layer could result into a Security threat because unfortunately, existing
mainstream operating systems (without SELinux layer) lack the critical security feature required for
enforcing separation: mandatory access control. Therefore, application security mechanisms are
vulnerable to tampering and bypass, and malicious or flawed applications can easily cause failures in
system security (NSA, 2019).
ATTENTION
Encryption of panels and scripts is very important for all Desktop UI projects
(see chapter: WinCC OA HTTP-Server). Because they are responsible to deploy the required panels
and scripts to the requesting clients.
The files are transferred in the same state as they are placed inside the server project. This means
an unencrypted panel is also transferred and saved unencrypted on the client.
To avoid a security incident caused by clear text panels and scripts it is recommended to encrypt all
security relevant panels and scripts on the WinCC OA HTTP-Server project.
Special functions / Encryption of Panels and CTRL Scripts / Encryption of Panels and Encryption of
CONTROL scripts/Libraries
Due to security reasons the default settings for the Process-Monitor (WCCILpmon) limit the access (HTTP,
TCP) only to the local machine.
For detailed information please have a look in the SIMATIC WinCC Open Architecture Portal:
https://www.winccoa.com/forum/ (Section Security/TOPIC: Security Advisory Report)
To re-enable the access from any computer following config entry is needed:
[pmon]
localAddress = ""
# allow access for the local computer and the IP address 192.167.153.122
[pmon]
# deny access for everyone
ip_deny = "*"
Further IP addresses of trusted computers can be added by more ip_allow entries. Depending on the
requirements an access limitation is also recommended for other WinCC OA managers.
Configuration setting for remote PMON access needs to be designed very carefully because http-
Server from PMON communicates only via http protocol and not via https. A secure configuration on
IT-Infrastructure level is mandatory to prevent the system from a security threat.
6.2.2.4 Usage of WinCC OA mxProxy and restriction of open ports and limitation of the IP access list
Restrict the external accessibility of services to known devices or external applications by a local firewall via
specified network addresses and protocols or an access authority.
The list of the open ports can be checked with the “netstat” command within a command shell on Windows
and Linux systems.
Using the port security allows to limit the access via the network by using IP access lists.
The restriction of access should be configured in the firewall settings. All ports should be closed except the
port for the WinCC OA mxProxy which is necessary for the WinCC OA manager communication. This port is
configurable.
Port Protocol Description
5678 TLS/SSL WinCC OA mxProxy
Table 7 – Port WinCC OA mxProxy
• TCP: TCP is used for the communication inside the secured network or inside a security cell.
Figure 39 - Schematic graphic of the communication using the WinCC OA mxProxy with a remote UI
The advantage of using the proxy is that only a single port must be opened inside the firewall.
More ports must be opened when using following functions from WinCC OA:
Following example configuration shows the usage of a distributed communication between different WinCC
OA systems via a WinCC OA mxProxy manager.
The architecture above shows a possible example for communication between 3 different WinCC OA
systems via Dist Manager and a single WinCC OA mxProxy. In this example the machine Server1 inside
from security cell 1 sets up an SSL connection to Server2 and Server3 inside security cell2. Server 3 sets up
a direct and unencrypted communication to server2 inside the same security cell.
A failure of the WinCC OA mxProxy will disconnect the Dist Manager communication between Server1 to
Server2 and Server3 and the communication between Server2 and Server3 still is active.
ServerSystem1:
No WinCC OA mxProxy running on this machine. The necessary entries for the config file are:
[general]
distributed = 1
mxProxy = "none"
[dist]
mxProxy = "192.168.107.200 192.168.107.105:5678 cert"
mxProxy = "192.168.107.202 192.168.107.105:5678 cert"
distPeer = "192.168.107.200" 2
distPeer = "192.168.107.202" 3
ServerSystem2:
No WinCC OA mxProxy running on this machine. The necessary entries for the config file are:
[general]
distributed = 1
mxProxy = "none"
ServerSystem3:
No WinCC OA mxProxy running on this machine. This machine sets up also a dist connection to
ServerSystem2 and therefore an added distPeer entry is necessary in comparison to config file from
ServerSystem2. The necessary entries for the config file are:
[general]
distributed = 1
mxProxy = "none"
[dist]
distPeer = "192.168.107.200" 2
mxProxySystem:
This machine has only a WinCC OA mxProxy manager from WinCC OA and nothing else. Needed config
entries for the suggested configuration are:
[proxy]
server = "192.168.107.200:4777"
server = "192.168.107.202:4777"
For a default configuration with activated authentication following authentication methods are possible:
• Basic: Needs a Login of a configured user in WinCC OA. Username and Password are stored inside
from Web browser.
• Negotiate: This method requires a ticket granted by a Kerberos KDC for authentication.
(see chapter: Usage of Kerberos) .
• NTLM: This method can be used if a Kerberos KDC is not available for “Negotiate” method. NTLM
is an authentication method which uses a challenge and response protocol where Windows
credentials are used for a Login to WinCC OA.
• Usage of IP addresses instead of DNS names if the client applies outside of the DNS zone where
hostnames cannot be translated to IP addresses.
• Unlock every device in WinCC OA Device Management to allow a connection between client and
server
WinCC OA UI / Desktop UI
WinCC OA UI / Mobile UI Application / Device Management
It is possible to access the WinCC OA Desktop UI via Apache proxy redirection and in this case the correct
configuration for visible IP addresses from outside of the trusted network must be mentioned. This feature
will increase the security level of the site since the real IP addresses are not visible from outside the secure
MCS network.
ATTENTION
The default certificates provided by ETM professional control GmbH allow an easy distribution of
WinCC OA projects. Those certificates can be compared to a default password
(see chapter: Password strength).
To avoid the risk caused by a default password, ETM professional control GmbH recommends the
replacement of those certificates. A WinCC OA project running on a plant must not run with the
provided default certificates, for security reasons.
WinCC OA provides the creation a customer specific CA with a configuration panel which can be used to
create certificates based on openSSL. This WinCC OA panel triggers the required openSSL commands from
WinCC OA to the local openSSL installation. This implementation is realized via WinCC OA “system()”
function. With this functionality it is possible to create X.509 based certificates without usage of the cmd-line
interface from openSSL.
ATTENTION
This WinCC OA panel uses only a small set of openSSL commands, to generate a CA and host
certificates.
It is not possible to handle e.g. a Certificate Revocation List (CRL) with this functionality. This
limitation may have a negative impact to the security maturity for the asset owner because it is not
possible to revoke a certificate in field.
In cases where extended openSSL commands are required, it is recommended to prefer the
command line compared to the WinCC OA panel.
In cases where the asset owner already operates a CA with X.509 based certificates the usage of this
certificates is the recommended choice. It may be possible that Security Measurements where already
implemented by the asset owner to protect their CA and so a creation of an additional CA to create
certificates for WinCC OA is not required.
ATTENTION
WinCC OA will not create an alarm if a certificate became outdated and so it is recommended to
configure a reminder to replace the certificates in time.
Depending on the security demands the WinCC OA proxy can be adjusted to needed level of security, e.g.
the redundancy partner can communicate directly while the communication to a distributed project (WinCC
OA Dist Manager) or a UI/Desktop UI is routed over the proxy and therefore is TLS/SSL encrypted.
The usage of the WinCC OA proxy is the default way for secure communication in WinCC OA. It is
automatically activated with every fresh installed WinCC OA project. Another way is the usage of the
Kerberos authentication method instead. This functionality can be configured and detailed information is
available in chapter: Activate encryption for WinCC OA for Kerberos authentication and Usage of Kerberos.
The ports can be configured in the config file for the WinCC OA project. This can be necessary if specific
ports are used by other applications or due to plant specific guidelines about the usage of ports.
The openSSL webpage (https://www.openssl.org/ (acc.: 27th March 2019)) show the complete list of
available options to create own certificates. More information can be given by openSSL wiki
(https://wiki.openssl.org/index.php/Main_Page) (acc.: 27th March 2019).
Due to the different options and opportunities of openSSL a deep knowledge of that library is essential for
the creation of specific certificates. This makes it necessary that the implemented command line interface
should only be used by experienced users. At this position ETM professional control GmbH cannot give a
mandatory configuration for the creation of those specific certificates. For all users without this deep
knowledge of openSSL ETM professional control GmbH suggests using the given WinCC OA panel for the
creation of own certificates. This will fulfill the majority part of all security requirements.
1. Open the SSL Certificates panel on WinCC OA server machine via SysMgm → Communication
a. Create HTTP root certificate
In Frame Root certificate click: “Create” and enter following data:
Certificate Type: “Certificate for WinCC OA HTTP-Server”
Destination Path: Select config folder from the actual project
Root keyfile password: Type a password, e.g.: “MakeYourProjectC4secure.KeepItSave!”
Expiration in: Select the lifespan of this certificate. The default value is approximate 3 years.
According to the given security requirements by the asset owner a correct lifetime needs to be
configured. It is suggested to give the CA a longer lifetime than the created host certificates. This
allows a defined process to renew the deployed certificates if required.
Country Code: e.g.: “AT”
Province: e.g.: “Burgenland”
City: e.g.: “Eisenstadt”
Organization: e.g. “ETM CA”
Department : e.g. “RD01”
CN Name : This is the Common name used in the certificate,
e.g. select a hostname: “example.server.com”
b. A click on “Create” button creates two new files, inside the config folder:
root-certificate.pem → this is the public root certificate file
root-privkey.key → this is the private root key and keeps the secret for SSL encryption.
These CA-files are used to sign host certificates and should be kept in a secured place.
It is important to keep the passphrase. Without that it is not possible to renew, revoke or create
new host certificates.
The root-certificate creation panel can be closed afterwards.
4. The entire project with these created certificates needs to be restarted without issuing any error in this
regard.
5. Establish Desktop UI communication
a. Start the “webclient_http.ctl” CTRL script on WinCC OA server machine
b. From client navigate to address to WinCC OA server via Internet Browser (Chrome, IE or Firefox)
and install the application, if necessary.
ETM recommends loading of the root CA certificates into the “Trusted Root Certification
Authorities” store of the browser. This makes the browser aware of any available certificates for the
project. This drops the certificate error from the URL where it is possible to download the setup for
Desktop UI.
c. A creation of a new project (default folder: [User folder]\.wincc_oa-cache) transfers the following
certificates from WinCC OA Webserver to the client machine
host-cert.pem, host-key.pem, root-cert.pem
A repeat of the descripted steps is necessary for every WinCC OA host. The other hosts can use the same
Root CA for their host certificates. It is strongly recommended to create all required host certificates on a
centralized machine with the Root CA and to copy them manually to the WinCC OA hosts.
Note:
It is noted that an open connection between WinCC OA managers (e.g. EVENT to UI, EVENT to
CTRL, REDU to REDU) is not closed, even if the certificate becomes outdated. The next connection
attempt will be denied.
Although an open UI connection stays open after a certificate expired, this cannot be behaved as a
security issue due following reason:
This session key was created by the client with the public key of the server. And the private key
of the server started the symmetric encryption.
WARNING
Especially the private key of a root CA needs special protection as mentioned by Kapil Raina
“The actual method of issuing certificates involves the CA using its private key to digitally sign the
incoming request for a certificate. By using the CA’s public key, anyone can verify the contents of
the certificate, ensure that the contents have not changed, and ensure that the certificate was
issued from a trusted source. The value of the entire CA process is in its brand and its ability to
protect its private key. Should the private key be compromised, it would cast a shadow of doubt over
all certificates issued by the CA, especially if the exact time of the compromise could not be
established. Furthermore, many certificates issued after the CA private key compromise would have
to be revoked, creating massive end-user logistical problem. Realistically, a compromise of a CA
private key would most likely lead to the end of the CA’s business because the brand would
severely tarnished.”
(Raina, 2003, S. 30)
This treat makes it necessary to keep the private key of a root CA always secure and if necessary,
to transfer it only via secure channels by IT infrastructure measurements like encrypted E-Mails or
storage devices.
The Microsoft Management Console (MMC) Snap in “Certificates” offers a way to store and distribute
certificates inside a Windows Platform. This system needs own certificates which combines the certificate
with the private key in a PKCS12 format.
With existing certificates already created using the WinCC OA certificate panel the following openSSL
commands will convert the required certificates:
• RootCA:
openssl pkcs12 -export -in root-cert.pem -inkey root-key.pem -out rootCert.pfx
• HostCerticate:
openssl pkcs12 -export -in host-cert.pem -inkey host-key.pem -out hostCert.pfx
The created certificate files are importable into the Certification MMC from Microsoft® Windows. The given
example uses the Computer Certificate store. To access this store, it is recommended to open the MMC
console as an administrator and select the “Computer account” for “Certificates” Snap-in. Usage of
“Computer account” is recommended to bind the certificate to a computer instead of a user.
To allow reading it is important to check the “Mark this key as exportable…” checkbox for the host certificate.
The root certificate must be part of the Trusted Root Certification Authorities and the Host Certificate should
be stored into the Personal Certificates. A successfully imported certificate will show the reference to the
private key and a verified certification path including a certification chain host to the certification authority:
To complete this example the following line needs to be added to the config file from the WinCC OA project:
[general]
securityMode = "winCert"
winCert = "MACHINE:MY:W2012_RCC_WEST"
winRootCA = "MACHINE:ROOT:RootCA"
This configuration reads the certificates from the Windows certificate store instead of directly from the file
and former activities about deployment could be applied.
The following screenshot shows how this configuration can be applied inside an MMC. Within the popup
menu, from the required certificate, it is possible to manage the privileges of private keys. The permission
settings of the required certificate show that a Read-Permission was granted to the group of
WinCCOAUsers.
If this way is chosen it is necessary to adapt the configuration and to read the certificate from the “USER”
store instead the “MACHINE” store.
[general]
securityMode = "winCert"
winCert = "USER:MY:W2012_RCC_WEST"
winRootCA = "USER:ROOT:RootCA"
ATTENTION
Those certificates are exportable and could be used by an attacker if he was able to hijack a
machine with valid certificates. The attacker could export the valid certificates and use them with a
different machine for an attack. Therefore, it is essential to consider the Defense in Depth approach
and to secure all machines to protect them from any theft or misusage. A theft device with a stolen
certificate should result into an intermediate task where all certificates need to be replaced to keep
the level of security and to prevent the hacker from doing any harm to the site facility.
Description: PenTestSRV01 runs with WinCC OA Data- and Event Manager including
WinCC OA mxProxy, PenTestWEB runs with a WinCC OA HTTP-Server and PenTestClient is a simple
Windows 10 client.
This means that the client can assure that the client is connecting to the correct server by usage of the
chainPrefix, only if the Server uses the certificates which the client chainPrefix config specifies the
connection is set up. To make this useable the certification Path of the server certificates and the client
certificates needs to be different. It increases the protection from a stolen certificate from a client where it
could be possible to use this certificate to decelerate the own machine as a server project to start a Man
in the Middle attack.
The config file configuration shown below is an example for the usage, the name of the RootCA is the 1st
position, the 2nd position gives the name of the certificate where a wildcard is automatically added, and
therefore a client certificate could also be named PenTestFirst or PenTestSecond but not PenMachine.
[general]
chainPrefix = "RootCA;PenTest"
[general]
chainPrefix = "RootCA;PenTest"
All those configurations will harden the system to allow only certificates that fit to the configured CN-
Name. All other names or contents are interpreted invalid and the connection is denied.
For security reasons it is important to protect the config folder to prevent them from altering by an
unauthorized user. This must be configured on OS level, see chapter: Access control.
A WinCC OA project can enforce the usage of a strong cipher with the config entry: “cipherSuiteList”. This list
contains a comma separated list of all cipher suites which can be used for communication. The server
chooses the first cipher suite of his list which is also offered by the client.
Although openSSL understands many different cipher suites, the list of useable cipher suites in WinCC OA is
limited, according to following table.
AES128-SHA Deprecated
AES256-SHA These cipher suites exist for compatibility reasons and must
not be used on secure systems due to a weak MAC algorithm.
AES128-SHA256 RSA Certificates and private keys are used for key exchange
AES256-SHA256 and partner authentication. Key exchange and authentication
are done with RSA.
DHE-RSA-AES256-SHA256 The Diffie–Hellman key exchange method allows two parties
DHE-RSA-AES256-GCM-SHA384 that have no prior knowledge of each other to jointly establish a
DHE-DSS-AES256-GCM-SHA384 shared secret key over an insecure communications channel.
Key exchange is done with DHE, while authentication is done
with RSA certificates.
Attention
These ciphers suites supports only communication via WinCC
OA mxProxy and not http communication via WinCC OA
httpServer.
cipherSuiteList = "ECDHE-RSA-AES256-GCM-SHA384,ECDHE-RSA-AES128-GCM-SHA256,AES256-
SHA256"
WARNING
The usage of cipher suite “AES256-SHA” with this config entry on a WinCC OA server will allow an
attacker to enforce the usage of a weak cipher. The following line gives an example for a weak
configuration of this config entry:
cipherSuiteList = "ECDHE-RSA-AES256-GCM-SHA384,AES256-SHA256,AES256-SHA”
An attacker has only to add following line on a client machine to enforce the usage of a weak cipher:
cipherSuiteList = "AES256-SHA”
This attack is possible because the client informs WinCC OA server that a communication via
“AES256-SHA” protocol is requested and WinCC OA server accepts it because it is inside the list of
valid and accepted cipher suits.
This attack scenario can be prevented by removing the weak cipher from the list of acceptable
ciphers on the WinCC OA server. In this case the WinCC OA server denies the connection, when a
client understands only a weak cipher.
A set of authorization levels are predefined in WinCC OA and used in some panel for a client-side
authentication check by usage of the CTRL function getUserPermission(). Among other things those
permission bits are used to check if a user has the permission to open a specific panel (e.g.: SysMgm).
Beside the client-side panel check it is also possible to implement a server-side authorization check by
adding _auth configs to datapoints (see chapter: Add authorization config to Datapoint).
1. Visualization: This permission bit allows the reading of panels. This authorization
level is declared as 'bit 1'.
2. Operating authorization: This permission bit allows to open detail panels. This authorization
level is declared as 'bit 2'.
3. Extended operating authorization: The user can execute commands, set substitute and correction
values and change ranges of values.
4. Administration: The user can use the module 'PARA' (for the configuration of the
data model). Further the WinCC OA System Management can be
used for the configuration of the plant.
Those authorization levels can be altered, or additional levels can be configured during the development of a
WinCC OA project by the Integrator. This approach offers a way to implement a tailored authorization check.
Note:
The operation authorization "authorization level 2" as 'bit 2' is linked to the "authorization level
1", the 'bit 1'.
The level 'bit 2' for opening panels can be assigned only if the authorization level 'bit 1'
(Visualization) has already been defined as the operation authorization.
Bit32 has a special meaning and is used to configure the Single Sign On functionality (SSO) for
workstation hosts (see chapter: Single Sign On).
This permission bit can be evaluated within WinCC OA in the following way.
CTRL function getUserPermission() with a permission bit as parameter checks if the actual user has the
required permission bit. With this function it is possible to create a project specific CTRL code to limit the
navigation and control permission to a limited number of authorized users.
Due to compatibility reasons it is not possible to provide a configuration database with fully configured _auth
config settings. It is recommended by ETM professional control GmbH to protect system essential Datapoints
with an authorization config to make a Server-side authorization check possible and to avoid the risk that
unauthorized users gain control of the client. Most of the internal WinCC OA Datapoints are protectable via
an authorization (_auth) config.
Although this configuration is possible by project specific tailoring, some DPE must not be protected with an
_auth config. Reasons are special circumstances where a DP update is needed, even if no user is currently
logged in (e.g. The login panel needs the _Ui DP to open a module to ask for user credentials).
In this example most of the Datapoints are protected with “_auth” config level 4 where at least the para user
must update those Datapoints. The following lines show a CTRL code to configure all internal Datapoints in 3
steps.
It is recommended to repeat these steps on a regular basis. Some Datapoints (e.g. _AESProperties) are
created dynamically by the system and they will be created without an existing authorization config.
1. First step: Protect all Datapoints with _auth config level four.
The following lines get all internal Datapoints even those without a leading prefix and add an auth
config with level four to each of them. This script also ignores all Master Datapoints.
dyn_string allVal;
// this loop will configure all internal Datapoints where a permission bit 4 could be placed.
for(int i=1; i<=dynlen(allVal); i++)
{
//check and ignore MasterDP
if(strpos(dpSubStr(allVal[i], DPSUB_DP), "_mp_") != 0)
{
dpSetWait(allVal[i] + ".:_auth.._type", 62,
allVal[i] + ".:_auth._original._write", 4,
allVal[i] + ".:_auth._dp_fct._write", 4,
allVal[i] + ".:_auth._address._write", 4,
allVal[i] + ".:_auth._default._write", 4,
allVal[i] + ".:_auth._u_range._write", 4,
allVal[i] + ".:_auth._pv_range._write", 4,
allVal[i] + ".:_auth._alert_hdl._write", 4,
allVal[i] + ".:_auth._alert_class._write", 4);
}
else
{
DebugTN("ignore MasterDP: ", allVal[i]);
}
}
ATTENTION
Some DPEs like “_Users.Password” are only protectable in cases where other features like external
authentication (see chapter: Usage of WinCC OA external authentication method) or SSA (see
chapter: Server-Side Authentication) is configured.
The WinCC OA Standard authentication method needs write permission for a user who wants to
change his own password, even in case where this user possesses only reading permission. An
external authentication method or SSO are using a different method to update the password. Please
check also warning phrase in chapter Usage of Operating system (Windows or Linux) based user
management.
• Op_All_tunnel3:
In total, WinCC OA allows to implement a granular permission matrix for every environment with different
Control functions of WinCC OA. Two of them:
• getUserPermission: This command will always deliver ’true’ if Permission Bit 4 is evaluated for the
user tunnelOperator1 shown on the Figure 28. The area is not evaluated in this function.
• getUserPermissionForArea: This function also needs the area name as mandatory parameter. It will
still deliver the value ‘true’ if the permission bit 4 is evaluated for area tunnel1, but it will deliver ‘false’
if the permission bit 4 is evaluated for area tunnel2.
This feature makes it possible to implement a region-specific permission concept.
As an alternative solution it is also possible to use Kerberos security instead. With activated Kerberos setting
with an AD controller it is also possible to encrypt the message traffic by OS mechanism.
[general]
kerberosSecurity = “enc”
Starting several projects on one computer stands for a security threat due to a failure of one part will have
impact on other components and can lead to multiple failures.
• Run WinCC OA Servers and Active Directory controller on separate physical or virtual machines.
A basic rule is that services should always be started with the least necessary amount of privileges. ETM
professional control GmbH recommends the usage of a managed service account due to the higher security
level compared to the other options when only the default configuration is used.
• Starting the service under NetworkService Account. The project user has no rights on the system.
The necessary privileges can be added for the network service user on the local machine. No
access to other systems is needed.
• Starting the service under Managed service account is favored. The managed service account is a
Windows specific user with a periodic update of the password in comparison to the NetworkService
account.
• Starting the service under Specific user. Freely configurable management of privileges for the
current and unknown systems.
For all options it is mandatory to configure the required folder permissions for the project and the WinCC OA
installation folder. Details about the required permissions see chapter: Access control.
Details about the configuration and installation of WinCC OA as a service are available in WinCC OA
Documentation for Microsoft® Windows and Linux based systems.
The necessary configuration must be implemented by developers using the WinCC OA API class “Security
Plugin” (name of the API class reference).
More details about ways for implementation are available within Doxygen-help from the API
installation ([WinCC OA Setup Folder\api\doc\index.html:
WinCC OA API\Classes\Class List\SecurityPlugin
Note:
Figure 54 - Disable Automatic Unlock for mobile devices and WinCC OA Desktop UI
Additionally, it is recommended to store created reports on a network share. This allows a configuration,
where an allowed but unsecured client can read data without query them from a running WinCC OA system.
To reduce the level of attack a few recommendations for configurations are given by the OPC foundation.
Detailed information is available here:
https://opcfoundation.org/security/ (acc.: 27th March 2019).
WinCC OA provides the MQTT client as a driver which can establish a connection to an MQTT broker.
Different vendors do provide MQTT brokers and ETM cannot give a specific recommendation for a special
vendor. The vendor of the MQTT broker must be chosen very carefully by asset owner or the Integrator.
Following points must be considered in the selection process of a MQTT broker:
• Communication between MQTT client and MQTT broker must be encrypted with a state-of-the-art
protocol like TLS.
• Hardening Guide for the selected MQTT broker is available and implemented.
6.2.2.18.1.4 Usage of encrypted communication between Driver and PLC like S7-1500 Controllers
Even if WinCC OA offers different security functions for a plant system, no 100% security for false signals
sent to the PLC can be granted. Siemens recommends the usage of Scalance S-Modules or the usage of
S7-1500 controllers with integrated security features for plants with higher security demands. Especially
newer configuration protocols like the S7+ driver support the encrypted communication to an S7-1500 PLC.
Details and contact information concerning these Siemens modules can be found on following Website:
http://w3.siemens.com/mcms/industrial-communication/en/scalance/Pages/default.aspx
(acc.: 27th March 2019).
For those protocols it is essential to implement more security configurations if the nodes are not running
within the same security cell and are vulnerable for Man in the Middle attacks. In those cases, it is essential,
for security reasons, to handle those nodes as 2 different security cells to prevent such attacks on the IT-
infrastructure level. Some authorities recommend different ways to set up a security communication for an
unsecure protocol. Usually a VPN communication is recommended between those nodes, to prevent any
observation or manipulation of the transmitted messages.
See chapter: Secure security cell link via IT Infrastructure.
The following figure shows a possible implementation by usage of a remote WinCC OA driver host which
delivers the received data to a redundant pair of WinCC OA hosts. It is also possible to execute the remote
drivers directly on the redundant pair of WinCC OA server, but this example gives a possible solution to
reduce the scaling workload by usage of a specific architecture. It is also possible to extend this architecture
by usage of a distributed WinCC OA system.
This recommendation is valid for all unsecure protocols, it is essential to harden the environment if any of
these functionalities is used.
ATTENTION
Although usage of a fully encrypted protocol is recommended the majority of WinCC OA driver uses
an unsecured communication protocol. This leads to the recommendation that most of the
communication between driver and device must be done in a secure environment.
It must be mentioned that only following protocols use a secure communication between WinCC
OA and the device:
• WinCC OA S7Plus driver
• OPC Unified Architecture driver
• SNMPv3 driver
• TLS Gateway driver
• IEC 60870-5-104 driver
• MQTT driver
• DNP3
• IEC60870-5-101
• RK512
A mixed communication mode is supported by protocols like IEC60870-5-101. This mode allows an RTU 101
device to communicate to a V.24 converter with a serial connection. The converter translates the serial
communication into an ethernet protocol, which can be protected with a secure tunnel.
Following figure shows a comparison of both options. In this case the Ethernet connection between WinCC
OA driver and V.24 converter is protected via VPN encryption.
This figure shows a WinCC OA server project which establish a connection to an RTU 101 device. Each
device is running as a security cell. For configuration of a connection two options are possible:
1. IEC101 is connected via an Ethernet protocol and the connection is protected with a VPN tunnel.
Inside the security cell the ethernet protocol is translated to a V.24 protocol. This scenario avoids a
MITM attack threat.
IEC 101 is directly connected via serial cable to an RTU 101 device.
Although this connection method ensures a point to point connection it may be possible that the message
traffic could be vulnerable to an eavesdropping attack. A standard radio receiver may be able to pick-up the
transmitted signals (Smulders, 1990).
To avoid an attack scenario the usage of a shielded RS232 cable should be mandatory to reduce the risk
of a MITM attack for this connection.
A shorter cable length reduces also the possibility of an attack and the Baud rate specifies the maximum
cable length. A Baud rate of 19200 allows a maximum length of 15 meter but a Baud rate of 2400 allows a
cable length of more than 900 meters. Overland connections between buildings must be specially secured
by IT infrastructure measurements.
In cases where a connection to an XML-RPC server is needed, a secure connection can be configured by
usage of the “secure” parameter within the xmlrpcConnectToServer() function.
The packages are signed with a timestamp as a best practice method, this ensures that the digital signature
will not expire even when the certificate is expired (https://theniceweb.com/archives/491 acc: 09th May 2019).
Based on this mechanism a SHA256 hash is created to prevent installation packages from manipulation.
Every manipulation will result into a loss of the digital signature and the setup package becomes corrupt.
Consequently, an installation attempt is denied by OS settings.
This mechanism works automatically for every installation package within a Microsoft® Windows OS system;
there are no further steps for verification necessary. In detail it is possible to adjust the GPO settings of the
Windows system to configure the validation settings if needed.
In the case of self-developed API manager, drivers or control extensions these binaries should be also
signed with the customers certificates.
A check of installed files from an RPM-package is possible with the rpm command with the –V flag. For
example, an “rpm -V WinCC_OA_3.16-base-sles” or “rpm -V WinCC_OA_3.16-base-rhel” checks all installed
files, from this package and generates a list with detected manipulations.
Code Meaning
As an example, a check was implemented into the start_pvss2 script from the WinCC OA installation on
Linux systems. Here is a snippet from the manipulated Shell script file. The modifications began in line #143
from the original script. The manipulated content is marked with a yellow back color.
Within this script package verification is triggered every time when start_pvss2 is executed. It writes the
result to a temporary file, checks for a MD5 checksum and denies the startup if an alteration was detected.
The yellow highlighted lines where manipulated compared to the original start_pvss2 file which comes with
the default setup of WinCC OA.
if [ "$?" == 0 ]
then
echo 'MD5 checksum verification failed. Details:'
cat /tmp/verifyWinCCOA
exit 1
else
echo 'Everything OK start WinCC OA'
fi
if [ "$stopOpt" != "" ]
then
( set -x; cd $PVSS_PATH/bin; ./WCCILpmon $stopOpt -PROJ ${PROJ} )
else
( set -x; cd $PVSS_PATH/bin; ./WCCILpmon -PROJ ${PROJ} -config $PVSS_II $* ) &
fiecho ""
Although a deletion of those Datapoints and Datapoint types may reduce the size of the Raima database, it
may result into unforeseen and irreproducible behaviors in WinCC OA.
Another key point would be the later usage of WinCC OA features like “WinCC OA S7 driver”, “Maintenance
counter” or “Labor value” if the required datapoints and types where deleted. Even as it is possible to import
the missing data with WinCC OA standard mechanism like the WinCC OA ASCII manager and existing data
files it could result in a situation where existing configurations may be overwritten. A manual redesign of the
existing data files will be necessary by the integrator to avoid a situation which could harm the existing
configuration. To sum it up a default configuration to fix a created problem by deletion cannot be given by
ETM.
Therefore neither datapoints nor datapoint types that are part of the WinCC OA installation shall be deleted.
A much better approach to avoid any unwanted usage is to protect all Datapoints with an authorization config
(see chapter: Protection via authorization levels in WinCC OA).
The following chapters explain possible attack scenarios and give recommendations how the risk for an
attack may be reduced.
In this scenario the Attacker compromises an UI but due to correct settings in WinCC OA config file
(“maxBcmBufferSize” is configured correctly according to the WinCC OA project requirements) the overload
is recognized by WinCC OA Event Manager and the remaining system is protected. The Event Manager
closes the connection to the compromised UI manager and the Attacker loses his attack vector.
Be aware that a configuration with a big value (e.g. 300MB for “maxBcmBufferSize”) makes this
security layer useless and an attacker may easily harm the entire system.
Following config entries may be of interest to configure a secure environment. This list is not complete and
shows only a few basic example options:
6.2.2.22.2 Possible attack via WinCC OA driver through Man in the Middle
Beside a possible attack via WinCC OA UI it may be possible, for an attacker, to get an attack vector via
WinCC OA driver. In case of a Man in the Middle attack, countermeasure needs to be configured, to reduce
the risk of the overall system.
The following figure shows how an attacker compromised the internal network and sets up an attack vector
between PLC and WinCC OA driver, through a Man in the Middle which triggers a DoS attack.
A few possible drivers related config entries to implement an overload control are following examples:
Therefore, ETM professional control GmbH recommends using an external User authentication Mechanism
like the user management shipped with the operating system or another third-party tool like LDAP. This
enforces the usage of strong passwords.
A weak password can easily be decrypted by an attacker and therefore it is mandatory that a password has
to fulfill a few minimum requirements (see chapter: Password strength
or https://www.us-cert.gov/ncas/tips/ST04-002 (acc.: 27th March 2019)). It is possible to define such rules
within a site-specific process, but it is not possible to control the strength of a password with default WinCC
OA mechanisms.
ATTENTION
Some sites may have specific security requirements, regarding user authentication, where a
mandatory password length or a cyclic password switch is necessary. For those sites following
options are applicable:
• Operating system based User administration (with or without SSO and Kerberos)
• User defined authentication (must be implemented as customer side solution)
Password hash conform to PKCS #5 State of the art and OS Depends on the
algorithm related. authentication tool but
should be able to handle
an IEC62443 compliant
algorithm (see chapter:
Block Cipher)
Financial Costs Intergraded in WinCC Handled with OS license Depends on the license
OA costs of the 3rd party tool
no additional cost Additional costs for
implementation and
maintenance may occur.
Easy start of WinCC OA has own User and groups must User, Groups and
configuration and users to start with be created in OS level. maybe also permission
tailoring implementation Permission bits must be bits must be configured
configured in WinCC OA in the external tool
Centralized user Not existing, user must User Administration is User Administration may
administration be synchronized centralized but OU be centralized in
manually (Sync tool (Organization units) do dependency of the tool.
inside from WinCC OA not exist in WinCC OA
available)
Disabling of a user User can be disabled Restore of a disabled or Depends on the external
but can easily be deleted user will need Tool but should provide
restored Domain Administrator this functionality
privileges
Effort in creating users Effort in creating users Effort in creating OS Effort in creating users
and groups and groups on WinCC users and assignment to and maybe permissions
OA level a group with WinCC OA inside the ext. auth. tool.
related permission. No additional effort in
Additional effort in WinCC OA necessary.
assignment of
permission bits in
WinCC OA to imported
groups from OS
In addition, an OS with activated Kerberos increases the security maturity of the overall system.
By this consideration it is possible to rate the authentication methods in an order, with begins with the
highest level of security.
The referenced list from Table 12 shows the highest maturity for the Operating system based authentication
methods, but that configuration needs a fully configured domain concept. If this complete domain concept is
missing, then the following points show the advantages of an external authentication tool against the WinCC OA
method:
• Allows WinCC OA to support environments with mixed operating systems, where all users are not
authenticated by a Windows or Linux domain.
• Allows users to connect from unknown or untrusted domains. For instance, an application where an
established user connects with WinCC OA HTTP-Server (ULC UX).
(See chapter: User Interface Configuration)
• Allows WinCC OA to support web-based applications were users create their own identities, based on
API managers
• Allows software developers to test applications by using a complex permission hierarchy based on
temporary logins.
Following chapters shows the possible options to implement an external authentication concept based on the
operating system of a 3rd party vendor tool.
An Active Directory system allows the usage of mandatory requirements regarding the password strength
which can be configured via group policy editor. With enforced settings it is possible to ensure good and
strong passwords for user credentials which protect the project or plant from jeopardizing by the usage of
weak passwords.
Beside a strong password, an OS based user authentication mechanism allows the synchronization of users
and groups inside a domain. This makes it easier to trigger a login to a WinCC OA project running on a host
within the same domain. For a more granular permission design it is possible to define different permission
bits (authorization level) for every role (group membership) of a user. With this configuration it is possible that
the same user can perform administration activities on a WinCC OA project but only reading activities on
another WinCC OA project.
The following example shows a central user administration based on an AD/LDAP system. The user with the
name “siteadmin” exists on the Domain controller and this user is member of specific groups. The 1st login of
a user on a WinCC OA host will create this user inside the local configuration database and the assigned
groups are created automatically. In the default configuration the permission bits must be applied manually
to each group and this means that members of the same group can have different permission levels for each
WinCC OA host. This example shows that the user siteadmin has only full permissions on WinCC OA
system 1 and 2 but can only acknowledge alarms on system 3. On System 4 the same user is only able to
visualize the system and he will not have the option to configure these systems if all authorization configs are
configured correctly.
WinCC OA uses a datapoint of DP-Type _CtrlCommandInferface to create new users for an internal
algorithm. The required DP is created automatically with the first switch to OS based authentication
method. The new generated DP is protected with permission bit three for _dp_fct, _original, _address
and _default in a default installation. This DP is used to create users, add users to groups and
change user passwords.
Although a switch to OS based authentication mechanism increases the level of security of the
system it could be harmed directly after the switch due to a temporary situation where those
permission bits are set to zero. This is essential to establish the login of new users.
This configuration could also be applied via WinCC OA configuration panel from System
Management: SysMgm → Permission → System Permissions
4. Finally, the level of security was increased due the realization of the given recommendations.
Keep in mind
A login of new OS users - without activated SSA - in WinCC OA is only possible, when
“CommandInterface permission” is set to 0.
Every different configuration result into errors during the creation of new users!
WinCC OA Documentation reference
To ensure a good functionality without permission issues it is recommended to use the same user which is
currently used in the actual Windows session. This is necessary to avoid problems caused by configured
permission settings on Windows level. For example, if the actual Windows user tries to trigger a login with a
different user, it could be possible that the Windows user does not have the permission to read the assigned
groups of that user that is created in WinCC OA. This situation results in a scenario where the user is
created in WinCC OA but has no groups assigned.
6.2.2.23.1.2 Linux
For OS authentication on a Linux system WinCC OA uses the Pluggable authentication module (PAM)
interface. This interface supports the login of local users from the Linux system as well as configured users
from an AD domain. The benefit of the PAM API is the usage of an independent user authentication
mechanism (e.g. LDAP, Winbind). Following drawing shows the overall implementation of the PAM library
model. This model is configured via a configuration file and runs on the low-level modules implemented into
the operating system. The Service application in this case WinCC OA uses the PAM library for the
authentication mechanism.
Configuration file
PAM Library
(etc/pam.d)
WinCC OA
(Service application with
LDAP, Winbind, ...)
Low level modules
(pam_unix)
This PAM mechanism was tested with a Windows DC and a Linux DC implemented via Samba 4. A user
replication was configured, and a Linux Client was integrated via LDAP to this test environment. This means
that a login to GNOME UI was possible with a user existing in AD.
The Linux WinCC OA Host was integrated into the Domain by usage of following configuration. Attached is
the content of the required configuration files for a CentOS® system as an example. For other systems refer
to the OS Manual for the correct configuration.
#
# /etc/nsswitch.conf
#
# An example Name Service Switch config file. This file should be
# sorted with the most-used services at the beginning.
#
# The entry '[NOTFOUND=return]' means that the search for an entry
# should stop if the search in the previous entry turned
# up nothing. Note that if the search failed due to some other reason
# (like no NIS server responding) then the search continues with the
# next entry.
#
# Valid entries include:
#
# nisplus Use NIS+ (NIS version 3)
# nis Use NIS (NIS version 2), also called YP
# dns Use DNS (Domain Name Service)
# files Use the local files
# db Use the local database (.db) files
# compat Use NIS on compat mode
# hesiod Use Hesiod for user lookups
# [NOTFOUND=return] Stop searching if not found so far
#
# To use db, put the "db" in front of "files" for entries you want to be
# looked up first in the databases
#
# Example:
passwd: sss files
shadow: sss files
group: sss files
#%PAM-1.0
auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
auth substack system-auth
auth include postlogin
account required pam_nologin.so
account include system-auth
password include system-auth
# pam_selinux.so close should be the first session rule
session required pam_selinux.so close
session required pam_loginuid.so
session optional pam_console.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session required pam_selinux.so open
session required pam_namespace.so
session optional pam_keyinit.so force revoke
session include system-auth
session include postlogin
-session optional pam_ck_connector.so
With this configuration it is possible to change to the OS based authentication method inside from WinCC
OA user administration panel.
ETM professional control GmbH offers an interface which makes the usage of an external tool available.
Detailed information regarding the configuration of a WinCC OA system with this feature is available within
WinCC OA documentation:
Like an integrated OS based authentication mechanism for an AD system it must be possible to set policies
within an external authentication tool. ETM professional control GmbH cannot recommend any specific tool
but during the analysis it is important to define the following as must have criteria:
• The evaluated authentication tool should be able to enforce the usage of good passwords.
• It should be robust against Denial of Service attacks.
Depending on the integration of the external authentication tool it is also possible to configure the permission
bits directly within this tool and the user in WinCC OA will be created automatically with the centralized
configured permission bits. Both options have their advantages and disadvantages, in coordination with the
integrator and the asset owner it is necessary to find the correct method to implement a solution which fulfills
all requirements regarding user role security.
The following figure shows a handling of a user if the authentication bits are also handled inside the
centralized system. With this configuration an own and different configuration of permission bits for a user to
different systems is not possible on this level. Every user will get the same permission bits in the overall
system. But if a more granular configuration is required it can be implemented with the area concept
(see chapter: Access Control via Area authorization)
ATTENTION
It is essential to implement a secure interface for the external user authentication tool. The
integrator of the site must do this task directly. This interface should be robust against Man in the
Middle attacks to prohibit a confidentiality related attack scenario.
The WebView EWO JavaScript Interface is a bidirectional communication interface between JavaScript and
Control. It allows to create parts of your user Interface with a wide variety of available JavaScript frameworks
and widgets while still being able to access your plant data that is collected and processed within your
WinCC OA project.
Graphic editor (GEDI) / Complex graphic objects / EWO (External Widget Object) / WebView EWO
One benefit of centralized administration is the significant reduction of maintenance effort and the
considerable enhancement of security. For example, this can be achieved using the Kerberos authentication
in an AD domain. If usage of Kerberos authentication is not utilizable, the common authentication method of
NT LAN Manager (NTLM) can help for a Windows based OS.
The decision about centralized or decentralized should be taken based on the number of systems to be
supported or the necessity (e.g. organization's own security guidelines) of using an AD domain. Due to the
operation of a machine / plant by different persons the usage of a central user administration is
recommended.
The following examples clarify and illustrate the meaning of separating the areas of responsibility and
administration:
Trusted relationships of the overall structure simplify the administration of a segmented Active Directory
infrastructure within an organization. This happens since they support access to overall structure-
independent resources and other objects.
As an example, it is possible to configure a one-way Trust from ECN to PCN. This allows the operators to
use resources from the Enterprise network (e.g. printer), while Enterprise users are not able to login to a
WinCC OA project for security reasons.
The rules for the necessary password complexity can be defined on the layer of organizational units (OU).
An increased complexity (number of special characters, length,) increases the effort for cracking the
password. A cyclic change of the password also adds additional security.
Beside the change of the default password a good password should fulfill these requirements:
• Include lowercase and uppercase alphabetic characters, numbers and symbols to increase the
alphabet size.
• Avoid using the same password twice (e.g., across multiple user accounts and/or software systems).
• Avoid character repetition, keyboard patterns, dictionary words, letter or number sequences,
usernames, relative or pet names, romantic links (current or past) and biographical information (e.g.,
ID numbers, ancestors' names or dates).
• Avoid using information that is or might become publicly associated with the user or the account.
• Avoid using information that the user's colleagues and/or acquaintances might know to be
associated with the user.
• Change password only on secure hosts (especially for users with administrator permission)
80
150000
60
100000
40
50000 20
0 0
5 6 7 8 10 20 30 40
Password length size of Alphabet
Figure 67 - Increasing Password length with Figure 68 – Increasing Alphabet size with
fixed Alphabet size of 26 fixed Password length of 5
The amount of possible combinations is calculated with the power function. Alphabet size is used as base
parameter while Password length is used the exponent:
Due to mathematical reasons an increase of Password length is more important than an increase of
Alphabet size to prevent a system from a brute-force attack.
Following table shows examples for the required time of a brute force attack with the assumption that this
attack can generate 2 billion keys per second. These values assume that 52 letters (lower/upper case), 10
numbers and 32 special characters are used to increase the Alphabet size to 94.
Alphabet size Password length Amount of combinations Time for brute-force attack
94 5 7339040224 3,67 seconds
94 8 6,09569E+15 ~ 35 days
94 12 4,7592E+23 ~ 7,5 Mio. years
This table also shows the importance of Password length to prevent the configured system from a brute-
force attack. It also shows the mathematical proved reason why a minimum password length of 12 is
recommended in this chapter.
Example description:
https://www.digitalocean.com/community/tutorials/how-to-set-password-policy-on-a-centos-6-vps
(acc.: 27th March 2019).
Note:
Every active user account allows access to the system and is therefore a potential security threat.
Following steps are recommended:
• Reduction of configured / active user accounts to the necessary minimum
• Periodic verification of the configured user accounts
• Usage of secure access data for the available accounts
• Important: Change system default passwords as well as the “root” password of the WinCC
OA project before setting the system active
• System access only for users that are necessary for the plant operation
One benefit of the centralized administration is the significant reduction of the maintenance effort and the
considerably higher level of security, for example, by the following options:
• Using the Kerberos authentication within the domain in place of the NTLM authentication within a
workgroup.
• Adding the host names/IP addresses in the hosts files to access the WinCC OA servers connected.
The decision regarding centralized or decentralized should be taken on the basis of the number of systems
to be maintained or the necessity of using centralized administration.
The need for an AD domain is explained in detail in chapter: “Administration of Computers”.
• Name resolution of the IP address → host (automatic, central name registration, can finally be
inquired by other network subscribers)
• Time synchronization (NTP, SNTP)
• The computer name and NetBIOS computer name are used for unique identification of a computer
for persons and applications in the network.
• The name resolution is used to convert the computer name (FQDN) and the NetBIOS computer
name of a computer to an IP address.
ATTENTION
These numerated settings are the most frequent sources of errors, since typos or duplicate usage
can occur easily.
• Do not root an Android or Apple device and do not install apps requiring root privileges
• Always keep the system up to date
• Do not install apps from untrusted sources
• Every user must report a stolen device at once to the responsible administrator of the site facility.
The administrator must remove stolen devices from the list of the accepted machines in the Active
Directory.
• There is also an additional configuration part inside WinCC OA for mobile devices accessible via
SysMgm panel. The stolen devices must be removed manually from the list of accepted devices.
See chapter: Disable Automatic Unlock for Mobile Devices (Android and iOS) and Desktop UI
and User Interface Configuration
WinCC OA offers the option to locally store the password on the mobile device for comfortability
reasons. Although this password storage uses an encryption mechanism, it was designed for
environments with low security requirements. This feature offers a possible threat in case the device
was stolen.
To avoid a negative impact, usage of this functionality is prohibited, in endowments with high
security requirements!
#!/bin/bash
TMOUT=300
readonly TMOUT
export TMOUT
Alternatively, it is possible to configure this setting by a graphical interface. This configuration is usually
possible within the settings menu; please consult the documentation for the Linux distribution for additional
help. (e.g. for a CentOS® system this option is available within: Applications → System tools → Settings →
Privacy)
It is necessary to consider the characteristics of automation with respect to the administration of Role-Based
user authorizations and their integration in the WinCC OA Security Guideline.
The principle of minimum is applied when assigning all rights and authorizations. In the process, each of the
users is assigned exactly those rights that he requires to fulfill his duties.
Note:
Every active user account allows access to the system and is therefore a potential security threat.
The following steps are recommended:
• Reduction of configured / active user accounts to the necessary minimum
• Regular verification of the configured user accounts
• Usage of secure access data for the available accounts
• Important: Change system default passwords as well as the “root” password of the WinCC
OA project before setting the system active
• Define user roles and differ between administrators and operators. A typical operator must
not be able to change the system configuration.
To prevent the unauthorized start of applications by the system operators, WinCC OA allows forcing an
automatic log-in when activating the corresponding Kerberos settings.
As alternative the WinCC OA config entry “username” and “password” in the [general] section of the project’s
config file can be used but these settings should only be used for testing purposes during the project
development due to the user name and password being unencrypted inside the config file. For security
reasons these config entries must be removed before deployment of the system.
CAUTION
A password for a user (especially for „root“) must not be part of the config file nor be part of a start
option for a manager! The config file and the start options are plain text and the password is
therefore not secure!
As an addition the WinCC OA feature for the inactivity settings can be used. This feature allows defining the
behavior after the inactivity time-out has been reached. One of the following actions can be used:
• WinCC OA-Logout
• Windows logout
ATTENTION
Please consider that this functionality is not available for an ULC UX user interface.
The members of a WinCC OA group then inherit the rights assigned to this group. The user rights for a group
are defined via permission bits. WinCC OA users and groups can be either directly created on WinCC OA
level or inherited from the AD or external authentication tool
(see chapter Usage of WinCC OA external authentication method).
In case users and groups are created directly on WinCC OA level or inherited from the AD, the permission
bits are set always on the WinCC OA level. In case users and groups are inherited from the external
authentication tool, the permission bits could be set either on WinCC OA level or can be set on the external
authentication tool level (depending on possibilities of external authentication tool).
The best combination for security and Single Sign On comes with active Kerberos security. With the usage of
Kerberos SSO is mandatory. The entire system will benefit from this higher level of security.
More extensions regarding this authorization levels can be defined with the Access Control Plug-In for
WinCC OA (see chapter: Usage of WinCC OA Access Control Plug-In).
Note:
A joint configuration of SSA (see chapter: Server-Side Authentication) and SSO is not supported by
WinCC OA.
The purpose of WinCC OA Single Sign On is to provide centralized sign on information (SSO principle) to the
operator. A well-engineered security mechanism, by usage of the Operating system login
(see chapter: Usage of Operating system (Windows or Linux) based user management) is used for this
purpose.
Operator’s username and password (identity) are saved as user accounts within the domain by the
Operating system. They are used to authenticate an operator in a WinCC OA server project. The Role-Based
operator authorizations are configured via group membership of the user/operator.
Following list represents the security related ranking on usable authentication methods with WinCC OA. It
starts with the most recommended authentication process and ends with the default rollout of WinCC OA.
The default rollout of WinCC OA is defined to offer a maximum level of compatibility. It is in responsibility of
the Integrator or the Asset-Owner to implement a suitable solution for each plant.
This threat can be avoided with SSA feature which needs a running WinCC OA HTTP-Server and specific
config entries on client and server side. For a logon, the WinCC OA HTTP-Server provides a dialog where
the user credentials need to be entered in a form. Those credentials are used to save a token in the
database and to check the user credential directly on the server. The following picture shows an explanation
of the login process and compares it with the default WinCC OA user authentication.
It should be considered that a successful Login is only possible for unlocked devices,
see chapter: Disable Automatic Unlock for Mobile Devices (Android and iOS) and Desktop UI
Activation of SSA or usage of Kerberos with SSO is mandatory in a secure environment where
unsecure clients are used.
To activate this feature, a few other config entries are needed. The settings given in the example are defined
for a pair of redundant WinCC OA server projects with a remote WinCC OA HTTP-Server (CTRL script:
WebClient) and a remote User interface (Remote UI, Desktop UI or ULC-UX).
This example requires the existence of project related panels or scripts on the server host (“PenTestWEB”)
which provides the data information for the client (“PenTestClient”).
The following config entries are required for the specific machines.
[general]
accessControlPlugin = "AccessControlPluginUser"
[webClient]
clientSideAuth = 0
[httpServer]
uiArguments = "-p vision/login.pnl -centered -iconBar -menuBar -server https://PenTestSRV01"
PenTestSRV02
[general]
accessControlPlugin = "AccessControlPluginUser"
[webClient]
clientSideAuth = 0
[httpServer]
uiArguments = "-p vision/login.pnl -centered -iconBar -menuBar -server https://PenTestSRV02"
PenTestWeb:
[general]
accessControlPlugin = "AccessControlPluginUser"
data = “PenTestSRV01$ PenTestSRV02”
event = “PenTestSRV01$ PenTestSRV02”
[ctrl]
#configuration entry for redundant WinCC OA servers
connectToRedundantHosts = 1
[webClient]
clientSideAuth = 0
[httpServer]
uiArguments = "-p vision/login.pnl -centered -iconBar -menuBar -server https://PenTestWEB/"
[general]
accessControlPlugin = "AccessControlPluginUser"
Start the UI on the client with following parameter for a Remote UI.
The –ssa parameter avoids the creation of a cache folder which is only required by a Desktop UI.
A login dialog will open afterwards, and the user credentials are requested. Please note that login as root
user is disabled with activated SSA feature.
The “Rule/User” field represents the user for this certificate and the “Certificate/key Name” field defines the
name of this certificate. This example will create two files with the names:
[general]
#activate SSA with session binding
accessControlPlugin = "AccessControlPlugin"
#use public key for CA as chain file
ssaChainFile = "root-cert.pem"
#configure public and private key for user para
ssaPrivateKey = "file:CertPara.key"
ssaCertificate = "file:CertPara.crt"
[webClient]
clientSideAuth = 0
httpAuth = 1
[event]
ssaPrivateKey = "file:Certroot.key"
ssaCertificate = "file:Certroot.crt"
[data]
ssaPrivateKey = "file:Certroot.key"
ssaCertificate = "file:Certroot.crt"
A remote WinCC OA host which establishes a connection to the configured WinCC OA server needs the same
entries in the related section. Following configuration is needed if a remote CTRL Manager should relate to
the WinCC OA server:
[general]
pvss_path = "C:/Siemens/Automation/WinCC_OA/3.16"
proj_path = "C:/Projects/316_Manager_SSA"
proj_version = "3.16"
langs = "en_US.uft8"
data = "pentestsrv01"
event = "pentestsrv01"
accessControlPlugin = "AccessControlPlugin"
[ctrl]
ssaChainFile = "root-cert.pem"
ssaPrivateKey = "file:CertPara.key"
ssaCertificate = "file:CertPara.crt"
[webClient]
clientSideAuth = 0
httpAuth = 1
It needs to be noted that there is no entry for the User Interface in this config file to allow a login for different
users on the same UI host.
ATTENTION
During the import it is essential to mark the private key as exportable to make the certificate readable
by WinCC OA processes.
The creation of a signature to the messages requires the existence of private key on the remote
machines. This makes it necessary to protect this file with OS methods.
Additional it is recommended to use the OS based certificate store
(see chapter: Storage of openSSL certificates and private keys)
• Protected physical access (e.g. locked room, place with additional access control device, …)
• No devices for accessing the system (e.g. USB stick, CD/DVD drive, bluetooth, …)
It is possible to reduce the security risk caused by usage of the root user by using certificates for each
WinCC OA manager. This feature allows the creation of Manager Certificates for a specific user, which is
configured due to the least privilege’s requirements. Further information is available
in chapter: Server-Side Authentication for Managers with session binding
Network topology should ensure that the server for Control and Api Managers cannot be accessed from
public but only from plant network (e.g. in DIN EN 50159 named as “Category 2 network”) so that
unauthorized access via network can be excluded. For network configuration
see chapter: Administration of networks and network services.
WinCC OA UI
• Remote UI as Engineering Station (with Vision-, GEDI- and Para module) for Desktops and
Notebooks
• Remote UI as Operator Station (with Vision module) for Desktops and Notebooks
• Desktop UI for Desktop and Notebooks
ATTENTION
For local communication between WinCC OA UI and embedded graphic modules like WebView.ewo,
an unencrypted http communication channel is used.
The host which executes the WinCC OA User interface module needs to be protected. Target is to
prevent a situation where this unencrypted connection is harmed by malicious software which is
locally installed directly on the UI host.
• Remote UI is applicable for clients that are physically secured: access is restricted, secure login (e.g. AD
with appropriate settings, two-factor-authentication …), plant network only and OS hardening
(see chapter: Hardening). This installation can be used for all purposes.
• Desktop UI connects via HTTPS to the WinCC OA HTTP-Server; the required data (configuration,
certificates and project files) is downloaded from server but held locally. OS must be hardened
(see chapter: Hardening), if network is connected to internet a network connection via VPN is required. This
installation should not be used for administration purposes but for operator or viewing access.
• ULC UX may be used on any kind of computer as there are no local files hosted; the network connection
is secured using HTTPS. The computer should not be a public computer (e.g. internet coffee shop) as the
device could be compromised, the connection parameter and the credentials could be stolen (e.g. SSO
and other precautions can mitigate the danger of a key logger).
• Mobile UI Application is designed to work in a WLAN, so mobiles must be avoided in secure plant operation
environment. In this context the WinCC OA Operator App is also seen as Mobile UI.
As Matrix:
physically secured Administered Client Administered Client Public WLAN host
host host in plant network host in public network
Remote UI All functions Operator functions Restricted functions Not secure
Desktop UI All functions Operator functions Restricted functions Not secure
ULC UX All functions Operator functions Operator functions Restricted functions
Mobile UI N/A Not secure (WLAN)1 Not secure (WLAN)2 Not secure (WLAN)3
Operator APP
Table 14 – Matrix for UI in intended operational environment
Legend:
1. All functions → Complete functionality is secure for operator and administrative access
2. Operator functions → Functionality is secure for operator access
3. Restricted functions → Functionality is only secure for limited operator access (e.g. only read
functionality)
4. Not secure → Usage of this UI method must be prohibited to avoid a security risk.
1 Mobile devices are designed for a WLAN environment. This field refers to a secured WLAN environment.
2Mobile devices are designed for a WLAN environment. This field refers to an unsecured public WLAN environment
with an administrated client.
3Mobile devices are designed for a WLAN environment. This field refers to an unsecured public WLAN environment
with a non-administrated client.
Regarding aspects of security the following points must be considered for this process:
• Use WIX software (http://wixtoolset.org/ (acc.: 27th March 2019)) >3.10.2 to avoid dll hijacking
• The new installation folder must not contain blanks in an unquoted path, this could result into a
security threat if the WinCC OA project is started as a service:
http://www.commonexploits.com/unquoted-service-paths/ (acc.: 27th March 2019)
1. Inter-Process-Communication (IPC).
Inter-process communication in vimaccOA means the data connections between the existing
processes. These connections are used to adjust the so-called "config", which (within the VMS)
enables system-wide data exchange via data points.
If an attacker can penetrate this communication, he receives system-wide read and write access to
the data points. To avoid this threat an AES-128 encryption algorithm is implemented. The required
certificates are installed during vimacc® setup process. This setup process uses a Video Security
The file based secret key is stored in following folder and this folder needs to be protected via OS
measurements:
The AES-128 Assetkey and the Crypto Token (CTK) are created via vimacc® Security Wizard and the Token
is encrypted by the AES-128 Assetkey. This encrypted CTK is stored and distributed via vimacc® system.
Beside of WinCC OA this CTK is read via WinCC OA Video Manager API Interface and the information is
stored as an encrypted blob on a WinCC OA datapoint.
After establishing of a new streaming interface, a session related AES-128 streaming key is created. This
streaming key is only valid for the current session. This AES-128 streaming key is encrypted via RSA-2048
CTK. The created key is used to encrypt the Video Datablock (GOP) and to create a SHA-1 hash.
The WinCC OA Video UI reads the encrypted key from the datapoint element
“_VIDEO_OA_MAIN.driver.encryption”. In a first step checks the hash, decrypts the Data block and finally
decodes the GOP. This makes the Video Stream readable for a human operator. This implementation
ensures a complete encryption from Camera to the operator. As already mentioned, the information on this
datapoint was written by the CTK deployment process. An alteration of this datapoint makes the Video
Stream not readable for the operator. And so, it is recommended configuring “_auth” configs to prevent the
system from a manipulation (see chapter: Protection via authorization levels in WinCC OA).
The figure shows also that a Camera interacts to the VMS Streaming Interface before the Video data is
available within the WinCC OA system. It must be mentioned that this communication should be encrypted in
a secure environment. The implementation was tested via Cameras from Axis Communications
(https://www.axis.com acc.: 27th March 2019) where an encryption functionality can be offered.
Add-ons / Video
ATTENTION
• The viewing area of a camera must not be able to track the input of a password on any device of
the observed area.
• Default passwords of a camera should be changed directly after the commissioning of a new
camera.
• A wired connection to a camera must not be useable to start a Man in the Middle attack.
• Wireless configuration should use a secure and encrypted transfer protocol (e.g. WPA2-
Enterprise) which is in addition protected via a VPN connection. It is also recommended to use
only an encrypted and wired connection (no WLAN) for Video streams which contain sensitive
information.
• Enable encryption within the security camera administrative tools. It is essential that a camera
delivers a reliable picture which is prevented from altering. Do not use a camera in a security
relevant area if an encryption feature is not available.
• Protect the administration software for the camera with a password (see: Password strength).
• Update camera firmware frequently or whenever necessary depending on advisories given by the
camera vendor.
• Limit the exposure of a camera to the local network in a security relevant environment (make
remote access via Internet only possible by usage of a VPN connection).
CAUTION
The implementation of vimacc® uses the open source library OpenCV in Version 3.1. This version
may be vulnerable according to CVE vulnerability database:
https://www.cvedetails.com/vulnerability-list/vendor_id-16327/product_id-36994/Opencv-Opencv.html
(acc.: 27th March 2019).
Although most of the vimaccOA implementation is not affected by most of the descripted
vulnerabilities, it may be possible that the module VMS Streaming interface may be affected for USB
cameras.
In a case of a vulnerability an assertion may occur which disconnects all video streams from the
same interface-instance.
To mitigate the risk, it is possible to configure the usage of an USB camera with a separate interface-
instance. This will only affect the USB cameras but has no negative effect to the remaining system.
The following figure gives a centralized overview for a communication from an untrusted zone to a trusted
zone via a DMZ. This figure shows where a communication is encrypted and where it is not encrypted. It also
shows the places where TLS certificates are required to ensure this communication method. The name of
file-based certificates is only explained in DMZ and for the CA.
• A domain controller with DNS, KDC and a CA is configured. Private keys for CA remain on AD
controller.
• Three different UI’s can establish a secure communication to WinCC OA server via a DMZ
o WinCC OA ULC UX Client needs no certificate. It accepts the CA public key from httpServer
in “Trusted Root Certification authorities” to establish a connection to WinCC OA httpServer.
Port 443 is required for Front End Firewall.
o DesktopUI and MobileUI get the CA public key from httpServer during the installation of a
WinCC OA project into local user cache. This setup copies also the required certificates for
mxProxy communication (public CA certificate, public Host certificate, private Host key). A
DesktopUI and a MobileUI need to establish a connection to WinCC OA httpServer and to
mxProxy. Port 443 and 5678 are required for Front End Firewall.
o RemoteUI is installed manually on a designed client. The required certificates for mxProxy
communication need to be copied manually (public CA certificate, public Host certificate,
private Host key). A RemoteUI establishes a connection via mxProxy. This remote UI can
establish a secure connection to the Oracle Server if an Oracle Client is installed and this
client communicates to the Oracle server via a secured connection. Port 5678 is required for
Front End Firewall
• A remote WinCC OA project within an unsecured network can establish a connection to the secure
network as well.
• Communication between all UIs and WinCC OA mxProxy is completely secured.
• DMZ Zone contains a WinCC OA httpServer and a WinCC OA mxProxy host. Both are required to
establish a communication between the untrusted and the trusted zone.
• WinCC OA httpServer in DMZ communicates via secured port 443 to WinCC OA httpServer in
WinCC OA server project. Port 4897 and Port 4998 are required for Back End firewall to establish an
unsecured connection between the CTRL-Manager from httpServer in DMZ to Data- and Event
Manager from WinCC OA server in secured zone.
Port 443 needs to be configured for Back End Firewall and ULC-UX reads WinCC OA panels from
WinCC OA Server via secured port 443.
• WinCC OA mxProxy receives all communications via Port 5678. The ports 4897 (data), 4998
(event), 4777 (dist) need to be configured on Back End Firewall. This means that this communication
is unencrypted.
• Trusted Zone contains a WinCC OA server with Data- and Event Manager but not a mxProxy.
Config entry mxProxy is configured with “none”
• Oracle Server operates in the trusted zone and has a connection via WinCC OA RDB manager to
WinCC OA server project.
Oracle itself provides remote clients with data which are configured with “queryRDBDirect=1”. This is
a config entry which allows the client to query data directly from Oracle server (via VPN Tunnel) to
avoid a detour via Data-Manager on WinCC OA server.
• A domain controller with DNS, KDC and a CA is configured. Private keys for CA remain on AD
controller.
• Three different UI’s can establish a secure communication to WinCC OA server via a DMZ
o WinCC OA ULC UX Client needs no certificate. It accepts the CA public key from httpServer
in “Trusted Root Certification authorities” to establish a connection to WinCC OA httpServer.
Port 443 is required for Front End Firewall.
o DesktopUI and MobileUI get the CA public key from httpServer during the installation of a
WinCC OA project into local user cache. This setup copies also the required certificates for
mxProxy communication (public CA certificate, public Host certificate, private Host key). A
DesktopUI and a MobileUI needs to establish a connection to WinCC OA httpServer and to
mxProxy. Port 443 and 5678 are required for Front End Firewall.
o RemoteUI is installed manually on a designed client. The required certificates for mxProxy
communication need to be copied manually (public CA certificate, public Host certificate,
private Host key). A RemoteUI establishes a connection via mxProxy. This remote UI can
establish a secure connection to the Oracle Server if an Oracle Client is installed and the
client communicates to the Oracle server via a secured connection. Port 5678 is required for
Front End Firewall
• Communication between all UIs and WinCC OA server project is completely secured.
• DMZ Zone contains a WinCC OA httpServer
• WinCC OA httpServer in DMZ communicates via secured port 443 to WinCC OA httpServer in
WinCC OA server project. This httpServer communicates via secured port 5678 to mxProxy.
Port 443 needs to be configured for Back End Firewall. ULC-UX reads panels from WinCC OA
Server via secured port 443.
• Oracle Server operates in the trusted zone and has a connection via WinCC OA RDB manager to
WinCC OA server project.
Oracle itself provides remote clients with data which are configured with “queryRDBDirect=1”. This is
a config entry which allows the client to query data directly from Oracle server (via VPN Tunnel) to
avoid a detour via Data-Manager on WinCC OA server.
Figure 79 - Communication Methods in WinCC OA with local mxProxy and Apache Reverse-Proxy
• A domain controller with DNS, KDC and a CA is configured. Private keys for CA remain on AD
controller.
• All types of UI connection and the distributed WinCC OA project establish a connection via a
configured Apache Reverse-Proxy.
• Apache Reverse-Proxy forwards the incoming traffic to the required hosts:
o WinCC OA httpServer within DMZ
o WinCC OA Server in trusted network
• Apache Reverse-Proxy is configured as determined breaking point for all connections outside the
trusted network.
• Front End Firewall needs to be configured to accepts the configured ports to establish a connection to
Apache Reverse-Proxy within the DMZ.
• Back End Firewall needs to accept port 443 for http communication and port 5678 for mxProxy.
• Communication between all UIs and DIST Connections to WinCC OA server project is completely
secured.
• DMZ Zone contains a WinCC OA httpServer and an Apache Reverse-Proxy.
• WinCC OA httpServer in DMZ communicates via secured port 443 to WinCC OA httpServer on WinCC
OA server project.
• WinCC OA Control Manager for WinCC OA httpServer communicates via secured port 5678 to
mxProxy.
• Port 443 needs to be configured for Back End Firewall. ULC-UX reads panels from WinCC OA Server
via secured port 443.
• Port 5678 needs to be configured for Back End Firewall to establish a connection to mxProxy in trusted
network.
• Trusted Zone contains a WinCC OA server with Data- and Event Manager including mxProxy in default
configuration.
• Oracle Server operates in the trusted zone and has a connection via WinCC OA RDB manager to
WinCC OA server project.
Oracle itself provides remote clients with data which are configured with “queryRDBDirect=1”. This is
a config entry which allows the client to query data directly from Oracle server (via VPN Tunnel) to
avoid a detour via Data-Manager on WinCC OA server.
• WinCC OA mxProxy runs locally on secure WinCC OA server.
Note:
In this document ETM professional control GmbH can only give a few general recommendations for
specific cases but an overall security guideline for this topic can be given by international standards.
Patch management is the scheduled procedure for installing patches on plant computers. The following
issues need to be clarified at the time of planning:
• Which tests are used for the patches before installing them on the plant?
Security updates: Security updates provided by OS producers only contain updates that are
related to security topics.
WinCC OA summary patches (containing all changes for the corresponding version) for Windows and Linux
are usually published in a defined interval and can be downloaded from the SIMATIC WinCC Open
Architecture Portal (https://www.winccoa.com/) in section “Downloads”.
It is recommended to subscribe for security advisories published by Siemens CERT to get information
regarding current vulnerabilities and counter-measures:
https://www.siemens.com/global/en/home/products/services/cert.html (acc.: 27th March 2019)
Usually it is necessary to stop a running project to install the new patch and to restart it afterwards, by usage
of the redundancy and split functionality from WinCC OA it is possible to upgrade and test only one side of
the redundant system while the other side remains running with the not patched installation.
For Siemens automation components like a PLC which does not use default PC operating systems it can be
necessary to correct security related issues through a firmware update. Corresponding information can be
found on the Siemens Industrial Security Website:
http://www.siemens.com/industrialsecurity (acc.: 27th March 2019)).
• A single SCCM server could assume the combined functionality as WSUS and as SCCM server but
it is recommended to separate those functionalities
• Critical updates
• Definition Updates
• Drivers
• Feature Packs
• Security Updates
• Service Packs
• Tools
• Update
• Update Rollups
• Security-only updates
• Monthly Rollup
• Preview of Monthly Rollups
• Security Updates: A widely released fix for a product-specific, security-related vulnerability. Security
vulnerabilities are rated by their severity. The severity rating is indicated in the Microsoft® security
bulletin as critical, important, moderate, or low.
• Critical Updates: A widely released fix for a specific problem that addresses a critical, non-security-
related bug.
These two update classes must be subjected to a compatibility test with the respective WinCC OA version
and classified as compatible after a successfully conducted test executed by the Integrator or asset owner.
Patching the systems is not the only security measure used to protect a system or the entire corporate
network. By implementing an in-depth defense (use of all security techniques described in this Security
Guideline), a potential hacker must first overcome several security levels before he could exploit any
vulnerable spots of a missing security update.
This protection gives extra time for evaluating and testing the patches to be installed.
In addition, groups should be formed (for example, one group with all master servers and one with all
standby servers) and install the patches group by group.
6.5.2.3 Linux
Due to the natural fragmentation of existing Linux OS systems different mechanisms are available to update
an existing machine. Usually at least a packet management tool like APT, APT-GET, YUM or ZYPPER
needs to be installed. This upgrade is possible by manually triggering the specific functions. Please note that
following operations need root permission for execution and therefore the following examples are triggered
with the sudo command.
• openSUSE®: https://www.suse.com/documentation/slms1/book_slms/data/cha_updates.html
(acc.: 27th March 2019)
Definitions:
• If a local firewall, adapted to the process operation, is being used, it must be possible to install the
virus scanner even without its own firewall.
• The virus scan clients may be divided in (product-related and task-related) groups and configured
separately.
• It must be possible to disable the automatic distribution of the virus signatures and other updates.
• It must be possible to distribute the virus signatures and updates manually and group-wise.
• It must be possible to scan files and the system manually and group-wise.
• In case a virus is detected, if is recommended to configure a message without any file-related action
such as, for example, "Delete", "Clean" etc. being carried out automatically.
Note:
Software installation is often a procedure that represents a serious and complicated system change
to the respective system. The files to be installed must always be virus-free (e.g. a file server with its
own virus scanner or a DVD checked for viruses). A virus scanner should not hinder the installation
unnecessarily or, in fact, corrupt it. Hence, it must be possible to disable it completely if problems
occur during installation.
The virus scan server receives the virus signatures from the internet and from the update server of the
respective manufacturer or from a supervisory virus scan server and administers the virus scan clients.
It is possible to use multiple virus scan servers depending on the manufacturer. These may also be arranged
hierarchically.
An example for the usage of groups are Client machines. Some machines are fixed positioned within the
PCN and some other may be used for a mobile usage (Laptops). Another example are different kinds of
Servers like WinCC OA server or Oracle Servers.
Each option requires a different configuration of the Anti-Virus Software and this can be achieved by usage
of management groups.
Four groups have been created in the following figure. Depending on the system requirements more or fewer
groups can be created. However, there should be at least two groups present.
A list with the tested Anti-Virus Software for WinCC OA 3.16 FP2 (P009) is available within the
documentation.
• Scan the removable media for malware or other unexpected data before use to verify its integrity.
The most secure options are to securely erase the removable media and reformat the drive with the
appropriate file system (for flash or magnetic media) or to use a new CD or DVD (for optical media)
for each update
• Write the file(s) to the removable media. Dedicate this media exclusively for updates.
• Install the update on a non-critical endpoint or segment of the system and verify that it has no
adverse impact to the production system.
The following reporting can be configured and evaluated as needed, in addition to the alarm and messaging
systems of process control for example:
Asset management in plant technology refers to the management of equipment as well as the activities and
measures that serve to maintain or enhance the value of the plant.
Asset management is a very sensitive subject in the field of security engineering, since this data also
presents a weak point in a plant. In general, asset management and its administrative rights should be
restricted to the functional area within the plant's security cell.
The procedures described in the paragraph on Secure Access Techniques section can be used to publish
maintenance data beyond the borders of the security cell. This reliably prevents direct access from the
outside – for example, to sensors or actuators on the field level.
• Successful authentication to unknown or dormant accounts or from unknown hosts recorded in the
security log
• Unusual high number of log entries in each time frame or many errors logged
• Execution of untypical commands or functions
It is recommended to analyze the interface and to check if a transfer of an occurrence is possible via SNMP
trap or any other protocol message which is readable by WinCC OA. With this message it is possible to
trigger further activities inside WinCC OA to inform the operator about suspicious activities in the system.
• System Resources
o Usage of system resources for potential illegal/unknown actions (e.g. unknown data or data not
related to regular system operation is found on storage media/shares, high CPU usage)
o Exceptional high network load (e.g., machines on network sending data consuming resources on
other systems)
o Exceptional slow or irregular system performance
o Unexplainable system crashes
• Users
o Presence of new accounts not created by administrators
o Unexplained use of privileges at OS or application level (functions or applications running with
other privileges than normal)
o Locked user accounts not based on user’s fault
o Compromised user accounts (e.g., user account activity detected without original user presence)
• Others
o Unusual behavior after plugging in external media (e.g. USB stick, hard disk)
o Publication/leakage of internal system data on external Websites
Network administrators can perform automatic tests of the target system with the help of so-called "Security
Scanners". The security scanners are accessing special databases, e.g. those of the SANS institute
(SysAdmin, Networking and Security). Those databases hold lists of security gaps currently known and
widespread, e.g. the list of CVEs (Common Vulnerabilities and Exposures). The security scanners test if any
known vulnerable spots are present in the system being checked.
• Blackbox scan
• Whitebox scan
• Penetration test
A proper education can be given by the International Software Testing Qualification Board (ISTQB):
http://www.istqb.org/certification-path-root/advanced-security-tester.html (acc.: 27th March 2019)
Another guides regarding security testing can be given by the Open Web Application Security Project
(OWASP):
https://www.owasp.org/index.php/Testing_Guide_Introduction (acc.: 27th March 2019)
In a Blackbox scan, points of attack identifiable externally are detected as vulnerable spots (e.g. open ports,
accessible services …). Other hacking options that the system offers to the hacker after exploiting these
vulnerable spots remain unidentified.
An example for a Whitebox scan is the Microsoft® Baseline Security Analyzer (MBSA).
It can be used for the following purposes in addition to other tasks:
• Searching one or more computer for vulnerabilities from poor user management, for example
• Searching for vulnerability caused by misconfigured Access Control List (ACL) which may be used
for a tampering attack by a criminal attacker.
ATTENTION
A running process control system should never be tested with penetration test tools. The use of
penetration tests tools is always associated with the risk that the system tested (or the installation or
configuration of the system) may get damaged permanently.
The use of security scanners in the Whitebox scan for the maintenance period (plant shutdown) should be
supported by the manufacturer of each product, and this must be tested in advance, if needed.
Other tools that can be used, for example, for security tests under laboratory conditions:
• Port scanner
• Network/OS vulnerability scanner
ATTENTION
Before using the tools stated above the respective and current legal situation must be checked!
Different options for Vulnerability scanners are available and here is a small list:
• Nessus - https://www.tenable.com/products/nessus/nessus-professional (acc.: 27th March 2019)
This is a variety set of vulnerability scanners where each scanner can be configured to the required needs.
The SiESTA Toolset provides a centralized user interface for different vulnerability scanners including a
configurable method for automatic evaluation of scan results.
• Nmap Scan
• Nessus
• SSLyze
• STYX
• Kali Linux
More details regarding SiESTA are available by Siemens CT at following homepage for interested parties
within Siemens. A login with Siemens user credentials is required to access this page, those credentials
cannot be provided by ETM for interested parties outside from Siemens:
https://wiki.ct.siemens.de/display/SiESTA/SiESTA+Home (acc.: 27th March 2019).
https://new.siemens.com/global/en/company/stories/research-technologies/a-swiss-army-knife-for-digital-
security.html (acc. 10th May 2019).
WinCC OA is tested by SiESTA with the goal to identify and resolve all known vulnerabilities before the
product is released to market.
Beside the backup concept it is also essential to create an own disaster recovery concept which includes all
required steps to restore the system within a short time span. This is important because this is usually an
exceptional situation which could cause panic. That delays the restore process if an important step in the
restore procedure was forgotten. Therefore, it is recommended to create a step by step list which could be
realized within a short time span.
Besides the implemented Backup and Restore functionality within WinCC OA for historical data and the
configuration database it is also necessary to take care of the OS environment and plan a backup for
network equipment like switches.
• Full-Backup: This backup mode takes most time and needs the most place on the backup medium. It
is recommended to configure this mode in larger timeslots when the load on site is reduced like
during weekends (e.g. Sunday night)
• Incremental Backup: This will backup just the changes since the last full or incremental backup. This
backup procedure can be configured in a smaller timeslot than a full backup. For restoring it is
necessary to restore the newest full backup and the incremental backup in the correct timely order. A
typical incremental backup could run on delay basis and so be scheduled for every night.
• Differential backup: It takes only the changes since the last full backup
Thursday Wednesday
Incremental Backup Incremental Backup
The noted timeslots are not a specific recommendation by ETM profession control GmbH and are used only
as examples; it is necessary to define own timeslots for every site to fulfill the specific requirements.
Beside the type of the backup it is also necessary to define a backup medium rotation for those devices. It is
good practice to use a typical and documented rotation schema for this approach. A schema following a
“Grandfather-Father-Son” principle is only one of several options. A typical rotation for a grandfather could
run on monthly basis, for the father on weekly and daily basis for the son.
Father
(weekly)
Son
(daily)
For backup and recovery software this firm provided a specific article and reviewed a few products from
different vendors. As a result, they published the following chart online:
Figure 85 - Magic square by Gartner for vendors of backup and restore software (Gartner, 2017)
More datails regarding IEC 25000 are available within the standard itself which can by acquired online
(https://www.beuth.de/en/standard/iso-iec-25000/204260933 (acc.: 27th March 2019)). This analysis could
help to fulfill the requirements on site if a fulfillment of a security standard like IEC62443 3-3 is mandatory.
1. Inform the staff members of the ongoing restore procedure and tell them when the system is available
again
2. Get the backup tape from the external building (add here the Address and the number of the safe
deposit box)
3. Restore Backup for e.g. CISCO switches
4. Restore AD system with the last full backup
5. Restore all incremental backups created after the last full backup
6. Apply the last two steps for all other machines
7. Restore Online Backup for WinCC OA project.
8. Restore Parameterization Backup for WinCC OA project.
9. Restore Historical Data
10. Start the system
For reasons of precaution the restore procedure of an automated backup should minimum once be executed
on a test system.
This guideline describes how specific measures can be implemented to guarantee the IT security of
automated machines and plant; aspects of the automation devices, automation systems, and automation
applications are considered. A uniform, feasible procedure for ensuring IT security throughout the entire life
cycle of automation devices, systems, and applications is described. The lifecycle covers development,
integration, operation, migration and decommissioning phases.
This guideline defines a simple procedure for the development and description of IT security. This model
consists of eight steps. The implementation of this model from the viewpoint of vendors, integrators/machine
vendors and plant management will be described in the guidelines VDI/VDE 2182 Part2, Part3, and Part4.
Applying the methods and measures described in this guideline will allow systematic solutions to be
achieved which are appropriate to the level of protection required meaning that they are also cost effective.
1. Identify assets
8. Perform process
2. Analyze threats
audits
3. determine
7. Implements
relevant security
countermeasures
objectives
5. Identify measures
and assess
effectiveness
• VDI/VDE 2182 Part 2.1 IT-security for industrial automation - Example of use of the general model
for device manufacturer in factory automation - Programmable logic controller (PLC),
• VDI/VDE 2182 Part 2.2 IT-security for industrial automation - Example of use of the general model in
factory automation for plant and machinery installers - Forming press,
• VDI/VDE 2182 Part 3.1 IT-security for industrial automation - Example of use of the general model
for manufacturers in factory automation - Process control system of an LDPE plant,
• VDI/VDE 2182 Part 3.2 IT-security for industrial automation - Example of use of the general model
for integrators in process industry - LDPE reactor,
• VDI/VDE 2182 Part 3.3 IT-security for industrial automation - Example of use of the general model
for plant managers in process industry - LDPE plant.
Due to copyright reasons it is not possible to share the detailed knowledge from this standard within this
document and so it is recommended to get an own copy of those standards for the integrator. In this
guideline we can only point out a small example with general information to handle an issue from this norm.
As a reference the recommended structure from Highly Secure Large System is used for the next steps.
1. Identify assets
Based on the architecture the remote access from outside was defined as an asset
Remote Access Defect in data transfer Defect Hardware diversity Faults take long to be
line router eliminated
Confidentialit
Availability
Integrity
y
Remote Access Defect in data Defect Hardware Faults take long to be
X
transfer line router diversity eliminated
• Successful attack is easy to perform, even for an unskilled attacker (little capabilities needed)
Exploitability/Simplicity Scale
2 High • Vulnerability can be exploited easily with low effort, since no tools are required or suitable attack tools freely exist.
• No or only weak security measures to counter the attack caused by the threat
• Successful attack is feasible for an attacker with average hacking skills (medium capabilities needed)
1 Medium • Vulnerability is exploitable with medium effort, requiring special technology, domain or tool knowledge
• Some security measures to counter the threat
• Successful attack is only possible for a small group of attackers with high hacking skills (high capabilities needed)
• Vulnerability is only exploitable with high effort, and if strong (huge) technical difficulties can be solved, non-public information about inner workings of
0 Low
system is required
• Strong state of the art security measures to counter the threat
Exposure Rating
Low Med High
Exploitability/Simplicity Rating
Very
Low Unlikely Possible
unlikely
Very
High Possible Likely
likely
Likelihood Rating
Very unlikely Unlikely Possible Likely Very likely
Confidentiality
Risk
Availability
Integrity
Remote Access Defect Defect Hardware Faults take Moderate
in data router diversity long to be
X
transfer eliminated
line
Countermeasures
Confidentiality
Identified Risk
Consequence
Vulnerability
Availability
and costs
Integrity
Threat
Cause
Asset
Moderate
Access data router diversity long to be Hardware
X
transfer eliminated diversity –
line 2000€
Major
Access Manipul measures persons connection –
X X X
ation at service acquire data 200€ / month
provider
7. Implement countermeasures
The implementation will typically be embedded in the project schedule agreed between the integrator or
device manufacturer and the plant manager.
At least it is essential that components from a plant, that potentially contain data, like hard discs of flash
memory cannot be misused for an unauthorized read. An erase of the memory in the devices is therefore
very useful. The method of a secure wipe of confidential data needs to be defined by the Integrator and
executed by the asset owner in the phase of decommissioning. (Kobes, 2016, S. 24-27).
According to IEC 62443 a disposal of all assets should be considered, and the requirement is defined in
following way:
“Policies and procedures should be developed detailing retention, physical and integrity protection,
destruction, and disposal of all assets based on their classification, including written and electronic records,
equipment and other media containing information, with consideration for legal or regulatory requirements.”
(IEC 62443-2-1, 2010, S. 35)
ATTENTION
This chapter or this document gives an overview how software can be removed from devices but not
for hardware devices itself. This exception also includes machines which were connected to a
SCADA system during operation mode (e.g. handling of fuel rods from a nuclear reactor).
• A wipe of hard disc by formatting is not secure and can still be used by an attacker to read
confidential data. To avoid this threat a simple delete is not enough according to information given by
BSI (BSI, 2019).
Instead it is recommended to proceed with one of the following options:
o Secure deletion of data by 3rd party tool. Enclosed a small example list of possible vendors:
▪ Kaspersky® Total Security https://support.kaspersky.com/us/11449 (acc.: 27th
March 2019)
▪ Parted-Magic https://partedmagic.com/ (acc.: 27th March 2019)
▪ DBAN https://dban.org/ (acc.: 27th March 2019)
o Shredder the hard disc physically to make it impossible to get the stored data for an
attacker. This approach destroys the hard disc by force and makes it impossible to read the
data after this procedure. Different vendors offer products or services for this requirement.
Enclosed a possible example:
https://www.recycling.com/hard-drive-shredder-destruction-service/ (acc.: 27th March 2019)
• Configuration from Routers and Switches needs to be wiped before the discard of the device.
“Configuration files and log files stored on active network components contain a wealth of
information about the network, the infrastructure, the organisation and possibly also about individuals
in the organisation. When a device is passed to an outside party (for example, returned to the
manufacturer or the service company for the replacement of parts under warranty, or sold to a
possible purchaser), this information can be analysed.
For example, the following information can be extracted from configuration files:
o the protocols used (especially routing protocols), IP addresses and subnets
o VLAN configuration
o access control lists
o passwords and SNMP community strings
o name and contact data for the administrator (banner)
Due to the sensitivity of this information, care should be taken to ensure that prior to withdrawing a
device from operation or replacing defective or outdated devices, the files are deleted or rendered
unreadable. The procedure greatly depends on the manufacturer of the device. The security policy
for routers and switches should set out the responsibilities in this area.”
(BSI - IT-Grundschutz-Catalogues, 2013, S. 1842)
Some Router offers the option of the “factory reset” which deletes sensitive information from the
device. The option to shredder a device physically can also be considered.
• Ensure secure deletion of PLC program before PLC is discarded. The option to shredder a device
physically can also be considered.
• User documents which contain confided data should be destroyed or stored in a secure way if the
written information may be used for further projects.
Please consider that most use cases are based on a Defense in Depth concept where security must be
applied by all stakeholders inside a project. A good description is given by IEC62443,
(see chapter: References).
1. Consider the strategy and the concept of a Strategy of the Security Guideline
security process in all following steps
Defense in depth concept
3. Protect a new installed machine from any hostile Newly installed machine
network traffic until OS system is hardened.
Different Disc Partitions
12. Secure configuration of Oracle server Use Oracle Server with Oracle
Database Appliance (ODA)
13. Install the latest service packs from Microsoft® Patch management and security
or Linux distribution updates
Harden OS system
Shutting down/Uninstalling
services that are not needed under
Linux
22. Harden DCOM Interface if legacy technology is Hardening DCOM for OPC DA
used (e.g. OPC DA). driver
25. Create or replace default certificates for Create and deploy TLS certificates
encryptable driver via TLS
29. Apply user rights assignment on folder level Definition of Access Control List
(ACL)
30. Create role-based user concept for WinCC OA Administration of Role-Based user
authorizations
32. Delete or disable default users Delete or disable all default users
on WinCC OA level
Security Settings
33. Configure machine inactivity limit to protect idle Automatic user logout in OS
interactive sessions.
34. Check digital signature of software packages Digital signatures for binaries and
libraries
Auditing
36. Make suspicious logging events in WinCC OA Observe audit logging and transmit
visible information to WinCC OA
38. Plan a network concept and network services Administration of networks and
network services
39. Limit internet access for plant computers Limitation of internet access
40. Definition of Access Points to Security Cell Definition of the Access Points to
the Security Cells
43. Ensure secure communication between security Secure security cell link via IT
cells Infrastructure
47. Hide secure network behind Reverse-Proxy Hide secure network behind a
Reverse Proxy
Physical Security
50. Ensure Security coding knowledge for project Secure coding standard for API
developers extension
51. Usage of Obfuscator tool for own API code Usage of Obfuscation tool for API
code
52. Implement Training concept for Security Testers Knowledge of Security Testing
53. Create openSSL certificates for WinCC OA and Usage of TLS/SSL for plant
deploy it communication
56. Enforce usage of strong cipher suite Enforce usage of strong cipher
suite
PLC Communication
WinCC OA Security
60. Add authorization config for all WinCC OA Protection via authorization levels
Datapoints in WinCC OA
61. Ensure secure communication for Web clients Secure Web Publication
71. Define SSO for OS or external Users in WinCC Automatic User Login
OA
Single Sign On
72. Activate automatic user logout in WinCC OA Automatic user logout in WinCC
Level OA
74. Set secure settings in WinCC OA config file Keep secure settings in WinCC OA
config file
Mobile Devices
Security Testing
Whitelisting
Process
83. Implement and maintain cyclic risk assessment Implement Risk assessment
process process based on VDI/VDE 2182
Decommissioning
Some descriptions, definitions and abbreviations were adopted from internationally approved standards (e.g.
ISA-95, ISA-99) or from the respectively current descriptions of the manufacturer.
8.1.1.5 Authentication
Authentication is the ability to verify the identity of a user or a computer system on a computer network.
Actual block ciphers are mentioned in this table - please note that the red colored ciphers are already
vulnerable for attacks and should not be used in a secure environment.
DES 56 64 Unsecure
The chain of trust of a certificate chain is an ordered list of certificates, containing an end-user subscriber
certificate and intermediate certificates (that represent the intermediate CA), that enables the receiver to
verify that the sender and all intermediate certificates are trustworthy. This process is best described in the
page Intermediate certificate authority. See also X.509 certificate chains for a description of these concepts
in a widely used standard for digital certificates.
https://en.wikipedia.org/wiki/Chain_of_trust (acc.: 27th March 2019)
• Key exchange
• Bulk encryption
• Message authentication
Key exchange algorithms protect information required to create shared keys. These algorithms are
asymmetric (public key algorithms) and perform well for relatively small amounts of data.
Bulk encryption algorithms encrypt messages exchanged between clients and servers. These algorithms are
symmetric and perform well for large amounts of data.
Message authentication algorithms generate message hashes and signatures that ensure the integrity of a
message.”.
The list of selectable cipher suites depends on the used openSSL version. WinCC OA uses an actual
recommended version openSSL. The list of selectable cipher suites by openSSL and the OS can be queried
by command line. Here is an example for a Windows system:
D:\Siemens\Automation\WinCC_OA\3.16\bin>openssl ciphers
The CIS Controls™ and CIS Benchmarks™ are the global standard and recognized best practices for
securing IT systems and data against the most pervasive attacks. These proven guidelines are continuously
refined and verified by a volunteer, global community of experienced IT professionals.“
(CIS, 2018)
https://www.cisecurity.org/ (acc.: 27th March 2019)
CAUTION
COM must not be used in an environment where the implementation of security features is
mandatory because this interface likely used for security attacks. It could only be used for
compatibility reason in old software products if they run in a complete secured environment.
Note:
In the industrial infrastructure there are usually one or more control centers to monitor and
coordinate the operating schedule. In complex plants, multiple control centers are usually connected
via WAN (Wide Area Network), e.g. one control center is at another location for failure safety. One
control center contains the SCADA host computers and the related display devices for the plant
operator and additional information systems like an archive server.
To avoid a negative impact caused by network traffic it is recommended to configure an own subnet for CSN
where it is ensured that this separate network is not jammed by the common traffic.
WinCC OA uses the CSP named “Microsoft Enhanced RSA and AES Cryptographic Provider” to check the
SSA for managers with session binding
(see chapter: Example for Windows Certificate Store SSA certificates).
8.1.1.18 DCOM
Short for Distributed Component Object Model, an extension of the Component Object Model (COM) that
allows COM components to communicate across network boundaries. Traditional COM components can
only perform interprocess communication across process boundaries on the same machine. DCOM uses the
RPC mechanism to transparently send and receive information between COM components (i.e., clients and
servers) on the same network.
DCOM was first made available in 1995 with the initial release of Windows NT 4.
CAUTION
DCOM must not be used in an environment where the implementation of security features is
mandatory since this interface is likely used for security attacks. It may only be used for compatibility
reason in old software products if they run in a complete secured environment.
Note
The concept of a Defense in Depth contains a tiered and layered structure of security and
recognition measures and mechanisms (also on the level of single place systems). It has the
following features:
• Attackers may reckon to be detected when trying to breach or bypass the single layers.
• The weak point of a layer of this architecture can be covered in one of the other layers.
• The system security is a separate layer structure inside the whole layered structure of the
network security.
WinCC OA UI / Desktop UI
8.1.1.22 Device
Any item that can be connected to a network or computer is a device, such as, for example, a computer,
printer, joystick, adapter, an interface card or any other peripheral device. Generally, devices require a
device driver for the used operating system.
They include electronic devices licensed under Windows such as computers, workstations, terminals and
handheld computers, which access the services of the Windows operating system or can use them, including
file and printer sharing, remote access and authentication.
Note:
Decentralized process control systems are usually used in combination with continuous processes
like the generation of electric energy, oil and gas refining, chemical or pharmaceutical production
and paper manufacture. Besides that, it is also used in combination with discrete processes like
assembly, packaging and storing of automobiles and other goods.
(Windows): Logical group of computers on which a version of the operating system Microsoft® Windows is
running and that share a central folder database (refer to AD starting with Windows 2000). The AD contains
the user accounts and security information for the resources in this domain. A unique user account or unique
user name is assigned to each person using a computer within a domain. Access rights to resources within
the domain can be assigned to this account.
(Windows): A structure for administration of local Windows networks. It corresponds to a local security
section with central administration of resources and represents an administrative limit.
A domain controller is the centerpiece of the Windows AD service. It authenticates users, stores user
account information and enforces security policy for a Windows domain.
8.1.1.30 Eavesdrop
This is an attack vector against the confidentiality of a system. Eavesdropping is a secretly listening of a
communication between two or more different components. Attacker can use the observed communication to
steal instinctual property or to get information to prepare an attack against the integrity of a system.
• Manufacturing
A firewall represents a security system which helps to protect a computer network or a single computer from
unauthorized network access. Moreover, it is a partial aspect of a security concept.
Every firewall security system is based on a software component. The firewall software is used to restrict
network access by using the sender address, destination address and services in use. It monitors the data
exchange and decides according to defined rules whether a network packet may pass or not.
Note:
• Front-end firewall: A front-end firewall protects the perimeter. Only clearly named users can get
access via verifiable communication (application filter). Clearly recognized and trustworthy devices
can get access via exceptions (e.g. via internet protocol security, IPsec).
• Back-end firewall: A back-end firewall protects the production network PCN against the perimeter
and other trustworthy networks (e.g. MON). The back-end firewall must be implemented as a
performance-oriented solution for unambiguously identified trustworthy devices.
• Three-Homed firewall: A Three-Homed firewall is a combined front- and back-end firewall with its
own “minimal perimeter” for scalable security solutions.
8.1.1.39 Host
It is a device in a TCP/IP network that has an IP (Internet Protocol) address. For example, such devices may
be servers, workstations, print devices with a network interface and routers. Sometimes, the term refers to a
certain network computer that executes a service used by the network or remote clients.
8.1.1.44 IP address
An IP address is an address in computer networks that is based on the Internet Protocol (IP) just as the
internet, for example. It is assigned to devices that are connected to the network, thus making them
addressable and accessible. The IP address may designate one single receiver or a group of receivers
(Multicast, Broadcast). Conversely, multiple IP addresses may be assigned to one computer.
The IP address is used to transport data from the sender to the designated receiver. Like the postal address
on the envelope of a letter, data packets are provided with an IP address that uniquely names the receiver.
Based on this address the "Post offices" (e.g. routers) can decide the direction in which the packet needs to
be transported. In contrast to postal addresses, IP addresses are not bound to a fixed location.
The most popular notation of the IPv4 addresses common today consists of four numbers that can have a
value from 0 to 255 and are separated with a dot, e.g. 192.0.2.42. From the technical point of view, the
address is a 32-bit (IPv4) or 128-bit (IPv6) binary number.
8.1.1.45 IPsec
The term refers to the IP Security protocols; this is architecture for supplying encryption and authentication
services. It is a series of cryptography-based security services and security protocols based on industrial
standards. All protocols of the TCP/IP protocol suite as well as internet communication using L2TP (Layer
Two Tunneling Protocol) can be protected with IPsec. Typical usage is a VPN connection.
When using Kerberos (must be explicitly activated and configured) with WinCC OA it is necessary that valid
Kerberos tickets are distributed, otherwise the necessary WinCC OA manager cannot be started. As soon as
a project is running even a breakdown of the server which distributes the tickets cannot stop the started
WinCC OA project from running. However, it is not possible to start further projects or a WinCC OA manager
within a project. This action will be prompted by an error message since a valid Kerberos ticket is also
needed for the start due to security reasons.
At the automation and management levels, MES facilitate effective production and operation control. They
enable fast response times to changing manufacturing conditions in conjunction with the reduction of non-
production related activities. Thus, they represent a connection between the automation level of production
processes and the systems of the management level. In this case the term "vertical integration" is used.
A mirror server is configured to receive all update packages in a controlled environment before they are
deployed within the internal network. The usage of a Mirror Server helps to keep the internal hosts secret
which may contain privacy and secure information and makes them less vulnerable for an attack.
Another benefit of a Mirror Server is the reduction of internet bandwidth because the packages are only
downloaded once for all configured clients.
A MQTT system consists typically of clients communicating with a server. The server is also called a broker.
WinCC OA operates as a MQTT client which can establish a connection to a MQTT broker.
8.1.1.54 NAMUR
NAMUR is an international association of automation technology users in the process industry. The complete
original name, "Normenarbeitsgemeinschaft für Mess- und Regeltechnik in der chemischen Industrie"
(Standards workgroup for measuring and control technology in the chemical industry) is no longer used
today. Instead, the association has now adopted the name, "Interessengemeinschaft
Automatisierungstechnik der Prozessindustrie" (Community of those interested in automation technology for
the process industry). NAMUR supports exchange of engineering practices between its members and with
other associations and organizations. The working results are published in the form of NAMUR
recommendations and worksheets and, if required, incorporated by national and international standards
committees as proposals for standardization.
In Linux, PAM configuration is done either the /etc/pam.conf file or files within the /etc/pam.d directory, or
both. When both are used, pam.conf sets default values, which can then be overridden by individual
application-specific files within the /etc/pam.d directory.”
(K. K. Mookhey, Nilesh Burghate, 2005, S. 53)
“Perimeter network” (border network, Perimeter network) is another frequently used description for the DMZ.
In the telecommunication field, it is the keyword for a computer, router or a small network, which is set up as
a "neutral area" between the internal network of an organization and the "external" public network. This
measure should prevent external users from having direct access to a server with corporate information.
Note:
The purpose of the so-called demilitarized zone is to enforce the guideline of the internal network for
the information exchange externally as well as to grant untrustworthy external sources only
restricted access to information that can be officially released. Thereby the internal network is
protected against attacks from the outside.
In the context of industrial automation and process control systems “internal network” normally
means the network or segment on which the security related measures primary concentrate. For
example, a process control network can be considered as an internal network when it is connected
to an external business network.
Example:
A DMZ can be implemented using the WinCC OA proxy. A WinCC OA system with Data- and Event
Managers is running in the background. A WinCC OA HTTP-Server is running separated from the
system and it provides a defined mapping of the necessary data within the DMZ. The
communication takes place through a routing firewall. Thereby, the proxy is running on the secured
system. Externally, the WinCC OA HTTP-Server communicates through a NAT firewall with
Desktop UI end devices located in a different network. In this example, the WinCC OA HTTP-Server
represents the perimeter.
See chapter: Secure Web Publication
8.1.1.65 Protocol
This is a group of rules and conventions that is used to send information over a network. These rules control
the format, the repeat rate, the sequence and error control of the messages exchanged between the network
devices.
Note:
The process control network can be split in different zones and a company or plant can have
multiple process control networks.
A procedural process changes material depending on the type, property and composition. Typical procedural
plants are refineries, cement plants, rolling mills or paper factories. Related areas such as discrete
manufacturing or building technology have developed processes like those for manufacturing control
technology and building control technology. The basic task of process control engineering is to control and
monitor the process. The purpose is to maintain certain set-point conditions (temperature, fill level,
atmospheric humidity, etc.) and to trigger an alarm or activate a safety function in case of large deviations.
The modules of process control engineering communicate via special data links (Profibus, Modbus and
LON). However, the lower-priced data links from the world of computers are being used increasingly even in
this field. There is almost no system today that is not provided with the (Ethernet) network prevalent in the
PC world. Modern process control systems can also send e-mails and information to cell phones via SMS.
The systems of process control engineering are programmed using pre-defined software modules. This
reduces the number of errors considerably and enhances operational security (configuring instead of
programming).
This is important since these systems sometimes also watch, and control processes associated with a
certain hazard potential. Similarly, there are pre-defined modules to configure graphic displays (process
visualization) for representing the workflows internal to the process (plant, machinery). The graphical
information can be shown on a PC that is connected to the system or directly on a monitor.
Note
The term also covers field bus systems which contain control logic and algorithms run on intelligent
electronic devices that coordinate their actions.
This is a combination of staff, hardware and software that can influence the reliable performance or
execution of an industrial process in a safe and secure way.
Note
For more information see Wikipedia: https://en.wikipedia.org/wiki/SCADA (acc.: 27th March 2019)
This is part of the integrated routing and RAS (Remote Access Service), the telephone worker, external field
employees and Plant administrators. They administer the servers in various branches of an organization
enabling network access from a remote location. Users can dial up into the network from a remote location to
use certain services. These include, for example, file and printer sharing, e-mail, scheduling and SQL
databases.
8.1.1.75 Remote UI
This is the default user interface from WinCC OA which is installed via a common setup. It holds libraries and
executables which are installed on the local machine. A UI interface establishes a connection to the
associated Data- and Event manager. It is possible to execute this UI local on the same machine or on a
remote machine.
8.1.1.77 Router
This hardware enables interoperability and connectivity between local area networks (LAN) and WANs (Wide
Area Network) and the interconnection of LANs with different network topologies (such as, for example,
Ethernet and Token Ring). Routers compare the information contained in the packet header with a LAN
segment and then choose the best possible transmission path for the packet. In the process, they try to
optimize the network performance.
8.1.1.78 Samba
Samba is a free software re-implementation of the SMB/CIFS networking protocol.
Samba runs on most Unix, OpenVMS and Unix-like systems, such as Linux, Solaris, AIX and the BSD
variants, including Apple's Mac-OS Server, and Mac-OS client (Mac OS X 10.2 and greater). Samba is
standard on nearly all distributions of Linux and is commonly included as a basic system service on other
Unix-based operating systems as well. Samba is released under the terms of the GNU General Public
License. The name Samba comes from SMB (Server Message Block), the name of the standard protocol
used by the Microsoft® Windows network file system.
Samba provides file and print services for various Microsoft® Windows clients and can integrate with a
Microsoft® Windows Server domain, either as a Domain Controller (DC) or as a domain member. As of
version 4, it supports AD and Microsoft Windows NT domains.
Defaults timestamp_timeout=120
8.1.1.86 Tampering
Within this document the term tampering refers to a modification of products in a way that would make them
harmful to the consumer. It is essential to configure the SCADA system in a way that avoids any case of
tampering. It is possible to scan the own system for vulnerability regarding tampering by usage of
vulnerability scanners like MBSA from Microsoft®.
All machines are completely controlled by a central mechanism like an AD controller and the machines within
this network are protected from any outside triggered impact. Every outbound communication from a trusted
network via security perimeter is controlled by defined procedures.
Machines inside of the trusted network are defined as secure machines and an unencrypted communication
between these machines is possible. Usually these machines are configured in an own security cell with
limited access to the other network controlled by a firewall and a DMZ.
With WinCC OA it is possible to set up the connection between a trusted and untrusted network via WinCC
OA mxProxy manager.
8.1.1.91 User
A person accessing a system with or without the necessary privileges respectively an accessing part of an
organization or automatic process.
A real or virtual person logged in (e.g. the user logged in at the desktop of the respective operating system or
even an automatic desktop login).
8.1.1.95 WebClient
A WebClient is any computer or software application that sets up a link with another computer with a running
Webserver to requests its service.
8.1.1.99 X.500
X.500 Directory Service is a standard way to develop an electronic directory of people in an organization so
that it can be part of a global directory available to anyone in the world with Internet access.
Figure 2 - Responsibilities for asset owner, Integrator and Product supplier in IEC62443 (Kobes, 2016) ..... 20
Figure 8 – Implementation of Defense in Depth concept for different Types of Access (Siemens, 2019) ..... 35
Figure 13- Usage of TLS/SSL in OSI model between Client and Server ................................................................ 46
Figure 22 - Highly secure large system with WinCC OA DRS System .................................................................... 58
Figure 26 - Sample configuration for security cell connection via a single WinCC OA mxProxy ...................... 66
Figure 34 - Start page from WinCC OA HTTP-Server with trusted certificate via Apache Server ................... 93
Figure 39 - Schematic graphic of the communication using the WinCC OA mxProxy with a remote UI ....... 103
Figure 44 - Imported host certificate and certification chain (chain of trust) ..................................................... 117
Figure 45 - Configure Read Permission to Private Key for WinCC OA Users ...................................................... 118
Figure 54 - Disable Automatic Unlock for mobile devices and WinCC OA Desktop UI ..................................... 136
Figure 56 – Protect unsecure WinCC OA driver communication with Secure Tunnel........................................ 139
Figure 61 - Prevent DoS Attack to WinCC OA driver via config settings .............................................................. 149
Figure 62- Central user administration with Domain Controller and different permissions ............................ 155
Figure 65 - Increasing Password length with fixed Alphabet size of 26 ............................................................... 166
Figure 66 – Increasing Alphabet size with fixed Password length of 5 ................................................................. 166
Figure 70 – Compare SSA login process with WinCC OA default mechanism .................................................... 177
Figure 72 - Create certificate for SSA with session binding ................................................................................... 181
Figure 73 - Windows certificate Store with SSA certificates for Manager .......................................................... 184
Figure 74 - Interaction VMS and WinCC OA (Accellence Technologies, 2018) .................................................. 190
Figure 79 - Communication Methods in WinCC OA with local mxProxy and Apache Reverse-Proxy ............ 200
Figure 85 - Magic square by Gartner for vendors of backup and restore software (Gartner, 2017) .............. 221
Figure 92 - Part from Highly Secure Large System architecture ........................................................................... 228
Figure 94 – Define Likelihood matrix based on Exploitability and Exposure ....................................................... 230
Table 8 - Default communication ports used for alive-message communication .............................................. 108
BSI. (2019, 03 26). Daten auf Festplatten richtig löschen. Retrieved from https://www.bsi-fuer-
buerger.de/BSIFB/DE/Empfehlungen/RichtigLoeschen/richtigloeschen.html
Fernandez, I. (2015). Beginning Oracle Database 12c Administration: From Novice to Professional (2nd edition).
Apress.
Gerhard Ackermann, Robert Hönl. (2006). Schutz von IT-Anlagen gegen Überspannung. Berlin: VDE Verlag.
Gilliam. (2018, 2 25). Public-key cryptography. Retrieved 3 05, 2018, from Wikipedia:
https://en.wikipedia.org/wiki/Public-key_cryptography
K. K. Mookhey, Nilesh Burghate. (2005). Linux - Security, Audit and Control Features. Rolling Meadows, IL 60008
USA: Information Systems Audit and Control Association.
Kobes, P. (2016). Leitfaden Industrial Security IEC 62443 einfach erklärt. Berlin: VDE VERLAG GMBH.
Microsoft. (2019, 02 04). Cipher Suites in TLS/SSL (Schannel SSP). Retrieved from https://docs.microsoft.com/en-
au/windows/desktop/SecAuthN/cipher-suites-in-schannel
Microsoft. (n.d.). Microsoft Technet. Retrieved 3 6, 2018, from Service Principal Names:
https://technet.microsoft.com/en-us/library/cc961723.aspx
Microsoft. (n.d.). Require SMB Security Signatures. Retrieved 7 10, 2018, from https://docs.microsoft.com/en-
us/previous-versions/orphan-topics/ws.11/cc731957(v=ws.11)
NSA. (2019). National Security Agency / Central Security Service. Retrieved from https://www.nsa.gov/what-we-
do/research/selinux/
Raina, K. (2003). PKI Security Solutions for the Enterprise. Indianapolic, Indiana: Wiley Publishing Inc.
Shaw, W. T. (2006). Cybersecurity for SCADA Systems. Tulsa, Oklahoma 74112-6600 USA: PennWell Corporation.
Smulders, P. (1990). The threat of information theft by reception of electromagnetic radiation from rs-232 cables. In
Computer & Security vol. 9 (pp. 53-58).
Stapleton & Epstein. (2016). Security without Obsurity - A Guide to PKI Operations. Boca Raton, FL 33487-2742: CRC
Press, Taylor & Francis Group.
Zvarych, A.G.; Pomales, I.; Rodriguez, J.; Villasmil, D. (2014). Practical Communications Considerations for Protection
Engineers. Retrieved from https://ieeexplore.ieee.org/document/6799025
Zwodrei. (2015, 3 10). SSL handshake with two way authentication with certificates. Retrieved 3 5, 2018, from
https://commons.wikimedia.org/w/index.php?curid=9031795