学海网 文档下载 文档下载导航
设为首页 | 加入收藏
搜索 请输入内容:  
 导航当前位置: 文档下载 > 所有分类 > 一种基于静态分析技术的源代码安全检测模型

一种基于静态分析技术的源代码安全检测模型

本文介绍了当前主流的静态代码分析技术,在分析讨论其优缺点基础上提出了一种新的静态代码检测模型。该模型结合了当前成熟的静态分析技术,并借鉴了编译器中数据流和控制流分析的思想,获取上下文关联的数据信息,从而更加准确地分析代码中存在的安全问题。

一种基于静态分析技术的源代码安全检测模型1

粱婕,张淼,徐国爱,杨义先

北京邮电大学网络与交换技术国家重点实验室,北京(100876)

E-mail:

摘 要:本文介绍了当前主流的静态代码分析技术,在分析讨论其优缺点基础上提出了一种

新的静态代码检测模型。该模型结合了当前成熟的静态分析技术,并借鉴了编译器中数据流

和控制流分析的思想,获取上下文关联的数据信息,从而更加准确地分析代码中存在的安全

问题。

关键词:数据流分析,控制流分析,别名分析,静态代码分析,源代码检测

1. 引言

随着社会信息化的不断加深,人们不得不开始面对日益突出的信息安全问题。研究表明,

相当数量的安全问题都是由于软件自身存着的安全漏洞引起的。软件漏洞的产生,一方面可

能是设计人员在架构阶段没有明确用户对安全性方面的需求,在设计上没有考虑安全性,开

发人员使用有风险的库函数或者引用没有经过安全性测试的公共代码;另一方面,开发人员

可能为了测试方便在程序中开后门,或者别有用心的植入恶意代码。攻击者利用这些漏洞绕

过安全策略,以达到窃取信息的目的。

检测软件安全漏洞,通常从两个方面进行:动态分析与静态分析。在动态分析中,需要

根据实际状况,设计多组极限测试数据,并实际的执行被测程序;静态分析则是扫描源程序,

从中找出可能导致错误的结构异常,控制流异常及数据流异常。静态分析较动态而言,成本

低,容易实现,能覆盖所有路径且不依赖于特定的运行环境。

本文将对现有的静态分析技术展开分析讨论,并在此基础上给出一个新的检测模型。

2. 研究现状

国内外在软件的安全性分析领域做了大量的研究,提出了一些可行的静态的安全性分析

方法,并且构造了相应的软件安全性分析工具。

目前静态的安全性分析方法可分为[2 3 4 5 6 7 8]:模型检验,词法分析,语义分析等。

这些检测算法各有侧重,并在现有的检测工具中加以运用,具有一定效果,但其实现的

功能,局限性还是比较大的。例如ITS4会将所有使用的strcpy语句报告,认为不安全。这

将直接导致误报率过高, 影响代码审查的效率和积极性;基于模式的安全漏洞并不多,这将

直接导致MOPS所能维护的规则库有限,并且只能检查某些特定类型的漏洞;BOON虽然

引入了上下文的信息,但是由于没有精确处理控制分支的信息,仅根据数据流走向取并集,

仍然存在一定程度的误报,且该方法针对缓冲区溢出和整数溢出,具有一定的局限性。

3. 分析模型

在这里,我们考虑将各个现有的成熟的静态代码分析技术结合,设计一个基于上下文信

息关联的检测模型。

1 本课题得到教育部博士学科点专项基金项目(编号:20050013011)的资助。

第1页

TOP相关主题

  • 静态模型论坛
  • 静态模型
  • 路由器检测为静态ip
  • 静态模型比赛
  • 静态模型制作
  • 静态模型网
  • 静态军事模型
  • 静态宇宙模型

我要评论

相关文档

站点地图 | 文档上传 | 侵权投诉 | 手机版
新浪认证  诚信网站  绿色网站  可信网站   非经营性网站备案
本站所有资源均来自互联网,本站只负责收集和整理,均不承担任何法律责任,如有侵权等其它行为请联系我们.
文档下载 Copyright 2013 doc.xuehai.net All Rights Reserved.  email
返回顶部