Programmable Logic Controllers (PLCs) execute critical control software that drives Industrial Automation and Control Systems (IACS). PLCs can become easy targets for cyber-adversaries as they are resource-constrained and are usually built using legacy, less-capable security measures. Security attacks can significantly affect system availability, which is an essential requirement for IACS. We propose a method to make PLC applications more security-aware. Based on the well-known IEC 61499 function blocks standard for developing IACS software, our method allows designers to annotate critical parts of an application during design time. On deployment, these parts of the application are automatically secured using appropriate security mechanisms to detect and prevent attacks. We present a summary of availability attacks on distributed IACS applications that can be mitigated by our proposed method. Security mechanisms are achieved using IEC 61499 Service-Interface Function Blocks (SIFBs) embedding Intrusion Detection and Prevention System (IDPS), added to the application at compile time. This method is more amenable to providing active security protection from attacks on previously unknown (zero-day) vulnerabilities. We test our solution on an IEC 61499 application executing on Wago PFC200 PLCs. Experiments show that we can successfully log and prevent attacks at the application level as well as help the application to gracefully degrade into safe mode, subsequently improving availability.
翻译:可编程的逻辑控制器(PLCs)执行驱动工业自动化和控制系统(IACS)的关键控制软件。PLCs可以很容易地成为网络辅助系统的目标,因为其受到资源限制,而且通常使用遗留的、能力较低的安全措施来建造。安全攻击可以极大地影响系统的可用性,这是IACS的一项基本要求。我们建议了一种方法,使PLC应用程序更加具有安全意识。根据众所周知的IEC 61499功能区块标准来开发IACS软件,我们的方法允许设计者在设计期间对应用程序的关键部分进行注释。在部署时,应用这些部分会自动使用适当的安全机制来探测和防止攻击。我们用拟议方法可以减轻对分布式IACS应用程序的可用性攻击。我们用IEC 614499服务-Interface功能区块(SIFBs)将入侵探测和预防系统(IDPSS)嵌入软件,并在时间编程中添加。这种方法更便于在设计期间对应用程序进行积极的安全保护,防止对先前未知的(0-100级)的进攻进行安全保护。我们在6-LC系统应用中成功地测试,我们可以把安全应用系统改进PFCS。我们在6-LC系统,在6-FCS上改进了6-FC系统。