A Fortiphyd Logic nevű cég néhány hónapja publikálta a fenti címmel (Top 20 Secure PLC Coding Practices) a biztonságos(abb) PLC-k fejlesztéséhez összerakott útmutatóját a Github-on.
A tanácsok lényege:
1. Modularize PLC Code.
2. Track operating modes.cim-nelkul_8336644
3. Leave operational logic in the PLC wherever feasible.
4. Use PLC flags as integrity checks.
5. Use cryptographic and/or checksum integrity checks for PLC code.
6. Validate timers and counters.
7. Validate and alert for paired inputs/outputs.
8. Validate HMI input variables at the PLC level, not only at HMI.
9. Validate indirections.
10. Assign designated register blocks by function (read/write/validate).
11. Instrument for plausibility checks.
12. Validate inputs based on physical plausibility.
13. Disable unneeded/unused communication ports and protocols.
14. Restrict third-party data interfaces.
15. Define a safe process state in case of a PLC restart.
16. Summarize PLC cycle times and trend them on the HMI.
17. Log PLC uptime and trend it on the HMI.
18. Log PLC hard stops and trend them on the HMI.
19. Monitor PLC memory usage and trend it on the HMI.
20. Trap false negatives and false positives for critical alerts.
A tanácsokon kívül jó néhány ICS gyártó PLC-ihez lehet fejlesztési segédleteket elérni a fenti Github oldalon, többek között olyan nagy gyártók termékeihez, mint a Honeywell, a Mitsubishi, a Rockwell, a Schneider Electric, a Siemens vagy a Yokogawa.