During the design of safety-critical systems, safety and security engineers make use of architectural patterns, such as Watchdog and Firewall, to address identified failures and threats. Often, however, the deployment of safety patterns has consequences on security, e.g., the deployment of a safety pattern may lead to new threats. The other way around may also be possible, i.e., the deployment of a security pattern may lead to new failures. Safety and security co-design is, therefore, required to understand such consequences and trade-offs, in order to reach appropriate system designs. Currently, pattern descriptions, including their consequences, are described using natural language. Therefore, their deployment in system design is carried out manually, thus time-consuming and prone to human-error, especially given the high system complexity. We propose the use of semantically-rich architectural patterns to enable automated support for safety and security co-design by using Knowledge Representation and Reasoning (KRR) methods. Based on our domain-specific language, we specify reasoning principles as logic specifications written as answer-set programs. KRR engines enable the automation of safety and security co-engineering activities, including the automated recommendation of which architectural patterns can address failures or threats and consequences of deploying such patterns. We demonstrate our approach on an example taken from the ISO 21434 standard.
翻译:在设计安全临界系统期间,安全和安保工程师利用建筑模式,如 " 观察犬 " 和 " 防火墙 " 等,处理已查明的故障和威胁。然而,安全模式的部署往往对安全产生影响,例如安全模式的部署可能导致新的威胁;另外,也可能出现新的失败;在设计安全关键系统期间,安全模式的部署也可能出现其他可能,即安全模式的部署可能导致新的失败。因此,安全和安保共同设计是了解这些后果和权衡,以便达到适当的系统设计。目前,模式描述,包括其后果,使用自然语言进行描述。因此,在系统设计中,安全模式的部署是手工进行的,因此耗费时间,容易发生人为的,特别是考虑到系统的复杂性。我们提议使用内容丰富的建筑模式,通过使用 " 知识说明和理由 " (KRR)方法,为安全和安保共同设计提供自动支持。根据我们的具体语言,我们将推理原则作为逻辑规格,作为回答程序书写。 KRRR引擎使安全和安保共同设计中的系统设计能够实现安全和安保后果的自动化,因此,特别是鉴于系统的高度复杂程度,我们建议采用ISO标准模式。