课题二 提出了不依赖版本字符串的开源组件版本识别的算法
发布时间:2018-08-31   浏览次数:70

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

 

 

 

 

该成果由中国科学院信息工程研究所在本项目的支持下完成,发表在软件学报,原文可由链接http://www.jos.org.cn/1000-9825/18009.htm查看。