CN113486354A - 一种固件安全评估方法、***、介质及电子设备 - Google Patents
一种固件安全评估方法、***、介质及电子设备 Download PDFInfo
- Publication number
- CN113486354A CN113486354A CN202110721068.9A CN202110721068A CN113486354A CN 113486354 A CN113486354 A CN 113486354A CN 202110721068 A CN202110721068 A CN 202110721068A CN 113486354 A CN113486354 A CN 113486354A
- Authority
- CN
- China
- Prior art keywords
- firmware
- sample
- category
- samples
- library
- 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
Links
- 238000011156 evaluation Methods 0.000 title claims abstract description 15
- 239000013598 vector Substances 0.000 claims abstract description 52
- 238000000034 method Methods 0.000 claims abstract description 37
- 238000004422 calculation algorithm Methods 0.000 claims description 14
- 238000004364 calculation method Methods 0.000 claims description 13
- 238000003860 storage Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 10
- 238000010276 construction Methods 0.000 claims description 4
- 238000004458 analytical method Methods 0.000 description 20
- 238000004590 computer program Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010224 classification analysis Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000013107 unsupervised machine learning method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开提供了一种固件安全评估方法、***、介质或电子设备,获取待测固件的参量数据;根据获取的参量数据得到待测固件的特征向量;计算待测固件的特征向量到固件库中每个类别的优化聚类中心的距离;根据与待测固件距离最小的优化聚类中心,对所述待测固件进行分类,得到所述待测固件所属类别;根据待测固件的类别,计算所属类别中固件样本的安全性标签值的平均值;当平均值大于或等于预设阈值时,判定待测固件为潜在不安全固件;本公开能够有效的避免不安全固件漏判。
Description
技术领域
本公开涉及计算机技术领域,特别涉及一种固件安全评估方法、***、介质及电子设备。
背景技术
本部分的陈述仅仅是提供了与本公开相关的背景技术,并不必然构成现有技术。
随着信息化水平的不断提升,作为涉及国家安全的关键基础设施,电力***的信息化和智能化建设浪潮也迅速发展。随之,大量的电力***物联网设备被引进并应用到电网的设备控制、数据采集、环境监测等一系列重要的工作中。一方面,这大大提升了电网的信息化和智能化水平,但同时也引入了大量的信息安全漏洞,对电力***的安全运行产生威胁。
电力物联网设备通常采用驱动软件来执行指定的任务,这个驱动软件就是固件。电力物联网设备内部的固件通常由设备供应商提供,由于不同技术人员的编码水平存在较大差异,因此导致了固件中可能存在安全性漏洞。考虑到固件通常直接与底层硬件进行交互,如若存在安全性漏洞,将导致设备无法按照预定方式运行,会对电力***的安全稳定运行造成非常严重的威胁。
发明人发现,由于提取得到的固件代码通常为二进制代码,若对每一个固件都进行完整的安全分析,会造成巨大的时间和资源消耗,如何对固件进行初步筛选,挑选出潜在威胁性较大的固件进行进一步的安全分析,能够大大减少固件安全分析的工作,有效提高整体工作效率,是现有电力***亟需解决的问题。
发明内容
为了解决现有技术的不足,本公开提供了一种固件安全评估方法、***、介质及电子设备,能够有效的避免不安全固件漏判。
为了实现上述目的,本公开采用如下技术方案:
本公开第一方面提供了一种固件安全评估方法。
一种固件安全评估方法,包括以下过程:
获取待测固件的参量数据;
根据获取的参量数据得到待测固件的特征向量;
计算待测固件的特征向量到固件库中每个类别的优化聚类中心的距离;
根据与待测固件距离最小的优化聚类中心,对所述待测固件进行分类,得到所述待测固件所属类别;
根据待测固件的类别,计算所属类别中固件样本的安全性标签值的平均值;
当平均值大于或等于预设阈值时,判定待测固件为潜在不安全固件。
本公开第二方面提供了一种固件安全评估***。
一种固件安全评估***,包括:
数据获取模块,被配置为:获取待测固件的参量数据;
特征向量构建模块,被配置为:根据获取的参量数据得到待测固件的特征向量;
距离计算模块,被配置为:计算待测固件的特征向量到固件库中每个类别的优化聚类中心的距离;
分类模块,被配置为:根据与待测固件距离最小的优化聚类中心,对所述待测固件进行分类,得到所述待测固件所属类别;
平均值计算模块,被配置为:根据待测固件的类别,计算所属类别中固件样本的安全性标签值的平均值;
不安全固件识别模块,被配置为:当平均值大于或等于预设阈值时,判定待测固件为潜在不安全固件。
本公开第三方面提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现如本公开第一方面所述的固件安全评估方法中的步骤。
本公开第四方面提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现如本公开第一方面所述的固件安全评估方法中的步骤。
与现有技术相比,本公开的有益效果是:
本公开所述的方法、***、介质或电子设备,通过对待测固件计算与固件库中每个类别的优化聚类中心的距离,然后选取距离最小的类别作为所述待测固件的类别,从而对待测固件进行分类,最后根据待测固件所属类别的安全性标签计算平均值,根据类别的安全来确定待测固件的安全性,固件库中样本越多越能保证待测固件的安全分析的准确性,能够保证不安全固件不被漏判。
本公开附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。
附图说明
构成本公开的一部分的说明书附图用来提供对本公开的进一步理解,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。
图1为本公开实施例1提供的固件安全评估方法的流程示意图。
图2为本公开实施例2提供的固件安全评估***的流程示意图。
图3为本公开实施例4提供的计算机设备的内部结构图。
具体实施方式
下面结合附图与实施例对本公开作进一步说明。
应该指出,以下详细说明都是示例性的,旨在对本公开提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本公开所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
实施例1:
聚类算法属于无监督机器学习方法,常见的聚类算法包括KNN、K-Means等,通过计算和比较样本间的相似性,将相似性较高的样本归为同一类别,将相似性较低的样本归为不同类别,从而实现对样本的分类。聚类算法在众多领域实现了广泛的应用,但目前在固件安全分析方面,未见相关的应用案例。
在本实施例中,如图1所示,提供了一种固件安全分析方法,包括以下步骤:
S110,获取待测固件的特征向量(根据获取的待测固件的参量数据得到待测固件的特征向量)到固件库中每个类别的优化聚类中心的距离;其中,固件库中的固件样本分为预设数目的类别。
其中,固件库中的固件分为多个类别,每个类别具有优化聚类中心,优化聚类中心根据样本的特征向量计算得到。预设数目根据需要确定,例如,预设数目可以为3,预设数目可以为5,预设数目也可以为10。
利用已知的固件安全信息和已知的安全固件,构建固件库。例如,获取电力物联网设备固件作为原始样本,获取方式包括但不限于直接从厂商官网下载或由设备供应商提供、伪装固件升级请求获取、通过UART或JTAG等硬件调试接口获取或通过读取设备内存并从中恢复固件内容等方式获取;在获取原始样本后,利用固件解包引擎对固件内容进行解析,获取固件中包含程序代码的文件***,利用反编译软件或其它技术将文件***中的机器语言代码转化为汇编语言代码,然后利用统计模块,对固件代码进行特征统计,构造用于描述该固件安全性的特征向量。例如,用于描述该固件安全性的特征向量可为6个基本块属性和1个基本块间属性,6个基本块属性包括字符串常量、数字常量、传递指令数量、调用指令数量、运算指令数量和指令总数量,1个基本块间属性包括基本块子代数量。
S120,根据与所述待测固件距离最小的优化聚类中心,对所述待测固件进行分类,得到所述待测固件所属类别。
其中,在求得待测固件的特征向量与固件库中每个类别的优化聚类中心的距离之后,选择距离最小的类别,作为所述待测固件的分类。
S130,根据所述待测固件的类别,计算所属类别中固件样本的安全性标签值的平均值。
其中,固件库中每个类别的每个样本都设有安全性标签,并且每个安全性标签具有安全性标签值。在知道待测固件的类别后,计算该类别中所有样本的安全性标签值的平均值。
S140,在所述平均值大于或等于阈值时,将所述待测固件判定为潜在不安全固件。
其中,所述阈值可以根据需要设定,例如,安全性标签包括高危、中危、低危和安全,安全性标签是结合公开漏洞库、厂商安全公告等信息来源进行判定,安全性标签分为高危、中危、低危和安全共四类。高危的安全性标签值为10,中危安全性标签值为6,低危安全性标签值为3,安全安全性标签值为0,阈值可以设置为1,在待测固件所述的类别安全性标签值的平均值大于或等于1时,表明此类别中存在不安全固件,而待测固件分类到此类别中,说明其也为潜在不安全固件。例如,待测固件所属类别中,当除待测固件外还有10个固件样本,且其中有一个是高危固件时,该待测固件可认为与高危固件具有潜在的相似性,需要进一步进行甄别。
通过此种判断方式,不需要人工逐一去对待测固件进行测试,只需要对潜在不安全固件进行测试,就能保证所有的待测固件的安全性,大大减少了测试的工作量。
上述固件安全分析方法中,通过对待测固件计算与固件库中每个类别的优化聚类中心的距离,然后选取距离最小的类别作为所述待测固件的类别,从而对待测固件进行分类,最后根据待测固件所属类别的安全性标签计算平均值,根据类别的安全来确定待测固件的安全性,固件库中样本越多越能保证待测固件的安全分析的准确性,能够保证不安全固件不被漏判。
在其中一个实施方式中,在获取待测固件的特征向量到固件库中每个类别的优化聚类中心的距离之前,包括:从固件库中获取预设数目的固件样本,并根据每个所述固件样本的特征向量分别构建初始聚类中心;分别计算固件库中剩余固件样本的特征向量到每个所述初始聚类中心的距离;根据与固件库中每一个剩余固件样本距离最小的初始聚类中心,对该剩余固件样本进行分类,获得该剩余固件样本的类别;其中,从固件库中获取预设数目的固件样本按照其对应的初始聚类中心进行分类,并得到其对应的类别。
其中,预设数目根据固件库中固件样本的数量确定,固件库中固件样本数量多,则预设数目的值相对较大,如果固件库中固件样本数量少,则预设数目的值相对较小,此设置方式是保证每个类别的样本数量,以保证待测固件的安全分析的准确性,例如,预设数目可以为3,预设数目可以为5,预设数目也可以为10。
具体的,从固件库中随机选择K个样本作为初始聚类中心,A={a1,…,aK},其中K等于5,K的取值可根据需要调整;第固件库中剩余的固件样本xi,计算该固件样本到每个初始聚类中心的欧式距离,并将该固件样本归为欧式距离最小的聚类中心所在的类别。另,在对估计库中每个固件样本都分类后,计算每个类别的优化聚类中心:
其中,ai为第i个类别聚类中心的特征向量,i=1,…,5,ci表示第i个类别的样本集合,|ci|表示第i个类别的样本数量,x表示(第i个类别的)固件样本的特征向量。
本实施例中,通过随机选择的预设数目的固件确定初始聚类中心,然后对固件库中剩余固件样本根据初始聚类中心进行分类,能够实现对固件库中的每个固件样本进行分类,并能够计算每个类别的优化聚类中心。
在其中一个实施方式中,在根据与固件库中每一个剩余固件样本距离最小的初始聚类中心,对该剩余固件样本进行分类,获得该剩余固件样本的类别之后,包括:在对固件库中每个所述固件样本进行分类后,根据每个类别中的固件样本的特征向量计算该类别的优化聚类中心;分别计算固件库中每个固件样本的特征向量到每个所述优化聚类中心的距离;根据与固件库中每一个固件样本距离最小的优化聚类中心,重新对该固件样本进行分类,获得该固件样本的类别。
其中,优化聚类中心的计算方式可参照上述实施例所示。本实施例中,再次根据优化聚类中心对固件库中的每个固件样本进行分类,能够减少随机选择初始聚类中心分类的不准确性。
在其中一个实施方式中,在根据与固件库中每一个固件样本距离最小的优化聚类中心,重新对该固件样本进行分类,获得该固件样本的类别之后,包括:重复在对固件库中每个所述固件样本进行分类后,根据每个类别中的固件样本的特征向量计算该类别的优化聚类中心,分别计算固件库中每个固件样本的特征向量到所述优化聚类中心的距离,根据与固件库中每一个固件样本距离最小的优化聚类中心,重新对该固件样本进行分类,获得该固件样本的类别的步骤,直到固件库中每个固件样本的类别不再变化。本实施例中,通过多次计算优化聚类中心和再分类,能够保证固件库中固件样本分类的准确性,从而确保待测固件分类后续计算安全性标签值的平均值的准确性。
在其中一个实施方式中,所述根据所述待测固件的类别,计算所属类别中固件样本的安全性标签值的平均值包括:根据所述待测固件的类别,获取所属类别中每个固件样本的安全性标签值sj;其中,所述安全性标签值根据固件样本的安全性标签确定;根据所属类别中每个固件样本的安全性标签值sj,计算所属类别中固件样本的安全性标签值的平均值S:
其中,n为所属类别中固件样本的个数,j为所属类别中第j个固件样本。
在其中一个实施方式中,在获取待测固件的特征向量到固件库中每个类别的优化聚类中心的距离之前,包括:通过聚类算法多次对所述固件库中的固件样本进行分类,得到在单次分类过程中的每个固件样本的类别;根据所属类别中每个固件样本的特征向量计算优化聚类中心。在根据所述待测固件的类别,计算所属类别中固件样本的安全性标签值的平均值之后,包括:根据单次分类过程中,计算得到所述待测固件所属类别对应的安全性标签值的平均值,和所述聚类算法的运行次数,再次计算平均值,得到修正的所述待测固件所属类别中固件样本的安全性标签值的平均值。
其中,由于初始聚类中心是根据固件库中随机选择的固件样本确定的,其会影响后续对固件库中固件样本的分类,为了减少这种随机选择的影响,通过运行多次聚类算法,获得固件库中固件样本的分类结果。
具体的,在每次对固件库中固件样本通过聚类算法进行分类后,得到分类结果,然后计算待测固件在分类结果中的所属类别,计算该类别的安全性标签值的平均值Si,然后根据聚类算法的运行次数N,计算修正的所述待测固件所属类别中固件样本的安全性标签值的平均值:
其中,i为正正数,i∈[1,N],i表示第i次聚类算法运行,N表示聚类算法重复运行次数。
在其中一个实施例中,所述固件安全分析方法还包括:获取固件样本数据包;对所述固件样本数据包中固件代码进行特征统计,构建固件样本的特征向量。
在其中一个实施方式中,在对待测固件进行安全性分析,或通过人工判断后,可以将待测固件的特征向量加入固件库,对固件库中个固件样本进行更新,并且根据待测固件安全性对所述待测固件设置安全性标签。通过此种方式,能够保证固件库中固件样本越来越丰富,提高后续待测固件分类分析的准确性。
应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
实施例2:
提供了一种固件安全评估***,包括:
距离计算模块210、分类模块220、平均值计算模块230和判定模块240,其中:
距离计算模块210,用于获取待测固件的特征向量到固件库中每个类别的优化聚类中心的距离;其中,固件库中的固件样本分为预设数目的类别。
分类模块220,用于根据与所述待测固件距离最小的优化聚类中心,对所述待测固件进行分类,得到所述待测固件所属类别;
平均值计算模块230,用于根据所述待测固件的类别,计算所属类别中固件样本的安全性标签值的平均值。
判定模块240,用于在所述平均值大于或等于阈值时,将所述待测固件判定为潜在不安全固件。
在其中一个实施方式中,所述固件安全分析***,还包括:
初始聚类中心构建模块,用于从固件库中获取预设数目的固件样本,并根据每个所述固件样本的特征向量分别构建初始聚类中心;
初始距离计算模块,用于分别计算固件库中剩余固件样本的特征向量到每个所述初始聚类中心的距离;
初始分类模块,用于根据与固件库中每一个剩余固件样本距离最小的初始聚类中心,对该剩余固件样本进行分类,获得该剩余固件样本的类别;其中,从固件库中获取预设数目的固件样本按照其对应的初始聚类中心进行分类,并得到其对应的类别。
在其中一个实施方式中,所述固件安全分析***,还包括:
优化聚类中心计算模块,用于在对固件库中每个所述固件样本进行分类后,根据每个类别中的固件样本的特征向量计算该类别的优化聚类中心;
优化距离计算模块,用于分别计算固件库中每个固件样本的特征向量到每个所述优化聚类中心的距离;
优化分类模块,用于根据与固件库中每一个固件样本距离最小的优化聚类中心,重新对该固件样本进行分类,获得该固件样本的类别。
在其中一个实施方式中,所述固件安全分析***,还包括:
循环模块,用于重复在对固件库中每个所述固件样本进行分类后,根据每个类别中的固件样本的特征向量计算该类别的优化聚类中心,分别计算固件库中每个固件样本的特征向量到所述优化聚类中心的距离,根据与固件库中每一个固件样本距离最小的优化聚类中心,重新对该固件样本进行分类,获得该固件样本的类别的步骤,直到固件库中每个固件样本的类别不再变化。
在其中一个实施方式中,所述平均值计算模块230,包括:
安全性标签值获取单元,用于根据所述待测固件的类别,获取所属类别中每个固件样本的安全性标签值sj;其中,所述安全性标签值根据固件样本的安全性标签确定;
平均值计算单元,用于根据所属类别中每个固件样本的安全性标签值sj,计算所属类别中固件样本的安全性标签值的平均值S:
其中,n为所属类别中固件样本的个数,j为所属类别中第j个固件样本。
在其中一个实施方式中,所述固件安全分析***,还包括:
聚类算法运行模块,用于通过聚类算法多次对所述固件库中的固件样本进行分类,得到在单次分类过程中的每个固件样本的类别;
优化聚类中心计算模块,用于根据所属类别中每个固件样本的特征向量计算优化聚类中心;
修正模块,用于在根据所述待测固件的类别,计算所属类别中固件样本的安全性标签值的平均值之后,根据单次分类过程中,计算得到所述待测固件所属类别对应的安全性标签值的平均值,和所述聚类算法的运行次数,再次计算平均值,得到修正的所述待测固件所属类别中固件样本的安全性标签值的平均值。
在其中一个实施方式中,所述固件安全分析***,还包括:
数据获取模块,用于获取固件样本数据包;
特征向量构建模块,用于对所述固件样本数据包中固件代码进行特征统计,构建固件样本的特征向量。
关于固件安全分析装置的具体限定可以参见上文中对于固件安全分析方法的限定,在此不再赘述。上述固件安全分析装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
实施例3:
本公开实施例3提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现实施例1中的步骤。
实施例4:
本公开实施例4提供了一种电子设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现实施例1中的步骤。
具体的电子设备,可以是一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图3所示。该计算机设备包括通过***总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储特征向量数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种固件安全分析方法。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本领域内的技术人员应明白,本公开的实施例可提供为方法、***、或计算机程序产品。因此,本公开可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (10)
1.一种固件安全评估方法,其特征在于:包括以下过程:
获取待测固件的参量数据;
根据获取的参量数据得到待测固件的特征向量;
计算待测固件的特征向量到固件库中每个类别的优化聚类中心的距离;
根据与待测固件距离最小的优化聚类中心,对所述待测固件进行分类,得到所述待测固件所属类别;
根据待测固件的类别,计算所属类别中固件样本的安全性标签值的平均值;
当平均值大于或等于预设阈值时,判定待测固件为潜在不安全固件。
2.如权利要求1所述的固件安全评估方法,其特征在于:
在计算待测固件的特征向量到固件库中每个类别的优化聚类中心的距离之前,包括:
从固件库中获取预设数目的固件样本,并根据每个固件样本的特征向量分别构建初始聚类中心;
分别计算固件库中剩余固件样本的特征向量到每个初始聚类中心的距离;
根据与固件库中每一个剩余固件样本距离最小的初始聚类中心,对该剩余固件样本进行分类,获得该剩余固件样本的类别;其中,从固件库中获取预设数目的固件样本按照其对应的初始聚类中心进行分类,并得到其对应的类别。
3.如权利要求2所述的固件安全评估方法,其特征在于:
在对固件库中每个固件样本进行分类后,根据每个类别中的固件样本的特征向量计算该类别的优化聚类中心;
分别计算固件库中每个固件样本的特征向量到每个所述优化聚类中心的距离;
根据与固件库中每一个固件样本距离最小的优化聚类中心,重新对该固件样本进行分类,获得该固件样本的类别。
4.如权利要求3所述的固件安全评估方法,其特征在于:
重复对固件库中每个固件样本进行分类后,根据每个类别中的固件样本的特征向量计算该类别的优化聚类中心,分别计算固件库中每个固件样本的特征向量到所述优化聚类中心的距离,根据与固件库中每一个固件样本距离最小的优化聚类中心,重新对该固件样本进行分类,获得该固件样本的类别的步骤,直到固件库中每个固件样本的类别不再变化。
5.如权利要求1所述的固件安全评估方法,其特征在于:
根据所述待测固件的类别,获取所属类别中每个固件样本的安全性标签值;根据所属类别中每个固件样本的安全性标签值,计算所属类别中固件样本的安全性标签值的平均值。
6.如权利要求1所述的固件安全评估方法,其特征在于:
在计算待测固件的特征向量到固件库中每个类别的优化聚类中心的距离之前,包括:
通过聚类算法多次对固件库中的固件样本进行分类,得到在单次分类过程中的每个固件样本的类别;
根据所属类别中每个固件样本的特征向量计算优化聚类中心;
在根据所述待测固件的类别,计算所属类别中固件样本的安全性标签值的平均值之后,包括:
根据单次分类过程中,计算得到所述待测固件所属类别对应的安全性标签值的平均值和所述聚类算法的运行次数,再次计算平均值,得到修正的所述待测固件所属类别中固件样本的安全性标签值的平均值。
7.如权利要求1所述的固件安全评估方法,其特征在于:
获取固件样本数据包;
对所述固件样本数据包中固件代码进行特征统计,构建固件样本的特征向量。
8.一种固件安全评估***,其特征在于:包括:
数据获取模块,被配置为:获取待测固件的参量数据;
特征向量构建模块,被配置为:根据获取的参量数据得到待测固件的特征向量;
距离计算模块,被配置为:计算待测固件的特征向量到固件库中每个类别的优化聚类中心的距离;
分类模块,被配置为:根据与待测固件距离最小的优化聚类中心,对所述待测固件进行分类,得到所述待测固件所属类别;
平均值计算模块,被配置为:根据待测固件的类别,计算所属类别中固件样本的安全性标签值的平均值;
不安全固件识别模块,被配置为:当平均值大于或等于预设阈值时,判定待测固件为潜在不安全固件。
9.一种计算机可读存储介质,其上存储有程序,其特征在于,该程序被处理器执行时实现如权利要求1-7任一项所述的固件安全评估方法中的步骤。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-7任一项所述的固件安全评估方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110721068.9A CN113486354A (zh) | 2021-08-20 | 2021-08-20 | 一种固件安全评估方法、***、介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110721068.9A CN113486354A (zh) | 2021-08-20 | 2021-08-20 | 一种固件安全评估方法、***、介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113486354A true CN113486354A (zh) | 2021-10-08 |
Family
ID=77936360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110721068.9A Pending CN113486354A (zh) | 2021-08-20 | 2021-08-20 | 一种固件安全评估方法、***、介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113486354A (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107437088A (zh) * | 2016-05-27 | 2017-12-05 | 百度在线网络技术(北京)有限公司 | 文件识别方法和装置 |
CN107562618A (zh) * | 2017-08-07 | 2018-01-09 | 北京奇安信科技有限公司 | 一种shellcode的检测方法和装置 |
CN107563410A (zh) * | 2017-08-04 | 2018-01-09 | 中国科学院自动化研究所 | 基于局部类别一致聚类和多任务学习的分类方法及设备 |
CN109446812A (zh) * | 2018-05-09 | 2019-03-08 | 国家计算机网络与信息安全管理中心 | 一种嵌入式***固件安全分析方法及*** |
CN110009038A (zh) * | 2019-04-04 | 2019-07-12 | 北京百度网讯科技有限公司 | 筛查模型的训练方法、装置及存储介质 |
CN112235264A (zh) * | 2020-09-28 | 2021-01-15 | 国家计算机网络与信息安全管理中心 | 一种基于深度迁移学习的网络流量识别方法及装置 |
CN112634231A (zh) * | 2020-12-23 | 2021-04-09 | 香港中文大学深圳研究院 | 一种图像分类方法、装置、终端设备和存储介质 |
CN112769796A (zh) * | 2020-12-30 | 2021-05-07 | 华北电力大学 | 一种基于端侧边缘计算的云网端协同防御方法及*** |
CN112765660A (zh) * | 2021-01-25 | 2021-05-07 | 湖南大学 | 一种基于MapReduce并行聚类技术的终端安全性分析方法和*** |
CN112801145A (zh) * | 2021-01-12 | 2021-05-14 | 深圳市中博科创信息技术有限公司 | 安全监测方法、装置、计算机设备及存储介质 |
CN112818357A (zh) * | 2021-03-11 | 2021-05-18 | 北京顶象技术有限公司 | 一种自动化的批量IoT固件风险评估方法和*** |
CN113132352A (zh) * | 2021-03-17 | 2021-07-16 | 中国人民解放军战略支援部队信息工程大学 | 基于流量统计特征的路由器威胁感知方法及*** |
-
2021
- 2021-08-20 CN CN202110721068.9A patent/CN113486354A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107437088A (zh) * | 2016-05-27 | 2017-12-05 | 百度在线网络技术(北京)有限公司 | 文件识别方法和装置 |
CN107563410A (zh) * | 2017-08-04 | 2018-01-09 | 中国科学院自动化研究所 | 基于局部类别一致聚类和多任务学习的分类方法及设备 |
CN107562618A (zh) * | 2017-08-07 | 2018-01-09 | 北京奇安信科技有限公司 | 一种shellcode的检测方法和装置 |
CN109446812A (zh) * | 2018-05-09 | 2019-03-08 | 国家计算机网络与信息安全管理中心 | 一种嵌入式***固件安全分析方法及*** |
CN110009038A (zh) * | 2019-04-04 | 2019-07-12 | 北京百度网讯科技有限公司 | 筛查模型的训练方法、装置及存储介质 |
CN112235264A (zh) * | 2020-09-28 | 2021-01-15 | 国家计算机网络与信息安全管理中心 | 一种基于深度迁移学习的网络流量识别方法及装置 |
CN112634231A (zh) * | 2020-12-23 | 2021-04-09 | 香港中文大学深圳研究院 | 一种图像分类方法、装置、终端设备和存储介质 |
CN112769796A (zh) * | 2020-12-30 | 2021-05-07 | 华北电力大学 | 一种基于端侧边缘计算的云网端协同防御方法及*** |
CN112801145A (zh) * | 2021-01-12 | 2021-05-14 | 深圳市中博科创信息技术有限公司 | 安全监测方法、装置、计算机设备及存储介质 |
CN112765660A (zh) * | 2021-01-25 | 2021-05-07 | 湖南大学 | 一种基于MapReduce并行聚类技术的终端安全性分析方法和*** |
CN112818357A (zh) * | 2021-03-11 | 2021-05-18 | 北京顶象技术有限公司 | 一种自动化的批量IoT固件风险评估方法和*** |
CN113132352A (zh) * | 2021-03-17 | 2021-07-16 | 中国人民解放军战略支援部队信息工程大学 | 基于流量统计特征的路由器威胁感知方法及*** |
Non-Patent Citations (1)
Title |
---|
张善文 等: "图像模式识别", vol. 1, 29 February 2020, 西安电子科技大学出版社 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108182515B (zh) | 智能规则引擎规则输出方法、设备及计算机可读存储介质 | |
US20230156026A1 (en) | System and method of automatizing a threat analysis based on artificial intelligence | |
CN115357904B (zh) | 一种基于程序切片和图神经网络的多类漏洞检测方法 | |
CN111931179A (zh) | 基于深度学习的云端恶意程序检测***及方法 | |
CN114218998A (zh) | 一种基于隐马尔可夫模型的电力***异常行为分析方法 | |
CN115098292B (zh) | 应用程序崩溃根原因识别方法、装置及电子设备 | |
CN111177731A (zh) | 一种基于人工神经网络的软件源代码漏洞检测方法 | |
CN116305119A (zh) | 基于预测指导原型的apt恶意软件分类方法和装置 | |
CN113031991B (zh) | 一种嵌入式***的远程自适应升级方法及其装置 | |
Hashemi et al. | Runtime monitoring for out-of-distribution detection in object detection neural networks | |
CN116756578B (zh) | 车辆信息安全威胁聚合分析预警方法及*** | |
CN112966965A (zh) | 进出口大数据的分析和决策方法、装置、设备及存储介质 | |
KR20220151650A (ko) | 대용량 고속 스트림 데이터로부터 예측 분석들을 동적으로 발생시키기 위한 알고리즘적 학습 엔진 | |
CN112888008A (zh) | 基站异常检测方法、装置、设备及存储介质 | |
Pranav et al. | Detection of botnets in IoT networks using graph theory and machine learning | |
CN116644437A (zh) | 数据安全评估方法、装置及存储介质 | |
CN113486354A (zh) | 一种固件安全评估方法、***、介质及电子设备 | |
CN115905715A (zh) | 基于大数据和人工智能的互联网数据分析方法和平台 | |
CN112149121A (zh) | 一种恶意文件识别方法、装置、设备及存储介质 | |
CN115296876A (zh) | 一种自适应拟态技术的网络安全预警*** | |
CN114091021A (zh) | 一种用于电力企业安全防护的恶意代码检测方法 | |
CN115906170B (zh) | 应用于存储集群的安全防护方法及ai*** | |
CN113221110B (zh) | 一种基于元学习的远程访问木马智能分析方法 | |
CN112598118B (zh) | 有监督学习的标注异常处理方法、装置、存储介质及设备 | |
CN117834286B (zh) | 一种基于互信息法特征选择的sql注入攻击检测方法、***、设备及可读存储介质 |
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 |