西门子大陆代理商
(3)可利用性与隐蔽性
漏洞具有可利用性,漏洞一旦被攻击者利用就会给信息系统带来威胁和损失。当然,软件厂商也可以通过各种技术手段来降低漏洞的可利用性,例如微软公司通过在Windows操作系统或应用软件中增加内存保护机制(如DEP、ASLR和SafeSEH等),极大地降低了缓冲区溢出等漏洞的可利用性补丁软件修补,或在以后发布的新版软件中得以纠正。而在新版软件纠正旧版本中的漏洞的同时,也会引入一些新的漏洞和问题。软件开发商和软件使用者的疏忽或错误(如对软件系统不安全的配置或者没有及时更新安全补丁等),也会导致软件漏洞长期存在。随着时间的推移,旧的漏洞会不断消失,新的漏洞会不断出现,因此漏洞具有持久性。相关数据表明高危漏洞及其变种会可预见地重复出现,对内部和外部网络构成持续的威胁。
漏洞具有时效性,超过一定的时间限制(例如,当针对该漏洞的修补措施出现时,或者软件开发商推出了更新版本系统时),漏洞的威胁就会逐渐减少直至消失。漏洞的时效性具有双刃剑的作用,一方面,漏洞信息的公开加速了软件开发商的安全补丁的更新进程,能够尽快警示软件用户,减少了恶意程序的危害程度;另一方面,攻击者也可能会尽快利用漏洞信息实施攻击行为。
(2)广泛性与具体性
漏洞具有广泛性,会影响到很大范围的软件和硬件设备,包括操作系统本身及系统服务软件、网络客户和服务器软件、网络路由器和防火墙等。理论上讲,所有信息系统或设备中都会存在设计、实现或者配置上的漏洞。
漏洞又具有具体性,即它总是存在于具体的环境或条件中。对组成信息系统的软硬件设备而言,在这些不同的软硬件设备中都可能存在不同的安全漏洞,甚至在不同种类的软硬件设备中,同种设备的不同版本之间,由不同设备构成的信息系统
软件漏洞一方面会导致有害的输出或行为,例如,导致软件运行异常;另一方面漏洞也会被攻击者所利用来攻击系统,例如,攻击者通过精心设计攻击程序,准确地触发软件漏洞,并利用该漏洞在目标系统中插入并执行精心设计的代码,从而获得对目标系统的控制权,进而实施其他攻击行为。
本书中关于漏洞的定义为:软件系统或产品在设计、实现、配置和运行等过程中,由操作实体有意或无意产生的缺陷、瑕疵或错误,它们以不同形式存在于信息系统的各个层次和环节之中,且随着信息系统的变化而改变。漏洞一旦被恶意主体所利用,就会造成对信息系统的安全损害,从而影响构建于信息系统之上正常服务的运行,危害信息系统及信息的安全属性。
本定义也体现了漏洞是贯穿软件生命周期各环节的。在时间维度上,漏洞都会经历产生、发现、公开和消亡等过程,在此期间,漏洞会有不同的名称或表示形式Bug。如同使用HTTPS来对传输内容进行加密那样,积极主动地加强安全性的措施,也就是增加安全性功能,可以尽可能地消除Bug。安全性功能实际为软件系统的一种需求,所以也被称为安全性需求。是否将安全性功能加入到项目需求中,还需要根据项目的具体情况考虑,如项目经费等。统的安全,关乎关键基础设施的安全,关乎个人安全乃至社会和国家的安全。本节将通过介绍震网病毒进行零日调查数据显示,企业的信息安全预算中主要的投资方向仍集中于传统的防病毒、防火墙、VPN及身份范,但是由于开发过程中软件错误(Error)是指在软件开发过程中出现的不符合期望或不可接受的人为差错,其结果将可能导致软件缺陷的产生。在软件开发过程中,人是主体,难免会犯错误。软件错误主要是一种人为错误,相对于软件本身而言,是一种外部行为。
软件缺陷(Bug/Defect)是指由于人为差错或其他客观原因,导致软件隐含能导致其在运行过程中出现不希望或不可接受的偏差,例如软件需求定义,以及设计、实现等错误。在这种意义下,软件缺陷和软件错误有着相近的含义。当软件运行于某一特定的环境条件时出现故障,这时称软件缺陷被激活。软件缺陷存在于软件内部,是一种静态形式。
浔之漫智控技术(上海)有限公司(xzm-wqy-sqw)
是中国西门子的合作伙伴,公司主要从事工业自动化产品的集成,销售和维修,是全国的自动化设备公司。
公司坐落于中国城市上海市,我们真诚的希望在器件的销售和工程项目承接、系统开发上能和贵司开展多方面合作。
以下是我司主要代理西门子产品,欢迎您来电来函咨询,我们将为您提供优惠的价格及快捷细致的服务!
软件故障(Fault)是指软件出现可感知的不正常、不正确或不按规范执行的状态。例如,软件运行中因为程序本身有错误而造成的功能不正常、死机、数据丢失或非正常中断等现象。
软件失效(Failure)是指软件丧失完成规定功能的能力的事件。软件失效通常包含三方面的含义:软件或其构成单元不能在规定的时间内和条件下完成所规定的功能,软件故障被触发及丧失对用户的预期服务时都可能导致失效;一个功能单元执行所要求功能的能力终结;软件的操作偏离了软件需求。人员经验不足、开发平台客观条件等方面的原因,依然会引入各种类别的安全漏洞。因此,在软件开发的各个环节中进行漏洞的预防和分析,能够快速、高效地发现软件中的安全问题,减少其在后期带来更大的危害。
一些软件开发相关的机构和企业意识到了这一情况,纷纷在软件开发过程的各个阶段采取各种措施对开发的软件进行漏洞分析。微软、思科等公司推出的安全开发生命周期就是一套对软件开发过程进行安全保障的方案,旨在尽量减少设计、代码和文档中与安全相关的漏洞的数量。微软的实践证明,从需求分析阶段开始就考虑安全问题,可以大大减少软件产品漏洞的数量,而不会增加成本。
软件安全开发关注的是如何运用系统安全工程的思想,以软件的安全性为核心,将安全要素嵌入软件开发生命周期的全过程,有效减少软件产品潜在的漏洞数量或控制在一个风险可接受的水平内,提高软件系统的整体安全性。
软件安全开发方法抛弃了传统的先构建系统,再将安全手段应用于系统的构建模式,而是保留了采用风险管理、身份认证、访问控制、数据加密保护和入侵检测等传统安全方法,将安全作为功能需求的必要组成部分,在系统开发的需求阶段就引入安全要素,同时对软件开发全过程的每一个阶段实施风险管理,以期减少每一个开发步骤中可能出现的安全问题,西门子终提高软件产品的本质安全性。
根据软件开发生命周期的阶段划分,软件安全开发涉及以下几个方面的内容。认证等方法,这些以网络边界安全防护为主的传统安全解决方案可以减少漏洞被利用的机会,然而却不能有效信息信息安可以看出,软件保障应用软件系统位于信息系统的上层,是在信息系统的硬件系统、操作系统、网络系统和数据库管理系统的支持下运行的,是构成信息系统的西门子重要部分,是信息系统中直接为用户提供服务的部分。
应用软件系统是由业务应用处理软件组成的系统。信息系统(也称应用系统)是实现业务应用的所有软硬件的总称。其中,应用软件是对业务应用进行处理的软件,其他软件和硬件,包括组成计算机平台和网络平台的所有软件和硬件,都是为了支持应用软件正常运行而配制的。
为了确保业务应用的安全,首要的是确保应用软件系统的平台的计算机软硬件的安全和网络软硬件的安全。这些安全要求进一步分解为计算机和网络系统的物理安全、计算机操作系构造可信软件已成为现代软件技术发展和应用的重要趋势和必然选择。一方面,软件的规模越来早期开发软件的首要目标是在效率和成本优先的前提下构造出功能正确的系统,对于可信任性、可用性及安全性等问题的考虑相分析软件安全错误发生的原因,将安全错误的修正嵌入到软件开发生命周期的整个阶段。通过对需求分析、设计、实现、测试、发布及运维等各阶段相关的软件安全错误的分析与控制,以期大大减少软件产品的漏洞数量,使软件产品的安全性得到有效提高。
该方法是将安全保障的实施开始于软件发布之前,尤其强调从软件生命周期的早期阶段开始安全考虑,从而减少软件生命周期的后期系统运行过程中安全运维的工作量,提高安全保障效果。实践经验表明,从系统开发需求阶段就引入安全要素要比在系统维护阶段才考虑安全问题所花费的错误修复成本要低很多。2.软件安全防护的主要技术
现有关于软件安全的技术主要包含软件安全属性认知、信息系统安全工程及软件安全开发三个方面。
(1)软件安全属性的认知
安全是一个整体性的概念。软件安全既离不开它所存储、传输、处理的数据的安全,也离不开相关文档的安全,因此软件安全应涵盖数据及其信息处理过程本身的三个基本安全要素:保密性、完整性和可用性;同时软件需要接收外界信息输入才能实现预期的功能产生输出结果,信息来源的安全性必然成为软件安全重要的组成部分。基于这些分析,本书将保密性、完整性、可用性、认证性、授权和可审计性作为软件安全的核心属性;而软件自身的实现质量,即软件产品包含的漏洞情况也应该是软件安全性的主要内容,因为这些漏洞会直接导致安全性问题,这也是传统的软件安全关注的问题;此外,站在不同的管理者视角,抗抵赖性、可信性、可控性、可靠性及软件弹性等也成为软件被关注的其他安全属性。