成都企业网站设计服务商,浙江网站建设,PHP+MySQL网站开发全程实例,游戏网页游戏过去十年#xff0c;系统韧性作为一个关键问题被广泛讨论#xff0c;在数据中心和云计算方面尤甚#xff0c;同时它对赛博物理系统也至关重要#xff0c;尽管该术语在该领域不太常用。大伙都希望自己的系统具有韧性#xff0c;但这到底意味着什么#xff1f;韧性与其他质…
过去十年系统韧性作为一个关键问题被广泛讨论在数据中心和云计算方面尤甚同时它对赛博物理系统也至关重要尽管该术语在该领域不太常用。大伙都希望自己的系统具有韧性但这到底意味着什么韧性与其他质量属性如可用性、可靠性、鲁棒性、风险应急能力、安全防御能力和柔性服务能力有何关系韧性是这些质量属性的一部分还是全部是它们的超集亦或其他云云在确保系统具备韧性与否之前我们首先要解开这些问题的答案并确切地吃透到底什么才是系统韧性。
作为赛博物理系统韧性需求开发工作的一部分我最近完成了关于韧性的现有标准和文献的研究。我的研究发现“韧性”这个术语通常在非正式场合使用彷佛它有明显的含义在这些场合它被定义为相似但又略微不同的解释。
我的另一个发现是韧性一词其实有着两种截然不同的含义。本文是由7篇组成的系列文章中的第一篇重点关注系统韧性而不是组织韧性后者的范围要大得多——组织韧性主要涉及业务连续性包括人员、信息、技术和设施的管理。
01
什么赋予系统以韧性
一般而言如果一个系统在逆境中持续执行任务即如果它在可能导致中断的过度压力下提供所需的能力那么它就是有韧性的。有韧性很重要因为无论一个系统设计得多么好现实迟早都会破坏这个系统。软件或硬件中的遗留缺陷最终将导致系统无法正确执行所需功能或导致系统无法满足一个或多个质量要求例如可用性、可靠性、鲁棒性、风险应急能力、安全防御能力和柔性服务能力。无风险应急方案或风险应急方案失效将导致事故的发生攻击者可能会通过未知或未修复的安全漏洞危害到系统外部环境异常例如断电或温度过高也会中断服务。
由于这些不可避免的破坏可用性和可靠性是不充分的因此系统也必须具有韧性。它必须能够抵御逆境并提供连续性服务即便是在不利事件和条件造成干扰后也需要运行在降级模式。它还需要能够迅速从这些干扰可能造成的伤害中恢复。就像Timex始创于1854年的美国钟表品牌的老广告一样一个有韧性的系统可以做到“受虐千百遍运转如初恋。”
然而系统韧性的本身比前面的解释要复杂得多。系统韧性不是一个简单的布尔函数即系统不是简单的“具有韧性或不具有韧性”。没有一个系统能够100%抵御所有不良事件或情况。韧性总体而言是一个程度的问题通常不能用单一的有序量表来衡量。换言之说系统A比系统B更有韧性可能是个伪命题。
想要充分理解韧性必须将其组成部分进行分解、还原。为了表现出韧性系统必须包含控制逻辑对不良事件和条件的检测对干扰的正确响应和干扰过后的迅速恢复。因为韧性会假设不利事件和条件一定会发生如何防止不利情况的发生并不在韧性的范围内。
一些韧性控制逻辑支持检测而其它控制逻辑支持响应或恢复。因此一个系统可能在某些方面具有韧性但在其他方面则不然。系统A可能是在某些特定不良事件的检测方面最有韧性的而系统B可能在某些特定特性事件的响应方面是最具韧性的以此类推系统C可能是在从某些不良事件造成的特定伤害中恢复方面是最有韧性的。
了解系统抵御逆境的范围边界非常重要
在中断的情况下系统必须继续提供哪些关键功能/服务哪些类型的逆境会干扰这些关键能力的交付即系统必须能够容忍哪些不利事件和条件什么资产受到什么类型/级别的破坏会导致中断
以上几点引出了对系统韧性的更详细、更细致的定义
系统在一定程度上具有韧性能够快速有效地保护其关键能力免受不利事件和条件造成的干扰。
前面的定义隐含着不良事件和条件会发生的想法。系统韧性是指当这些潜在的破坏性事件发生和条件存在时系统会做什么。系统是否检测到这些事件和情况一旦检测到它们系统是否正确响应之后系统是否恢复正常
一些组织将“避免”不良事件和条件的发生纳入系统韧性范围。然而“避免”并不在系统韧性的定义范围内这是具有误导性和不恰当性的。避免或预防逆境并不能使系统更有韧性相反避免减少了对韧性的需求因为如果逆境从未发生系统就不需要有韧性。
图1说明了前文关于系统韧性定义中的关键概念之间的关系。韧性系统使用防护的韧性技术来被动抵御不利事件和条件或主动检测这些不利情况对其作出反应并从其造成的伤害中恢复从而保护其关键能力和相关资产免受伤害。这些不利事件和条件中的每一个都与以下次要质量特征之一有关鲁棒性、安全性、网络安全包括防篡改、军事生存能力、能力、寿命和互操作性。我们接下来会在本系列的第二篇文章中展开讨论。 ↑图1系统韧性定义中的关键概念
图2显示了通过韧性控制的有序应用来管理不良事件并恢复的时间线。 ↑图2韧性时间线示例
要理解系统韧性的全部范围和复杂性重要的是要理解前文定义的关键词含义以及它们在上图中的关系。
保护由以下四个功能组成
① 抵御能力是指系统在不利事件或条件下被动防止或最大限度减少伤害的能力。被动防御的韧性技术包括模块化架构该架构可防止模块之间的故障传播、避免单点失败以及电气设备的屏蔽、使计算机和网络设备免受电磁脉冲EMP的干扰。
检测是系统主动检测通过检测技术的能力
关键能力的丧失或降级对实现关键能力所需资产的危害可能对关键能力或相关资产造成伤害的不利事件和条件
② 反应是指系统对正在进行的不良事件的发生做出积极反应或对不良条件的存在做出反应的能力通过反应技术实现反应。在检测到逆境时系统可能会停止或避免不利事件消除不利条件从而消除或最大限度地减少进一步的伤害。反应技术包括采用异常处理、降级操作模式以及冗余投票等
③ 恢复是指系统在不良事件结束后主动从伤害中恢复的能力通过恢复技术实现恢复。恢复可以是完全的即系统恢复到完全运行状态所有损坏/销毁的资产都已修复或更换。恢复也可以是部分恢复例如使用冗余资源恢复全部服务而不进行更换/修复或最小恢复例如仅提供有限服务的降级模式操作。恢复还可能包括系统的演变或调整例如通过重新配置自身以避免未来发生不良事件或条件。
系统功能是系统在逆境造成中断的情况下必须继续提供的关键服务。
④ 资产是有价值的物品必须加以保护使其免受不利事件和条件造成的伤害因为它们实现了系统的关键功能。在所有不利事件和条件下通常不可能完全防止对所有资产造成损害。因此通常会对资产进行优先级排序以便检测、反应和恢复首先集中精力保护最重要的资产。与韧性相关的资产包括
系统组件系统的组件子系统、硬件、软件如应用程序、基础设施、操作系统和固件、网络如设备、无线电和电缆和设施系统数据系统存储、生成和操作的数据系统外部资产系统负责保护其免受伤害的任何系统外部资产如人员、财产、环境、资金和声誉
对这些资产造成的危害包括
对系统功能的危害服务完全或部分丧失以及服务被盗对系统组件的危害硬件或软件的破坏、损坏、盗窃或未经授权的逆向工程对数据的危害访问丢失可用性违规、损坏完整性违规未经授权的披露机密性和匿名性违规和交易抵赖不抵赖违规以及关键程序信息的逆向工程CPI防篡改违规对系统外部资产的危害资金损失、声誉损失、业务损失以及环境损害或破坏
不良事件是指由于其压力而可能通过对相关资产造成伤害来破坏关键能力的事件。这些不良事件及其相关质量属性包括以下情况的发生
不利的环境事件如系统外部电力损失以及地震或野火等自然灾害鲁棒性特别是环境耐受性输入错误如操作员或用户错误鲁棒性特别是容错性满足要求的外部可见故障鲁棒性特别是故障容限事故和未遂事故安全网络安全/篡改攻击网络安防与反篡改恐怖分子或敌对军事力量的人身攻击生存能力负载过大导致的负载峰值和故障容量过度老化和磨损导致的故障寿命通信丢失互操作性
不利条件是指由于其压力性质而可能干扰或导致关键能力中断的条件。这些不利条件包括以下情况的存在
恶劣的环境条件如过高的温度和恶劣的天气鲁棒性特别是环境耐受性系统内部故障如硬件和软件缺陷鲁棒性特别是容错性安全隐患安全网络安全威胁和漏洞网络安防和反篡改军事威胁和弱点生存能力过载容量过度老化和磨损长寿降级通信互操作性
值得注意的是防篡改AT是一种特殊情况乍一看可能与韧性无关。AT的目标是防止对手对机密软件等关键程序信息CPI进行逆向工程。防篡改专家通常认为在这种情况下对手将获得包含要进行逆向工程的CPI的系统的物理占有权确保系统在篡改的情况下继续运行是无关紧要的。然而篡改也可以远程尝试即无需首先获得系统的占有权。在对手无法访问的情况下AT对策可能是检测对手远程尝试访问和复制CPI然后通过将CPI归零进行响应此时系统将不再可操作。因此远程篡改确实具有韧性影响。
02
总结与预告
本文阐述了系统韧性质量属性的详细而细致的定义是关于系统韧性系列文章的开篇。在本系列的第二篇文章中我将就这个定义阐明系统韧性与其他密切相关的质量属性之间的关系。敬请期待。