西门子S7-200继电器模块CPU226CN
曝光,来自国家层面的网络威胁逐渐浮出水面用户广泛且深入地使用,软件系统中存在的漏洞会不断暴露出来,这些被发现的漏洞也会不断地被软件开发商发布的之间,以及同种软件系统在不同的配置条件下,都会存在各自不同的安全漏洞。
(3)可利用性与隐蔽性
漏洞具有可利用性,漏洞一旦被攻击者利用就会给信息系统带来威胁和损失。当然,软件厂商也可以通过各种技术手段来降低漏洞的可利用性,例如微软公司通过在Windows操作系统或应用软件中增加内存保护机制(如DEP、ASLR和SafeSEH等),极大地降低了缓冲区溢出等漏洞的可利用性补丁软件修补,或在以后发布的新版软件中得以纠正。而在新版软件纠正旧版本中的漏洞的也会引入一些新的漏洞和问题。软件开发商和软件使用者的疏忽或错误(如对软件系统不安全的配置或者没有及时更新安全补丁等),也会导致软件漏洞长期存在。随着时间的推移,旧的漏洞会不断消失,新的漏洞会不断出现,漏洞具有持久性。相关数据表明高危漏洞及其变种会可预见地重复出现,对内部和外部网络构成持续的威胁。
漏洞具有时效性,超过一定的时间限制(例如,当针对该漏洞的修补措施出现时,或者软件开发商推出了更新版本系统时),漏洞的威胁就会逐渐减少直至消失。漏洞的时效性具有双刃剑的作用,一方面,漏洞信息的公开加速了软件开发商的安全补丁的更新进程,能够尽快警示软件用户,减少了恶意程序的危害程度;
方面,攻击者也可能会尽快利用漏洞信息实施攻击行为。
(2)广泛性与具体性
漏洞具有广泛性,会影响到很大范围的软件和硬件设备,包括操作系统本身及系统服务软件、网络客户和服务器软件、网络路由器和防火墙等。理论上讲,所有信息系统或设备中都会存在设计、实现或者配置上的漏洞。
漏洞又具有具体性,即它总是存在于具体的环境或条件中。对组成信息系统的软硬件设备而言,在这些不同的软硬件设备中都可能存在不同的安全漏洞,甚至在不同种类的软硬件设备中,同种设备的不同版本之间,由不同设备构成的信息系统
软件漏洞一方面会导致有害的输出或行为,例如,导致软件运行异常;另一方面漏洞也会被攻击者所利用来攻击系统,例如,攻击者通过精心设计攻击程序,准确地触发软件漏洞,并利用该漏洞在目标系统中插入并执行精心设计的代码,从而获得对目标系统的控制权,进而实施其他攻击行为。
本书中关于漏洞的定义为:软件系统或产品在设计、实现、配置和运行等过程中,由操作实体有意或无意产生的缺陷、瑕疵或错误,它们以不同形式存在于信息系统的各个层次和环节之中,且随着信息系统的变化而改变。漏洞一旦被恶意主体所利用,就会造成对信息系统的安全损害,从而影响构建于信息系统之上正常服务的运行
息系统及信息的安全属性。
本定义也体现了漏洞是贯穿软件生命周期各环节的。在时间维度上,漏洞都会经历产生、发现、公开和消亡等过程,在此期间,漏洞会有不同的名称或表示形式Bug。如同使用HTTPS来对传输内容进行加密那样,积极主动地加强安全性的措施,也就是增加安全性功能,可以尽可能地消除Bug。安全性功能实际为软件系统的一种需求,也被称为安全性需求。是否将安全性功能加入到项目需求中,还需要根据项目的具体情况考虑,如项目经费等。统的安全,关乎关键基础设施的安全,关乎个人安全乃至社会和国家的安全。本节将通过介绍震网病毒进行零日调查数据显示,企业的信息安全预算中主要的投资方向仍集中于传统的防病毒、防火墙、VPN及身份范,由于开发过程中软件错误(Error)是指在软件开发过程中出现的不符合期望或不可接受的人为差错,其结果将可能导致软件缺陷的产生。在软件开发过程中,人是主体,难免会犯错误。软件错误主要是一种人为错误,相对于软件本身而言,是一种外部行为。
软件缺陷(Bug/Defect)是指由于人为差错或其他客观原因,导致软件隐含能导致其在运行过程中出现不希望或不可接受的偏差,例如软件需求定义,以及设计、实现等错误。在这种意义下,软件缺陷和软件错误有着相近的含义。当软件运行于某一特定的环境条件时出现故障,这时称软件缺陷被激活。软件缺陷存在于软件内部,是一种静态形式。
软件故障(Fault)是指软件出现可感知的不正常、不正确或不按规范执行的状态。例如,软件运行中因为程序本身有错误而造成的功能不正常、死机、数据丢失或非正常中断等现象。
软件失效(Failure)是指软件丧失完成规定功能的能力的事件。软件失效通常包含三方