不依赖版本字符串的开源组件版本识别
DOI:
作者:
作者单位:

作者简介:

张卫东(1986-),男,山东烟台人,博士生,主要研究领域为物联网安全,工业信息安全;尹丽波(1973-),女,高级工程师,博士生导师,主要研究领域为信息安全;李红(1989-),男,博士,助理研究员,CCF专业会员,主要研究领域为物联网安全,隐私保护,区块链;文辉(1986-),男,博士,助理研究员,CCF专业会员,主要研究领域为物联网安全,数据挖掘,模式识别;孙利民(1966-),男,博士,研究员,CCF高级会员,主要研究领域为物联网安全,工控安全,无线传感网.

通讯作者:

文辉,E-mail:wenhui@iie.ac.cn

中图分类号:

基金项目:

国家重点研发计划(2018YFB0803402);国家自然科学基金(U1536107);中国科学院信息工程研究所基础前沿项目(Y7Z0311104)


Open Source Component Version Recognition Without Version Strings
Author:
Affiliation:

Fund Project:

National Key R&D Program of China (2018YFB0803402); National Natural Science Foundation of China (U1536107); Fundamental Theory and Cutting Edge Technology Research Program of Institute of Information Engineering, CAS (Y7Z0311104)

  • 摘要
  • |
  • 图/表
  • |
  • 访问统计
  • |
  • 参考文献
  • |
  • 相似文献
  • |
  • 引证文献
  • |
  • 资源附件
  • |
  • 文章评论
    摘要:

    由于软件代码复用和第三方SDK的广泛使用,开源组件普遍存在于物联网设备固件中.威胁固件的安全漏洞往往存在于组件的某些特定版本中,识别物联网设备固件中开源二进制组件的版本信息,对于物联网的安全评估与应急响应意义重大.现有的基于版本字符串的版本信息提取方法不适用于组件版本字符串缺失的情况.设计和实现了一种不依赖于版本字符串的开源组件版本识别方法Protues.该方法的核心思想是通过开源组件相邻版本源码间的差异构造一条版本差异链,从而将版本识别问题转化为待查组件在版本差异链上的滑动查询问题.进一步地,为了提高识别准确率,采用条件判断表达式来表征版本差异链上的节点.为了验证该方法的实用性,对来自于4种开源组件Samba,Msmtp,Nginx和Libgcrypt的共428个二进制文件进行了版本识别实验,实验结果表明,该方法能够准确识别的版本数达到418个,识别准确率约为98%.

    Abstract:

    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%.

    参考文献
    相似文献
    引证文献
引用本文

张卫东,尹丽波,李红,文辉,孙利民.不依赖版本字符串的开源组件版本识别.软件学报,2018,29(S1):83-91

复制
分享
文章指标
  • 点击次数:
  • 下载次数:
  • HTML阅读次数:
  • 引用次数:
历史
  • 收稿日期:2018-05-01
  • 最后修改日期:
  • 录用日期:
  • 在线发布日期: 2018-11-13
  • 出版日期:
您是第位访问者
版权所有:中国科学院软件研究所 京ICP备05046678号-3
地址:北京市海淀区中关村南四街4号,邮政编码:100190
电话:010-62562563 传真:010-62562533 Email:jos@iscas.ac.cn
技术支持:北京勤云科技发展有限公司

京公网安备 11040202500063号