CN115033888B - 基于熵的固件加密检测方法、装置、计算机设备及介质 - Google Patents

基于熵的固件加密检测方法、装置、计算机设备及介质 Download PDF

Info

Publication number
CN115033888B
CN115033888B CN202210708581.9A CN202210708581A CN115033888B CN 115033888 B CN115033888 B CN 115033888B CN 202210708581 A CN202210708581 A CN 202210708581A CN 115033888 B CN115033888 B CN 115033888B
Authority
CN
China
Prior art keywords
firmware file
entropy
data
firmware
prediction model
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.)
Active
Application number
CN202210708581.9A
Other languages
English (en)
Other versions
CN115033888A (zh
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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202210708581.9A priority Critical patent/CN115033888B/zh
Publication of CN115033888A publication Critical patent/CN115033888A/zh
Application granted granted Critical
Publication of CN115033888B publication Critical patent/CN115033888B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

本申请涉及基于熵的固件加密检测方法、装置、计算机设备及介质,所述方法包括:接收固件文件,将固件文件等量划分为预设字节长度的数据区段,固件文件包括第一固件文件、第二固件文件和第三固件文件;利用香农熵策略计算每个数据区段的信息熵,利用地址计算策略获取每个数据区段在固件文件中的偏移中间地址;将信息熵和偏移中间地址相结合用于定义每个数据区段的熵值属性,构建包含所有数据区段的熵值属性集合,并建立熵值属性的数据集;基于第一固件文件和第二固件文件的数据集,利用逻辑回归策略构建预测模型;将第三固件文件的数据集输入至预测模型中,通过预测模型的输出结果判断第三固件文件是否加密。本申请能够有效提高检测速度和效率。

Description

基于熵的固件加密检测方法、装置、计算机设备及介质
技术领域
本申请涉及固件加密检测技术领域,特别是涉及一种基于熵的固件加密检测方法、装置、计算机设备及介质。
背景技术
在软件安全性逐步提升的同时,固件和硬件安全称为热点安全问题,实际上,固件近年来已成为攻击者的热门目标,基于固件的恶意软件很大程度上被安全团队忽略,这使服务器、存储和网络设备的固件成为企业安全的“软肋”。
电子产品更新速度不断地加快,每次升级都常常伴随着***及固件的升级,而固件担任着一个***最基础最底层的工作。且某些硬件除固件外没有其他软件组成,其决定着硬件设备的功能性能,而在升级过程中,攻击者可能拿到固件文件,并通过对固件的分析去实施固件的篡改等进行攻击,据Gartner数据,截止2022年,约有70%未执行固件升级计划的组织将由于固件漏洞而遭到入侵,而疫情的出现也导致了全球供应链不断增加的中短期风险,所以固件的加密就尤为重要的。现有的固件加密方法通常为对整个固件文件进行加密等。
目前对固件加密的检测方式多为安全测试人员对固件文件进行分析,效率不高且速度较慢。
发明内容
基于此,有必要针对上述技术问题,提供一种基于熵的固件加密检测方法、装置、计算机设备及介质。
一方面,提供一种基于熵的固件加密检测方法,所述方法包括:
步骤A:接收数据生成设备发送的固件文件,将所述固件文件等量划分为预设字节长度的数据区段,所述固件文件包括第一固件文件、第二固件文件和第三固件文件;
步骤B:利用香农熵策略计算每个所述数据区段的信息熵,利用地址计算策略获取每个所述数据区段在所述固件文件中的偏移中间地址;
步骤C:采用二元数组机制将所述信息熵和所述偏移中间地址相结合用于定义每个所述数据区段的熵值属性,基于所述每个所述数据区段的熵值属性构建包含所有所述数据区段的熵值属性集合,并建立所述熵值属性的数据集;
步骤D:基于所述第一固件文件和所述第二固件文件的数据集,利用逻辑回归策略构建预测模型;
步骤E:将所述第三固件文件的数据集输入至所述预测模型中,通过所述预测模型的输出结果判断所述第三固件文件是否加密。
在其中一个实施例中,所述固件文件包括:所述第一固件文件,所述第一固件文件为加密固件文件;所述第二固件文件,所述第二固件文件为未加密固件文件;所述第三固件文件,所述第三固件文件为待测固件文件。
在其中一个实施例中,所述香农熵策略包括:
H(X)=-∑p(x)logp(x)
其中,H(X)表示连续数据X的信息熵,x表示固件文件对应段中的字符,p(x)表示是x占对应段字符的比率;
所述地址计算策略包括:
其中,fi表示所述数据区段在所述固件文件中的偏移首地址,li表示所述数据区段在所述固件文件中的偏移末地址,i表示所述fi和所述li的所述偏移中间地址。
在其中一个实施例中,所述采用二元数组机制将所述信息熵和所述偏移中间地址相结合用于定义每个所述数据区段的熵值属性包括:定义所述预设字节长度的数据区段为Ri,计算获取所述数据区段的信息熵为H(Ri);定义所述数据区段在所述固件文件中的偏移中间地址为i;所述采用二元数组机制将所述信息熵和所述偏移中间地址相结合,表示为<H(Ri),i>,用于定义每个所述数据区段的熵值属性。
在其中一个实施例中,所述基于所述每个所述数据区段的熵值属性构建包含所有所述数据区段的熵值属性集合,并建立所述熵值属性的数据集包括:采集所述每个所述数据区段的熵值属性<H(Ri),i>构建包含所有所述数据区段的熵值属性集合SH(R);基于所述熵值属性集合SH(R)中的每个元素,以i为横坐标,Ri为纵坐标,构建所述熵值属性的数据集,其中,所述第一固件文件、第二固件文件和第三固件文件的数据集独立存在。
在其中一个实施例中,所述基于所述第一固件文件和所述第二固件文件的数据集,利用逻辑回归策略构建预测模型,包括:利用逻辑回归函数对所述熵值属性的数据集进行压缩变换,用于将所述熵值属性的数据集映射到最后的判断结果中,利用1和0表示加密固件文件和未加密固件文件,包括:基于所述逻辑回归函数的表达形式定义假设函数,所述假设函数为:
通过代价函数对所述假设函数进行优化,所述代价函数为:
其中,θ表示权值,即参数,x表示偏移组,hθ(x)表示偏移段的熵值,θTx=θ01x12x2+...+θnxn,m表示分段数,x(i)表示通过逻辑回归函数和对应参数得到的估计值,y(i)表示真实值,y表示对应不同x下的真实值;
利用梯度下降策略求解所述逻辑回归函数,并进行重复迭代至所述代价函数收敛不变得到回归参数,保存对应的模型,即为所述预测模型。
在其中一个实施例中,所述将所述第三固件文件的数据集输入至所述预测模型中,通过所述预测模型的输出结果判断所述第三固件文件是否加密,包括:通过所述预测模型获取加密概率,当所述加密概率大于0.7时,判断所述第三固件文件为加密固件文件。
另一方面,提供了一种基于熵的固件加密检测装置,所述装置包括:
划分模块,用于接收数据生成设备发送的固件文件,将所述固件文件等量划分为预设字节长度的数据区段,所述固件文件包括第一固件文件、第二固件文件和第三固件文件;
计算模块,用于利用香农熵策略计算每个所述数据区段的信息熵,利用地址计算策略获取每个所述数据区段在所述固件文件中的偏移中间地址;
数据集生成模块,用于采用二元数组机制将所述信息熵和所述偏移中间地址相结合用于定义每个所述数据区段的熵值属性,基于所述每个所述数据区段的熵值属性构建包含所有所述数据区段的熵值属性集合,并建立所述熵值属性的数据集;
模型构建模块,用于基于所述第一固件文件和所述第二固件文件的数据集,利用逻辑回归策略构建预测模型;
判断模块,用于将所述第三固件文件的数据集输入至所述预测模型中,通过所述预测模型的输出结果判断所述第三固件文件是否加密。
再一方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
步骤A:接收数据生成设备发送的固件文件,将所述固件文件等量划分为预设字节长度的数据区段,所述固件文件包括第一固件文件、第二固件文件和第三固件文件;
步骤B:利用香农熵策略计算每个所述数据区段的信息熵,利用地址计算策略获取每个所述数据区段在所述固件文件中的偏移中间地址;
步骤C:采用二元数组机制将所述信息熵和所述偏移中间地址相结合用于定义每个所述数据区段的熵值属性,基于所述每个所述数据区段的熵值属性构建包含所有所述数据区段的熵值属性集合,并建立所述熵值属性的数据集;
步骤D:基于所述第一固件文件和所述第二固件文件的数据集,利用逻辑回归策略构建预测模型;
步骤E:将所述第三固件文件的数据集输入至所述预测模型中,通过所述预测模型的输出结果判断所述第三固件文件是否加密。
又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
步骤A:接收数据生成设备发送的固件文件,将所述固件文件等量划分为预设字节长度的数据区段,所述固件文件包括第一固件文件、第二固件文件和第三固件文件;
步骤B:利用香农熵策略计算每个所述数据区段的信息熵,利用地址计算策略获取每个所述数据区段在所述固件文件中的偏移中间地址;
步骤C:采用二元数组机制将所述信息熵和所述偏移中间地址相结合用于定义每个所述数据区段的熵值属性,基于所述每个所述数据区段的熵值属性构建包含所有所述数据区段的熵值属性集合,并建立所述熵值属性的数据集;
步骤D:基于所述第一固件文件和所述第二固件文件的数据集,利用逻辑回归策略构建预测模型;
步骤E:将所述第三固件文件的数据集输入至所述预测模型中,通过所述预测模型的输出结果判断所述第三固件文件是否加密。
本申请实现的有益效果为:上述基于熵的固件加密检测方法、装置、计算机设备及介质,所述方法包括:接收数据生成设备发送的固件文件,将所述固件文件等量划分为预设字节长度的数据区段,所述固件文件包括第一固件文件、第二固件文件和第三固件文件;利用香农熵策略计算每个所述数据区段的信息熵,利用地址计算策略获取每个所述数据区段在所述固件文件中的偏移中间地址;采用二元数组机制将所述信息熵和所述偏移中间地址相结合用于定义每个所述数据区段的熵值属性,基于所述每个所述数据区段的熵值属性构建包含所有所述数据区段的熵值属性集合,并建立所述熵值属性的数据集;基于所述第一固件文件和所述第二固件文件的数据集,利用逻辑回归策略构建预测模型;将所述第三固件文件的数据集输入至所述预测模型中,通过所述预测模型的输出结果判断所述第三固件文件是否加密,本申请对固件文件进行分段及批量处理,从而能够节约数据处理的时间,计算、分析获取已知的加密和未加密固件文件的熵值属性数据集,结合深度学习算法构建预测模型,实现了智能化和自动化检测,相较于现有技术中人工检测分析方法,避免了因主观因素导致的检测分析准确度低的问题,且能够有效提高检测速度和效率。
附图说明
图1为一个实施例中基于熵的固件加密检测方法的应用环境图;
图2为一个实施例中基于熵的固件加密检测方法的流程示意图;
图3为一个实施例中数据集构建流程示意图;
图4为一个实施例中待测固件测试流程示意图;
图5为一个实施例中基于熵的固件加密检测方法装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
如背景技术所述,现有的固件加密方法通常为对整个固件文件进行加密等,而目前对固件加密的检测方式多为安全测试人员对固件文件进行分析,效率不高且速度较慢,为了解决上述技术问题,本发明实施例公开一种基于熵的固件加密检测方法、装置、计算机设备及介质,具体技术方案如下:
本申请提供的基于熵的固件加密检测方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。终端102通过网络与设置于服务器104上的数据处理平台进行通信。其中,终端102可以但不限于是各种个人计算机、笔记本电脑和平板电脑,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
实施例一
在一个实施例中,如图2所示,提供了一种基于熵的固件加密检测方法,以该方法应用于图1中的应用环境进行说明,具体的,所述方法包括步骤S1至步骤S5:
S1:接收数据生成设备发送的固件文件,将所述固件文件等量划分为预设字节长度的数据区段,所述固件文件包括第一固件文件、第二固件文件和第三固件文件;
需要说明的是,上述的数据生成设备可以是独立可操作的电子产品,如笔记本电脑、个人计算机等,固件一般指它的操作***,所述固件文件即为写入EPROM(可擦写可编程只读存储器)或EEPROM(电可擦可编程只读存储器)中的程序,固件接收平台即数据处理平台,可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
具体的,本申请的固件文件至少包括第一固件文件、第二固件文件和第三固件文件,即加密固件文件、未加密固件文件和待测固件文件,还可以包括半加密固件文件等其他有相关属性的固件文件,其中,加密固件文件和未加密固件文件为预设的已知固件文件属性的相关固件文件,待测固件文件可以是实时接收到且未判断其属性的固件文件,另外,为了便于后续预测模型的快速构建,第一固件文件、第二固件文件和第三固件文件在后续的数据处理过程中独立存在。
进一步的,为了便于后续信息熵的计算,需要先将接收的固件文件进行“分段”处理,即将固件文件等量划分为预设字节长度的数据区段,例如:将固件文件划分为字符长度为M Byte的数据区段,M表示固件文件长度的1/n,n为常数,以便于后续对每个数据区段进行信息熵的批量计算,从而能够节约数据处理的时间。
S2:利用香农熵策略计算每个所述数据区段的信息熵,利用地址计算策略获取每个所述数据区段在所述固件文件中的偏移中间地址;
需要说明的是,所述香农熵策略包括:
H(X)=-∑p(x)logp(x)
其中,H(X)表示连续数据X的信息熵,x表示固件文件对应段中的字符,p(x)表示是x占对应段字符的比率;
所述地址计算策略包括:
其中,fi表示所述数据区段在所述固件文件中的偏移首地址,li表示所述数据区段在所述固件文件中的偏移末地址,i表示所述fi和所述li的所述偏移中间地址。
在本实施例中,定义所述预设字节长度的数据区段为Ri,利用香农熵策略计算获取所述数据区段的信息熵为H(Ri),定义所述数据区段在所述固件文件中的偏移中间地址为i。
S3:采用二元数组机制将所述信息熵和所述偏移中间地址相结合用于定义每个所述数据区段的熵值属性,基于所述每个所述数据区段的熵值属性构建包含所有所述数据区段的熵值属性集合,并建立所述熵值属性的数据集;
需要说明的是,采用二元数组机制将所述信息熵和所述偏移中间地址相结合,表示为<H(Ri),i>,用于定义每个所述数据区段的熵值属性。
进一步的,采集S2步骤中每个所述数据区段的熵值属性<H(Ri),i>构建包含所有所述数据区段的熵值属性集合SH(R);
基于所述熵值属性集合SH(R)中的每个元素,以i为横坐标,Ri为纵坐标,构建所述熵值属性的数据集。
其中,如S1步骤及图3所示的,第一固件文件中的每个数据区段的熵值属性用于构建包含第一固件文件中所有数据区段的熵值属性集合,利用上述方法构建对应的熵值属性的数据集,定义为第一数据集;
第二固件文件中的每个数据区段的熵值属性用于构建包含第二固件文件中所有数据区段的熵值属性集合,利用上述方法构建对应的熵值属性的数据集,定义为第二数据集;
第三固件文件中的每个数据区段的熵值属性用于构建包含第三固件文件中所有数据区段的熵值属性集合,利用上述方法构建对应的熵值属性的数据集,定义为第三数据集。
第一数据集、第二数据集和第三数据集独立存在,互无交集。
S4:基于所述第一固件文件和所述第二固件文件的数据集,利用逻辑回归策略构建预测模型;
需要说明的是,基于S3步骤得到的第一数据集和第二数据集,利用逻辑回归策略构建预测模型,具体包括:
利用逻辑回归函数对所述第一数据集和第二数据集进行压缩变换,用于将所述第一数据集和第二数据集映射到最后的判断结果中,利用1和0表示加密固件文件和未加密固件文件,包括:
基于所述逻辑回归函数的表达形式定义假设函数,所述假设函数为:
通过代价函数对所述假设函数进行优化,所述代价函数为:
其中,θ表示权值,即参数,x表示偏移组,hθ(x)表示偏移段的熵值,θTx=θ01x12x2+...+θnxn,m表示分段数,x(i)表示通过逻辑回归函数和对应参数得到的估计值,y(i)表示真实值,y表示对应不同x下的真实值;
利用梯度下降策略求解所述逻辑回归函数,并进行重复迭代至所述代价函数收敛不变得到回归参数,保存对应的模型,即为所述预测模型,其中,通过重复迭代步骤可以增强预测模型的鲁棒性。
S5:将所述第三固件文件的数据集输入至所述预测模型中,通过所述预测模型的输出结果判断所述第三固件文件是否加密;
需要说明的是,第三固件文件为待测固件文件,可以是预存的相关数据,也可以是实时获取到的相关数据。
进一步的,如图4所示,将第三固件文件输入至步骤S4得到的预测模型中,通过所述预测模型获取加密概率,当所述加密概率大于0.7时,判断所述第三固件文件为加密固件文件,当所述加密概率小于或等于0.7时,判断所述第三固件文件为非加密固件文件。
上述的基于熵的固件加密检测方法,包括:接收数据生成设备发送的固件文件,将所述固件文件等量划分为预设字节长度的数据区段,所述固件文件包括第一固件文件、第二固件文件和第三固件文件;利用香农熵策略计算每个所述数据区段的信息熵,利用地址计算策略获取每个所述数据区段在所述固件文件中的偏移中间地址;采用二元数组机制将所述信息熵和所述偏移中间地址相结合用于定义每个所述数据区段的熵值属性,基于所述每个所述数据区段的熵值属性构建包含所有所述数据区段的熵值属性集合,并建立所述熵值属性的数据集;基于所述第一固件文件和所述第二固件文件的数据集,利用逻辑回归策略构建预测模型;将所述第三固件文件的数据集输入至所述预测模型中,通过所述预测模型的输出结果判断所述第三固件文件是否加密,本申请对固件文件进行分段及批量处理,从而能够节约数据处理的时间,计算、分析获取已知的加密和未加密固件文件的熵值属性数据集,结合深度学习算法构建预测模型,实现了智能化和自动化检测,相较于现有技术中人工检测分析方法,避免了因主观因素导致的检测分析准确度低的问题,且能够有效提高检测速度和效率。
应该理解的是,虽然图2-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
实施例二
在一个实施例中,如图5所示,提供了一种基于熵的固件加密检测装置,所述装置包括:
划分模块,用于接收数据生成设备发送的固件文件,将所述固件文件等量划分为预设字节长度的数据区段,所述固件文件包括第一固件文件、第二固件文件和第三固件文件;
计算模块,所述计算模块与所述划分模块通信连接,用于利用香农熵策略计算每个所述数据区段的信息熵,利用地址计算策略获取每个所述数据区段在所述固件文件中的偏移中间地址;
数据集生成模块,所述数据集生成模块与所述计算模块通信连接,用于采用二元数组机制将所述信息熵和所述偏移中间地址相结合用于定义每个所述数据区段的熵值属性,基于所述每个所述数据区段的熵值属性构建包含所有所述数据区段的熵值属性集合,并建立所述熵值属性的数据集;
模型构建模块,所述模型构建模块与所述数据集生成模块通信连接,用于基于所述第一固件文件和所述第二固件文件的数据集,利用逻辑回归策略构建预测模型;
判断模块,所述判断模块与所述模型构建模块通信连接,用于将所述第三固件文件的数据集输入至所述预测模型中,通过所述预测模型的输出结果判断所述第三固件文件是否加密。
作为一种较优的实施方式,本发明实施例中,所述计算模块具体用于:
利用香农熵策略计算每个所述数据区段的信息熵,利用地址计算策略获取每个所述数据区段在所述固件文件中的偏移中间地址,其中,所述香农熵策略包括:
H(X)=-∑p(x)logp(x)
其中,H(X)表示连续数据X的信息熵,x表示固件文件对应段中的字符,p(x)表示是x占对应段字符的比率;
所述地址计算策略包括:
其中,fi表示所述数据区段在所述固件文件中的偏移首地址,li表示所述数据区段在所述固件文件中的偏移末地址,i表示所述fi和所述li的所述偏移中间地址。
作为一种较优的实施方式,本发明实施例中,所述数据集生成模块具体用于:
定义所述预设字节长度的数据区段为Ri,计算获取所述数据区段的信息熵为H(Ri);
定义所述数据区段在所述固件文件中的偏移中间地址为i;
采用二元数组机制将所述信息熵和所述偏移中间地址相结合,表示为H(Ri),i>,用于定义每个所述数据区段的熵值属性。
采集所述每个所述数据区段的熵值属性<H(Ri),i>构建包含所有所述数据区段的熵值属性集合SH(R);
基于所述熵值属性集合SH(R)中的每个元素,以i为横坐标,Ri为纵坐标,构建所述熵值属性的数据集,其中,所述第一固件文件、第二固件文件和第三固件文件的数据集独立存在。
作为一种较优的实施方式,本发明实施例中,所述模型构建模块具体用于:
基于所述第一固件文件和所述第二固件文件的数据集,利用逻辑回归策略构建预测模型,包括:
利用逻辑回归函数对所述熵值属性的数据集进行压缩变换,用于将所述熵值属性的数据集映射到最后的判断结果中,利用1和0表示加密固件文件和未加密固件文件,包括:
基于所述逻辑回归函数的表达形式定义假设函数,所述假设函数为:
通过代价函数对所述假设函数进行优化,所述代价函数为:
其中,θ表示权值,即参数,x表示偏移组,hθ(x)表示偏移段的熵值,θTx=θ01x12x2+...+θnxn,m表示分段数,x(i)表示通过逻辑回归函数和对应参数得到的估计值,y(i)表示真实值,y表示对应不同x下的真实值;
利用梯度下降策略求解所述逻辑回归函数,并进行重复迭代至所述代价函数收敛不变得到回归参数,保存对应的模型,即为所述预测模型。
作为一种较优的实施方式,本发明实施例中,所述判断模块具体用于:
将所述第三固件文件的数据集输入至所述预测模型中,通过所述预测模型获取加密概率,当所述加密概率大于0.7时,判断所述第三固件文件为加密固件文件。
关于基于熵的固件加密检测装置的具体限定可以参见上文中对于基于熵的固件加密检测方法的限定,在此不再赘述。上述基于熵的固件加密检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
实施例三
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图6所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于熵的固件加密检测方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
S1:接收数据生成设备发送的固件文件,将所述固件文件等量划分为预设字节长度的数据区段,所述固件文件包括第一固件文件、第二固件文件和第三固件文件;
S2:利用香农熵策略计算每个所述数据区段的信息熵,利用地址计算策略获取每个所述数据区段在所述固件文件中的偏移中间地址;
S3:采用二元数组机制将所述信息熵和所述偏移中间地址相结合用于定义每个所述数据区段的熵值属性,基于所述每个所述数据区段的熵值属性构建包含所有所述数据区段的熵值属性集合,并建立所述熵值属性的数据集;
S4:基于所述第一固件文件和所述第二固件文件的数据集,利用逻辑回归策略构建预测模型;
S5:将所述第三固件文件的数据集输入至所述预测模型中,通过所述预测模型的输出结果判断所述第三固件文件是否加密。
作为一种较优的实施方式,本发明实施例中,处理器执行计算机程序时还实现以下步骤:
利用香农熵策略计算每个所述数据区段的信息熵,利用地址计算策略获取每个所述数据区段在所述固件文件中的偏移中间地址,其中,所述香农熵策略包括:
H(X)=-∑p(x)logp(x)
其中,H(X)表示连续数据X的信息熵,x表示固件文件对应段中的字符,p(x)表示是x占对应段字符的比率;
所述地址计算策略包括:
其中,fi表示所述数据区段在所述固件文件中的偏移首地址,li表示所述数据区段在所述固件文件中的偏移末地址,i表示所述fi和所述li的所述偏移中间地址。
作为一种较优的实施方式,本发明实施例中,处理器执行计算机程序时还实现以下步骤:
定义所述预设字节长度的数据区段为Ri,计算获取所述数据区段的信息熵为H(Ri);
定义所述数据区段在所述固件文件中的偏移中间地址为i;
所述采用二元数组机制将所述信息熵和所述偏移中间地址相结合,表示为<H(Ri),i>,用于定义每个所述数据区段的熵值属性。
作为一种较优的实施方式,本发明实施例中,处理器执行计算机程序时还实现以下步骤:
采集所述每个所述数据区段的熵值属性<H(Ri),i>构建包含所有所述数据区段的熵值属性集合SH(R);
基于所述熵值属性集合SH(R)中的每个元素,以i为横坐标,Ri为纵坐标,构建所述熵值属性的数据集,其中,所述第一固件文件、第二固件文件和第三固件文件的数据集独立存在。
作为一种较优的实施方式,本发明实施例中,处理器执行计算机程序时还实现以下步骤:
基于所述第一固件文件和所述第二固件文件的数据集,利用逻辑回归策略构建预测模型,包括:
利用逻辑回归函数对所述熵值属性的数据集进行压缩变换,用于将所述熵值属性的数据集映射到最后的判断结果中,利用1和0表示加密固件文件和未加密固件文件,包括:
基于所述逻辑回归函数的表达形式定义假设函数,所述假设函数为:
通过代价函数对所述假设函数进行优化,所述代价函数为:
/>
其中,θ表示权值,即参数,x表示偏移组,hθ(x)表示偏移段的熵值,θTx=θ01x12x2+...+θnxn,m表示分段数,x(i)表示通过逻辑回归函数和对应参数得到的估计值,y(i)表示真实值,y表示对应不同x下的真实值;
利用梯度下降策略求解所述逻辑回归函数,并进行重复迭代至所述代价函数收敛不变得到回归参数,保存对应的模型,即为所述预测模型。
作为一种较优的实施方式,本发明实施例中,处理器执行计算机程序时还实现以下步骤:
将所述第三固件文件的数据集输入至所述预测模型中,通过所述预测模型获取加密概率,当所述加密概率大于0.7时,判断所述第三固件文件为加密固件文件。
实施例四
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
S1:接收数据生成设备发送的固件文件,将所述固件文件等量划分为预设字节长度的数据区段,所述固件文件包括第一固件文件、第二固件文件和第三固件文件;
S2:利用香农熵策略计算每个所述数据区段的信息熵,利用地址计算策略获取每个所述数据区段在所述固件文件中的偏移中间地址;
S3:采用二元数组机制将所述信息熵和所述偏移中间地址相结合用于定义每个所述数据区段的熵值属性,基于所述每个所述数据区段的熵值属性构建包含所有所述数据区段的熵值属性集合,并建立所述熵值属性的数据集;
S4:基于所述第一固件文件和所述第二固件文件的数据集,利用逻辑回归策略构建预测模型;
S5:将所述第三固件文件的数据集输入至所述预测模型中,通过所述预测模型的输出结果判断所述第三固件文件是否加密。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
利用香农熵策略计算每个所述数据区段的信息熵,利用地址计算策略获取每个所述数据区段在所述固件文件中的偏移中间地址,其中,所述香农熵策略包括:
H(X)=-∑p(x)logp(x)
其中,H(X)表示连续数据X的信息熵,x表示固件文件对应段中的字符,p(x)表示是x占对应段字符的比率;
所述地址计算策略包括:
其中,fi表示所述数据区段在所述固件文件中的偏移首地址,li表示所述数据区段在所述固件文件中的偏移末地址,i表示所述fi和所述li的所述偏移中间地址。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
定义所述预设字节长度的数据区段为Ri,计算获取所述数据区段的信息熵为H(Ri);
定义所述数据区段在所述固件文件中的偏移中间地址为i;
所述采用二元数组机制将所述信息熵和所述偏移中间地址相结合,表示为<H(Ri),i>,用于定义每个所述数据区段的熵值属性。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
采集所述每个所述数据区段的熵值属性<H(Ri),i>构建包含所有所述数据区段的熵值属性集合SH(R);
基于所述熵值属性集合SH(R)中的每个元素,以i为横坐标,Ri为纵坐标,构建所述熵值属性的数据集,其中,所述第一固件文件、第二固件文件和第三固件文件的数据集独立存在。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
基于所述第一固件文件和所述第二固件文件的数据集,利用逻辑回归策略构建预测模型,包括:
利用逻辑回归函数对所述熵值属性的数据集进行压缩变换,用于将所述熵值属性的数据集映射到最后的判断结果中,利用1和0表示加密固件文件和未加密固件文件,包括:
基于所述逻辑回归函数的表达形式定义假设函数,所述假设函数为:
通过代价函数对所述假设函数进行优化,所述代价函数为:
其中,θ表示权值,即参数,x表示偏移组,hθ(x)表示偏移段的熵值,θTx=θ01x12x2+...+θnxn,m表示分段数,x(i)表示通过逻辑回归函数和对应参数得到的估计值,y(i)表示真实值,y表示对应不同x下的真实值;
利用梯度下降策略求解所述逻辑回归函数,并进行重复迭代至所述代价函数收敛不变得到回归参数,保存对应的模型,即为所述预测模型。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
将所述第三固件文件的数据集输入至所述预测模型中,通过所述预测模型获取加密概率,当所述加密概率大于0.7时,判断所述第三固件文件为加密固件文件。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种基于熵的固件加密检测方法,其特征在于,所述方法包括:
接收数据生成设备发送的固件文件,将所述固件文件等量划分为预设字节长度的数据区段,所述固件文件包括第一固件文件、第二固件文件和第三固件文件;
利用香农熵策略计算每个所述数据区段的信息熵,利用地址计算策略获取每个所述数据区段在所述固件文件中的偏移中间地址;
采用二元数组机制将所述信息熵和所述偏移中间地址相结合用于定义每个所述数据区段的熵值属性,基于所述每个所述数据区段的熵值属性构建包含所有所述数据区段的熵值属性集合,并建立所述熵值属性的数据集;
基于所述第一固件文件和所述第二固件文件的数据集,利用逻辑回归策略构建预测模型;
将所述第三固件文件的数据集输入至所述预测模型中,通过所述预测模型的输出结果判断所述第三固件文件是否加密。
2.根据权利要求1所述的基于熵的固件加密检测方法,其特征在于,所述固件文件包括:
所述第一固件文件,所述第一固件文件为加密固件文件;
所述第二固件文件,所述第二固件文件为未加密固件文件;
所述第三固件文件,所述第三固件文件为待测固件文件。
3.根据权利要求1或2所述的基于熵的固件加密检测方法,其特征在于,所述香农熵策略包括:
H(X)=-∑p(x)logp(x)
其中,H(X)表示连续数据X的信息熵,x表示固件文件对应段中的字符,p(x)表示是x占对应段字符的比率;
所述地址计算策略包括:
其中,fi表示所述数据区段在所述固件文件中的偏移首地址,li表示所述数据区段在所述固件文件中的偏移末地址,i表示所述fi和所述li的所述偏移中间地址。
4.根据权利要求3所述的基于熵的固件加密检测方法,其特征在于,所述采用二元数组机制将所述信息熵和所述偏移中间地址相结合用于定义每个所述数据区段的熵值属性包括:
定义所述预设字节长度的数据区段为Ri,计算获取所述数据区段的信息熵为H(Ri);
定义所述数据区段在所述固件文件中的偏移中间地址为i;
所述采用二元数组机制将所述信息熵和所述偏移中间地址相结合,表示为<H(Ri),i>,用于定义每个所述数据区段的熵值属性。
5.根据权利要求4所述的基于熵的固件加密检测方法,其特征在于,所述基于所述每个所述数据区段的熵值属性构建包含所有所述数据区段的熵值属性集合,并建立所述熵值属性的数据集包括:
采集所述每个所述数据区段的熵值属性<H(Ri),i>构建包含所有所述数据区段的熵值属性集合SH(R);
基于所述熵值属性集合SH(R)中的每个元素,以i为横坐标,Ri为纵坐标,构建所述熵值属性的数据集,其中,所述第一固件文件、第二固件文件和第三固件文件的数据集独立存在。
6.根据权利要求1或5所述的基于熵的固件加密检测方法,其特征在于,所述基于所述第一固件文件和所述第二固件文件的数据集,利用逻辑回归策略构建预测模型,包括:
利用逻辑回归函数对所述熵值属性的数据集进行压缩变换,用于将所述熵值属性的数据集映射到最后的判断结果中,利用1和0表示加密固件文件和未加密固件文件,包括:
基于所述逻辑回归函数的表达形式定义假设函数,所述假设函数为:
通过代价函数对所述假设函数进行优化,所述代价函数为:
其中,θ表示权值,即参数,x表示偏移组,hθ(x)表示偏移段的熵值,θTx=θ01x12x2+...+θnxn,m表示分段数,x(i)表示通过逻辑回归函数和对应参数得到的估计值,y(i)表示真实值,y表示对应不同x下的真实值;
利用梯度下降策略求解所述逻辑回归函数,并进行重复迭代至所述代价函数收敛不变得到回归参数,保存对应的模型,即为所述预测模型。
7.根据权利要求6所述的基于熵的固件加密检测方法,其特征在于,所述将所述第三固件文件的数据集输入至所述预测模型中,通过所述预测模型的输出结果判断所述第三固件文件是否加密,包括:
通过所述预测模型获取加密概率,当所述加密概率大于0.7时,判断所述第三固件文件为加密固件文件。
8.一种基于熵的固件加密检测装置,其特征在于,包括:
划分模块,用于接收数据生成设备发送的固件文件,将所述固件文件等量划分为预设字节长度的数据区段,所述固件文件包括第一固件文件、第二固件文件和第三固件文件;
计算模块,用于利用香农熵策略计算每个所述数据区段的信息熵,利用地址计算策略获取每个所述数据区段在所述固件文件中的偏移中间地址;
数据集生成模块,用于采用二元数组机制将所述信息熵和所述偏移中间地址相结合用于定义每个所述数据区段的熵值属性,基于所述每个所述数据区段的熵值属性构建包含所有所述数据区段的熵值属性集合,并建立所述熵值属性的数据集;
模型构建模块,用于基于所述第一固件文件和所述第二固件文件的数据集,利用逻辑回归策略构建预测模型;
判断模块,用于将所述第三固件文件的数据集输入至所述预测模型中,通过所述预测模型的输出结果判断所述第三固件文件是否加密。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202210708581.9A 2022-06-21 2022-06-21 基于熵的固件加密检测方法、装置、计算机设备及介质 Active CN115033888B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210708581.9A CN115033888B (zh) 2022-06-21 2022-06-21 基于熵的固件加密检测方法、装置、计算机设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210708581.9A CN115033888B (zh) 2022-06-21 2022-06-21 基于熵的固件加密检测方法、装置、计算机设备及介质

Publications (2)

Publication Number Publication Date
CN115033888A CN115033888A (zh) 2022-09-09
CN115033888B true CN115033888B (zh) 2024-06-25

Family

ID=83127495

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210708581.9A Active CN115033888B (zh) 2022-06-21 2022-06-21 基于熵的固件加密检测方法、装置、计算机设备及介质

Country Status (1)

Country Link
CN (1) CN115033888B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112487466A (zh) * 2020-12-16 2021-03-12 厦门市美亚柏科信息股份有限公司 一种无特征加密文件检测方法、终端设备及存储介质
CN113037487A (zh) * 2021-03-10 2021-06-25 中国工商银行股份有限公司 文件加密数据处理方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101924607B (zh) * 2010-08-27 2013-01-23 华为终端有限公司 基于固件空中传输技术的固件处理方法、装置及***
CN113810336A (zh) * 2020-06-11 2021-12-17 北京威努特技术有限公司 一种数据报文加密判定方法、装置及计算机设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112487466A (zh) * 2020-12-16 2021-03-12 厦门市美亚柏科信息股份有限公司 一种无特征加密文件检测方法、终端设备及存储介质
CN113037487A (zh) * 2021-03-10 2021-06-25 中国工商银行股份有限公司 文件加密数据处理方法及装置

Also Published As

Publication number Publication date
CN115033888A (zh) 2022-09-09

Similar Documents

Publication Publication Date Title
CN109597571B (zh) 数据存储方法、数据读取方法、装置和计算机设备
CN113762350A (zh) 异常数据检测方法、装置、计算机设备和存储介质
CN110912908B (zh) 网络协议异常检测方法、装置、计算机设备和存储介质
US11379576B2 (en) Identification of database intrusion by changes in data tables
CN111930932B (zh) 网络空间安全领域知识图谱表示学习方法和装置
CN112017024A (zh) 信贷风险评估方法、***、计算机设备及存储介质
Liu et al. An efficient surrogate-aided importance sampling framework for reliability analysis
CN116629435A (zh) 风险预测方法、装置、计算机设备和存储介质
CN111008311B (zh) 基于邻域弱连接的复杂网络节点重要性评估方法和装置
CN115033888B (zh) 基于熵的固件加密检测方法、装置、计算机设备及介质
CN109783876B (zh) 时间序列模型建立方法、装置、计算机设备和存储介质
CN114638823B (zh) 基于注意力机制序列模型的全切片图像分类方法及装置
CN115719618A (zh) 逆向加权的序列比对种子生成方法、装置、设备和存储器
CN115225359A (zh) 蜜罐数据溯源方法、装置、计算机设备和存储介质
CN113095963A (zh) 房地产成本数据处理方法、装置、计算机设备和存储介质
CN112419054B (zh) 一种基于区块链技术的金融信息验证方法与装置
CN117851959B (zh) 基于fhgs的动态网络子图异常检测方法、装置和设备
CN110781366A (zh) 网页数据处理方法、装置、计算机设备和存储介质
CN114578714B (zh) 基于效能指标收敛控制的仿真运行次数确定方法及装置
CN114944962B (zh) 一种数据安全防护方法及***
US20240185068A1 (en) Method for performing membership inference attack against generative models and apparatus for the same
CN116436799B (zh) 复杂网络节点重要性评估方法、装置、设备和存储介质
CN111046241B (zh) 用于流式图处理的图存储方法及装置
US20240013089A1 (en) Sequential Synthesis and Selection for Feature Engineering
CN118052556A (zh) 交易检测方法、装置、计算机设备及存储介质

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
GR01 Patent grant