基于静态检测的程序安全漏洞测试

电脑杂谈  发布时间:2020-07-08 18:08:25  来源:网络整理

漏洞利用程序 编程_系统漏洞检测程序_win7系统 360检测说漏洞修复失败

第34卷增刊Ⅰ2007年北京化工大学学报北京化工大学化学学报. 34,晚餐Ⅰ2007年基于静态检测的基于程序的安全漏洞测试孙1强龚运战2杨朝宏2,3(1.北京邮电大学信息工程学院北京100876; 2.计算机科学与技术学院,北京邮电大学,北京100876; 3. 装甲兵工程学院信息工程系,北京100072)摘要: 静态分析方法可以自动提取软件的行为信息,从而检测软件中的安全漏洞. . 与其他程序分析方法相比,该方法具有自动化程度高,检测速度快的优点. 本文介绍了Java语言中安全漏洞的失败模式,解释了主要的静态分析方法(例如类型推断系统漏洞检测程序,数据流分析和约束分析)以及两种特殊的分析方法. 最后,它介绍了几种常用的静态代码安全检测工具. 关键词: 静态分析安全漏洞;失效模式静态检测工具CLC编号: TP31115简介问题[1],将发现表面上外观不同的安全漏洞可能是由相同原因引起的.

NASA用不同的语言对安全漏洞进行了详细分析. 在此基础上,本文对Java语言中出现的典型安全漏洞失败模式进行了分类,主要分为以下几类: 数值泄漏,垃圾回收器访问权限问题,对象变量合并,方法存储静态域问题以及与域相关的问题. 111随着社会信息化的不断深入,网络安全的价值越来越突出. 安全漏洞是软件中的故障模式. 此类漏洞的存在可能为其他人提供攻击软件的便利. 成功攻击软件后,系统可能会瘫痪,造成的危害可能更大. 因此,应尽可能避免此类漏洞. 近年来,静态分析作为一种有效的程序分析方法,受到越来越多的关注. 在用户给出了语言的抽象语义之后,这种类型的方法可以自动发现满足所有可能(不一定实际存在)执行状态的软件属性. 静态分析方法自动化程度高,分析速度快,可以检查无限状态系统. 尽管静态分析方法可能会产生一些误报或误报,但它仍然是当今最实用,最有效的安全漏洞检测方法之一. 数值的泄漏包括返回值泄漏和静态方法中的数字. 返回值泄漏是指返回存储在对象域等中的组泄漏.

易失对象的相关值可能会泄漏对象的内部表示形式. 如果通过不受信任的代码访问实例,并且对易失性对象进行无限制的修改将威胁程序的安全性或某些重要质量. 在许多情况下,返回对象的副本是一个好方法. 例如,当返回对对象的引用时,可能导致同时返回该引用调用的对象的内部信息,并且私有信息由对象外部的内容调用. 静态方法中的数组泄漏是指公共静态方法. 1常见安全漏洞故障模式程序具有各种形式的安全漏洞,并且类型很多. 如果我们分析并,生于1982年,硕士生E2mail: sq82child @ gmail.

系统漏洞检测程序_漏洞利用程序 编程_win7系统 360检测说漏洞修复失败

Com就像里面. 如果实例通过不受信任的代码或对对象的无限制更改访问,则将威胁安全性和其他重要属性. 在许多情况下,存储对象的副本是2007年北京化工大学一种更好的方法. 因为可能还有其他外部引用可以通过访问外部对象来访问内部信息. 113垃圾收集器访问权限问题一类垃圾收集器应受保护,而不是公共访问. 114方法存储静态域问题已更改. 为了解决此问题,可以将域从类中删除,并应进行数据包保护以避免攻击. 2静态检测安全漏洞的方法静态检测使用静态分析技术直接分析程序的源代码,通过词法分析,语法分析和静态语义分析来检测程序中潜在的安全漏洞. 目前,静态分析主要有三种方法: 类型推断,数据流分析和约束分析. 211类型推断编程语言的类型系统包括定义类型的机制,关于类型对等,类型兼容性和类型推断的一组规则. 在将运算符应用于操作对象,执行分配或将实际参数传递给子例程时,存在类型是否合适的问题. 类型推断是一个处理过程,其目的是确保对具有正确编号和类型的一组对象执行每个操作,以确保操作的有效性.

如果该语言可以实现一组规则以确保不会对不兼容的对象执行任何操作,则该语言称为强类型语言. 类型推断可以检查类型错误,选择适当的操作系统漏洞检测程序,并根据情况确定必要的类型转换. 类型推断方法简单高效,非常适合快速检测软件安全漏洞. 通过类型推断方法检测到的现有安全漏洞主要包括C程序[2]中的格式字符串漏洞,操作系统内核[3]中的权限检查以及操作系统内核[4]中不安全指针的使用等. 212数据流分析数据流分析是一种在编译过程中使用的技术. 它可以从程序代码中收集程序的语义信息,并在编译时通过代数方法确定变量的定义和使用. 数据流分析用于解决诸如编译优化,程序验证,调试,测试,并行,矢量化和串行编程环境之类的问题. 数据流分析是通过定义可变构造的参考对来实现的. 数据流分析在安全测试中具有广泛的用途. 使用数据流分析技术,文献[5]在C / C ++程序中检测数量类型或分析状态之间的约束系统,后者解决了这些约束系统[8]. 约束系统可以分为相等约束,集合约束和混合约束. 对于一个类,应该对垃圾收集器进行保护访问,如果它是公共的,则可能受到攻击,从而导致不正确的空间释放.

同时,不建议使用垃圾收集器. 如果必须释放它,则最好自己编写释放代码,因为您无法确定垃圾收集器释放它的时间. 该代码将变量对象的相关信息存储在静态域中. 如果对更改对象进行无限制的更改,则可能威胁安全性或其他重要属性. 存储对象的副本是一个好方法. 使用static关键字的目的是: (1)只想使用一个存储区域来保存特定的数据; (2)需要一个特殊的方法,它不与此类的任何对象关联. 因此,当其他对象存储在对象的静态域中时,某些数据可能会被访问​​,或者将关联添加到该对象,这可能会导致安全漏洞. 115与域相关的问题与域相关的问题主要包括域非最终问题,可变数组域,可变哈希表,域和接口问题等. 域的非最终问题是,如果对象中的域是最终的,则意味着该变量的指向不能更改,否则该变量域可能会被恶意代码更改,或者由于其他程序包的某些异常而可能修改安全漏洞. Static方法中的数组泄漏是指公共静态方法,该方法在类的static字段中返回与数组相关的内容. 任何调用此方法的代码都可以自由修改此基本数组.

漏洞利用程序 编程_系统漏洞检测程序_win7系统 360检测说漏洞修复失败

解决此漏洞的一种方法是返回此数组的副本. 可变数组字段是指与数组关联的最终静态字段,该字段可能被恶意代码访问,或者可能受到某些其他软件包的异常影响. 这些代码可以自由修改数组的内容. 变量哈希表是与哈希表关联的最终静态域. 它可能被恶意代码访问,或者可能受到其他软件包的异常影响. 这些代码可以自由修改哈希表的内容. 域和接口问题是指最终的静态域是在与可变对象有关的接口中定义的,例如: 数组或哈希表. 可以通过恶意代码或其他程序包中的异常来修改变量对象. 文献[6]中检测到各种安全漏洞,这些漏洞检测C程序中的数组越界漏洞,而文献[7]部分验证了程序的安全时间属性. 213约束分析约束分析方法将程序分析的过程分为两个阶段: 约束生成和约束解. 前者使用约束生成规则来建立变更补充. Ⅰ孙谦等: 基于静态检测的基于程序的安全漏洞测试•11·三种约束. 平等约束之间只有平等关系. 集合约束将每个程序变量视为一组值,变量赋值被解释为集合表达式之间的包含关系. 混合约束系统由部分相等约束和部分集合约束组成.

约束分析也广泛用于安全测试中. 参考文献[9]使用设置约束方法来检测C程序中的缓冲区溢出漏洞. 214三种主要静态分析方法的比较上述三种主要静态分析方法都是通过解释程序的抽象语义,建立程序属性的数学模型然后自动进行检测的. MC通过范围检测器和另检测器将警告以危险方式使用从不受信任文件中读取的整数而不进行检查. 该验证程序证明该方法可以解决此数学模型并确定程序的属性. 相比之下,约束分析具有最强的检测能力和最慢的检测速度,适用于软件安全检测. 数据流分析具有强大而快速的检测速度,适用于需要考虑控制流信息和变量的检查. 对于静态分析,属性之间的操作非常简单;类型推断具有最弱的检测能力和最快的检测速度,适用于检查属性域有限且独立于控制流的安全属性. 215其他分析方法除了以上三种主要的静态分析方法外,程序员还可以使用其他方法编写与编译器相关的系统规范扩展,以检查其代码错误. 这种方法在Linux和OpenBSD中发现了100多个安全漏洞,其中50多个导致了核心补丁.

此方法的一个特殊功能是,当我们错过应该检测到的代码操作时,该方法的有效性. 另外两个验证者证明了这种方法的普遍性. 当取消引用从不受信任文件读取的端点时,其中第一个警告. 第二种方法是在用户引起内核中的非安全性错误并可能对系统造成恶意攻击时发出警告. 21512一种用于安全属性静态检测的系统和语言(MECA)ECA是一种注释系统,它是一种使用美国斯坦福大学的Ken Ashcraft和Dawson Engler提出的编译器编译扩展来发现安全漏洞的方法. [10]一种由M ECA和Yang Junfeng等[11]提出的安全属性的静态检测方法. 21511使用编写程序进行编译和扩展,以发现安全漏洞(MC). 实时,功能强大的注释传播框架以及可扩展的注释语言. M ECA由一个,一个搜索器,一个注释扩展器和一个或多个检查扩展组成. 使用GCC311的修订版来分析所检查系统的源代码及其抽象语法树的相关注释. 抽象语法树被序列化,并与调用图和包含所有函数指针分配的文件堆叠在一起,以防止下一步操作的危险.

系统漏洞检测程序_漏洞利用程序 编程_win7系统 360检测说漏洞修复失败

搜索器检索这些树,并使用抽象语法树为每个函数构建控制流程图. CF G与全局调用图相关联,然后由扩展器处理. 传播器将注释传播到整个全局调用图,然后运行上面给出的检查扩展. M ECA将现有技术与一些新颖技术相结合,具有简单而强大的注释基元,并使用静态分析来检测故障注释. 3静态代码安全检测工具静态分析技术通过发现源代码中的安全漏洞来防止入侵攻击. 静态分析程序不需要执行经过测试的程序. 它扫描测试程序的主体,分析程序的数据流和控制流,然后生成一个非常用户友好的错误报告,该报告将告诉用户错误的类型和位置. 提出纠正建议,以帮助用户提高软件质量. 当前,有许多实现静态分析技术的代码安全检测工具. 下面介绍两种源代码检查工具,夹板和探伤工具. PC2Lint是静态代码检测工具. 它可以检测到Flawfinder以2001年发布的Pyt hon语言为基础. 尽管它完全满足语法要求,但它很可能具有潜在性并且很难发现错误; PC2lint可以检查当前文件. 同时检查与之相关的所有文件,以从整个项目的角度检测问题; PC2lint支持几乎所有流行的nix平台.

Flawfinder源程序是开放的,是一个相对不错的编辑环境和编译器,例如Borland C ++,GCC VC VC. Net,Source Insight等,支持16/32/64平台环境; PC2lint支持多种提高效率和防止错误的方法,这些方法在Scott Meyes的著名著作(《有效的C ++ /更有效的C ++》)中进行了介绍. 在程序发布之前识别潜在漏洞的工具. Flawfinder是根据GPL2协议开发的,并在类似U2的C / C ++程序开发的工具L1上运行,以帮助进行安全性检查. 它嵌入了一些类似于ITS4的常见程序泄漏,例如缓冲区溢出,格式字符串漏洞等,并且具有快速的扫描速度. 它是程序静态检查中非常有竞争力的工具. ·12·北京化工大学2007年溢出漏洞[C]. 美国,USEN IX Security Sympo2 sium,2001年. 用于检测内存访问的符号型敏感分析DI,德国,2002年.

ty专题讨论会,美国,2000年. 十个编译器扩展,以捕获安全漏洞[C]. IEEE安全与隐私专题讨论会,奥克兰,加利福尼亚,2002年. 安全,2003年. errors[C]. ESEC / FSE',芬兰赫尔辛基,2003年9月2日. 克分析[J]. 计算机编程科学,1999,35(2): 79-111. Dawson Engler MECA: 用于静态检查安全性的可扩展,表达性系统和语言除了上面介绍的两个工具夹板和缺陷查找器之外,还有诸如RA TS(安全审核工具)和ITS4(静态漏洞扫描工具)之类的工具.

win7系统 360检测说漏洞修复失败_漏洞利用程序 编程_系统漏洞检测程序

[6]谢宜辰,CHOA,EN GL ER D. ARCHER: 使用4结论静态分析是检测安全漏洞的重要方法. 与运行时方法相比,静态分析没有运行时开销,并且可以在交付软件之前检测到安全漏洞. 但是,它不是万能药. 没有检测工具可以消除所有安全漏洞,并且静态检测工具也不例外. 参考文献: [1]夏一民,罗军,张民选. 基于静态分析的安全漏洞检测技术研究[J]. 计算机科学,2006,33: 279-282. [2] SHAN KAR U,TAL WAR K,FOSTER J S等. 使用类型限定符[C]检测格式字符串漏洞. 美国USEN IX安全研讨会,2001年. [3]詹G小兰,爱德华兹A.使用CQUAL进行城市研讨会,美国,2002年.

posium,2004年. [5] LAROCHELL E D.静态检测可能的软件缓冲. 与程序分析方法相比,静态分析方法可以自动,有效地检测安全漏洞. 本文介绍了用于检测安全漏洞的J工具中的安全漏洞的故障模式. 关键词: 静态分析安全漏洞;故障模式静态检测工具的语言,以及当前主要的静态分析方法和方法,以及她的两种特殊方法.

最后,一些摘要: 静态分析可以通过自动获取有关behav2的信息来发现安全漏洞[4],OHNSON R,WA GND. 通过类型推断查找用户/内核point2漏洞[C]. USH IX安全性分析结果分析[C]. 基于静态分析的USEN IX Secu2软件安全漏洞检测方法孙倩1 G G G G战战2 YAN G赵虹2,3(1. 北京邮电大学信息工程学院,北京100876; 2.

北京邮电大学计算机科学与技术学院,北京100876; 3.装甲兵工程学院信息工程系,北京100072)[7] DAS M,L EMER S,SEIGL E M. ESP: pat h2sensitive [9] WA GN ER D,FOSTER J,BREWER E,等. 最早的[11]严国军,KREMEN EK T,谢一辰等. [8] A KENA. 基于常量2的pro2的设置简介[10] ASHCRAF T K,EN GL ERD. 在多项式时间内使用程序员2写入2程序验证[C].

ACM PL 2的能力[C]. 网络和分布式系统Securi2迈向自动检测缓冲区溢出vul2的步骤[C]. 在10t h ACM Conf on Computer and Communica2


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-273192-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...