CN110413909A - 基于机器学习的大规模嵌入式设备在线固件智能识别方法 - Google Patents
基于机器学习的大规模嵌入式设备在线固件智能识别方法 Download PDFInfo
- Publication number
- CN110413909A CN110413909A CN201910526064.8A CN201910526064A CN110413909A CN 110413909 A CN110413909 A CN 110413909A CN 201910526064 A CN201910526064 A CN 201910526064A CN 110413909 A CN110413909 A CN 110413909A
- Authority
- CN
- China
- Prior art keywords
- url
- embedded device
- firmware
- sample
- device firmware
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例提供一种基于机器学习的大规模嵌入式设备在线固件智能识别方法,所述方法包括:获取待识别的嵌入式设备厂商的网站域内的所有URL;提取每个URL的多维特征,并将多维特征转化为数值特征,并利用词频‑逆向文件频率TF‑IDF算法获取每个URL的文本特征;将所有URL的数值特征输入至第一嵌入式设备固件URL识别模型中,获得第一嵌入式设备固件URL集合,将所有URL的文本特征输入至第二嵌入式设备固件URL识别模型中,获得第二嵌入式设备固件URL集合;取两个嵌入式设备固件URL集合的交集进行输出。本发明实施例可应用于大规模地嵌入式设备固件URL下载,URL识别难度小、爬取效率高、下载速度快。
Description
技术领域
本发明涉及固件URL识别与嵌入式软件安全技术领域,更具体地,涉及一种基于机器学习的大规模嵌入式设备在线固件智能识别方法。
背景技术
随着互联网时代的变革,物联网产业飞速发展,工业4.0的稳步推进,智能嵌入式设备网络化程度越来越高,信息化融入工业设备的浪潮已经势不可挡。智能嵌入式设备在给人们带来方便的同时,也使嵌入式设备系统甚至是整个网络空间安全面临着巨大挑战。因此,针对嵌入式设备的研究也已经成为信息安全领域的研究重点和热点问题。
固件是运行在嵌入式设备中的二进制程序,用于初始化硬件、启动操作系统和管理计算机平台资源,它应用在非常广泛的智能设备中,如路由器、交换机、打印机、网络摄像头、无人机、工业机器人、工控设备PLC和RTU等,甚至许多嵌入式设备硬件除了固件之外没有其他相关软件组成。因此,固件可以说是硬件设备的灵魂,并对硬件设备的功能和性能起着决定性作用。
近年来,固件漏洞频频爆出,如OWASP调查显示,2014年在针对物联网设备的攻击和漏洞威胁中,对嵌入式设备固件的攻击名列第九;2017年11月英特尔对外表示其近年来售出的几乎所有PC芯片都存在多个严重的软件安全漏洞,并在英特尔管理引擎(ME)、英特尔服务器平台服务(SPS)以及英特尔可信执行引擎(TXE)固件产品中发现了一些安全漏洞;2018年8月出现过20万台Mikro Tik路由器固件由于存在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所示,为本发明实施例提供的一种基于机器学习的大规模嵌入式设备在线固件智能识别方法的流程示意图,包括:
步骤100、获取待识别的嵌入式设备厂商的网站域内的所有统一资源定位符URL。
具体地,利用网站爬虫程序获取待识别的嵌入式设备厂商的网站域内的所有URL,URL(Uniform Resource Locator,统一资源定位符)。网络爬虫程序的输入为嵌入式设备厂商的网站域名,输出为网站域内的所有URL。
步骤101、提取每个所述URL的多维特征,并将所述多维特征转化为数值特征,并利用文本挖掘加权技术的TF-IDF算法对每个所述URL进行特征提取,获得每个所述URL的文本特征。
具体地,对获取的待识别的多个嵌入式设备厂商的网站域内的所有URL进行分析,提取URL字符串的特征。采用两种方法进行URL特征提取,一种是提取经人工调研后的易于区分固件URL和其他类型URL的多维特征,另外一种是使用文本挖掘加权技术的词频-逆向文件频率TF-IDF算法对URL进行文本特征提取。
所述多维特征用于区分嵌入式设备固件URL和除所述嵌入式设备固件URL以外的其他类型URL。根据对嵌入式设备固件URL的调研和分析,获得嵌入式设备固件URL和其他类型URL易于区分的多维特征,提取出URL的字符串特征、模拟请求特征、网页信息特征等3个方面共12个维度的特征。图2为本发明实施例中多维特征的示意图,所述多维特征包括:区分嵌入式设备固件URL和其他类型URL的字符串特征,区分嵌入式设备固件URL和其他类型URL的模拟请求特征,以及区分嵌入式设备固件URL和其他类型URL的网页信息特征。
所述字符串特征包括:URL长度、URL目录路径深度、URL是否含有预设的关键词、URL是否以预设的扩展名结尾、URL是否含有日期、URL是否含有版本号和URL字符串中点的个数;
其中,URL目录路径深度以“/”进行分割判断;URL是否含有预设的关键词,预设的关键词包括:firmware、固件、gujian、升级软件等;URL是否以预设的扩展名结尾,扩展名包括:bin、rar、zip、tar、trx、usr、chk等;URL是否含有日期,主要判断是否含有年份;URL是否含有版本号,以字母v或V、点“.”、数字进行结合的多种方式进行判断,URL字符串中点的个数,点是指英文或中文标点“.”。
所述模拟请求特征包括:URL请求的内容类型、URL请求的文件大小、URL请求的文件名长度和URL请求的文件名长度占实际请求链接长度的百分比;
其中,URL请求的内容类型包括:application/zip、application/x-gzip、application/octet-stream等。
所述网页信息特征具体为:URL请求页面内容中是否含有预设的关键字符串。
其中,关键字符串是指如固件、升级软件、firmware等字符串。
在提取到多维特征之后,本发明实施例还需要将多维特征进行数值化处理,即将区分嵌入式设备固件URL和其他类型URL的字符串特征、模拟请求特征、网页信息特征等3个方面共12个多维度特征的文本特征转化为对应的数值特征。对于判断特征值是否存在的选项,存在则标记为1,不存在则标记为0;对于字符串特征需进一步处理,如提取出URL请求的内容类型,采取对所有的类型取值进一步分析,将固件常对应的类型标记为1,其他类型标记为0。
所述的TF-IDF(Term Frequency-Inverse Document Frequency,词频-逆向文件频率)算法,是一种统计方法,常被用于文本处理领域,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。其中TF表示一个词在一个文件在出现的频率,IDF表示逆文件频率,用于衡量一个词的重要性。其中假设数据集由m个文本Ai组成,每个文本由ni个单词组成。假设单词c在文本Ai中出现的次数为数据集中共有mc个文本包含单词c。则文本Ai中的词频TF和单词c的IDF以及TF-IDF的计算公式分别为:
本发明实施例利用TF-IDF算法直接提取URL字符串的文本特征。
步骤102、将所有所述URL对应的数值特征输入至预先训练好的第一嵌入式设备固件URL识别模型中进行预测,获得第一嵌入式设备固件URL集合,将所有所述URL的文本特征输入至预先训练好的第二嵌入式设备固件URL识别模型中进行预测,获得第二嵌入式设备固件URL集合,取所述第一嵌入式设备固件URL集合与第二嵌入式设备固件URL集合的交集作为所述待识别的嵌入式设备厂商对应的嵌入式设备固件URL集合进行输出。
可以理解的是,第一嵌入式设备固件URL识别模型具有根据输入的URL的数值特征对嵌入式设备固件URL进行识别的功能,第二嵌入式设备固件URL识别模型具有根据输入的URL的文本特征对嵌入式设备固件URL进行识别的功能。
由于多维特征能够区分嵌入式设备固件URL和除嵌入式设备固件URL以外的所有URL,因此,所述第一嵌入式设备固件URL识别模型是利用机器学习方法根据经过多维特征提取和数值特征转化的URL样本进行训练后获得的。所述第二嵌入式设备固件URL识别模型是利用机器学习方法根据经过文本特征提取的带有标签的URL样本进行训练获得的。
具体地,使用Python的scikit-learn机器学习的二分类算法SVM和十折交叉验证方法对所述URL样本集中每个URL样本的数值特征进行重复训练和测试,构建第一嵌入式设备固件URL识别模型,模型记为train_model_1。基于所述URL样本集中每个URL样本的文本特征以及每个所述URL样本对应的标签,使用Python的scikit-learn机器学习的二分类算法SVM和十折交叉验证方法进行重复训练和测试,构建第二嵌入式设备固件URL识别模型,模型记为train_model_2。
将爬取的待识别的嵌入式设备厂商网站域内的所有URL对应的数值特征输入至预先训练好的第一嵌入式设备固件URL识别模型train_model_1中进行预测,预测获得第一嵌入式设备固件URL集合为S1。将爬取的待识别的嵌入式设备厂商网站域内的所有URL的文本特征输入至预先训练好的第二嵌入式设备固件URL识别模型train_model_2中进行预测,获得第二嵌入式设备固件URL集合为S2。取所述第一嵌入式设备固件URL集合S1与第二嵌入式设备固件URL集合S2的交集S3(即S3=S1∩S2)作为所述待识别的嵌入式设备厂商对应的嵌入式设备固件URL集合进行输出。
本发明实施例使用两个模型进行固件URL识别,是为了更全面地掌握区分固件URL和其他URL的特征,输出两个模型预测结果的交集,且认为所述的交集值为固件URL值,可以有效地提升固件URL的识别准确度。
在获得所述待识别的嵌入式设备厂商对应的嵌入式设备固件URL集合后,开发人员根据所述嵌入式设备固件URL集合开发相应的下载程序,运行所述下载程序即可最终可以实现大规模嵌入式设备在线固件的自动化的批量下载。
本发明实施例提供的基于机器学习的大规模嵌入式设备在线固件智能识别方法,对所获取的待识别的多个嵌入式设备厂商的网站域内的所有URL,采用两种方法提取特征,并分别对应输入到预先训练好的嵌入式设备固件URL模型中进行预测,获得两个嵌入式设备固件URL集合,并求交集,固件URL识别简单、爬取效率高、准确率高,可用于实现大规模嵌入式设备在线固件的自动化的批量下载,有效地解决了传统的嵌入式设备固件下载方法存在的固件网页分析繁琐、开发程序臃肿、固件爬取效率低下、固件下载速度缓慢等问题。
基于上述实施例的内容,所述获取待识别的多个嵌入式设备厂商的网站域内的所有统一资源定位符URL的步骤之前,还需要构建所述第一嵌入式设备固件URL识别模型和第二嵌入式识别固件URL识别模型,具体包括:
步骤010、构建URL样本集,所述URL样本集中包括嵌入式设备固件URL样本和其他类型URL样本;
具体地,首先构建用于机器学习的数据集——URL样本集,样本集中既包括多个嵌入式设备固件URL样本,也包括多个除嵌入式设备固件URL样本以外的其他类型URL样本。
所述构建URL样本集的步骤,具体为:
步骤011,针对预选的多个特定的嵌入式设备厂商,利用预先开发的嵌入式设备固件URL爬虫,收集相应嵌入式设备厂商网站内的嵌入式设备固件URL和固件描述信息,并标记为正样本;
本发明实施例通过对国内外多个嵌入式设备厂商进行调研,选取网站固件较多的厂商进行固件网页分析,基于Python的Scrapy框架技术开发嵌入式设备固件网页爬虫,爬取网页上的嵌入式设备固件URL和固件描述信息,其中抓取嵌入式设备固件描述信息是为了进一步人工确认爬取的样本固件URL为正确的嵌入式设备固件下载链接,确保正样本的纯度。搭建MongoDB数据库存储爬取的嵌入式设备固件信息。
步骤012,利用预先开发的URL爬虫收集所述嵌入式设备厂商网站内的所有URL,过滤所述嵌入式设备固件URL,获得其他类型URL,并将所述其他类型URL标记为负样本;
其中,所述利用预先开发的URL爬虫收集所述嵌入式设备厂商网站内的所有URL的步骤,具体为:
利用预先开发的URL爬虫分别对静态和动态的嵌入式设备厂商网站页面进行URL抓取;
对静态的网站页面常采用根据输入当前页面的URL,提取标签的href属性值,进而获取当前页面的所有URL,然后将获取的当前页面的所有URL加入待分析的URL列表,遍历待分析的URL列表,同时将访问过的URL加入已访问的URL列表中,重复上述步骤;对动态的网站页面常采用驱动FireFox浏览器或者Phantomjs进行模拟点击的方法,结合Python的Scrapy框架技术和Selenium框架技术获取当前页面的所有URL,然后将获取的当前页面的所有URL加入待分析的URL列表,遍历待分析的URL列表,同时将访问过的URL加入已访问的URL列表中,重复上述步骤。
需要说明的是,若获知抓取到的URL不是一个完整链接时,对所抓取到的URL进行处理使所抓取到的URL成为完整链接,若获知所抓取到的URL的域名与所述嵌入式设备厂商网站根域名的相似度低于预设阈值时,舍弃当前所抓取到的URL。
在一个具体的实施例中,设置待分析URL列表中每条URL的域名和网站根域名的相似度的阈值为0.75,当所抓取到的URL的域名与所述嵌入式设备厂商网站根域名的相似度低于预设阈值0.75时,则舍弃该URL。设置域名相识度阈值的目的是为了确保获取的URL都是该嵌入式设备厂商网站域内的URL,避免跳转到其他网站进行URL抓取,同时也是为了防止发生无休止的无效URL抓取。最后将抓取的网站域内的所有URL保存到MongoDB数据库中。
步骤013,收集所述正样本和负样本,生成URL样本集并完成标注,将所述URL样本集和标注存储到数据库中。
本发明实施例在对预选的多个嵌入式设备厂商网站进行研究和分析时,针对固件页面的固件URL收集和网站域内的所有页面的所有URL收集,采取分别开发对应的URL收集的爬虫程序。这种做法能有效地将每个嵌入式设备厂商的固件的URL和其他非固件URL区分开来,便于标记嵌入式设备固件URL为正样本、除嵌入式设备固件URL之外的所有网站域内的其他类型URL为负样本,为有监督的机器学习的模型构建提供了充足的数据集,包括训练集、测试集和验证集。同时,采用的是针对多个国内外嵌入式设备厂商进行爬取,确保了数据集具有一定的使用价值和代表性。
步骤020、提取所述URL样本集中每个URL样本的多维特征,并将所述URL样本集中每个URL样本的多维特征转化为数值特征;利用TF-IDF算法对所述URL样本集中每个URL样本进行特征提取,获得所述URL样本集中每个URL样本的文本特征;
具体地,提取所述URL样本集中每个URL样本的字符串特征、模拟请求特征、网页信息特征等3个方面共12个维度的特征。然后,将所述URL样本集中每个URL样本的多维特征转化为数值特征。
利用TF-IDF算法对所述URL样本集中每个URL样本进行文本特征提取,获得所述URL样本集中每个URL样本的文本特征。
步骤030、基于所述URL样本集中每个URL样本的数值特征,使用机器学习的二分类算法和K折交叉验证方法进行重复训练和测试,构建第一嵌入式设备固件URL识别模型;基于所述URL样本集中每个URL样本的文本特征以及每个所述URL样本对应的标签,使用机器学习的二分类算法和K折交叉验证方法进行重复训练和测试,构建第二嵌入式设备固件URL识别模型。
具体地,基于所述URL样本集中每个URL样本的数值特征,使用机器学习的二分类算法和K折交叉验证方法进行重复训练和测试,构建第一嵌入式设备固件URL识别模型;
本发明实施例在训练分类器时,采用机器学习的分类算法是为了更高效率地识别嵌入式设备固件URL,使用K折交叉验证的方法能较好地避免过拟合现象,计算K次求得的分类率的平均值作为该模型的真实分类率更具有说服性。
在一个实施例中,所述基于所述URL样本集中每个URL样本的数值特征,使用机器学习的二分类算法和K折交叉验证方法进行重复训练和测试,构建第一嵌入式设备固件URL识别模型的步骤,具体为:
使用Python的scikit-learn机器学习的分类算法SVM和十折交叉验证方法对所述URL样本集中每个URL样本的数值特征进行重复训练和测试,构建第一嵌入式设备固件URL识别模型。
基于所述URL样本集中每个URL样本的文本特征以及每个所述URL样本对应的标签,使用机器学习的二分类算法和K折交叉验证方法进行重复训练和测试,构建第二嵌入式设备固件URL识别模型的步骤,具体为:
将所述URL样本集中每个URL样本的文本特征作为输入,将每个所述URL样本对应的标签作为输出,使用机器学习的二分类算法和K折交叉验证方法对第二嵌入式设备固件URL识别模型进行重复训练和测试,获得训练完成的第二嵌入式设备固件URL识别模型。
在一个实施例中,所述基于所述URL样本集中每个URL样本的文本特征以及每个所述URL样本对应的标签,使用机器学习的二分类算法和K折交叉验证方法进行重复训练和测试,构建第二嵌入式设备固件URL识别模型的步骤,具体为:
基于所述URL样本集中每个URL样本的文本特征以及每个所述URL样本对应的标签,使用Python的scikit-learn机器学习的分类算法SVM和十折交叉验证方法进行重复训练和测试,构建第二嵌入式设备固件URL识别模型。
如图3所示,为本发明实施例提供的基于机器学习的大规模嵌入式设备在线固件智能识别方法的总体流程示意图,包括:
1)针对预选的特定嵌入式设备厂商,分析其网站内的嵌入式设备固件网页特征,开发嵌入式设备固件URL爬虫,收集该特定嵌入式设备厂商网站内的嵌入式设备固件URL,并标记为正样本;
2)针对所述的特定嵌入式设备厂商,开发网站域内所有URL爬虫,收集该特定嵌入式设备厂商网站内的所有URL,过滤步骤1)中嵌入式设备固件URL,记剩余为其他URL,并标记为负样本;
3)针对预选的多个特定的嵌入式设备厂商,重复步骤1)和步骤2),收集固件URL和其他URL数据并完成数据集的标注,将数据集和标注信息存储到数据库;
4)提取步骤3)中每个URL的多维特征,并将所述多维特征进行数值化处理,转化为数值特征;
5)利用文本挖掘加权技术的词频-逆向文件频率TF-IDF算法对步骤3)中每个URL进行文本特征提取,获得URL的文本特征;
6)使用机器学习方法对步骤4)和步骤5)中的数值特征值和文本特征值分别进行训练和测试,构建两个嵌入式设备固件URL识别模型;
7)将爬取的其他厂商域内所有URL对应的数值特征输入至预先训练好的第一嵌入式设备固件URL识别模型中进行预测,获得第一嵌入式设备固件URL集合,将爬取的其他厂商域内所有URL的文本特征输入至预先训练好的第二嵌入式设备固件URL识别模型中进行预测,获得第二嵌入式设备固件URL集合;
8)取所述第一嵌入式设备固件URL集合与第二嵌入式设备固件URL集合的交集作为所述待识别的嵌入式设备厂商对应的嵌入式设备固件URL集合进行输出;
9)针对步骤8)中识别出的嵌入式设备固件URL开发固件下载程序,实现大规模嵌入式设备在线固件的自动化地批量下载。
本发明实施例提供的基于机器学习的大规模嵌入式设备在线固件智能识别方法,采用机器学习的二分类算法和K折交叉验证的方法对所述的两种特征提取方法获得的数值特征和文本特征进行训练和测试,构建两个嵌入式设备固件URL识别模型,能够更有效地识别嵌入式设备固件URL,避免过拟合现象,解决了传统的嵌入式设备固件下载方法存在的固件网页分析繁琐、开发程序臃肿、固件爬取效率低下、固件下载速度缓慢等问题,针对大规模嵌入式设备固件,下载URL识别难度小、爬取效率高、下载速度快。
本发明实施例提供的一种基于机器学习的大规模嵌入式设备在线固件智能识别方法,不仅仅只适用于嵌入式设备固件URL的识别与固件的下载,同样也适用于扩展到其他类型URL的识别与其他类型的压缩文件的下载领域。举个例子如下:如采用本发明实施例的方法进行大规模软件或驱动程序的在线自动化下载,针对预选的多个嵌入式设备厂商开发软件或驱动程序URL爬虫和网站域内的所有URL爬虫,收集软件或驱动程序URL和其他类型URL,并分别标记为正、负样本;采用两种方法进行URL特征提取,一种是提取URL的字符串特征、模拟请求特征、网页信息特征等多个方面的多个维度特征,另一种是使用TF-IDF算法直接对含有标签的URL数据集进行文本特征提取;采用机器学习的二分类算法和K折交叉验证方法对两种特征值分别进行训练和测试,构建两个软件或驱动程序URL识别模型;使用两个模型分别识别其他厂商的网站域内的所有URL,获得两种模型的预测的软件或取代程序URL集合,并输出两集合的交集,对识别出的软件或驱动程序URL进行软件或驱动程序的大规模、批量化下载。
如图4所示,为本发明实施例提供的一种基于机器学习的大规模嵌入式设备在线固件智能识别装置的结构示意图,包括:URL获取模块401、特征提取模块402、识别模块403,其中,
URL获取模块401,用于获取待识别的嵌入式设备厂商的网站域内的所有统一资源定位符URL;
特征提取模块402,用于提取每个所述URL的多维特征,并将所述多维特征转化为数值特征,并利用文本挖掘加权技术的词频-逆向文件频率TF-IDF算法对每个所述URL进行特征提取,获得每个所述URL的文本特征;
识别模块403,用于将所有所述URL对应的数值特征输入至预先训练好的第一嵌入式设备固件URL识别模型中进行预测,获得第一嵌入式设备固件URL集合,将所有所述URL的文本特征输入至预先训练好的第二嵌入式设备固件URL识别模型中进行预测,获得第二嵌入式设备固件URL集合,取所述第一嵌入式设备固件URL集合与第二嵌入式设备固件URL集合的交集作为所述待识别的嵌入式设备厂商对应的嵌入式设备固件URL集合进行输出;
其中,所述第一嵌入式设备固件URL识别模型是利用机器学习方法根据经过多维特征提取和数值特征转化的URL样本进行训练后获得的,所述第二嵌入式设备固件URL识别模型是利用机器学习方法根据经过文本特征提取的带有标签的URL样本进行训练获得的。
基于机器学习的大规模嵌入式设备在线固件智能识别装置用于执行上述方法实施例中的基于机器学习的大规模嵌入式设备在线固件智能识别方法。因此,在前述各实施例中的基于机器学习的大规模嵌入式设备在线固件智能识别方法中的描述和定义,可以用于本发明实施例中基于机器学习的大规模嵌入式设备在线固件智能识别装置的理解,在此不再赘述。
图5为本发明实施例提供的电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)510、通信接口(Communications Interface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储在存储器530上并可在处理器510上运行的计算机程序,以执行上述各方法实施例所提供的基于机器学习的大规模嵌入式设备在线固件智能识别方法,例如包括:获取待识别的嵌入式设备厂商的网站域内的所有统一资源定位符URL;提取每个所述URL的多维特征,并将所述多维特征转化为数值特征,并利用文本挖掘加权技术的词频-逆向文件频率TF-IDF算法对每个所述URL进行特征提取,获得每个所述URL的文本特征;将所有所述URL对应的数值特征输入至预先训练好的第一嵌入式设备固件URL识别模型中进行预测,获得第一嵌入式设备固件URL集合,将所有所述URL的文本特征输入至预先训练好的第二嵌入式设备固件URL识别模型中进行预测,获得第二嵌入式设备固件URL集合,取所述第一嵌入式设备固件URL集合与第二嵌入式设备固件URL集合的交集作为所述待识别的嵌入式设备厂商对应的嵌入式设备固件URL集合进行输出;其中,所述第一嵌入式设备固件URL识别模型是利用机器学习方法根据经过多维特征提取和数值特征转化的URL样本进行训练后获得的,所述第二嵌入式设备固件URL识别模型是利用机器学习方法根据经过文本特征提取的带有标签的URL样本进行训练获得的。
此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例提供的基于机器学习的大规模嵌入式设备在线固件智能识别方法,例如包括:获取待识别的嵌入式设备厂商的网站域内的所有统一资源定位符URL;提取每个所述URL的多维特征,并将所述多维特征转化为数值特征,并利用文本挖掘加权技术的词频-逆向文件频率TF-IDF算法对每个所述URL进行特征提取,获得每个所述URL的文本特征;将所有所述URL对应的数值特征输入至预先训练好的第一嵌入式设备固件URL识别模型中进行预测,获得第一嵌入式设备固件URL集合,将所有所述URL的文本特征输入至预先训练好的第二嵌入式设备固件URL识别模型中进行预测,获得第二嵌入式设备固件URL集合,取所述第一嵌入式设备固件URL集合与第二嵌入式设备固件URL集合的交集作为所述待识别的嵌入式设备厂商对应的嵌入式设备固件URL集合进行输出;其中,所述第一嵌入式设备固件URL识别模型是利用机器学习方法根据经过多维特征提取和数值特征转化的URL样本进行训练后获得的,所述第二嵌入式设备固件URL识别模型是利用机器学习方法根据经过文本特征提取的带有标签的URL样本进行训练获得的。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
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标记为负样本;
收集所述正样本和负样本,生成URL样本集并完成标注,将所述标注后的URL样本集存储到数据库中。
5.根据权利要求2所述的方法,其特征在于,所述基于所述URL样本集中每个URL样本的数值特征,使用机器学习的二分类算法和K折交叉验证方法进行重复训练和测试,构建第一嵌入式设备固件URL识别模型的步骤,具体为:
使用Python的scikit-learn机器学习的分类算法SVM和十折交叉验证方法对所述URL样本集中每个URL样本的数值特征进行重复训练和测试,构建第一嵌入式设备固件URL识别模型。
6.根据权利要求2所述的方法,其特征在于,所述基于所述URL样本集中每个URL样本的文本特征以及每个所述URL样本对应的标签,使用机器学习的二分类算法和K折交叉验证方法进行重复训练和测试,构建第二嵌入式设备固件URL识别模型的步骤,具体为:
基于所述URL样本集中每个URL样本的文本特征以及每个所述URL样本对应的标签,使用Python的scikit-learn机器学习的分类算法SVM和十折交叉验证方法进行重复训练和测试,构建第二嵌入式设备固件URL识别模型。
7.根据权利要求4所述的方法,其特征在于,所述利用预先开发的URL爬虫收集所述嵌入式设备厂商网站内的所有URL的步骤,具体为:
利用预先开发的URL爬虫分别对静态和动态的嵌入式设备厂商网站页面进行网站域内的所有URL抓取;
若获知抓取到的URL不是一个完整链接时,对所抓取到的URL进行拼接处理使所抓取到的URL成为完整链接,若获知所抓取到的URL的域名与所述嵌入式设备厂商网站根域名的相似度低于预设阈值时,舍弃当前所抓取到的URL。
8.一种基于机器学习的大规模嵌入式设备在线固件智能识别装置,其特征在于,包括:
URL获取模块,用于获取待识别的嵌入式设备厂商的网站域内的所有统一资源定位符URL;
特征提取模块,用于提取每个所述URL的多维特征,并将所述多维特征转化为数值特征,并利用文本挖掘加权技术的词频-逆向文件频率TF-IDF算法对每个所述URL进行特征提取,获得每个所述URL的文本特征;
识别模块,用于将所有所述URL对应的数值特征输入至预先训练好的第一嵌入式设备固件URL识别模型中进行预测,获得第一嵌入式设备固件URL集合,将所有所述URL的文本特征输入至预先训练好的第二嵌入式设备固件URL识别模型中进行预测,获得第二嵌入式设备固件URL集合,取所述第一嵌入式设备固件URL集合与第二嵌入式设备固件URL集合的交集作为所述待识别的嵌入式设备厂商对应的嵌入式设备固件URL集合进行输出;
其中,所述第一嵌入式设备固件URL识别模型是利用机器学习方法根据经过多维特征提取和数值特征转化的URL样本进行训练后获得的,所述第二嵌入式设备固件URL识别模型是利用机器学习方法根据经过文本特征提取的带有标签的URL样本进行训练获得的。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述基于机器学习的大规模嵌入式设备在线固件智能识别方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一项所述基于机器学习的大规模嵌入式设备在线固件智能识别方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910526064.8A CN110413909B (zh) | 2019-06-18 | 2019-06-18 | 基于机器学习的大规模嵌入式设备在线固件智能识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910526064.8A CN110413909B (zh) | 2019-06-18 | 2019-06-18 | 基于机器学习的大规模嵌入式设备在线固件智能识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110413909A true CN110413909A (zh) | 2019-11-05 |
CN110413909B CN110413909B (zh) | 2022-06-10 |
Family
ID=68359244
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910526064.8A Active CN110413909B (zh) | 2019-06-18 | 2019-06-18 | 基于机器学习的大规模嵌入式设备在线固件智能识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110413909B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116418828A (zh) * | 2021-12-28 | 2023-07-11 | 北京领航智联物联网科技有限公司 | 基于人工智能的视音频设备集成管理方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106295335A (zh) * | 2015-06-11 | 2017-01-04 | 中国科学院信息工程研究所 | 一种面向嵌入式设备的固件漏洞检测方法及系统 |
US20170155665A1 (en) * | 2015-12-01 | 2017-06-01 | Webroot Inc. | Detection and prevention of hostile network traffic flow appropriation and validation of firmware updates |
CN107741959A (zh) * | 2017-09-21 | 2018-02-27 | 北京知道未来信息技术有限公司 | 一种基于机器学习的伪静态url识别方法及系统 |
CN105938532B (zh) * | 2015-11-25 | 2018-03-16 | 北京匡恩网络科技有限责任公司 | 一种对固件样本大规模采样及漏洞分析方法 |
CN109446812A (zh) * | 2018-05-09 | 2019-03-08 | 国家计算机网络与信息安全管理中心 | 一种嵌入式系统固件安全分析方法及系统 |
CN105740477B (zh) * | 2016-03-18 | 2019-03-29 | 中国科学院信息工程研究所 | 针对大规模嵌入式设备固件的函数搜索方法和搜索引擎 |
-
2019
- 2019-06-18 CN CN201910526064.8A patent/CN110413909B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106295335A (zh) * | 2015-06-11 | 2017-01-04 | 中国科学院信息工程研究所 | 一种面向嵌入式设备的固件漏洞检测方法及系统 |
CN105938532B (zh) * | 2015-11-25 | 2018-03-16 | 北京匡恩网络科技有限责任公司 | 一种对固件样本大规模采样及漏洞分析方法 |
US20170155665A1 (en) * | 2015-12-01 | 2017-06-01 | Webroot Inc. | Detection and prevention of hostile network traffic flow appropriation and validation of firmware updates |
CN105740477B (zh) * | 2016-03-18 | 2019-03-29 | 中国科学院信息工程研究所 | 针对大规模嵌入式设备固件的函数搜索方法和搜索引擎 |
CN107741959A (zh) * | 2017-09-21 | 2018-02-27 | 北京知道未来信息技术有限公司 | 一种基于机器学习的伪静态url识别方法及系统 |
CN109446812A (zh) * | 2018-05-09 | 2019-03-08 | 国家计算机网络与信息安全管理中心 | 一种嵌入式系统固件安全分析方法及系统 |
Non-Patent Citations (4)
Title |
---|
YU CHEN;HONG LI;WEIWEI ZHAO; LIN ZHANG;ZHONGJIN LIU;ZHIQIANG SHI: "IHB: A scalable and efficient scheme to identify homologous binaries in IoT firmwares", 《2017 IEEE 36TH INTERNATIONAL PERFORMANCE COMPUTING AND COMMUNICATIONS CONFERENCE(IPCCC)》 * |
朱晓东: "基于结构化特征库的递进式固件格式解析", 《武汉大学学报(理学版)》 * |
王猛涛,刘中金,常青,陈昱,石志强: "面向大规模嵌入式设备固件的自动化分析方法", 《北京邮电大学学报》 * |
陈昱,刘中金,赵威,马原,石志强,孙利民: "一种大规模的跨平台同源二进制文件检索方法", 《计算机研究与发展》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116418828A (zh) * | 2021-12-28 | 2023-07-11 | 北京领航智联物联网科技有限公司 | 基于人工智能的视音频设备集成管理方法 |
CN116418828B (zh) * | 2021-12-28 | 2023-11-14 | 北京领航智联物联网科技有限公司 | 基于人工智能的视音频设备集成管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110413909B (zh) | 2022-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104199874A (zh) | 一种基于用户浏览行为的网页推荐方法 | |
CN105512285B (zh) | 基于机器学习的自适应网络爬虫方法 | |
CN109005145A (zh) | 一种基于自动特征抽取的恶意url检测系统及其方法 | |
CN107092826B (zh) | 网页内容安全实时监测方法 | |
CN106991160B (zh) | 一种基于用户影响力以及内容的微博传播预测方法 | |
CN106776503A (zh) | 文本语义相似度的确定方法及装置 | |
CN108090070A (zh) | 一种中文实体属性抽取方法 | |
CN104079559B (zh) | 一种网址安全性检测方法、装置及服务器 | |
CN108229170A (zh) | 利用大数据和神经网络的软件分析方法和装置 | |
CN111881398B (zh) | 页面类型确定方法、装置和设备及计算机存储介质 | |
CN112115266B (zh) | 恶意网址的分类方法、装置、计算机设备和可读存储介质 | |
CN109684482A (zh) | 一种基于深度神经网络模型的民族文化资源聚类分析方法 | |
CN115033895B (zh) | 一种二进制程序供应链安全检测方法及装置 | |
CN115757991A (zh) | 一种网页识别方法、装置、电子设备和存储介质 | |
Sun et al. | Android malware family classification based on deep learning of code images | |
CN111460803B (zh) | 基于工业物联网设备Web管理页面的设备识别方法 | |
CN110413909A (zh) | 基于机器学习的大规模嵌入式设备在线固件智能识别方法 | |
Suryotrisongko et al. | Topic modeling for cyber threat intelligence (cti) | |
CN109684844B (zh) | 一种webshell检测方法、装置以及计算设备、计算机可读存储介质 | |
CN112052453A (zh) | 基于Relief算法的webshell检测方法及装置 | |
CN111797904A (zh) | 网页页面特征的篡改检测方法及装置 | |
CN114817516A (zh) | 零样本条件下基于逆向匹配的画像映射方法、装置和介质 | |
CN107609094A (zh) | 数据消歧方法、装置及计算机设备 | |
CN114513355A (zh) | 恶意域名检测方法、装置、设备及存储介质 | |
CN113159315A (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 | ||
GR01 | Patent grant |