Securing Programmable Logic Controllers (PLCs): A Cornerstone of Industrial Control and Automation Systems (IACS) Protection
Cyber BR @ 2025. All rights reserved..

Securing Programmable Logic Controllers (PLCs): A Cornerstone of Industrial Control and Automation Systems (IACS) Protection

The security of Programmable Logic Controllers (PLCs) stands as a fundamental pillar in safeguarding Industrial Control and Automation Systems (IACS).

However, they are frequently overlooked, rendering them an easy target for cyberattacks. These attacks carry the potential to cause disruptions in production, physical damage to equipment, and risks to worker safety.

This oversight often stems from the limited knowledge that security professionals possess regarding this subject. This can be due to a lack of practical experience within the industrial environment or because they are relatively new to the realm of OT (Operational Technology) cybersecurity.

The Criticality of PLCs in Industrial Automation

PLCs serve as the "brains" of numerous industrial processes, controlling machinery, production lines, and critical infrastructures. A compromised PLC can lead to devastating consequences, including:

  • Production Stoppages: This is the core of any manufacturing plant, and unplanned interruptions result in significant financial losses.
  • Equipment Damage: Incorrect operation of machinery can lead to failures and accidents.
  • Safety Hazards: In sectors like oil and gas or chemical processing, an attack can have severe environmental and human repercussions.

Article content

The "Security-by-Design" Concept

Security-by-Design is an approach that seeks to integrate security into all phases of software or system development, from the initial conception to implementation and maintenance. Instead of treating security as a late addition, this methodology prioritizes it as a fundamental and integrated requirement throughout the design and development process.

With that in mind...

How to Apply Security-by-Design in PLC Programming

Securing the industrial network, implementing perimeter security, and scanning for vulnerabilities are all crucial. However, we often neglect to prioritize the devices and equipment that DIRECTLY affect the industrial process and can exert significant influence.

Throughout my professional experience (spanning nearly 25 years), I've learned that a proactive approach can mitigate the risks associated with industrial systems, and we apply this in our deliveries and projects at Cyber BR .

There's a group (of which I am a part) that deeply studies Secure Coding Best Practices for PLCs. After extensive research, the "TOP 20 PLC Security" was created.

Article content
LADDER programming in a PLC engineering station.

In this new article/post, I will briefly explore 7 Key Secure Coding Practices for PLCs, covering everything from system conception to operation. These practices are designed to strengthen the integrity, reliability, and security of your automation systems.

Let's delve into them...

  1. Code Modularization: Dividing the PLC code into modules facilitates the detection of malicious alterations and simplifies maintenance.
  2. Operation Mode Tracking: Monitoring whether the PLC is in RUN mode helps prevent unauthorized code modifications (which are often enabled in PROG mode).
  3. Input and Output Validation: Ensuring that timer, counter, and other variable values are within acceptable limits (maximum/minimum/offset) prevents incorrect operations.
  4. Use of Checksums and Hashes: Verifying the integrity of the PLC code with checksums or hashes helps detect unauthorized modifications.
  5. Restriction of Third-Party Interfaces: Controlling access from external systems to PLCs minimizes the risk of attacks.
  6. Safe State for PLC Restart: Defining safe states for the process in case of a PLC restart (Example: energize contacts, de-energize, maintain the previous state, close/open critical process valves – this addresses process safety).
  7. Input Validation at the HMI/SCADA Level in the PLC: Access from the HMI to PLC variables can (and should) be restricted to a valid operational range within the HMI. However, additional cross-checks at the PLC level should be implemented to prevent or alert about values outside the programmed acceptable ranges (Example: if a variable is changed from 20 to 200, in addition to acceptance on the supervisory panel, this variable also needs to be validated in the PLC program. (Ever heard of MFA on Level 0 and 1 devices? No!? That's a topic for another article, haha).

Protecting your PLCs is an essential investment in the security and continuity of your business.

And what about you? Had you considered the concept of security-by-design for PLCs?

What other methods and Best Practices do you know, apply, or study?

Did you enjoy the content?! Like it! Share it! So that more people have access to information and knowledge!!

#cybersecurity #industrialautomation #PLC #security #industrialcontrolsystems #otsecurity #plcsecurity #cyberot #cyberbr #plcsecurity

To view or add a comment, sign in

More articles by Flávio Cruz, MSc

Insights from the community

Others also viewed

Explore topics