基于静态分析技术的源代码安全检测模型
基于静态分析技术的源代码安全检测模型
第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字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [实用模板]第八章:法国“新浪潮”与“左岸派”
- [实用模板]2021年北京上半年临床医学检验技师生物
- [实用模板]SAP GUI 7.10客户端安装配置文档
- [实用模板]2001年临床执业医师资格考试综合笔试试
- [实用模板]36机场工作实用英语词汇总结
- [实用模板](一)社会保险稽核通知书
- [实用模板]安全教育主题班会材料
- [实用模板]濉溪县春季呼吸道传染病防控应急演练方
- [实用模板]长沙房地产市场周报(1.30-2.3)
- [实用模板]六年级数学上册典中点 - 图文
- [实用模板]C程序设计(红皮书)习题官方参考答案
- [实用模板]中国证监会第一届创业板发行审核委员会
- [实用模板]桥梁工程复习题
- [实用模板]2011学而思数学及答案
- [实用模板]初中病句修改专项练习
- [实用模板]监理学习知识1 - 图文
- [实用模板]小机灵杯四年级试题
- [实用模板]国贸专业毕业论文模板
- [实用模板]教育学概论考试练习题-判断题4
- [实用模板]2015届高考英语一轮复习精品资料(译林
- 00Nkmhe_市场营销学工商管理_电子商务_
- 事业单位考试法律常识
- 诚信教育实施方案
- 吉大小天鹅食品安全检测箱方案(高中低
- 房地产销售培训资料
- 高一地理必修1复习提纲
- 新概念英语第二册lesson_1_练习题
- 证券公司内部培训资料
- 小学英语时间介词专项练习
- 新世纪英语专业综合教程(第二版)第1册U
- 【新课标】浙教版最新2018年八年级数学
- 工程建设管理纲要
- 外研版 必修一Module 4 A Social Surve
- Adobe认证考试 AE复习资料
- 基于H.264AVC与AVS标准的帧内预测技术
- 《食品检验机构资质认定管理办法》(质
- ABB变频器培训课件
- (完整版)小学说明文阅读练习题及答案
- 深思洛克(SenseLock) 深思IV,深思4,深
- 弟子规全文带拼音




