软件安全性检测技术综述

来源 :科学与财富 | 被引量 : 0次 | 上传用户:yqligjs
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:在网络技术被大面积的覆盖之前,单机的应用程序软件所产生的安全冲突的问题并不多。而随着现在互联网技术的深入,软件的安全问题所造成的影响也越来越严重。在实际的发展中我们开始重视软件安全的重要性。目前软件的广泛应用以及其规模空前的增加,相应的难度也被提高,这种背景下的软件安全问题不得不引起重视。本文主要阐述关于网络软件的安全监测的主要内容,其中会介绍目前发展的主要监测方法,比如形式化的安全测试、模糊测试、语法测试等方法,笔者会对软件安全性的技术发展做一定的回顾,希望能够从这些技术中能够得到更多安全性检测的思路。
  关键词:软件安全;检测技术;概述;
  1.软件安全性测试概述
  软件安全性测试主要可以分为两个方面,一方面是对安全功能的测试,另外一方面则是对安全漏洞的测试。首先,我们对于安全功能的测试的主要目的是为了判定软件的设计功能是否能够符合用户对软件的要求,而这种设计是否能够帮助他们需求的实现。当然对漏洞的测试的主要目的是从漏洞的攻击者的角度考虑,确保软件的安全漏洞不受到威胁【1】。另外,在内容上,安全功能测试主要会涉及到数据的机密完整性以及其隐私保护等内容,而安全漏洞测试的重点在于对系统的设计和操作等出现的弱点,一旦被利用就容易受到外界的攻击而进入不安全的状态。从以上两个方面我们可以得知,在软件安全性测试中我们应该确保以下几个方面:第一,全面检测出软件一旦陷入不安全的状态所产生的反应。第二,测试软件在设计时需要尽可能的提高其安全性,包括在算法冗余、容错等做好优化。第三,了解软件在异常情况下的反应。第四,对于软件中的模块以及部件要做好单独的测试并加强整个测试流程的进行。
  2.软件安全测试的主要技术
  2.1形式化安全测试
  形式化的主要运用思路通过建立软件的数学模型来进行测试的一种方法。它可以分为两种类型,一种是定理证明,另外一种是模型检测。首先,前者是将程序切换成逻辑的公式,运用相关的规则来证明该程序是一种合法的定理。而后者用迁移系统S用来描述软件的模式,通过逻辑公式来达到软件需要形成的目的,如果能够在自动搜索系统S中发现存在的不满足函数F的问题,则可以确认相应的软件漏洞。NASA中的JPL曾经做过此类技术的项目【2】。他们在实验中的主要思路是通过建立针对安全需求的形式化模型,来判断是否从起始之后没有发现存在违约的不安全的状态。这种技术存在着一定的不足。比如定理的证明方法无法确保全面的自动化操作,它依然需要分析人员参与运行过程,这期间非常耗费人力,而模型的检测方法需要将所有的可能性进行执行,因此检测时的效率较低。
  2.2基于模型的测试方法
  基于模型的安全性测试是通过对软件中的行为以及结构建立模型,然后运用生成的测试模型产生测试的用例。Nahid Shahmehri等在研究中提出一种基于模型的软件安全性测试方法,这种模型用来检测以及追踪软件中存在的缺陷,是一种较为被动的技术类型。因此,开发者很容易准确的了解到软件中软件的类型,当发现新的漏洞是会添加相应的方法对工具进行扩展。检测模型是在SGMs的基础上可以表明漏洞产生的原因,以及与其他原因之间的关系【3】。其中SGMs将漏洞的模型运用树状结构来进行描述。
  Mark Blackburn等曾经提出一种端对端的基于模型的全自动检测方法,这种测试技术可以被运用到各个环境中,具有一定的广泛性。它的基础在于对安全函数的说明建立模型,Orale以及Interbase两种数据库引擎的在其中的运用帮助自动形成模型并做后续的测试。
  2.3语法测试
  对语法的定义在于软件接受了输入中的数据类型以及数据格式。语法测试的主要环节是可以根据软件上相关的功能接口中的语法再生成相应的测试语法的输入,在这样的形式下来检测软件对输入产生的反应,然后对输入以及反应之间的联系做出安全性的分析。语法测试比较适用于黑盒测试实验中,根据相应的语法特征,产生正常和不正常的输入方式,然后引发各种安全中的问题。不过它存在的缺点在于所需要测试的数据量极大,因此很难全部覆盖到。Patrice Godefroid等通过研究,在语法的基础上对非法输入的形式作出描述,用这种方法是来提高白盒测试产生的效果,形成一种新的动态测试算法。
  2.4基于故障注入的安全性测试
  应用程序和其应用的环境两者之间的交互包括用户输入、环境变量等,这些过程中产生的故障将被作为注入故障。人为的把故障注入到系統里,可以让系统加速失效,与此同时也加强了对安全的排查。
  Binbin Qu等学者曾经提出一种在客户机和服务器模式下错误的注入方式,这种方式被用在对软件组件的测试上。在API Hooking的基础上设计的错误注入工具,这种工具中的GCDEFI是在客户机—服务器模式的基础上形成的,它的组成结构包括一个服务端以及多个客户【4】。服务器可以控制住服务机,并且收集到需要的反馈信息然后与客户机产生交互;客户机的主要内容是可以管理API的拦截、系统中错误的信息等。客户机在运行中会被注入到测试驱动范围中。在GCDEFI开启之后,用户中的错误类型的信息通过控制器来得到,然后被保存到错误管理的模块区域。控制器在工作后会触发Activator,这种部件会将错误的信息传递到目标信息管理器中。当发生API拦截时,调用者的信息会被系统立即获取,然后在系统中插在相应的堆栈以及组件列表,确认是否有相互匹配的组件,一旦没有那么进入返回的模式,否则系统就会执行程序中的替代代码,再执行设计的错误注入流程。这种技术产生的特用性也存在着一些问题,就是它只能适用于特点环境中的特定组件,这样才能有较好的测试见过。Jinfu Chen也有提一种安全性测试工具,这种工具被称为CSTS。它可以在迅速获取COM组件的基础上进行相关的分析,然后在系统中进行静态分析组件漏洞,之后会自动的生成测试需要的脚本,生成测试需要的驱动等功能。但是经过检验,这种方法的评级标准较为模糊,还需要深入的细化。
  2.5模糊测试
  模糊测试的技术是在黑盒随机测试的基础上,运用随机的变异程序输入来检查和确认程序中的响应状况,然后在这种情形下发现漏洞,系统会在这个过程中用语法规则来进行系统正常的输入,除此之外,还可以运用试探法来产生输入变量。但是,模糊测试的一项最大的问题是它的代码覆盖率非常的低。Patrice Godefroid等学者在这种模式下提出了一种新型的白盒模糊测试的方法,这种式在象征性执行方法以及用例生成方法的启发下所提出的。但是这种方法由于样本尺寸的有限性依然存在着低代码覆盖率的情况。
  2.6基于风险的安全性测试
  系统中错误发生的概率以及产生的危害程度便形成了系统的潜在风险。考虑到风险的危害,这种安全测试的出发点都会以软件安全风险为主,运行过程中对风险的分析、安全测试以及软件开发的过程都进行系统化的处理,这种方法在软件开发的阶段中都会把风险的安全漏洞考慮其中,然后保持与软件开发的进度一致。
  3.结语
  软件安全性测试的方法由于研究的环境以及影响因素的复杂,各个种类的方法都还处于探索阶段,也存在着技术上较多的限制,这些需要工作人员在软件测试方面有丰富的操作经验,以及更加全面的知识结构,才能将各个方法进行联系操作。因此,测试人员的经验需要包括对软件安全漏洞的全面认知以及理解,另外在知识结构中还需要掌握好编程、数据库等多种编译知识,只有在强大知识储备的基础上才能够根据用户的需求高效的开发出有效的测试工具。
  参考文献:
  [1]秦晓军,甘水滔,陈左宁. 一种基于一阶逻辑的软件代码安全性缺陷静态检测技术[J]. 中国科学:信息科学,2014,01:108-129.
  [2]侯海燕,符志鹏. 软件安全性检测技术综述[J]. 电脑知识与技术,2014,25:5847-5851+5854.
  [3]倪涛. 基于静态污点分析技术的软件内核驱动安全性检测[J]. 计算机应用与软件,2015,05:262-266.
其他文献
摘 要:气孔是铝合金TIG焊工艺中常见缺陷,本文结合焊接实践,对气孔缺陷形成原因进行了深入分析,并总结出了其产生的规律,为采取何种工艺措施,避免气孔的产生,积累一定的技术资料。  关键词:铝合金,TIG焊接,气孔缺陷  0引言:铝合金由于比重轻,强度高,可焊性好以及良好的加工成型性能、耐腐蚀性能,被广泛用于各种结构焊接,但焊接过程中,气孔是最常见的焊接缺陷,气孔的出现不仅影响焊缝质量,而且还会降低
期刊
摘 要:近年来我国建筑工程越来越多,建筑主体外墙工程是建筑工程中十分重要的一道工作,其质量直接影响到整个建筑工程的质量。本文以某工程为例,介绍了主体外墙工程的施工技术。  关键词:建筑工程;建筑主体外墙工程;施工技术  在建筑工程施工建设的过程中,主体外墙是极其重要的一部分。施工中,我们不仅仅要考虑到美观性,也要考虑到外墙工程的防渗性与保温性。在建筑工程施工中,要根据建筑工程实际需求进行外墙工程的
期刊
摘 要:在电力系统运行中,断路器操动机构线圈烧毁是造成10kV线路停电事故的主要原因,本文我们对一些常用的操作机构的原因进行分析、讨论,并提出具体的解决措施。  关键词:开关柜、断路器、线圈  一、具体问题描述  10kV GG-1A(F)型高压开关柜(ZN9-10)操作机构表现尤为突出,该操作机构长期运行中磨损厉害,使其在传动过程中由于磨损后旷量大,使辅助开关传动不到位,不能准确切断和接通合闸回
期刊
摘 要:道路和桥梁是每一个城市建设的先行军,俗话说,要想富先修路,城市的发展生产依赖于城市的基础设施,道路桥梁是城市发展的基石。一个城市的道路桥梁建设情况可以看出城市现在的发展状况、未来这个城市的发展水平。本文就市政道路桥梁施工技术进行了简要的分析,对我国目前桥梁施工技术进行了概述。  关键词:道路桥梁 市政工程 工程施工  1、市政道路桥梁工程施工的重要性  市政道路桥梁工程施工的水平关系到城市
期刊
摘 要:房地产项目开发成本控制对于房地产项目盈利有很大的影响,也事关房地产开发企业的竞争能力和经济效益。近年来,随着房地产项目竞争的不断加剧,很多的房地产开发企业扩大加强了对其项目成本管理的重视。为此,本文就房地产项目成本控制原则,房地产项目成本控制影响因素,以及房地产项目成本控制方法进行了分析与探讨。  关键词:房地产;项目;成本;控制  随着我国经济发展的不断转型与完善,现阶段由于房地产市场带
期刊
摘 要:本文主要从建筑项目施工中资料管理的现实性角度出发,对现阶段资料管理过程中出现的主要问题、提高资料管理水平的有效对策等方面进行了深入、全面的研究,旨在为今后的建筑施工中的资料管理更加健全。  关键词:建筑项目、资料管理、问题与建议  建筑项目施工资料作为城市建设和维护的关键参考,同时也能为施工水平提供客观依据,在实际的施工环节当中,可以有效地体现整個施工过程,并且记录建筑企业主体和施工的全过
期刊
摘 要:本文针对在使用PowerPoint过程中遇到的一些经典问题提出了快速有效的解决方法。寻求熟练掌握办公软件PowerPoint的使用。在实际工作中通过大量技巧的使用,切实提高办公效率。使PowerPoint真正成为教学和办公的得力助手。  关键词:PowerPoint;技巧;方法  1.引言  PowerPoint是Microsoft公司的办公软件Office的组件之一,它既可以生成丰富高效
期刊
摘 要:电费的回收是实现电力企业经济效益的最后环节,也是关键环节,唯有完成用电用户的电费回收,电力才完成其作为商品的最后过程,其价值才得以实现。电费的回收对于供电企业来说很大程度上决定了其经济效益,因此,供电企业都应当重视用电用户的电费回收。但目前,随着我国市场经济的快速发展和改革的深入开展,电力已面临越来越广阔和复杂的市场,电费的回收风险系数也在增大,如何提高用户的电费回收率是供电企业亟待解决的
期刊
摘 要:施工质量是一个工程施工企业赖以生存和发展的根本,建设工程项目的主要控制目标之一,也是保证房屋建筑使用性能和使用寿命的关键。进行施工质量管理时,监理师应该综合考虑可能引发质量问题的各个因素,不忽略任一潜在的影响,以便做好科学的管理准备,采取有效的针对性措施来预防和避免各种施工质量问题。从而确保施工质量。  关键词:施工 ;质量; 管理  引言  项目工程质量管理是指为了达到预期设想的工程质量
期刊
摘 要:港口起重机在港口是一种主要的运卸货物的设备,但是正是因为其的重要性,让港口的起重机只要出现故障就会带来巨大的风险,因此本文将从港口起重机的金属结构裂纹的诊断以及维修这一方面来进行分析,希望能通过本文的研究,能够对港口起重机金属结构裂纹的诊断以及维修上提供一些帮助,为港口提供更多的安全保障。  关键词:港口起重机;裂纹;诊断;维修  一、前言  起重机对于港口的作业来说起到了重要的作用,港口
期刊