信息系统安全

信息系统发展趋势(自学)

第一讲 信息系统概述

信息系统架构

单机架构

在网站开设初期,应用数量与用户数都较少,可以把Tomcat和数据库部署在同一台服务器上。

第一次演进:Tomcat与数据库分开部署

Tomcat和数据库分别独占服务器资源,显著提高两者各自性能

第二次演进:引入本地缓存和分布式缓存

在Tomcat服务器增加本地缓存,并在外部增加分布式缓存,缓存热门商品信息或热门商品的HTML页面等。通过缓存能把绝大多数请求在读写数据库前拦截掉,大大降低数据库压力

第三次演进:引入反向代理实现负载均衡

在多台服务器上分别部署Tomcat,使用反向代理软件(Nginx)把请求均匀分发到每个Tomcat中。假设Tomcat最多支持100个并发,Nginx最多支持50000个并发,那么理论上Nginx把请求分发到500个Tomcat上,就能抗住50000个并发

第四次演进:数据库读、写分离

把数据库划分为读库和写库,读库可以有多个,通过同步机制把写库的数据同步到读库,对于需要查询最新写入数据场景,可通过在缓存中多写一份,通过缓存获得最新数据

第五次演进:数据库按业务分库

把不同业务的数据保存到不同的数据库中,降低业务之间的资源竞争,对于访问量大的业务,可以部署更多的服务器来支撑。这样同时导致跨业务的表无法直接做关联分析,需要通过其他途径来解决

第六次演进:把大表拆分为小表

这种做法显著增加了数据库运维的难度,对DBA的要求较高!!!

比如针对评论数据,可按照商品ID进行hash,路由到对应的表中存储;针对支付记录,可按照小时创建表,每个小时表继续拆分为小表,使用用户ID或记录编号来路由数据。只要实时操作的表数据量足够小,请求能够足够均匀地分发到多台服务器上的小表,那数据库就能通过水平扩展的方式来提高性能

第七次演进:使用LVS或F5使多个Nginx负载均衡

LVS是软件,运行在操作系统内核态,可对TCP请求或更高层级的网络协议进行转发,因此支持的协议更丰富,并且性能也远高于Nginx,可假设单机的LVS可支持几十万个并发的请求转发;F5是一种负载均衡硬件,与LVS提供的能力类似,性能比LVS更高,但价格昂贵。

第八次演进:通过DNS轮询实现机房间的负载均衡

在DNS服务器中可配置一个域名对应多个IP地址,每个IP地址对应到不同的机房里的虚拟IP。当用户访问www.taobao.com时,DNS服务器会使用轮询策略或其他策略,来选择某个IP供用户访问

第九次演进:引入NoSQL数据库和搜索引擎等技术

针对特定的场景,引入合适的解决方案。如对于海量文件存储,可通过分布式文件系统HDFS解决,对于key/value类型的数据,可通过HBase和Redis等方案解决,对于全文检索场景,可通过搜索引擎如ElasticSearch解决,对于多维分析场景,可通过Kylin或Druid等方案解决

第十次演进:大应用拆分为小应用

按照业务板块来划分应用代码,使单个应用的职责更清晰,相互之间可以做到独立升级迭代。这时候应用之间可能会涉及到一些公共配置,可以通过分布式配置中心Zookeeper来解决

第十一次演进:复用的功能抽离成微服务

如用户管理、订单、支付、鉴权等功能在多个应用中都存在,那么可以把这些功能的代码单独抽取出来形成一个单独的服务来管理,这样的服务就是所谓的微服务,应用和服务之间通过HTTP、TCP或RPC请求等多种方式来访问公共服务,每个单独的服务都可以由单独的团队来管理

第十二次演进:引入企业服务总线ESB屏蔽服务接口的访问差异

通过ESB统一进行访问协议转换,应用统一通过ESB来访问后端服务,服务与服务之间也通过ESB来相互调用,以此降低系统的耦合程度。这种单个应用拆分为多个应用,公共服务单独抽取出来来管理,并使用企业消息总线来解除服务之间耦合问题的架构,就是所谓的SOA(面向服务)架构

架构

架构(architecture)是针对某种特定目标系统的普遍性

问题而提供的具有体系性质的、通用的解决方案,是对复

杂系统的一种共性的体系抽象,目的是帮助人们能够正确、

合理地理解、设计和最终构建复杂的系统。

信息系统体系架构分析的必要性:系统的复杂度

从系统分析方法论的角度看,如果一个系统过于复杂,则对其进行分析的最好方法就是按照某种角度对整个系统进行解构

第二讲 信息系统安全概述

攻击致命度:攻击所具有的固话危害程度

描述网络威胁信息的结构化语言:STIX(结构化威胁信息表达式)

信息系统的脆弱性

硬件

硬件电路也可以设计后门(在电容器累计电荷,触发操作)

Intel AMT存在高危漏洞

软件

软件问题漏洞来自于软件的复杂性

攻防不对称性

攻击可以在任意时刻发起 防御必须随时警惕
攻击可以选择一个薄弱点进行 防御必须全线设防
攻击包含了对未知缺陷的探测 防御只能对已知的攻击防御
攻击常在暗处,具隐蔽性 防御常在明处,表面看起来完美,使人容易疏忽,丧失警惕
攻击可以肆意进行 防御必须遵循一定的规则
  • 网络是个整体,攻击可以从任何一个薄弱点发起
  • 网络攻击已自动化和智能化
  • 安全响应速度要求越来越快,但面对海量安全事件,人力无法及时有效地分析处理

网络切片带来的安全挑战

网络切片对网络构建带来了一定的挑战,需要考虑以下安全需求:

  • 切片授权与接入控制
  • 切片间的资源冲突
  • 切片间的安全隔离
  • 切片用户的隐私保护
  • 以切片方式隔离故障网元

信息系统安全实现

信息系统安全保障是在信息系统的整个生命周期中,通过对信息系统的风险分析,制定并执行相应的安全保障策略,从技术、管理、工程和人员等方面提出安全保障要求,确保信息系统的保密性、完整性和可用性,降低安全风险到可接受的程度,从而保障系统实现组织机构的使命

信息系统安全保障模型⎯⎯CMM框架

第一能力级别0:未实施
第二能力级别1:基本执行
第三能力级别2:计划跟踪
第四能力级别3:充分定义
第五能力级别4:量化控制
第六能力级别5:持续改进

信息系统安全的理解

信息网络的硬件、软件及其系统中的数据受到保护,不受偶然的或者恶意的原因而遭到破坏、更改、泄露,系统连续可靠正常地运行,信息服务不中断。

信息系统安全的实质

安全=及时的检测和处理

$$
P_t>Dt+R_t
$$

防护时间Pt:黑客在到达攻击目标之前需要攻破很多的设备(路由器,交换机)、系统(NT,UNIX)和防火墙等障碍,在黑客达到目标之前的时间

在黑客攻击过程中,我们检测到他的活动的所用时间称之为Dt,检测到黑客的行为后,我们需要作出响应,这段时间称之为Rt.

应对威胁的方式——拟态主动防御

拟态路由器

拟态路由器在其架构中引入多个异构冗余的路由执行体,通过对各个执行体维护的路由表项进行共识裁决,生成拟态路由器的路由表;通过对执行体的策略调度,可以实现拟态路由器对外呈现特征的不确定变化。在满足一定差异化设计的前提下,不同的执行体存在完全相同漏洞或后门的概率极低,攻击者即使控制了部分执行体,其恶意行为也很容易被拟态裁决机制所阻断,从而极大地提高路由器应对网络攻击的能力。

拟态域名服务器

拟态域名服务器以遏制域名解析服务漏洞后门的可利用性、建立内生安全防御机制、大幅提高攻击者的攻击难度和代价为出发点,可以在不改变现有域名协议和地址解析设施的基础上,通过拟态防御设备的增量部署,能够有效防御针对域名系统的域名投毒、域名劫持攻击等各种已知和未知域名攻击,能够提供安全可靠的域名解析服务。

拟态Web虚拟机

拟态Web虚拟机利用云平台部署空间上的优势,构建功能等价、多样化、动态化的异构虚拟web服务器池,采用动态执行体调度、数据库指令异构化、多余度(共识)表决等技术,建立多维动态变换的运行空间,阻断攻击链,大幅增加传统web服务和虚拟环境中的漏洞及后门利用难度,在不影响web服务性能的前提下,保证服务功能的安全可信

拟态云服务器

拟态化的云服务器通过构建功能等价的异构云服务器池的方法,采用动态执行体调度、多余度(共识)表决、异常发现、线上(下)清洗等技术,及时阻断基于执行体软硬件漏洞后门等的“差模”攻击,使得蓄意攻击难以奏效。

拟态防火墙

拟态化的云服务器通过构建功能等价的异构云服务器池的方法,采用动态执行体调度、多余度(共识)表决、异常发现、线上(下)清洗等技术,及时阻断基于执行体软硬件漏洞后门等的“差模”攻击,使得蓄意攻击难以奏效

第三讲 安全需求及安全策略

安全需求的定义

安全需求就是在设计一个安全系统时期望得到的安全保障

一般性的安全需求

  • 机密性需求,防止信息被泄漏给未授权的用户
  • 完整性需求,防止未授权用户对信息的修改
  • 可用性需求,保证授权用户对系统信息的可访问性
  • 可记账性需求,防止用户对访问过某信息或执行过某一操作以否认

安全策略

针对面临的威胁决定采用何种对策的方法

  • 安全策略为针对威胁而选择和实行对策提供了框架

最常用的安全策略

访问控制策略

系统必须选择下列三类相关属性制定访问控制策略

主体属性

主体是系统内行为的发起者,通常是用户发起的进程

  • 信息的访问者(用户)
  • 信息的拥有者
  • 系统管理员

客体属性

系统环境(上下文)

自主访问控制策略

❖ 自主访问控制的优点

➢ 访问模式设定灵活。

  • 读;写;执行;“每隔一周的周五可以读”;“读完文件x后才能

读此文件”等等

➢ 具有较好的适应性,常用与商用OS和应用中

❖ 自主访问控制的缺点

➢ 不能防范木马和某些形式的恶意代码。

强制访问控制策略

Bell-LaPadula模型

公开 受限 秘密 机密 高密

BLP 保密模型基于两种规则来保障数据的机密度与敏感度:

➢ 不上读(NRU)⎯⎯主体不可读安全级别高于它的数据

➢ 不下写(NWD)⎯⎯主体不可写安全级别低于它的数据

BLP模型允许用户读取安全级别比他低的资源;相反地,写入对象的安全级别只能高于用户级别。

防火墙所实现的单向访问机制

防火墙所实现的单向访问机制不允许敏感数据从内部网络(例:其安全级别为“机密”)流向Internet(安全级别为“公开”)。

➢ 防火墙提供“不上读”功能来阻止Internet对内部网络的访问;

➢ 提供“不下写”功能来限制进入内部的数据流只能经由由内向外发起的连接流入(例如,允许HTTP的“GET”操作而拒绝“POST”操作,或阻止任何外发的邮件)。

BIBA完整性模型

BIBA模型基于两种规则来保障数据的完整性的保密性:

不下读(NRU)属性主体不能读取安全级别低于它的数据

不上写(NWD)属性主体不能写入安全级别高于它的数据

强制访问控制策略

最显著的特征:全局性和永久性

➢ 无论何时何地,主体和客体的标签是不会改变的。

全局性:对特定的信息,从任何地方访问,它的敏感级别相同

永久性:对特定的信息,在任何时间访问,它的敏感级别相同

➢ 上述特征在多级安全体系中称为“宁静性原则”(tranquility)

❖ 一旦不满足该原则,无法从根本上防备木马和恶意代码

SSR安全模型

  1. 当标签级别为“中级别”的主体访问标签级别为“高级别”的客体时,主体对客体无任何访问权限(no read up, no write up)。
  2. 当标签级别为“中级别”的主体访问标签级别为“中级别”的客体时,主体对客体持所有权限。
  3. 当标签级别为“中级别”的主体访问标签级别为“低级别”的客体时,主体对客体拥有只读权限(nowrite down)。

SSR安全模型的主要特点

  1. 信息流只能从低级别流向高级,确保的信息的保密性。

  2. 高级别主体对低级别客体的访问只能进行读取,确保了低级别资源的完整性

主体颗粒度扩充

主体颗粒度扩充主要是把主体的颗粒度从用户级别扩充到进程级别,扩充的目的是为了实现更加细化的安全策略以保证信息系统的安全。

SSR安全模型的应用

涉密系统方案

通过应用SSR安全模型,信息流只能从低级别流向高级别,而不能往下,即使某一级别的用户受到病毒感染或者黑客渗透,其也只能感染和阅读自己的信息与读取下级的信息,确保了保密性。高权限用户无法篡改低权限用户的文件,保证了文件的完整性,避免了官大压人的现象,可以保证递交文件的真实可靠。

病毒防治方案

信息的访问需要程序,因此程序往往是被攻击对象,攻击了程序就可以访问其对应的文件甚至其他程序的文件。应用SSR安全模型以后,把主体颗粒度扩充到进程,让程序与程序需要文件进行绑定,然后再将程序本身进行只读保护,既能保证程序不被感染,又能防止对象被非法程序访问,从而保证了应用系统的安全性

访问控制列表

访问控制列表(ACL)

访问控制列表是一系列允许或拒绝数据的指令的集合。

读取第三层、第四层包头信息

根据预先定义好的规则对包进行过滤

  • **标准ACL:**只使用数据包的源地址作为测试条件。所有决定是基于源IP地址的。

    标准访问列表的创建根据 “动作”+“源地址”,即允许谁、拒绝谁的方法来创建

  • **扩展ACL:**可以测试IP包的第3层和第4层报头中的字段。包括源IP地址、目的IP地址、网络层报头中的协议字段(如,TCP、UDP、ICMP等)以及位于传输层报头中的端口号。
    扩展列表的放置——靠近源地址

  • **命名ACL:**命名ACL以列表名代替列表编号来定义IP访问控制列表,同样包括标准和扩展两种列表,定义过滤的语句与编号方式中相似。

通配掩码

路由器使用IP地址和通配掩码(wildcard-mask)一起来分辨匹配的地址范围,它跟子网掩码刚好相反。

它不像子网掩码告诉路由器IP地址的哪一位属于网络号一样,通配符掩码告诉路由器为了判断出匹配,它需要检查IP地址中的多少位。

有了通配掩码,可以只使用两个32位的号码来确定IP地址的范围,这是十分方便的

  • 通配掩码(wildcard mask)是分成4字节的32bit数
  • 通配掩码与IP地址位位配对,相应位为0/1,用于表示如何对待IP地址中的相应位

IP地址的第三个字节为16(00010000)。通配掩码中的前四位为0,告诉路由器要匹配IP地址的前四位(0000)。由于最后的四位被忽略,则所有的在范围16(00010000)到31(00011111)的都将被允许,相应的通配掩码位是1。

第四讲安全风险评估

风险评估涉及标准

ISO/IEA

风险(Risk)的概念

风险指在某一特定环境下,在某一特定时间段内,特定的威胁利用资产的一种或一组薄弱点,导致资产的丢失或损害的潜在可能性,即特定威胁事件发生的可能性与后果的结合

安全风险组成的四要素:信息系统资产(Asset)、信息系统脆弱性(Vulnerability)、信息安全威胁(Threat)、信息系统安全保护措施(Safeguard)。

风险处置策略

降低风险(Reduce Risk)采取适当的控制措施来降低风险,包括技术手段和管理手段,如安装防火墙,

杀毒软件,或是改善不规范的工作流程、制定业务连续性计划,等等。

避免风险(Avoid Risk)通过消除可能导致风险发生的条件来避免风险的发生,如将公司内外网隔离

以避免来自互联网的攻击,或是将机房安置在不可能造成水患的位置,等等。

**转移风险(Transfer Risk)**将风险全部或者部分地转移到其他责任方,例如购买商业保险。

接受风险(Accept Risk)在实施了其他风险应对措施之后,对于残留的风险,可以有意识地选择接受。

风险评估的要素

风险评估围绕着资产、威胁、脆弱性和安全措施这些基本要素展开。

需要充分考虑业务战略、资产价值、安全需求、安全事件、残余风险等与这些基本要素相关的各类属性。

信息系统安全风险计算模型(GB/T20984-2007)

风险计算模型是对通过风险分析计算风险值过程的抽象,它主要包括资产评估、威胁评估、脆弱性评估。

安全风险评估的框架及流程(GB/T20984-2007)

① 对资产进行识别,并对资产的重要性进行赋值;
② 对威胁进行识别,描述威胁的属性,并对威胁出现的频率赋值;
③ 对资产的脆弱性进行识别,并对具体资产的脆弱性的严重程度赋值;
④ 根据威胁和脆弱性的识别结果判断安全事件发生的可能性;
⑤ 根据脆弱性的严重程度及安全事件所作用资产的重要性计算安全事件的损失;
⑥ 根据安全事件发生的可能性以及安全事件的损失,计算安全事件一旦发生对组织的影响,即风险值。

资产分类方法

分类 示例
数据 保存在信息媒介上的各种数据资料,包括源代码、数据库数据、系统文档、运行管理规程、计划、报告、用户手册、各类纸质的文档等
软件 系统软件:操作系统、数据库管理系统、语句包、开发系统等
应用软件:办公软件、数据库软件、各类工具软件等
源程序:各种共享源代码、自行或合作开发的各种代码等
硬件 网络设备:路由器、网关、交换机等
计算机设备:大型机、小型机、服务器、工作站、台式计算机、便携计算机等
存储设备:磁带机、磁盘阵列、磁带、光盘、软盘、移动硬盘等
传输线路:光纤、双绞线等
保障设备:UPS、变电设备等、空调、保险柜、文件柜、门禁、消防设施等
安全保障:防火墙、入侵检测系统、身份鉴别等
其他:打印机、复印机、扫描仪、传真机等
服务 信息服务:对外依赖该系统开展的各类服务
网络服务:各种网络设备、设施提供的网络连接服务
办公服务:为提高效率而开发的管理信息系统,包括各种内部配置管理、文件流转管理等服务
人员 掌握重要信息和核心业务的人员,如主机维护主管、网络维护主管及应用项目经理等
其他 企业形象、客户关系等

资产等级计算公式

AV=F(AC, AI, AA)

Asset Value 资产价值

Asset Confidentiality 资产保密性赋值

Asset Integrity 资产完整性赋值

Asset Availability 资产可用性赋值

例1:AV=MAX(AC, AI, AA)

例2:AV=AC+AI+AA

例3:AV=AC×AI×AA

威胁来源列表

来源 描述
环境因素 断电、静电、灰尘、潮湿、温度、鼠蚁虫害、电磁干扰、洪灾、火灾、地震、意外 事故等环境危害或自然灾害,以及软件、硬件、数据、通信线路等方面的故障
人为因素 恶意人员 不满的或有预谋的内部人员对信息系统进行恶意破坏;
采用自主或内外勾结的方式盗窃机密信息或进行篡改,获取利益外部人员利用信息系统的脆弱性,对网络或系统的机密性、完整性和可用性进行破坏,以获取利益或炫耀能力
人为因素 非恶意人员 内部人员由于缺乏责任心,或者由于不关心和不专注,或者没有遵循规章制度和操作流程而导致故障或信息损坏;
内部人员由于缺乏培训、专业技能不足、不具备岗 位技能要求而导致信息系统故障或被攻击

风险计算方法

风险值=R(A, T, V) = R(L(T, V), F(Ia,Va))

R安全风险计算函数

A资产

T威胁

V脆弱性

Ia安全事件所作用的资产价值

Va 脆弱性严重程度

L威胁利用资产的脆弱性导致安全事件发生的可能性

F安全事件发生后产生的损失

残留风险评价

  • 绝对安全(即零风险)是不可能的
  • 实施安全控制后会有残留风险或残存风险(Residual Risk)
  • 为了确保信息安全,应该确保残留风险在可接受的范围内:

➢ 残留风险Rr = 原有的风险R0 - 控制ΔR

➢ 残留风险Rr ≤ 可接受的风险Rt

风险评估应贯穿于信息系统生命周期的各阶段

规划阶段的风险评估

规划阶段的评估结果应体现在信息系统整体规划或项目建议书中。

设计阶段的风险评估

设计阶段的评估可以以安全建设方案评审的方式进行,判定方案所提供的安全功能与信息技术安全技术标准的符合性。评估结果应体现在信息系统需求分析报告或建设实施方案中。

实施阶段的风险评估

本阶段风险评估可以采取对照实施方案和标准要求的方式,对实际建设结果进行测试、分析。

运行维护阶段的风险评估

运行维护阶段的风险评估应定期执行;当组织的业务流程、系统状况发生重大变更时,也应进行风险评估。

废弃阶段的风险评估

信息系统的维护技术人员和管理人员均应该参与此阶段的评估

一种新的风险评估⎯⎯数据风险评估

风险评估项目实施过程

策划 准备 实施 报告 跟踪

第五讲 信息系统等级保护

什么是等级保护

网络安全等级保护是指对国家重要信息、法人和其他组织及公民的专有信息以及公开信息和存储、传输、处理这些信息的信息系统分等级实行安全保护,对信息系统中使用的信息安全产品实行按等级管理,对信息系统中发生的信息安全事件分等级响应、处置

定级对象

也称等级保护对象、网络安全等级保护工作的作用对象

包括网络基础设施(广电网、电信网、专用通信网络等)、云计算平台系统、大数据平台系统、物联网、工业控制系统、采用移动互联技术的系统等

等级保护有“五个规定动作”

等级保护主要工作流程

1 定级 定级是等级保护的首要环节

2 备案 备案是等级保护的核心

3 建设整改 建设整改是等级保护工作落实的关键

4 等级测评 等级测评是评价安全保护状况的方法

第六讲 物理安全

环境安全

  • 安防技术
  • 计算机机房的温度、湿度、洁净度
  • 计算机机房的用电安全技术
  • 计算机机房安全管理制度

机房三度要求

温度:机房温度一般应控制在18~22℃

湿度:相对湿度一般控制在40%~60%为宜

洁净度:尘埃颗粒直径<0.5m,含尘量<1万颗/升

GB50174-2008 电子信息系统机房设计规范

防火与防水要求

为避免火灾、水灾,应采取如下具体措施:
(1)隔离
(2)火灾报警系统
(3)灭火设施
(4)管理措施

机房防盗要求

机房防鼠

防静电措施

 机房的内装修材料一般应避免使用挂毯、地毯等吸尘、容易产生静电的材料,而应采用乙烯材料。

为了防静电,机房一般要安装防静电地板。

 机房内应保持一定湿度,特别是在干燥季节应适当增加空气湿度,以免因干燥而产生静电。

接地要求

接地可以为计算机系统的数字电路提供一个稳定的0V参考电位

第七讲 可靠性的基本概念

可靠性的定义

在规定的条件下、在给定的时间内,系统能实施应有功能的能力。

可靠性参数

$T_{MTTF}:$平均失效前时间

$T_{MTBF}:$平均故障间隔时间

$R:$可靠度

$λ:$失效率

寿命

通常用一个非负随机变量$X$来描述产品的寿命。

$X$的分布函数为

$F(t) = P{X \le t},t\ge0$

有了寿命分布F(t) ,就知道产品的平均寿命

$EX=\int_0^\infty tdF(t)$

可靠度R

产品在时刻 t 之前都正常工作(不失效)的概率,即产品在时刻 t的生存概率,称为无故障工作概率(可靠度函数)

$$
R(t)=P{X>t}=\int_0^\infty dF(t)=\int_0^\infty f(t)dt \
𝑹(t) +F(t)=1
$$

假设 C 是一个具有 N 个元器件的数字系统,在一定的条件和环境(如温度、湿度、电压等)下运行,并且随着时间 t 的推移质量逐步下降

系统C在时刻 t 能正常工作的概率 $R(t)=S(t)/N$

**R(t)**称为系统 C 在时刻 t 的可靠度。

失效率λ

假设F(t)是绝对连续的,即存在分布密度函数$f(t)=F’(t)$且$F(t)=\int_0^tf(x)dx$

将发生故障的条件概率密度叫做失效率。
$λ(t)=f(t)/R(t)=-R’(t)/R(t)$
失效率**λ(t)**表示系统中元器件失效的速率。

**λ(t)的浴缸形曲线(Bathtub-curve)

第一阶段 早期失效期(Infant Mortality)

器件在开始使用时失效率很高,但随着产品工作时间的增加,失效率迅速降低。这一阶段失效的原因大多是由于设计、原材料和制造过程中的缺陷造成的。为了缩短这一阶段的时间,产品应在投入运行前进行试运转,以便及早发现、修正和排除故障;或通过试验进行筛选,剔除不合格品。

第二阶段 偶然失效期,也称随机失效期(Random Failures)

这一阶段的特点是失效率较低,且较稳定,往往可近似看作常数。这一时期是产品的良好使用阶段。由于在这一阶段中,产品失效率近似为一常数,故设(t)=λ(常数)由可靠度计算公式得$R(t)=e^{-λt}$ 这一式表明设备的可靠性与失效率成指数关系

第三阶段 耗损失效期(Wearout)

该阶段的失效率随时间的延长而急速增加,主要原因是器件的损失己非常的严重,寿命快到尽头了,可适当的维修或直接更换。

**R(t)和λ的关系

可靠性不仅是时间t的函数,而且与失效率λ有着密切的关联。

$$
R(t)=e^{\int^t_0\lambda(t)dt }
$$

可维修产品的平均维修时间

可维修产品的可维护性平均维修时间(MTTR,Mean Time To Repair)来度量,即系统发生故障后维修和重新恢复正常运行平均花费的时间(即设备处于故障状态时间的平均值,或设备修复时间的平均值)。系统的可维护性越好,平均维修时间越短

$$
MTTR=\int^\infty _0t\mu(t)dt
$$

$\mu(t)$是维修时间的概率密度函数

可维修产品的维修性指标:可用性

可维修产品的可用性定义为:

$$
\frac{MTBF}{MTBF+MTTR}*100%
$$

计算机系统可靠性举例

已知世界上第一代电子管计算机ENIAC有20000个电子管,假
设每个电子管的失效率为=0.5%/kh(千小时),试求:
(1)该计算机的MTTF;
(2)若要求计算机的可靠性在95%以上,则至多可以工作多久?

$$
MTTF=\frac{1}{\sum^n_{i=1}\lambda_i}=\frac{1}{\frac{0.05}{100}*\frac{1}{1000}*20000}=\frac{1}{0.01}=100H\ R(t)=e^{-\frac{t}{MTTF}}\ t=5H
$$

系统可靠性模型

可靠性模型:描述了系统及其组成单元之间的故障逻辑关系

串联系统

假设第i个部件的寿命为$X_i$,可靠度为$R_i(t)=P{X_i >t},i=1, 2, …,n,$第$i$个部件的失效率为$\lambda_i(t)$$,X_1,X_2 ,…,X_n$相互独立。若

初始时刻$t=0$,所有部件都是新的,且同时开始工作。

(1) 系统的寿命是: $X=min{X_1 ,X_2,…,X_n}$

(2) 系统的可靠度是:

$$
R(t)=P{min(X_1 ,X_2,…,X_n)>t}=\Pi^n_{i=1}R_i(t)\ =\Pi^n_{i=1}exp{-\int^t_0\lambda_i(u)du}
$$

(3) 系统的失效率为:

$$
\lambda(t)=-\frac{R’(t)}{R(t)}=\sum^n_{i=1}\lambda_i(t)
$$

(4) 系统的平均寿命为:

$$
MTTF=\int^\infty_0R(t)dt=\int^\infty_0exp{-\int^t_0\lambda(u)du}dt
$$

当$R_i(t)=exp{-\lambda_t},i=1, 2, …, n$时(及当第i个部件的命遵从参数为$\lambda_i$的

指数分布时),系统的可靠度和平均寿命为

$$
R(t)=exp{-\sum^n_{i=1}\lambda_it}\ MTTF=\frac{1}{\sum^n_{i=1}\lambda_i}
$$

并联系统

(1) 系统的寿命是: $X=max{X_1,X_2,…,X_n
}$

(2) 系统的可靠度是:

$$
R(t)=P{max(X_1 ,X_2,…,X_n)>t}\ =1-P{max(X_1 ,X_2,…,X_n)\le t } \ =1-\Pi^n_{i=1}[1-R_i(t)]
$$

(3) 系统的平均寿命为:

$$
MTTF=\int^\infty_0R(t)dt=\sum^n_{i=1}\frac{1}{\lambda_i}\ =sum_{1\le<i<j\le n}\frac{1}{\lambda_1+\lambda_j}+…+(-1)^{n-1}\frac{1}{\lambda_1+…+\lambda_n}
$$

第八讲 信息系统的可靠性

计算机系统可靠性

硬件可靠性

硬件在使用过程中有磨损、材料的老化、变质和使用环境等多种因素

软件可靠性

软件使用期间无磨损;存在物质老化和变质

提高信息系统可靠性的途径

提高可靠性有两个方面:一是尽量使系统在规定时间内少发生故障和错误;二是发生了故障能迅速排除。

提高硬件可靠性

设计

结构优化
功能合理

环境

符合相关的标准和要求

使用

符合操作规程
减少人为失误

冗余设计

故障容错是利用冗余的元部件来屏蔽已发生的故障对系统的影响。

三模冗余(TMR,Triple Modular Redundancy)的基本原理是:系统输入通过3个功能相同的模块,产生的3个结果送到多数表决器进行表决,即三中取二的原则,如果模块中有一个出错,而另外两个模块正常,则表决器的输出正确,从而可以屏蔽一个故障。

TMR的缺点是:如果3个模块的输出各不相同,则无法进行多数表决;若有两个模块出现一致的故障,则表决的结果会出现错误。

软件可靠性

程序运行监视系统

程序运行监视系统WTD(“看门狗”),是一种软硬件结合的抗程序“跑飞”的措施。其硬件是一个用于产生定时 T 的计数器或单稳触发器。其定时输出端接至CPU 的复位线,而其定时清零则由CPU 控制。

在正常情况下,程序启动WTD 后,即以小于T 的间隔 t 将其清零一次,这样WTD 的定时溢出就不会发生。在受到干扰的异常情况下,程序的正常执行顺序被破坏,不可能周期性地将WTD清零,导致WTD定时溢出,使系统复位,CPU 摆脱因程序“跑飞”造成的瘫痪状态

软件可靠性模型

失效时间间隔模型

这类模型最常用的方法是假定第i个失效到第i+1个失效间隔时间服从某一分布,而分布的参数依赖于各间隔时间内程序中的残留错误数。通过测试所得到的失效间隔时间数据来估计模型的参数,由获得的模型可以估算软件的可靠度以及各失效间的平均工作时间等

Jelinski-Moranda模型

系统基本假设如下:
(1)软件中的固有错误数N是一个未知的常数;
(2)软件中的各个错误是相互独立的,每个错误导致系统发生失效的可能性大致相同,各次失效间隔时间也相互独立;
(3)软件错误被发现后立即排除,每次排除一个错误且不引入新的错误,排除错误的时间忽略不计;
(4)软件的失效率在每个失效间隔时间内是常数,其数值正比于程序中残留的错误数,在第$i$个测试区间$t_i$,其失效率函数为:$\lambda(t_i)=\phi(N-i+1)$,$\phi$为比例常数 。

缺陷计数模型

这类模型关心的是在特定的时间间隔内软件的错误数或失效数,并假定故障累计数服从某个己知的随机过程,过程强度是时间的离散或连续函数,根据在给定的测试时间间隔发现的错误数或失效数来估计故障强度、均值等参数。

错误植入模型

这类模型的基本思路是通过将一组已知的错误人为地植入到一个固有错误总数尚不清楚的程序中,然后在程序的测试中观察并统计发现的植入错误数和程序总的错误数,通过计数的比值估计程序的固有错误总数,从而得到软件可靠度及其有关指标。这类模型的代表是Mills的超几何分布模型。

基于输入域的模型

这类模型的基本研究方法是根据程序的使用情况,找出程序可能输入的概率分布,根据这种分布产生一个测试用例的集合。由于得到输入的分布难度较大,一般将输入域划分成等价类,每个等价类与程序的一条执行路径相联。在输入域上随机抽取测试用例,执行相应的程序测试,观测故障,从而推断出各项指标。这类模型以Nelson模型为代表,还有Brown-Lipow的基于输入域模型和Ramamoorthy-Bastani的基于输入域模型

网络可靠性

故障定义网络不能在用户期望的时间范围内将物质、信息、能量按用户需求完整、正确地在网络中传输的状态或事件

计算机网络可靠性定义

在人为或自然的破坏作用下,网络在特定环境和规定时间内,充分完成规定的通信功能的能力。环境、时间和充分完成功能是这一定义的三要素。

当传输设备和交换设备发生故障时网络可以维持正常业务的程度

第九讲 信息系统的容错技术

容错的概念

容忍故障,即故障一旦发生时能够自动检测出来并使系统能够自动恢复正常运行

容错设计的软件可以有某些规定数目的故障但不导致失效,但对无容错的软件而言,故障即失效。

容错的主要内容

故障检测和诊断

故障检测(Fault Detection):判断系统是否存在故障的过程
故障检测的作用是确认系统是否发生了故障,指示故障的状态,即查找故障源和故障性质。一般来说,故障检测只能找到错误点(错误单元),不能准确找到故障点。

故障诊断(Fault Diagnosis):检测出系统存在故障后要进行故障的定位,找出故障所在的位置

故障屏蔽技术

故障屏蔽技术是防止系统中的故障在该系统的信息结构中产生差错的各种措施的总称,其实质是在故障效应达到模块的输出以前,利用冗余资源将故障影响掩盖起来,达到容错目的

冗余技术

三模冗余可以由用户手动完成,也可以依靠工具完成。Xilinx推出了XIlInXtMrtool ,可以方便地实现三模冗余设计,并且可以方便地配置被冗余项,大大方便了用户

时间冗余技术

基本思想:重复执行指令或者一段程序来消除故障的影响,以达到容错的效果,它是用消耗时间来换取容错的目的。

信息冗余技术

信息容错技术是通过在数据中附加冗余的信息位来达到故障检测和容错的目的

软件冗余技术

软件容错是指在出现有限数目的软件故障的情况下,系统仍可提供连续正确执行的内在能力。其目的是屏蔽软件故障,恢复因出故障而影响的运行进程。

实现软件容错的基本方法,是将若干个根据同一需求说明编写的不同程序(即多版本程序),在不同空间同时运行,然后在每一个设置点通过表决或接收测试进行表决。

典型的容错应用

热备份(Hot-Standby)

M运行,S后备;

M故障,S接管作M;

原M修复,S归还M。

RAID

廉价磁盘冗余阵列(Redundant Arrays of Inexpensive Disks),以多个低成本磁盘构成磁盘子系统,提供比单一硬盘更完备的可靠性和高性能

数据基带条阵列(RAID0)

分块无校验型,无冗余存储。简单将数据分配到各个磁盘上,不提供真正容错性。带区化至少需要2个硬盘,可支持8/16/32个磁盘

优点

➢允许多个小区组合成一个大分

➢更好地利用磁盘空间,延长磁盘寿命

➢多个硬盘并行工作,提高了读写性能

缺点

➢不提供数据保护,任一磁盘失效,数据可能丢失,且不能自动恢复。

磁盘镜象(RAID1)

每一组盘至少两台,数据同时以同样的方式写到两个盘上,两个盘互为镜象。磁盘镜象可以是分区镜象、全盘镜象。容错方式以空间换取,实施可以采用镜象或者双工技术。

优点

➢ 可靠性高,策略简单,恢复数据时不必停机。

缺点

➢ 有效容量只有总容量的1/2,利用率50%。由于磁盘冗余,硬件

开销较大,成本较高

循环奇偶校验阵列(RAID5)

与RAID4类似,但校验数据不固定在一个磁盘上,而是循环地依次分布在不同的磁盘上,也称块间插入分布校验。它是目前采用最多、最流行的方式,至少需要3个硬盘。

 优点

➢ 校验分布在多个磁盘中,写操作可以同时处理;

➢ 为读操作提供了最优的性能;

➢ 一个磁盘失效,分布在其他盘上的信息足够完成数据重建 。

 缺点

➢ 数据重建会降低读性能;

➢ 每次计算校验信息,写操作开销会增大,是一般存储操作时间的3倍