主页期刊介绍编委会编辑部服务介绍道德声明在线审稿编委办公English
2020-2021年专刊出版计划 微信服务介绍 最新一期:2020年第11期
     
在线出版
各期目录
纸质出版
分辑系列
论文检索
论文排行
综述文章
专刊文章
美文分享
各期封面
E-mail Alerts
RSS
旧版入口
中国科学院软件研究所
  
投稿指南 问题解答 下载区 收费标准 在线投稿
陈千,程凯,郑尧文,朱红松,孙利民.函数级数据依赖图及其在静态脆弱性分析中的应用.软件学报,2020,31(11):3421-3435
函数级数据依赖图及其在静态脆弱性分析中的应用
Function-level Data Dependence Graph and Its Application in Static Vulnerability Analysis
投稿时间:2018-10-09  修订日期:2019-01-18
DOI:10.13328/j.cnki.jos.005833
中文关键词:  数据流分析  函数级数据依赖图  脆弱性分析  固件
英文关键词:data flow analysis  function-level data dependence graph  vulnerability analysis  firmware
基金项目:国家自然科学基金(U1766215,U1636120);中国科学院信息工程研究所国际合作项目(Y7Z0451104);国家电网公司科学技术项目(52110417001B)
作者单位E-mail
陈千 物联网信息安全技术北京市重点实验室(中国科学院 信息工程研究所), 北京 100093
中国科学院大学 网络空间安全学院, 北京 100049
北京奇虎科技有限公司, 北京 100015 
 
程凯 物联网信息安全技术北京市重点实验室(中国科学院 信息工程研究所), 北京 100093
中国科学院大学 网络空间安全学院, 北京 100049 
 
郑尧文 物联网信息安全技术北京市重点实验室(中国科学院 信息工程研究所), 北京 100093
中国科学院大学 网络空间安全学院, 北京 100049 
 
朱红松 物联网信息安全技术北京市重点实验室(中国科学院 信息工程研究所), 北京 100093
中国科学院大学 网络空间安全学院, 北京 100049 
zhuhongsong@iie.ac.cn 
孙利民 物联网信息安全技术北京市重点实验室(中国科学院 信息工程研究所), 北京 100093
中国科学院大学 网络空间安全学院, 北京 100049 
 
摘要点击次数: 88
全文下载次数: 81
中文摘要:
      数据流分析是二进制程序分析的重要手段,但传统数据依赖图(DDG)构建的时间与空间复杂度较高,限制了可分析代码的规模.提出了函数级数据依赖图(FDDG)的概念,并设计了函数级数据依赖图的构建方法.在考虑函数参数及参数间相互依赖关系的基础上,将函数作为整体分析,忽略函数内部的具体实现,显著缩小了数据依赖图规模,降低了数据依赖图生成的时空复杂度.实验结果表明,与开源工具angr中的DDG生成方法相比,FDDG的生成时间性能普遍提升了3个数量级.同时,将FDDG应用于嵌入式二进制固件脆弱性分析,实现了嵌入式固件脆弱性分析原型系统FFVA,在对D-Link、NETGEAR、EasyN、uniview等品牌的设备固件分析中,发现了24个漏洞,其中14个属于未知漏洞,进一步验证了FDDG在静态脆弱性分析中的有效性.
英文摘要:
      Data flow analysis plays an important role in binary code analysis. Due to consuming too much time and space, constructing the traditional data dependence graph (DDG) limits the size of the analyzed code thoroughly. This study introduces a novel graph model, function-level data dependence graph (FDDG), and proposes a corresponding construction method. The key insights behind FDDG lie in the following two points. First, FDDG focuses on the relationships between function parameters; Second, FDDG treats a function as a whole and ignores the details inside the function. As a result, the size of the data dependence graph is reduced significantly. Also, the time and space are saved greatly. The experimental results show the time performance of the method is improved by about three orders of magnitude compared to the method in angr. As an instance, FDDG is employed to analyze the vulnerability of embedded firmwares, and a firmware vulnerability analysis prototype system called FFVA is implemented. The implemented FFVA system is used to analyze firmwares from real embedded devices, and find a total of 24 vulnerabilities in the devices from D-Link, NETGEAR, EasyN, uniview, and so on, among which 14 are unknown vulnerabilities, thus validating the effectiveness of function-level data dependence graph in static vulnerability analysis.
HTML  下载PDF全文  查看/发表评论  下载PDF阅读器
 

京公网安备 11040202500064号

主办单位:中国科学院软件研究所 中国计算机学会 京ICP备05046678号-4
编辑部电话:+86-10-62562563 E-mail: jos@iscas.ac.cn
Copyright 中国科学院软件研究所《软件学报》版权所有 All Rights Reserved
本刊全文数据库版权所有,未经许可,不得转载,本刊保留追究法律责任的权利