基于机器学习的大规模嵌入式设备在线固件智能识别方法技术

技术编号:22467565 阅读:40 留言:0更新日期:2019-11-06 11:23
本发明专利技术实施例提供一种基于机器学习的大规模嵌入式设备在线固件智能识别方法,所述方法包括:获取待识别的嵌入式设备厂商的网站域内的所有URL;提取每个URL的多维特征,并将多维特征转化为数值特征,并利用词频‑逆向文件频率TF‑IDF算法获取每个URL的文本特征;将所有URL的数值特征输入至第一嵌入式设备固件URL识别模型中,获得第一嵌入式设备固件URL集合,将所有URL的文本特征输入至第二嵌入式设备固件URL识别模型中,获得第二嵌入式设备固件URL集合;取两个嵌入式设备固件URL集合的交集进行输出。本发明专利技术实施例可应用于大规模地嵌入式设备固件URL下载,URL识别难度小、爬取效率高、下载速度快。

On-line firmware intelligent identification method for large-scale embedded devices based on machine learning

【技术实现步骤摘要】
基于机器学习的大规模嵌入式设备在线固件智能识别方法
本专利技术涉及固件URL识别与嵌入式软件安全
,更具体地,涉及一种基于机器学习的大规模嵌入式设备在线固件智能识别方法。
技术介绍
随着互联网时代的变革,物联网产业飞速发展,工业4.0的稳步推进,智能嵌入式设备网络化程度越来越高,信息化融入工业设备的浪潮已经势不可挡。智能嵌入式设备在给人们带来方便的同时,也使嵌入式设备系统甚至是整个网络空间安全面临着巨大挑战。因此,针对嵌入式设备的研究也已经成为信息安全领域的研究重点和热点问题。固件是运行在嵌入式设备中的二进制程序,用于初始化硬件、启动操作系统和管理计算机平台资源,它应用在非常广泛的智能设备中,如路由器、交换机、打印机、网络摄像头、无人机、工业机器人、工控设备PLC和RTU等,甚至许多嵌入式设备硬件除了固件之外没有其他相关软件组成。因此,固件可以说是硬件设备的灵魂,并对硬件设备的功能和性能起着决定性作用。近年来,固件漏洞频频爆出,如OWASP调查显示,2014年在针对物联网设备的攻击和漏洞威胁中,对嵌入式设备固件的攻击名列第九;2017年11月英特尔对外表示其近年来售出的几乎所有PC芯片都存在多个严重的软件安全漏洞,并在英特尔管理引擎(ME)、英特尔服务器平台服务(SPS)以及英特尔可信执行引擎(TXE)固件产品中发现了一些安全漏洞;2018年8月出现过20万台MikroTik路由器固件由于存在Vault漏洞,遭到数字货币挖矿恶意软件攻击。固件安全攻击事件地频频发生,导致嵌入式设备系统甚至整个网络空间安全将面临严峻的挑战。嵌入式设备固件存在的安全漏洞已成为“黑客”攻击者进行智能设备攻击和安全领域专家进行相关研究的主要入口点之一。在明确了嵌入式设备固件安全研究的重要性并开展固件安全漏洞研究之前,需要获取大规模的待研究的固件。嵌入式设备厂商常常将部分产品的固件信息公布在公网上供用户下载使用,同时各厂商也会不定期更新固件信息。为了获取充足的待研究对象,得到多个厂商的大规模的固件,针对厂商网站结构和固件网页的多样性,传统的做法是针对不同的嵌入式设备厂商的固件网页进行研究分析,分别开发对应的固件网页爬虫,进而下载和存储固件。传统的嵌入式设备固件下载方法存在固件网页分析繁琐、开发程序臃肿、固件爬取效率低下、固件下载速度缓慢等一系列的问题。在获取多个嵌入式设备厂商域内的大量的URL,缺乏一种自动化方法识别爬取的所有URL中的嵌入式设备固件URL。通过调研,发现目前国内外在URL识别与分类方面的研究还主要体现在恶意URL识别领域,缺乏针对嵌入式设备固件URL的识别与分类的技术研究。从以往的技术发展来看,针对大规模嵌入式设备在线固件的智能识别与下载的研究基础还很浅显。目前,缺少一种实现简单的和针对大规模嵌入式设备在线固件具有嵌入式设备固件下载URL识别难度小、爬取效率高、下载速度快的智能化方法。
技术实现思路
本专利技术实施例提供一种克服上述问题或者至少部分地解决上述问题的基于机器学习的大规模嵌入式设备在线固件智能识别方法。第一方面,本专利技术实施例提供一种基于机器学习的大规模嵌入式设备在线固件智能识别方法,包括:获取待识别的嵌入式设备厂商的网站域内的所有统一资源定位符URL;提取每个所述URL的多维特征,并将所述多维特征转化为数值特征,并利用文本挖掘加权技术的词频-逆向文件频率TF-IDF算法对每个所述URL进行特征提取,获得每个所述URL的文本特征;将所有所述URL对应的数值特征输入至预先训练好的第一嵌入式设备固件URL识别模型中进行预测,获得第一嵌入式设备固件URL集合,将所有所述URL的文本特征输入至预先训练好的第二嵌入式设备固件URL识别模型中进行预测,获得第二嵌入式设备固件URL集合,取所述第一嵌入式设备固件URL集合与第二嵌入式设备固件URL集合的交集作为所述待识别的嵌入式设备厂商对应的嵌入式设备固件URL集合进行输出;其中,所述第一嵌入式设备固件URL识别模型是利用机器学习方法根据经过多维特征提取和数值特征转化的URL样本进行训练后获得的,所述第二嵌入式设备固件URL识别模型是利用机器学习方法根据经过文本特征提取的带有标签的URL样本进行训练获得的。第二方面,本专利技术实施例提供一种基于机器学习的大规模嵌入式设备在线固件智能识别装置,包括:URL获取模块,用于获取待识别的嵌入式设备厂商的网站域内的所有统一资源定位符URL;特征提取模块,用于提取每个所述URL的多维特征,并将所述多维特征转化为数值特征,并利用文本挖掘加权技术的词频-逆向文件频率TF-IDF算法对每个所述URL进行特征提取,获得每个所述URL的文本特征;识别模块,用于将所有所述URL对应的数值特征输入至预先训练好的第一嵌入式设备固件URL识别模型中进行预测,获得第一嵌入式设备固件URL集合,将所有所述URL的文本特征输入至预先训练好的第二嵌入式设备固件URL识别模型中进行预测,获得第二嵌入式设备固件URL集合,取所述第一嵌入式设备固件URL集合与第二嵌入式设备固件URL集合的交集作为所述待识别的嵌入式设备厂商对应的嵌入式设备固件URL集合进行输出;其中,所述第一嵌入式设备固件URL识别模型是利用机器学习方法根据经过多维特征提取和数值特征转化的URL样本进行训练后获得的,所述第二嵌入式设备固件URL识别模型是利用机器学习方法根据经过文本特征提取的带有标签的URL样本进行训练获得的。第三方面,本专利技术实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所提供的基于机器学习的大规模嵌入式设备在线固件智能识别方法的步骤。第四方面,本专利技术实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所提供的基于机器学习的大规模嵌入式设备在线固件智能识别方法的步骤。本专利技术实施例提供的基于机器学习的大规模嵌入式设备在线固件智能识别方法,对所获取的待识别的嵌入式设备厂商的网站域内的所有URL,采用两种方法提取特征,并分别对应输入到预先训练好的嵌入式设备固件URL模型中进行预测,获得两个嵌入式设备固件URL集合,并求交集,固件URL识别简单、爬取效率高、准确率高,可用于实现大规模嵌入式设备在线固件的自动化的批量下载,下载速度快,有效地解决了传统的嵌入式设备固件下载方法存在的固件网页分析繁琐、开发程序臃肿、固件爬取效率低下、固件下载速度缓慢等问题。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的基于机器学习的大规模嵌入式设备在线固件智能识别方法的流程示意图;图2为本专利技术实施例中多维特征的示意图;图3为本专利技术实施例提供的基于机器学习的大规模嵌入式设备在线固件智能识别方法的总体流程示意图;图4为本专利技术实施例提供的基于机器学习的大规模嵌入式设备在线固件智能识别装置的结构示意图;图5为本专利技术实施例提供的电子设备的实体结构示意本文档来自技高网
...

【技术保护点】
1.一种基于机器学习的大规模嵌入式设备在线固件智能识别方法,其特征在于,包括:获取待识别的嵌入式设备厂商的网站域内的所有统一资源定位符URL;提取每个所述URL的多维特征,并将所述多维特征转化为数值特征,并利用文本挖掘加权技术的词频‑逆向文件频率TF‑IDF算法对每个所述URL进行特征提取,获得每个所述URL的文本特征;将所有所述URL对应的数值特征输入至预先训练好的第一嵌入式设备固件URL识别模型中进行预测,获得第一嵌入式设备固件URL集合,将所有所述URL的文本特征输入至预先训练好的第二嵌入式设备固件URL识别模型中进行预测,获得第二嵌入式设备固件URL集合,取所述第一嵌入式设备固件URL集合与第二嵌入式设备固件URL集合的交集作为所述待识别的嵌入式设备厂商对应的嵌入式设备固件URL集合进行输出;其中,所述第一嵌入式设备固件URL识别模型是利用机器学习方法根据经过多维特征提取和数值特征转化的URL样本进行训练后获得的,所述第二嵌入式设备固件URL识别模型是利用机器学习方法根据经过文本特征提取的带有标签的URL样本进行训练获得的。

【技术特征摘要】
1.一种基于机器学习的大规模嵌入式设备在线固件智能识别方法,其特征在于,包括:获取待识别的嵌入式设备厂商的网站域内的所有统一资源定位符URL;提取每个所述URL的多维特征,并将所述多维特征转化为数值特征,并利用文本挖掘加权技术的词频-逆向文件频率TF-IDF算法对每个所述URL进行特征提取,获得每个所述URL的文本特征;将所有所述URL对应的数值特征输入至预先训练好的第一嵌入式设备固件URL识别模型中进行预测,获得第一嵌入式设备固件URL集合,将所有所述URL的文本特征输入至预先训练好的第二嵌入式设备固件URL识别模型中进行预测,获得第二嵌入式设备固件URL集合,取所述第一嵌入式设备固件URL集合与第二嵌入式设备固件URL集合的交集作为所述待识别的嵌入式设备厂商对应的嵌入式设备固件URL集合进行输出;其中,所述第一嵌入式设备固件URL识别模型是利用机器学习方法根据经过多维特征提取和数值特征转化的URL样本进行训练后获得的,所述第二嵌入式设备固件URL识别模型是利用机器学习方法根据经过文本特征提取的带有标签的URL样本进行训练获得的。2.根据权利要求1所述的方法,其特征在于,所述获取待识别的多个嵌入式设备厂商的网站域内的所有统一资源定位符URL的步骤之前,还包括:构建URL样本集,所述URL样本集中包括嵌入式设备固件URL样本和其他类型URL样本;提取所述URL样本集中每个URL样本的多维特征,并将所述URL样本集中每个URL样本的多维特征转化为数值特征;利用TF-IDF算法对所述URL样本集中每个URL样本进行特征提取,获得所述URL样本集中每个URL样本的文本特征;基于所述URL样本集中每个URL样本的数值特征,使用机器学习的二分类算法和K折交叉验证方法进行重复训练和测试,构建第一嵌入式设备固件URL识别模型;基于所述URL样本集中每个URL样本的文本特征以及每个所述URL样本对应的标签,使用机器学习的二分类算法和K折交叉验证方法进行重复训练和测试,构建第二嵌入式设备固件URL识别模型。3.根据权利要求1或2所述的方法,其特征在于,所述多维特征包括:区分嵌入式设备固件URL和其他类型URL的字符串特征,区分嵌入式设备固件URL和其他类型URL的模拟请求特征,以及区分嵌入式设备固件URL和其他类型URL的网页信息特征,其中,所述字符串特征包括:URL长度、URL目录路径深度、URL是否含有预设的关键词、URL是否以预设的扩展名结尾、URL是否含有日期、URL是否含有版本号和URL字符串中点的个数;所述模拟请求特征包括:URL请求的内容类型、URL请求的文件大小、URL请求的文件名长度和URL请求的文件名长度占实际请求链接长度的百分比;所述网页信息特征具体为:URL请求页面内容中是否含有预设的关键字符串。4.根据权利要求2所述的方法,其特征在于,所述构建URL样本集的步骤,具体为:针对预选的多个特定的嵌入式设备厂商,利用预先开发的嵌入式设备固件URL爬虫,收集相应嵌入式设备厂商网站域内的嵌入式设备固件URL和固件描述信息,并标记为正样本;利用预先开发的URL爬虫收集所述嵌入式设备厂商网站内的所有URL,过滤所述嵌入式设备固件URL,获得其他类型URL,并将所述其他类型URL标记为负样本;收集所述正样本和负...

【专利技术属性】
技术研发人员:石志强张国栋杨寿国刘明东马原孙利民
申请(专利权)人:中国科学院信息工程研究所
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1