主页期刊介绍编委会编辑部服务介绍道德声明在线审稿编委办公编辑办公English
2018-2019年专刊出版计划 微信服务介绍 最新一期:2018年第12期
     
在线出版
各期目录
纸质出版
分辑系列
论文检索
论文排行
综述文章
专刊文章
美文分享
各期封面
E-mail Alerts
RSS
旧版入口
中国科学院软件研究所
  
投稿指南 问题解答 下载区 收费标准 在线投稿
张卫东,尹丽波,李红,文辉,孙利民.不依赖版本字符串的开源组件版本识别.软件学报,2018,29(S1):83-91
不依赖版本字符串的开源组件版本识别
Open Source Component Version Recognition Without Version Strings
投稿时间:2018-05-01  
DOI:
中文关键词:  物联网  固件  开源组件  版本识别  条件表达式
英文关键词:Internet of things  firmware  open source components  version identification  conditional expression
基金项目:国家重点研发计划(2018YFB0803402);国家自然科学基金(U1536107);中国科学院信息工程研究所基础前沿项目(Y7Z0311104)
作者单位E-mail
张卫东 中国科学院大学 网络空间安全学院, 北京 100049
物联网信息安全技术北京市重点实验室(中国科学院 信息工程研究所), 北京 100093 
 
尹丽波 国家工业信息安全发展研究中心, 北京 100040  
李红 中国科学院大学 网络空间安全学院, 北京 100049
物联网信息安全技术北京市重点实验室(中国科学院 信息工程研究所), 北京 100093 
 
文辉 中国科学院大学 网络空间安全学院, 北京 100049
物联网信息安全技术北京市重点实验室(中国科学院 信息工程研究所), 北京 100093 
wenhui@iie.ac.cn 
孙利民 中国科学院大学 网络空间安全学院, 北京 100049
物联网信息安全技术北京市重点实验室(中国科学院 信息工程研究所), 北京 100093 
 
摘要点击次数: 61
全文下载次数: 56
中文摘要:
      由于软件代码复用和第三方SDK的广泛使用,开源组件普遍存在于物联网设备固件中.威胁固件的安全漏洞往往存在于组件的某些特定版本中,识别物联网设备固件中开源二进制组件的版本信息,对于物联网的安全评估与应急响应意义重大.现有的基于版本字符串的版本信息提取方法不适用于组件版本字符串缺失的情况.设计和实现了一种不依赖于版本字符串的开源组件版本识别方法Protues.该方法的核心思想是通过开源组件相邻版本源码间的差异构造一条版本差异链,从而将版本识别问题转化为待查组件在版本差异链上的滑动查询问题.进一步地,为了提高识别准确率,采用条件判断表达式来表征版本差异链上的节点.为了验证该方法的实用性,对来自于4种开源组件Samba,Msmtp,Nginx和Libgcrypt的共428个二进制文件进行了版本识别实验,实验结果表明,该方法能够准确识别的版本数达到418个,识别准确率约为98%.
英文摘要:
      Due to the extensive use of code reuse and third-party SDKs, open source components are ubiquitous in IoT device firmware. The security vulnerabilities which cause threat to the firmware usually exist in some specific versions of the components. The version information identification of open source binary components in the IoT firmware is of great significance for the safety assessment and emergency response of IoT devices. The existing version string based version extraction method is not applicable to the cases with missing version strings. This paper designs and implements a version extraction method (termed as Protues) for open source components that does not depend on version strings. The core idea of this method is to construct a version difference chain by using the differences between the open source components' neighboring versions of the source code to convert the version identification problem into a query on the version difference chain. Furthermore, in order to improve the recognition accuracy, the conditional judgment expressions are used in this paper to represent the nodes on the version difference chain. To verify the practicability of this method, version identification experiments are performed on a total number of 428 binary files from 4 kinds of open source components Samba, Msmtp, Nginx and Libgcrupt. The experimental results show that the number of versions that can be accurately identified by this method reaches 418, and the recognition accuracy rate is 98%.
HTML  下载PDF全文  查看/发表评论  下载PDF阅读器
 

京公网安备 11040202500064号

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