CN110362966A - 一种基于模糊哈希的跨平台固件同源性安全检测方法 - Google Patents

一种基于模糊哈希的跨平台固件同源性安全检测方法 Download PDF

Info

Publication number
CN110362966A
CN110362966A CN201910623511.1A CN201910623511A CN110362966A CN 110362966 A CN110362966 A CN 110362966A CN 201910623511 A CN201910623511 A CN 201910623511A CN 110362966 A CN110362966 A CN 110362966A
Authority
CN
China
Prior art keywords
firmware
library
homology
party
packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910623511.1A
Other languages
English (en)
Inventor
何道敬
杜永亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
East China Normal University
Original Assignee
East China Normal University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by East China Normal University filed Critical East China Normal University
Priority to CN201910623511.1A priority Critical patent/CN110362966A/zh
Publication of CN110362966A publication Critical patent/CN110362966A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Power Engineering (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于模糊哈希的跨平台固件同源性安全检测方法,包括:预处理建立固件危险信息库;获取待检测物联网设备的固件包;对固件包进行分解获取其中的可执行二进制文件;提取可执行二进制文件中的特征字符串;使用模糊哈希算法对得到的特征字符串集合进行同源性分析;根据得到的不同的二进制文件的同源性指数和危险信息库进一步得出固件包的安全信息。本发明在构造了固件危险信息库的基础上,提出使用特征字符串作为固件第三方库身份信息,并使用模糊哈希算法将分解出的固件第三方库与危险信息库同源性计算,最后得出固件中的各第三方库的同源性程度与其中所包含的危险信息,在固件漏洞的检测方面提供了一个有效并且直观的评价方法。

Description

一种基于模糊哈希的跨平台固件同源性安全检测方法
技术领域
本发明涉及信息安全领域,特别涉及一种基于模糊哈希的跨平台固件同源性安全检测方法。
背景技术
随着物联网技术演进与下沉,万物互联时代正在到来。目前,全球物联网设备数量达到70亿(此数字不包括智能手机,平板电脑,笔记本电脑或固定电话)。预计到2020年, 活跃的物联网设备数量将增加到100亿,到2025年将增加到220亿。新技术的发展必然也伴随着新问题的产生。根据福布斯的研究,在物联网项目实施过程中,32%的企业表示对千物联网系统的安全问题的担心是企业所面侣的重要挑战。
固件的安全问题主要在于功能性的第三方库并没有在安全性上得到足够的重视,而在 物联网设备固件开发生命周期中,也并没有针对第三方库代码的漏洞审查的环节,大多数的第三方库被直接调用。而近年来由于第三方库安全问题引起的安全事件也不容小觑。例如,由于调用的第三方库如 Openssl 中出现的心脏滴血漏洞、GNU Bash 出现的破壳漏洞和 Java 中的反序列化漏洞, 都是第三方资源库或应用框架漏洞的典型案例。统计结果也显示,第三方库在物联网固件安全方面造成的安全风险数量甚至比 app 上的情况更严重。在本次检测统计中,由第三方库导致的 Nday 安全风险占比超过发现总量的 90%。
从物联网设备的安全问题产生原因角度分析可知,平均每个物联网设备固件调用23.2种第三方库,出于节约开发成本、提高开发效率、缩短开发周期的目的,不少物联网设备开发厂商会直接使用第三方库,第三方库在物联网设备固件开发中非常频繁地被调用。
因此,由于固件自身的特点,导致固件使用第三方库的情况非常常见,因此一旦某个第三方库出现安全问题,那么所有引用该库的固件都存在着安全隐患。近年来随着越来越多的人对固件的安全重视程度加深,已经出现了一些对固件第三方库的检测方法,但是现有的方法效率较低,并且无法解决跨平台的问题,所以,提出一种高效的支持跨平台的第三方库的检测方式已尤为必要。进一步来说,需要提供一种基于模糊哈希的跨平台固件同源性安全检测方法。
发明内容
本发明的目的在于克服现有技术的缺点与不足,提供一种基于模糊哈希的跨平台固件同源性安全检测方法,在解决了跨平台同源性检测的同时,创新性的使用第三方库中的字符串作为第三方库的身份信息,进而提高了检测效率,为检测固件的安全度提供了一种高效并且实用的方式。
实现本发明目的的具体技术方案是:
一种基于模糊哈希的跨平台固件同源性安全检测方法,该方法包括以下具体步骤:
步骤S1:将可以获取到的不同版本的第三方库进行预处理,进而得到各第三方库的身份信息,然后建立固件危险信息库;
步骤S2:使用不同方式获取待检测物联网设备的固件包;
步骤S3:对固件包进行分解获取其中的所包含的第三方库的可执行二进制文件;
步骤S4:使用多种方式提取可执行二进制文件中的特征字符串;
步骤S5:将提取到的特征字符串作为固件包的身份信息,然后使用模糊哈希算法对得到的身份信息进行同源性分析;
步骤S6:根据得到的固件中的各第三方库的同源性指数进一步得出固件包的安全信息。
本发明的步骤S1中,固件危险信息库中所包含的第三方库包括但不限于busybox、openssl和JavaScript等第三方库,同时固件危险信息库中的各第三方库的版本也会进行分类统计汇总。预处理建立的方式是指使用将各个第三方库的可执行二进制文件中的字符串提取出来作为对应第三方库的身份信息。
本发明的步骤S2中,物联网设备包括但不限于路由器、摄像头和智能门锁,对于现有的可提取固件包的各基于嵌入式的物联网智能设备都包括在内。物联网设备固件包的获取方式包括但不限于硬件提取、官网下载和抓包截取。
本发明的步骤S3中,物联网设备固件分解方式包括但不限于使用binwalk、FACT和bap等第三方解包工具,binwalk代表着各固件解包工具,FACT代表着各个自动化的固件包解包系统,bap代表着各个可以实现解包功能的第三方接口。这里提到的解包是将固件包打开,然后将里面所包含的第三方库提取出来。
本发明的步骤S3中,可执行的二进制文件是指固件中的第三方库中的可执行二进制文件。
本发明的步骤S4中,特征字符串包括但不限于第三方库版本信息、栈空间字符串信息和所使用的字符串常量。第三方库版本信息字符串是指一些直接指明该第三方库版本号的字符串,栈空间字符串是指可执行二进制文件中的栈空间中所包含的字符串,一般是程序执行过程中的所使用的一些临时变量,字符串常量是指程序执行过程中的所写入的各字符串。
本发明的步骤S4中,特征字符串的提取方式包括但不限于string命令和第三方开源工具,string命令为Linux系统中自带的提取字符串的命令,第三方开源工具中也拥有提取字符串的功能。
本发明的步骤S5中,同源性分析是指用模糊哈希算法对固件包中的第三方库的身份信息和危险信息库中的第三方库的身份信息进行模糊哈希检测,由于模糊哈希对文字的增删相似性比对有着很好的效果,所以这里使用模糊哈希来对身份信息进行比对。
本发明的步骤S6中,同源性指数是指步骤S5中的各个第三方库相对应计算出的模糊哈希的哈希值的相似性带入同源性计算公式所得出的数值。该数值越大,代表相似性越高,数值越小,相似性越低。其中,模糊哈希计算出来的数值范围为0-100,0代表无任何相似性,100代表完全一致。
本发明的有益效果在于:
能够解决跨平台的固件第三方库同源性检测问题:由于跨平台检测的主要难点在于不同的编译环境对第三方库进行编译后,会将文件中的部分内容更改掉,然而由于在不同编译环境的编译过程中,第三方库中所包含的字符串几乎不会发生变化,因此可以利用这一点来解决跨平台的第三方库同源性检测问题。
能够提高第三方库同源性检测的检测效率:由于常规的同源性检测中,检测对象是整个第三方库,但是由于第三方库中的文件数目非常多,导致在进行检测时会消耗大量的时间,而本发明中使用身份信息来检测第三方库,这样将文件的数量直接变为1,大大提高了检测的效率。
综上,本发明不但解决了跨平台的第三方库同源性检测问题,而且利用将检测比对数量变为1来大大提高了第三方库同源性检测的效率,为物联网固件的同源性安全检测提供了一种可靠的方法。
附图说明
图1是本发明流程概述图;
图2是本发明的详细流程图。
具体实施方式
下面结合以下具体实施例和附图,对本发明作进一步的详细说明。实施本发明的过程、条件、实验方法等,除以下专门提及的内容之外,均为本领域的普遍知识和公知常识,本发明没有特别限制内容。
实施例
本发明中有关的技术术语代表的含义如下:
同源性指数:同源性指数是由模糊哈希算法计算出来的数值,数值范围为0-100,0表示无任何同源性,100表示完全相同。
固件危险信息:若某固件的其中一个第三方库与数据库中的第三方库的同源性指数大于60,则认为该第三方库的同源性较高,则数据库中的第三方库的危险信息会继承给固件。
如图2所示,本发明包括以下步骤:
步骤S1,预处理建立固件危险信息库;
步骤S2,获取待检测物联网设备的固件包;
步骤S3,对固件包进行分解获取其中的可执行二进制文件;
步骤S4,提取可执行二进制文件中的特征字符串;
步骤S5,使用模糊哈希算法对得到的特征字符串集合进行同源性分析;
步骤S6,根据得到的不同的二进制文件的同源性指数和危险信息库进一步得出固件包的安全信息。
下面详细描述本实施例中的步骤S1:
将各个第三方库的可执行二进制文件中的字符串提取出来作为对应第三方库的身份信息,并将各种第三方库的身份信息整理到一起作为固件危险信息库。同时这里进行预处理的第三方库包括但不限于busybox、openssl和JavaScript,只要是固件中会用到的第三方库,这里都会将其预处理进固件危险信息库中。
下面详细描述本实施例中的步骤S2:
使用硬件阵脚提取、固件包对应官网下载和流量抓包截取下载地址等方法来获取物联网设备固件包,其中物联网设备包括但不限于路由器、摄像头、智能门锁和无人机,对于现有的可提取固件包的各基于嵌入式的物联网智能设备都包括在内。提取方式也不仅限于上述三种,能达到提取固件包的目的即可。
下面详细描述本实施例中的步骤S3:
使用binwalk、FACT和bap等第三方解包工具,binwalk代表着各固件解包工具对步骤S2中所得到的固件包进行解包操作,其中解包方式不止上述三种,FACT代表着各个自动化的固件包解包系统,bap代表着各个可以实现解包功能的第三方接口。这里提到的解包是将固件包打开,然后将里面所包含的第三方库提取出来。进而再提取出固件中的可执行的二进制文件。
下面详细描述本实施例中的步骤S4:
特征字符串包括但不限于第三方库版本信息、栈空间字符串信息和所使用的字符串常量。第三方库版本信息字符串是指一些直接指明该第三方库版本号的字符串,栈空间字符串是指可执行二进制文件中的栈空间中所包含的字符串,一般是程序执行过程中的所使用的一些临时变量,字符串常量是指程序执行过程中的所写入的各字符串。
特征字符串的提取方式包括但不限于string命令和第三方开源工具,string命令为Linux系统中自带的提取字符串的命令,第三方开源工具中也拥有提取字符串的功能。
将固件包中第三方库中获得的特征字符串放入对应的以第三方库名字命名的文本文件中,并以字典序进行排序,进而可以获得固件中的不同第三方库的身份信息。
下面详细描述本实施例中的步骤S5:
同源性分析是指用模糊哈希算法对固件包中的第三方库的身份信息和危险信息库中的第三方库的身份信息进行模糊哈希检测,由于模糊哈希对文字的增删相似性比对有着很好的效果,所以这里使用模糊哈希来对身份信息进行比对。
下面详细描述本实施例中的步骤S6:
同源性指数是指步骤S5中的各个第三方库相对应计算出的模糊哈希的哈希值的相似性带入同源性计算公式所得出的数值。该数值越大,代表相似性越高,数值越小,相似性越低。其中,模糊哈希计算出来的数值范围为0-100,0代表无任何相似性,100代表完全一致。
若某固件的其中一个第三方库与数据库中的第三方库的同源性指数大于60,则认为该第三方库的同源性较高,则数据库中的第三方库的危险信息会继承给固件。此时即可记录第三方库中的危险信息也为固件中的危险信息。进而对固件中的各个第三方库进行检测后即可得出整个固件中的危险信息。
本发明的保护内容不局限于以上实施例。在不背离发明构思的精神和范围下,本领域技术人员能够想到的变化和优点都被包括在本发明中,并且以所附的权利要求书为保护范围。

Claims (9)

1.一种基于模糊哈希的跨平台固件同源性安全检测方法,其特征在于,该方法包括以下具体步骤:
步骤S1:预处理建立固件危险信息库;
步骤S2:获取待检测物联网设备的固件包;
步骤S3:对固件包进行分解获取其中的可执行二进制文件;
步骤S4:提取可执行二进制文件中的特征字符串;
步骤S5:使用模糊哈希算法对得到的特征字符串集合进行同源性分析;
步骤S6:根据得到的不同的二进制文件的同源性指数和危险信息库进一步得出固件包的安全信息。
2.根据权利要求1所述的方法,其特征在于,在所述步骤S1中,固件危险信息库包括但不限于固件中的busybox、openssl和JavaScript第三方开源库的危险信息库;预处理建立的方式是指使用将各个第三方库的可执行二进制文件中的字符串提取出来作为对应第三方库的身份信息。
3.根据权利要求1所述的方法,其特征在于,在所述步骤S2中,物联网设备包括但不限于路由器、摄像头和智能门锁;物联网设备固件包的获取方式包括但不限于硬件提取、官网下载和抓包截取。
4.根据权利要求1所述的方法,其特征在于,在所述的步骤S3中,固件分解方式包括但不限于使用binwalk、FACT和bap第三方解包工具;可执行二进制文件是指固件的三方库中的可执行的二进制文件。
5.根据权利要求1所述的方法,其特征在于,在所述步骤S4中,特征字符串包括但不限于第三方库版本信息、栈空间字符串信息和所使用的字符串常量。
6.根据权利要求1所述的方法,其特征在于,在所述步骤S4中,特征字符串的提取方式包括但不限于string命令和第三方开源工具。
7.根据权利要求1所述的方法,其特征在于,在所述步骤S5中,同源性分析是指用模糊哈希算法对固件包中的字符串集合和危险信息库中的字符串集合进行模糊哈希检测。
8.根据权利要求1所述的方法,其特征在于,在所述步骤S6中,同源性指数是指步骤S5中的计算出的模糊哈希的哈希值的相似性带入同源性计算公式所得出的数值。
9.根据权利要求8所述的方法,其特征在于,同源性计算公式是指固件中的各种第三方库的模糊哈希相似值的综合计算。
CN201910623511.1A 2019-07-11 2019-07-11 一种基于模糊哈希的跨平台固件同源性安全检测方法 Pending CN110362966A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910623511.1A CN110362966A (zh) 2019-07-11 2019-07-11 一种基于模糊哈希的跨平台固件同源性安全检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910623511.1A CN110362966A (zh) 2019-07-11 2019-07-11 一种基于模糊哈希的跨平台固件同源性安全检测方法

Publications (1)

Publication Number Publication Date
CN110362966A true CN110362966A (zh) 2019-10-22

Family

ID=68218719

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910623511.1A Pending CN110362966A (zh) 2019-07-11 2019-07-11 一种基于模糊哈希的跨平台固件同源性安全检测方法

Country Status (1)

Country Link
CN (1) CN110362966A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111046386A (zh) * 2019-12-05 2020-04-21 深圳开源互联网安全技术有限公司 动态检测程序第三方库并进行安全评估的方法及系统
CN111240912A (zh) * 2020-01-06 2020-06-05 重庆特斯联智慧科技股份有限公司 一种基于智能门禁设备的安全检测方法、装置、存储介质及终端
CN111310178A (zh) * 2020-01-20 2020-06-19 武汉理工大学 跨平台场景下的固件漏洞检测方法及系统
CN111580856A (zh) * 2020-04-22 2020-08-25 中国科学院信息工程研究所 针对mips架构的物联网设备组件版本信息提取方法
CN111680295A (zh) * 2020-04-16 2020-09-18 国网浙江省电力有限公司电力科学研究院 一种构建物联终端设备固件安全检测的方法
CN112084146A (zh) * 2020-09-08 2020-12-15 国网上海市电力公司 基于多维特征的固件同源性检测方法
CN112287342A (zh) * 2020-09-23 2021-01-29 北京沃东天骏信息技术有限公司 物联网固件动态检测方法、装置、电子设备以及存储介质
CN113704180A (zh) * 2021-07-10 2021-11-26 国网浙江省电力有限公司信息通信分公司 一种基于嵌入式设备固件文件信息特征库的无损化固件提取方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108280197A (zh) * 2018-01-29 2018-07-13 中国科学院信息工程研究所 一种识别同源二进制文件的方法及系统
CN109063055A (zh) * 2018-07-19 2018-12-21 中国科学院信息工程研究所 同源二进制文件检索方法和装置
CN109740347A (zh) * 2018-11-23 2019-05-10 中国科学院信息工程研究所 一种针对智能设备固件的脆弱哈希函数的识别与破解方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108280197A (zh) * 2018-01-29 2018-07-13 中国科学院信息工程研究所 一种识别同源二进制文件的方法及系统
CN109063055A (zh) * 2018-07-19 2018-12-21 中国科学院信息工程研究所 同源二进制文件检索方法和装置
CN109740347A (zh) * 2018-11-23 2019-05-10 中国科学院信息工程研究所 一种针对智能设备固件的脆弱哈希函数的识别与破解方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李登: ""基于同源性分析的嵌入式设备固件漏洞检测"", 《计算机工程》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111046386A (zh) * 2019-12-05 2020-04-21 深圳开源互联网安全技术有限公司 动态检测程序第三方库并进行安全评估的方法及系统
CN111240912A (zh) * 2020-01-06 2020-06-05 重庆特斯联智慧科技股份有限公司 一种基于智能门禁设备的安全检测方法、装置、存储介质及终端
CN111310178A (zh) * 2020-01-20 2020-06-19 武汉理工大学 跨平台场景下的固件漏洞检测方法及系统
CN111310178B (zh) * 2020-01-20 2024-01-23 武汉理工大学 跨平台场景下的固件漏洞检测方法及系统
CN111680295A (zh) * 2020-04-16 2020-09-18 国网浙江省电力有限公司电力科学研究院 一种构建物联终端设备固件安全检测的方法
CN111580856A (zh) * 2020-04-22 2020-08-25 中国科学院信息工程研究所 针对mips架构的物联网设备组件版本信息提取方法
CN112084146A (zh) * 2020-09-08 2020-12-15 国网上海市电力公司 基于多维特征的固件同源性检测方法
CN112287342A (zh) * 2020-09-23 2021-01-29 北京沃东天骏信息技术有限公司 物联网固件动态检测方法、装置、电子设备以及存储介质
CN113704180A (zh) * 2021-07-10 2021-11-26 国网浙江省电力有限公司信息通信分公司 一种基于嵌入式设备固件文件信息特征库的无损化固件提取方法
CN113704180B (zh) * 2021-07-10 2024-03-15 国网浙江省电力有限公司信息通信分公司 一种基于嵌入式设备固件文件信息特征库的无损化固件提取方法

Similar Documents

Publication Publication Date Title
CN110362966A (zh) 一种基于模糊哈希的跨平台固件同源性安全检测方法
Fan et al. Dapasa: detecting android piggybacked apps through sensitive subgraph analysis
CN108133139B (zh) 一种基于多运行环境行为比对的安卓恶意应用检测系统
CN109753800B (zh) 融合频繁项集与随机森林算法的Android恶意应用检测方法及系统
Yerima et al. A new android malware detection approach using bayesian classification
CN106951780B (zh) 重打包恶意应用的静态检测方法和装置
CN111787017B (zh) 一种区块链攻击溯源系统及方法
US9973517B2 (en) Computing device to detect malware
CN102841999B (zh) 一种文件宏病毒的检测方法和装置
Li et al. Opcode sequence analysis of Android malware by a convolutional neural network
CN103268449B (zh) 一种手机恶意代码的高速检测方法和系统
CN109614795B (zh) 一种事件感知的安卓恶意软件检测方法
CN110135156B (zh) 一种基于沙盒动态行为识别可疑攻击代码的方法
CN105205356B (zh) 一种app应用重打包检测方法
WO2021017318A1 (zh) 跨站攻击防护方法、装置、设备及存储介质
CN103957205A (zh) 一种基于终端流量的木马检测方法
Zhao et al. A feature extraction method of hybrid gram for malicious behavior based on machine learning
CN108804921A (zh) 一种PowerShell代码的去混淆方法及装置
CN109344614B (zh) 一种Android恶意应用在线检测方法
CN109858248A (zh) 恶意Word文档检测方法和装置
CN107958154A (zh) 一种恶意软件检测装置及方法
CN110362995A (zh) 一种基于逆向与机器学习的恶意软件检测及分析系统
Elish et al. A static assurance analysis of android applications
CN104933364A (zh) 一种基于调用行为的恶意代码自动化同源判定方法及系统
Zhang et al. A php and jsp web shell detection system with text processing based on machine learning

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20191022