基于静态分析技术的源代码安全检测模型
基于静态分析技术的源代码安全检测模型
第2 5卷第 9期20 0 8年 9月
计算机应用研究Ap lc to s a c fCo u e s p i ain Re e r h o mp tr
Vo. 5 No 9 12 . Sp 08 e .2 0
基于静态分析技术的源代码安全检测模型木梁婕,张淼,徐国爱,杨义先(北京邮电大学网络与交换技术国家重点实验室信息安全中心,北京 10 7 ) 0 86 摘要:介绍了当前主流的静态代码分析技术,分析讨论其优缺点的基础上提出了一种新的静态代码检测模在
型。该模型结合了当前成熟的静态分析技术,并借鉴了编译器中数据流和控制流分析的思想,取上下文关联获的数据信息,从而更加准确地分析代码中存在的安全问题。 关键词:数据流分析;控制流分析;别名分析;静态代码分析;源代码中图分类号:T 3 1 Pl 文献标志码:A 文章编号:10—6 5 2 0 )9 2 0— 3 0 13 9 ( 0 8 0— 7 3 0
Ne sa i n l ss mo e n s u c o e w t tc a a y i d li o r e c dL ANG Je.Z I i HANG Mi o a,XU Gu— i o a,YAN Yi in G— a x
(nom t nScn)Cne, tt I rai eu t et Sae f o r曰 n 0 8 6 hn ) e g 10 7,C ia
L brt fN tok g& S ihn ehooy B in nvrt o ot Tlo mui tn, aoao o ew ri 0 n wt igTcn l, ei U i sy fP s c g jg e i s& e cm nc i s e ao
A b t a t: Th sp p ri to u e o u r n ttca ay i to si o re c d sr c i a e nr d c d s me c re tsai n lssmeh d ns u c o e,a trc mp rn h i dv ntg n i— fe o a i gt era a a e a d ds a v n a e, a e a n w de fsai n lss d a t g g v e mo lo t tca ay i.Ba e n c r n nay i t d s d o ure ta l ssmeho s,t ene de esdaai fr to n c n— h w mo lg t t no main i o
tx y d
t o n lssa d c nr l lw a a y i w ih ae otn r fre o i r n h r fr e u i r be a e e tb aaf w a ay i n o t o n lss h c r f ee r d i c mpl,a d te eo es c r y p o lmsc n b l of e n e tf u d moe e a ty. o n r x cl
Ke y wor ds: daa f w nay i t o a l ss;c nr lfo a ayss;ais a l ss;sai n lss s u ec d l o to w n l i l la nay i t t a ay i; o r o e c
随着社会信息化的不断深入,人们不得不开始面对日益突出的信息安全问题。研究表明,当数量的安全问题都是由于相软件自身存着的安全漏洞引起的。软件漏洞的产生,方面可一能是设计人员在架构阶段没有明确用户对安全性方面的需求, 在设计上没有考虑安全性,发人员使用有风险的库函数或引开用没有经过安全性测试的公共代码;一方面,发人员可能另开
有限,并且只能检查某些特定类型的漏洞;O N虽然引入了 BO上下文的信息,但是由于没有精确处理控制分支的信息,仅根据数据流走向取并集,然存在一定程度的误报,该方法针仍且
对缓冲区溢出和整数溢出,具有一定的局限性。
1分析模型 在这里,者考虑将各个现有的成熟的静态代码分析技术笔
为了测试方便在程序中开后门,或别有用心地植入恶意代码。攻击者利用这些漏洞绕过安全策略,以达到窃取信息的目的。 检测软件安全漏洞,常从两个方面进行,动态分析和通即静态分析。在动态分析中,要根据实际状况,计多组极限需设测试数据,并实际地执行被测程序;态分析则是扫描源程序,静 从中找出可能导致错误的结构异常、制流异常及数据流异控
结合,设计一个基于上下文信息关联的检测模型。1 1引入 .
先来模拟一下人工分析的过程,为提炼模型作准备。 下面以一个使用文件资源的代码段为示例:vi u ( odfn ){
常。静态分析较动态而言,成本低,易实现,容能覆盖所有路径,
不依赖于特定的运行环境。且 国内外在软件的安全性分析领域进行了大量的研究,出提了一些可行的静态安全性分析方法,且构造了相应的软件安并全性分析工具。
1Fl:i ef: f e ( C\ ts t”+) o n”:\ t x,a p e t; 2Flef:: co ( ) s
以下是人工审查的过程:
a若是需要检查文件资源泄露, )需要定位到文件句柄的模型检验、法分词打开部分,定风险 A Io e。锁 P pn f
目前静态安全性分析方法可分为析、义分析等。语
b记录下该 A t ) P返回的文件句柄,变量 _厂 c以便跟踪该句柄的使用情况。
这些检测算法各有侧重,并在现有的检测工具中加以运用,一定效果,其实现的功能,限性还是比较大的。例具有但局
C发现在行号 2f作为参数, A t c s ),被 P l e引用, foe fo而 cs l 恰好是与 fpn对应的 A I oe P操作,表示文件句柄的关闭。 在此,于这个文件资源的检测完毕。结论:有资源对没泄露。
如, S I 4会将所有使用的 s cy句报告, T tp语 r认为不安全。这将直接导致误报率过高,影响代码审查的效率和积极性;基于模式的安全漏洞并不多,将直接导致 M P这 O S所能维护的规则库收稿日期:20— 11;修回日期:20 -10 0 7 1— 1 0 8O -9础研究发展计划资助项目(0 7 B 174 20 C 3 00 )
基金项目:国家教育部博士学科点专项基金资助项目( 05 0 3 1 )国家“7” 2 00 10 1; 93重点基
作者简介:粱婕 (9 3 )女 (族 )柳州柳江人,士研究生, 18 -,壮,硕主要研究方向为信息安全;淼 ( 9 0 )男,师,士,要研究方向为信息张 18 .,讲博主
安全 ( a.hn@13 cm)徐国爱(9 2 )男, mi zag 6 .o; o 17一,副教授,博士,主要研究方向为密码学、信息安全;杨义先(9 1 )男,导, 16 .,博博士,主要研究方向为编码密码学、息安全.信
基于静态分析技术的源代码安全检测模型
·
20 7 4·
计算机应用研究量。的那个定值。定义这样一个结构:S r c VARNODE tu t—
第2 5卷
根据以上分析,只需要定位
关键 A I并跟踪相应的变量 P,使用即可。进一步,考虑下面这段带有条件分支的代码段:V i u ( o n) df{ 1Fl:i ef= f e ( c\ts t”,+) o n”:\ t x a; p e.t 2 i fe): Rt f( {3:e u n; rtr
{i ti i e n L n NO;i ti l e; n Va u
b o fe; o l S t
}
在每一个变量出现的地方,成这么一个节点。其中生 ii -O记录行号信息,当前语句对于该变量是赋值操作, Ln N e若 则将/e设置为 t e并将新值记录到 ia e中;则, e设 St r, u Vl u否 ft S
}4 fl e f;: o () es}
若是根据之前的原则分析,依然得出没有错误的结论,然而可以看到,在行号 3处,有一个 rtr e n语句,将直接导致函 u这数退出。在这个退出分支中,开的文件句柄没有得到关闭,打 必然造成资源泄露。反思一下分析过程,然忽略了这么一个事实: pn的操 显 fe o
置为 f s, au a eil e无效。将所有该变量的节点添加到一个链 l V表,就可以得到该变量在整个工程的使用情况。这样,就可以通过链表查找某行 A I P调用时,该变量值域是否在限制之内。1 4 1别名分析 . .
对同一个存储地址存在多条访问路径,会出现别名问就 P i、+et这些表达式都是访问路径。只有进行确切、、— nx, 指针别名分析,能对变量的赋值操作作准确的定位。才 对于语句 P=i访问路径 P与 i,别名,这个别名关系可以用一个二元组 ( P,来表示。定义结构如下: )S r c ARI NODE tu t AS S rn a o g t g vrr; i S rn a p i tr t g v r on e; i
作是顺次必然执行的,其对应的 foe操作则是受到 i但 cs l f 题。访问路径是通过变量及一 …… 此处隐藏:9675字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [专业资料]《蜜蜂之家》教学反思
- [专业资料]过去分词作定语和表语1
- [专业资料]苏州工业园区住房公积金贷款申请表
- [专业资料]保安管理制度及处罚条例细则
- [专业资料]2018年中国工程咨询市场发展现状调研及
- [专业资料]2015年电大本科《学前教育科研方法》期
- [专业资料]数字信号处理实验 matlab版 离散傅里叶
- [专业资料]“十三五”重点项目-虎杖白藜芦醇及功
- [专业资料]2015-2020年中国竹木工艺市场需求及投
- [专业资料]国际贸易理论与实务作业五:理论案例分
- [专业资料]财政部修订发布事业单位会计制度
- [专业资料]BCA蛋白浓度测定试剂盒(增强型)
- [专业资料]工程进度总计划横道图模板(通用版)
- [专业资料]七年级地理同步练习(天气与气候)
- [专业资料]X光安检机介绍火灾自动报警系统的组成
- [专业资料]衢州市人民政府办公室关于印发衢州市区
- [专业资料]经济全球化及其影响[1]
- [专业资料]质粒DNA限制性酶切图谱分析
- [专业资料]国家安全人民防线工作“六项”制度
- [专业资料]劳动力投入计划及保证措施
- 电子账册联网监管培训手册
- 人教版语文七年级上第1课《在山的那边
- 对我区担保行业发展现状的思考与建议
- 平面四边形网格自动生成方法研究
- 2016年党课学习心得体会范文
- 如何设置电脑定时关机
- 全球最美人妖排行榜新鲜出炉
- 社会实践调查报告及问卷
- Visual Basic习题集
- 《鱼我所欲也》课件2
- 浙江省会计从业资格考试试卷
- 全遥控数字音量控制的D 类功率放大器资
- 鞍钢宪法与后福特主义
- 电表的改装与校准实验报告(1)
- 2014年高考理科数学真题解析分类汇编:
- Windows 7 AIK 的使用
- 风电场全场停电事故应急处置方案
- 化工原理选填题题库(下)
- 关于产学研合作教育模式的学习与思考
- 西安先锋公馆项目前期定位报告




