Martin Scheu knows his way around controllers. Even as a teenager, he programmed his first controllers together with his father. Today, he is responsible for the security of the PLC.
Scheu now works in security at Switch. Put simply, his employer is the "Swiss BSI for private companies." He and his team serve customers in critical infrastructure such as energy or logistics. Together with other experts, he has developed a list of 20 tips around secure PLC and made it available at Gitlab (more here). The list also includes cross-references and program examples.
Industrial users should disable unneeded or unused communication ports and protocols. Many PLCs have an integrated web server, e.g. for PLC status information or even as a complete Human Machine Interface (HMI). Manufacturers working according to the IEC 62443 industrial safety standard should provide a document that shows available or running services, open ports and the possibility of disabling these services or ports. Scheu points to Bosch Rexroth's documentation as exemplary in the industry.
The second piece of advice is that users should incorporate plausibility checks by cross-comparing different measurements. This, he said, requires process understanding from the programmer, but when the motor is running, for example, the current cannot be zero.
Scheu's third tip: HMI access to PLC variables can (and should) be limited to a valid range of operating values. "But other cross-checks should be added in the PLC to prevent or alarm inputs outside the valid ranges programmed in the HMI," the Swiss explains.
All the tips from Martin Scheu and his colleagues not only increase safety in the system, but also create process stability.