一种对固件样本大规模采样及漏洞分析方法技术

技术编号:13707929 阅读:59 留言:0更新日期:2016-09-15 01:24
本发明专利技术公开了一种对固件样本大规模采样及漏洞分析方法,其特征在于,包括以下步骤:使用网络爬虫对固件进行采样;识别采样的固件并对所述固件已公开的安全信息进行过滤;对所采样的固件进行解压;对解压后的固件进行漏洞分析。

【技术实现步骤摘要】

本专利技术涉及计算机网络信息安全领域,尤其涉及一种对固件样本大规模采样及漏洞分析方法
技术介绍
嵌入式系统在我们的日常生活中无处不在从日常使用的手机,打印机,路由器到复杂的航天飞机、导弹系统,都离不开嵌入式系统。在一辆轿车中,就可能集合了十几个嵌入式系统。不同于计算机的是,嵌入式系统将微处理器嵌入到特定的控制对象中,以操作电子元件执行相应的任务,方便人们的生活。所有这些系统上运行的特殊软件,通常被称为固件。它们是用来告诉电子设备如何操作的控制程序。就像传统的软件,嵌入式固件通常会有很多的漏洞或者后门,并且根据目前为止的很多研究或者公开的漏洞信息显示,嵌入式固件的漏洞和后门非常的普遍。另一方面,对固件的手动研究能够产生非常精确的结果,但是这个过程往往非常的缓慢,并且能够覆盖的范围也非常的有限。同时由于设备厂商经常会重用一些代码,比如说SDK,如果缺乏大规模的固件分析,很难通过一个漏洞发现举一反三,发现大量的相关固件的漏洞。
技术实现思路
为解决现有技术中存在的问题,本专利技术提出了一种对固件样本大规模采样及漏洞分析方法。本专利技术的技术方案包括以下步骤:步骤一:使用网络爬虫对固件进行采样;步骤二:识别采样的固件并对所述固件已公开的安全信息进行过滤;步骤三:对所采样的固件进行解压;步骤四:对解压后的固件进行漏洞分析。进一步地,所述步骤一包括:初始化所述固件的URL下载界面并由所述爬虫直接爬取下载;使用搜索引擎搜索所述固件关键字,将得到的URL传送给所述爬虫进行爬取下载;人工将固件或URL提交给所述爬虫进行爬取下载;将下载成功的固件存储到数据库。进一步地,所述步骤二包括:对固件进行进一步分析之前对所述固件已公开的安全信息进行过滤,总结所述固件的已公开的安全问题。进一步地,所述步骤三包括:使用可定制的固件解压框架提取固件内容。进一步地,所述步骤四包括,对于可解压的固件:尝试提取文件中包含的明码字段;对二进制可执行文件进行反汇编分析;分析固件的关联性。进一步地,所述步骤四还包括,对于不可解压的固件:使用文件分析工具获得固件文件的基本数据类型;使用字符串打印工具提取固件文件中的明码字段,分析是否有引导装载程序以及操作系统内核信息;使用固件解压框架寻找标头信息;使用十六进制转储工具分析为对齐固件文件空间分段而放入的连续填充字节。本专利技术的技术方案所取得的有益效果在于:对固件较广范围的智能化的覆盖与分析,实现了对大量固件的漏洞进行快速挖掘分析的目的。附图说明图1为使用本专利技术的对固件样本大规模采样及漏洞分析方法对固件进行分析的流程图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,下面结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。本实施方案分为两个步骤:步骤一为利用网络爬虫技术大规模搜集嵌入式设备固件,步骤二对所搜集的固件进行漏洞挖掘与分析。利用网络爬虫技术大规模搜集嵌入式设备固件:1.访问知名的固件厂家的URL下载点,这些专业固件厂家的URL或为文件URL,爬虫可以直接下载,或为目录型的URL,爬虫进行遍历即可下载到所有的固件。2.利用FTP搜索引擎,搜索指定的关键字,将搜索的结果中的URL交给爬虫进行固件的爬取。3.利用Google通用搜索,搜索到能够提供Firmware固件的各厂家URL,然后使用谷歌客户搜索引擎(GCSE),对搜索到的URL进行定制化搜索。4.人工进行固件的收集和上传。5.利用NoSQL数据库,将下载成功的固件存储到数据库中供后续分析使用。对所搜集的固件进行漏洞挖掘与分析:1.对已公开的安全信息进行过滤为了提高漏洞挖掘效率及降低规模化自动框架不必要的负荷,在对固件进行进一步分析之前应首先对已公开的安全信息进行过滤,总结此固件已经发现的安全问题。2.对固件解压使用可定制的固件解压框架提取固件内容。该解压框架利用模式匹配来定位和分割文件。对于常见的嵌入式设备固件,例如基于Linux的SquashFS文件系统,固件解压框架内置多种特征符可以识别,所以使用时可先让固件解压框架尝试自动解压文件包。对于无法自动解压的固件,可以基于以下方法分析:1).使用文件分析工具获得固件文件的基本数据类型。2).使用字符串打印工具提取文件中所包含的明码字段,寻找是否有引导装载程序以及操作系统内核的信息。3).使用固件解压框架寻找标头信息,如果解压框架识别的详细信息和文件压缩类型,根据发现的压缩类型解压文件。4).使用十六进制转储工具(hexdump)分析为了对齐固件文件空间分段而放入的连续填充字节,文件系统标示有可能紧跟此后。5).文件系统有可能使用非标准的特征符,如果发现可疑特征符字段,可以替换为标准特征符,再尝试由固件解压框架进行识别。3.固件的分析固件解压之后的分析包括主要集中在对常见漏洞入口进行针对性的静态分析,包括密码,默认开启的服务,端口,配置文件等。1).尝试提取文件中包含的明码字段,判断是否存在硬编码密码等。2).对二进制可执行文件进行反汇编分析。支持包括X86和ARM在内的多种架构,可以提供反汇编指令的详细信息,并提供反汇编指令的语义。3).发掘固件的关联性,包括分析固件作者,库使用,目录结构,配置文件关键字,定制默认密码等。4).如果发现包含密码哈希的文件,可考虑使用John the Ripper,Hash Suite等工具进行破解。前者有版本支持GPU加速(支持CUDA和OpenCL)。使用暴力破解可以利用前述步骤中提取的关键字,显著加快运行效率。在设计固件分析模块时可考虑并行化,分布化扩展,以提高规模和效率。以上所述实施例仅表达了本专利技术的实施方式,其描述较为具体和详细,但并不能因此而理解为对本专利技术专利的限制。应该指出的是,对于本领域的普通技术人员来说,在不脱离本专利技术构思的前提下,还可以做出若干变形和改进,这些都属于本专利技术的保护范围。因此,本专利技术专利的保护范围应以所附权利要求为准。本文档来自技高网...
一种对固件样本大规模采样及漏洞分析方法

【技术保护点】
一种对固件样本大规模采样及漏洞分析方法,其特征在于,包括以下步骤:步骤一:使用网络爬虫对固件进行采样;步骤二:识别采样的固件并对所述固件已公开的安全信息进行过滤;步骤三:对所采样的固件进行解压;步骤四:对解压后的固件进行漏洞分析。

【技术特征摘要】
1.一种对固件样本大规模采样及漏洞分析方法,其特征在于,包括以下步骤:步骤一:使用网络爬虫对固件进行采样;步骤二:识别采样的固件并对所述固件已公开的安全信息进行过滤;步骤三:对所采样的固件进行解压;步骤四:对解压后的固件进行漏洞分析。2.如权利要求1所述的对固件样本大规模采样及漏洞分析方法,其特征在于,所述步骤一包括:初始化所述固件的URL下载界面并由所述爬虫直接爬取下载;使用搜索引擎搜索所述固件关键字,将得到的URL传送给所述爬虫进行爬取下载;人工将固件或URL提交给所述爬虫进行爬取下载;将下载成功的固件存储到数据库。3.如权利要求1所述的对固件样本大规模采样及漏洞分析方法,其特征在于,所述步骤二包括:对固件进行进一步分析之前对所述固件已公开的安全信息进行过滤,总结所述固件的已公开的安全问题。4.如权利要求1所述的对固件样本大规模采样及...

【专利技术属性】
技术研发人员:孙易安
申请(专利权)人:北京匡恩网络科技有限责任公司
类型:发明
国别省市:北京;11

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

1