教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 专业资料 >

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

来源:网络收集 时间:2026-07-24
导读: 基于静态分析技术的源代码安全检测模型 第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 基于静态分析技术的源代码安全检测模型木梁婕,张淼,徐国爱,杨义先(北京邮电大学网络与

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

第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字,全部文档内容请下载后查看。喜欢就下载吧 ……

基于静态分析技术的源代码安全检测模型.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1762592.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)