一种面向物联网设备固件仿真的漏洞分析及利用靶标构建的实现方法与流程

专利2023-01-22  116



1.本发明涉及一种面向物联网设备固件仿真的漏洞分析及利用靶标构建的实现方法,具体涉及物联网设备固件、仿真模拟及靶标构建,属于嵌入式系统安全技术领域。


背景技术:

2.互联网发展至今,已经超越了个人电脑和大型服务器的网络,同时它还连接着数以百万计的嵌入式设备。这一新趋势被称为物联网,简称iot。随着物联网的迅猛发展和嵌入式设备的广泛普及,该技术被广泛应用与工业、商业、农业以及智能交通、智能家居、智能医疗、智慧城市及智能物流等各个领域。用户通过手机、电脑等移动设备就可以在任何时间、任何地方对任何一个连接到网络上的嵌入式设备进行控制,比如,人们可以在回家途中使用手机连接到室内的空调,打开空调调节模式以便可以在进入家门时即可享受到凉爽或温暖的舒适环境;人们可以在办公室中用手机连接网络摄像头随时监控家中的任何异常情况,观察家中的电器是否关闭,是否有小偷入室盗窃等。但是,物联网设备的出现,给人们生活带来方便的同时,也带来了很多潜在的问题。嵌入式设备的处理器架构多样、功能各异,导致对于嵌入式设备的安全分析步骤复杂、专业知识要求严格,再加上人们的安全意识仍然薄弱,因此,目前对于嵌入式设备的安全研究发展较为缓慢。
3.嵌入式物联网设备的安全问题需要引起足够的重视,2016年9月美国多个地区的嵌入式物联网设备遭受大规模的ddos,该事件是由一个名为mirai的僵尸网络病毒引发的,mirai能够感染网络摄像头、路由器、无线打印机等嵌入式设备,利用多个已知、未公开的漏洞进行入侵和控制,然后通过互联网对其他嵌入式设备进行感染,该病毒爆发高峰时,操控了数十万台嵌入式设备用来执行ddos。美国多家大型互联网企业包括amazon、spotify、twitter等的官方网站都受到该病毒影响而导致页面无法访问。为这些互联网企业提供域名访问的dyn公司也在10月份遭受了大规模的ddos,导致多家网站和在线服务无法访问,该事件也被称为“美东断网事件”。2017年5月,一种新型的勒索病毒wannacry在全世界范围内爆发。该病毒借助高危漏洞“永恒之蓝”,利用windows系统默认开放的445端口进行利用,并通过扫描同一网段内其他机器的端口进行自我复制和自我传播。在短时间内就迅速扩散,导致上百个国家,至少30万机器受到感染,共计损失高达80亿美元。2018年5月,思科安全团队公开了一款高可扩展性、高破坏性的恶意软件“vpnfilter”,该恶意软件能够烧坏设备来掩盖自身踪迹,还能监控设备流量盗取用户信息。其影响的设备类型大多是联网的网络设备和存储设备,据统计,vpnfliter已经感染了至少50个国家共计50万台物联网设备。
4.从这些重大漏洞利用事件的影响范围和出现频率可以看出,加快对于物联网设备的逆向工程、漏洞分析,不仅有助于促进传统产业转型升级,推动全球物联网发展,而且对于国家信息安全、网络数据保护、个人信息保障等方面也具有重大意义。
5.目前有许多在线设备扫描服务,如shodan、censys等,可以对互联网上所有的在线设备进行扫描并提供扫描得到的设备详细信息。这种易于使用的研究工具使安全研究人员
能够更加高效、快捷地识别可能暴露或可利用的嵌入式物联网设备。但是,这种全网扫描的缺点是仅可以针对嵌入式设备开放的端口进行漏洞扫描,如果设备没有开放端口或是根本没有联网,则无法对其进行漏洞分析。由于嵌入式物联网设备的种类繁多、功能各异,且固件中存在着各种各样的安全漏洞,因此针对嵌入式设备的安全研究非常困难,导致其受影响的面越来越大,频率也越来越高。各家设备厂商对于固件的安全检测和更新并不积极,用户在购买设备后也不会主动进行固件的升级,一旦某个嵌入式设备固件中发现漏洞,则会影响百万、甚至上千万数量的用户安全。
6.嵌入式物联网设备受到影响时,不仅损害了设备本身的安全性,更是威胁了整个计算机系统的稳固。为了解决如此众多的物联网设备中的安全问题,研究人员一直致力于大规模分析这些设备的固件。所以目前亟需进一步探究物联网设备的内部结构与运作原理,从设备本身固件入手,但是更多时候,研究人员手中并没有相应的设备。也就是说,获取各种固件成本低廉,而获取产品则需要花费一定财力。对固件的仿真模拟并将其应用到实际的网络靶场中的需求由此出现,进而帮助人们更好的理解固件,维护整个计算机系统的安全和稳固。


技术实现要素:

7.针对目前最流行固件仿真框架的低成功率问题,本发明提出了一种面向物联网设备固件仿真的漏洞分析及利用靶标构建的实现方法,该方法通过对设备固件的获取,结合静态分析与动态分析,解析出固件,为提高仿真的成功率,要进行一系列的干预行为,之后模拟出目标固件所需环境。在虚拟化环境中,即可对已知漏洞进行复现、分析,并最终打包成靶标,方便研究人员研究。
8.为了达到上述目的,本发明是通过以下技术方案实现的:
9.一种面向物联网设备固件仿真的漏洞分析及利用靶标构建的实现方法,该方法从固件模拟的角度,对漏洞进行复现,并形成靶标,包括如下步骤:
10.步骤1:获取并解析物联网设备固件,在设备供应商官网上下载固件信息或通过硬件接入的方式直接读取存储芯片上的内容,或通过串口调试的方式获取到固件信息,并解析固件的二进制数据;
11.步骤2:对步骤1中获取到的固件信息,使用qemu模拟器,通过系统级仿真技术,对目标固件进行模拟;
12.步骤3:在步骤2的基础上,在模拟过程中,进行一系列的干预行为;
13.步骤4:在步骤3的基础上,完成物联网设备固件漏洞的复现,并打包成一个靶标。
14.本发明的进一步改进在于:步骤1中固件获取与解析,在设备官网上获取固件信息,或者通过硬件接入直接读取固件存储芯片,绕过控制设备控制器(或处理器),直接控制设备的flash芯片,读取到芯片中的整片内容,或者利用uart串口调试来执行shell命令获取固件信息,并解析固件的二进制数据,具体为:
15.(1)固件获取:首先在设备供应商官网上的技术支持区下载固件;当无法通过官网或售后获取固件时,可以通过编程器等硬件设备直接读取固件存储芯片,绕过控制设备控制器,直接控制设备的flash芯片,读取到芯片中的内容;当无法通过官网或编程器的方式获取物联网设备固件时,终端设备的存储芯片通常挂载在文件系统上,可以使用uart调试
接口来使用终端设备shell获取固件,通过执行命令“cat/proc/mtd”看到boot、内核、文件系统等挂载的起始地址与字节大小,其中文件系统“rootfs”挂载的位置为mtd3,此时使用dd命令即可获取设备文件系统镜像,并使用ftp/tftp等方式将固件传出。
16.(2)固件解析:嵌入式设备固件指存储在电可擦除只读存储器eeprom或flash芯片中的一段二进制程序,固件中包含了嵌入式设备中的所有可执行程序以及配置文件,是嵌入式设备最为核心的部分,决定了该设备功能和性能,因此固件是软件,而不是硬件。固件可能有一个引导加载程序bootloader、内核kernel和文件系统filesystem这个映像通常以各种方式压缩,如lzma、zip或gzip,以节省存储空间。利用第三方固件分析工具binwalk或firmware-mod-kit对固件类型进行初步分析,根据固件运行的系统架构、文件格式进行分类存储在数据库中,最终建立一个完整的嵌入式物联网设备固件数据集合。
17.本发明的进一步改进在于:步骤2中,对步骤1中获取到的固件信息,使用qemu模拟器,通过系统级仿真技术,并添加一系列的干预行为,完成对目标固件进行模拟,具体为:
18.步骤2-1:将步骤1中收集整合的嵌入式物联网设备固件数据集合,进行更加细致的研究;对目前动态仿真技术中用到的应用程序级仿真、进程级仿真、系统级仿真,进行进一步的优缺点比较,根据固件的特征值数据表,选取系统级仿真作为固件动态分析平台的仿真环境,将硬件设备的全部接口都进行仿真,快速的模拟出真实的固件运行环境;
19.步骤2-2:在主机上安装qemu模拟器,选取适合固件版本的相关组件,设置模拟器相关参数,使用某个固件信息进行简单测试,保证模拟器正常运行;
20.步骤2-3:将固件中提取出来的根文件系统进行挂载,然后使用qemu对内核进行全系统动态仿真,在仿真过程中,对系统配置文件进行扫描跟踪,推断固件环境的网络配置参数并进行调整。
21.本发明的进一步改进在于:步骤3中,在步骤2的基础上,在模拟过程中,进行一系列的干预行为,如图3,具体为:
22.步骤3-1:错误的启动顺序会导致内核启动失败,主要原因在于系统初始化的程序没有正确执行。所以可以利用目标固件内核信息。在启动过程中,提取嵌入到固件映像的内核命令行字符串,此信息可能包括初始化程序路径、控制台类型、文件系统及内存大小。通过使用从原始内核获得的信息配置仿真环境,可以正确地初始化系统而不会出错,即使初始化程序有不寻常的路径。如果不能提取任何信息,就会从提取的文件系统中找到初始化程序,比如preinit或preinitmt;
23.步骤3-2:web服务器有时会启动失败。对web服务的进行动态分析时,需要同时实现网络可达性和web服务可用性。在一些映像中,即使网络配置成功,web服务器也不能运行。强制执行web服务器的干预可以解决这个问题。具体地说,可以搜索广泛使用的web服务器,如httpd、lighttpd、boa,或者在目标固件的文件系统中继续,以及它们相应的配置文件,并执行它;
24.步骤3-3:缺乏模拟工具也会导致模拟失败。嵌入式设备开发人员经常省略不必要的功能以节省存储空间。因此,固件映像可能没有适当的工具来模拟自己。由于模拟环境没有任何存储限制,可以添加几个必需的工具。为了成功模拟,应该在文件系统中准备几个linux命令,比如mount或ln。可以通过将最新版本的busybox添加到目标固件的文件系统来解决这个问题。这个简单的添加可以启用必要的命令,并导致成功的模拟。
25.有益效果:
26.1、本发明从设备固件的角度入手,通过不同的固件获取方式进行设备固件的收集整理与归纳,保证设备固件覆盖范围足够全面,此外,对固件的处理器架构、指令集、文件格式等二进制数据进行分析,建立了一个固件特征值数据表,通过该数据表对固件中的系统类别和文件格式进行识别,然后根据其处理器架构和数据存储方式进行解析,获取固件中的内核和根文件系统,相比于其它方式,分析方法更贴近设备底层,可以更深层次地解析出设备的各方面信息。
27.2、本发明采用固件模拟的角度,使用了功能全面的处理器模拟器qemu,针对固件进行模拟时,对于底层硬件架构透明,即不仅可以支持x86架构,还能够支持arm、mips架构的设备仿真,对各种设备都能方便的进行交叉编译和动态调试,此外,qemu简单易操作,相比于其它方式,更加高效。
28.3、本发明提出的干预行为,可以大大提高固件仿真的成功率,模拟效果更好。
附图说明
29.图1是本发明的方法流程图。
30.图2是本发明中固件获取与解析的结构框图。
31.图3是本发明中基于qemu对固件模拟的结构框图。
32.图4是本发明中添加的干预行为结构框图。
具体实施方式
33.以下将以图式揭露本发明的实施方式,为明确说明起见,许多实务上的细节将在以下叙述中一并说明。然而,应了解到,这些实务上的细节不应用以限制本发明。也就是说,在本发明的部分实施方式中,这些实务上的细节是非必要的。
34.如图1-3所示,本发明提供了一种面向物联网设备固件仿真的漏洞分析及利用靶标构建的实现方法,该方法从固件模拟的角度,对漏洞进行复现,并形成靶标,包括如下步骤:
35.步骤1:固件获取与解析,在设备官网上获取固件信息,或者通过硬件接入直接读取固件存储芯片,绕过控制设备控制器(或处理器),直接控制设备的flash芯片,读取到芯片中的整片内容,或者利用uart串口调试来执行shell命令获取固件信息,并解析固件的二进制数据,如图2,具体为:
36.步骤1-1):固件获取:首先在设备供应商官网上的技术支持区下载固件;当无法通过官网或售后获取固件时,可以通过编程器等硬件设备直接读取固件存储芯片,绕过控制设备控制器,直接控制设备的flash芯片,读取到芯片中的内容;当无法通过官网或编程器的方式获取物联网设备固件时,终端设备的存储芯片通常挂载在文件系统上,可以使用uart调试接口来使用终端设备shell获取固件,通过执行命令“cat/proc/mtd”看到boot、内核、文件系统等挂载的起始地址与字节大小,其中文件系统“rootfs”挂载的位置为mtd3,此时使用dd命令即可获取设备文件系统镜像,并使用ftp/tftp等方式将固件传出。
37.步骤2-2:固件解析:嵌入式设备固件指存储在电可擦除只读存储器eeprom或flash芯片中的一段二进制程序,固件中包含了嵌入式设备中的所有可执行程序以及配置
文件,是嵌入式设备最为核心的部分,决定了该设备功能和性能,因此固件是软件,而不是硬件。固件可能有一个引导加载程序bootloader、内核kernel和文件系统filesystem这个映像通常以各种方式压缩,如lzma、zip或gzip,以节省存储空间。利用第三方固件分析工具binwalk或firmware-mod-kit对固件类型进行初步分析,根据固件运行的系统架构、文件格式进行分类存储在数据库中,最终建立一个完整的嵌入式物联网设备固件数据集合。
38.步骤2:对步骤1中获取到的固件信息,使用qemu模拟器,通过系统级仿真技术,对目标固件进行模拟,如图3,具体为:
39.步骤2-1:将步骤1中收集整合的嵌入式物联网设备固件数据集合,进行更加细致的研究;对目前动态仿真技术中用到的应用程序级仿真、进程级仿真、系统级仿真,进行优缺点比较,选取系统级仿真作为固件动态分析平台的仿真环境,将硬件设备的全部接口都进行仿真,快速的模拟出真实的固件运行环境;
40.步骤2-2:在主机上安装qemu模拟器,选取适合固件版本的相关组件,设置模拟器相关参数,使用某个固件信息进行简单测试,保证模拟器正常运行;
41.步骤2-3:将固件中提取出来的根文件系统进行挂载,然后使用qemu对内核进行全系统动态仿真,在仿真过程中,对系统配置文件进行扫描跟踪,推断固件环境的网络配置参数并进行调整。
42.步骤3:在步骤2的基础上,在模拟过程中,进行一系列的干预行为,如图4所示,具体包括:
43.步骤3-1:错误的启动顺序会导致内核启动失败,主要原因在于系统初始化的程序没有正确执行。所以可以利用目标固件内核信息。在启动过程中,提取嵌入到固件映像的内核命令行字符串,此信息可能包括初始化程序路径、控制台类型、文件系统及内存大小。通过使用从原始内核获得的信息配置仿真环境,可以正确地初始化系统而不会出错,即使初始化程序有不寻常的路径。如果不能提取任何信息,就会从提取的文件系统中找到初始化程序,比如preinit或preinitmt;
44.步骤3-2:web服务器有时会启动失败。对web服务的进行动态分析时,需要同时实现网络可达性和web服务可用性。在一些映像中,即使网络配置成功,web服务器也不能运行。强制执行web服务器的干预可以解决这个问题。具体地说,可以搜索广泛使用的web服务器,如httpd、lighttpd、boa,或者在目标固件的文件系统中继续,以及它们相应的配置文件,并执行它;
45.步骤3-3:缺乏模拟工具也会导致模拟失败。嵌入式设备开发人员经常省略不必要的功能以节省存储空间。因此,固件映像可能没有适当的工具来模拟自己。由于模拟环境没有任何存储限制,可以添加几个必需的工具。为了成功模拟,应该在文件系统中准备几个linux命令,比如mount或ln。可以通过将最新版本的busybox添加到目标固件的文件系统来解决这个问题。这个简单的添加可以启用必要的命令,并导致成功的模拟。
46.以上所述仅为本发明的实施方式而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理的内所作的任何修改、等同替换、改进等,均应包括在本发明的权利要求范围之内。

技术特征:
1.一种面向物联网设备固件仿真的漏洞分析及利用靶标构建的实现方法,其特征在于:所述方法包括如下步骤:步骤1:获取并解析物联网设备固件,在设备供应商官网上下载固件信息或通过硬件接入的方式直接读取存储芯片上的内容,或通过串口调试的方式获取到固件信息,并解析固件的二进制数据;步骤2:对步骤1中获取到的固件信息,使用qemu模拟器,通过系统级仿真技术,对目标固件进行模拟;步骤3:在步骤2的基础上,在模拟过程中,进行干预;步骤4:在步骤3的基础上,完成物联网设备固件漏洞的复现,并打包成一个靶标。2.根据权利要求1所述一种面向物联网设备固件仿真的漏洞分析及利用靶标构建的实现方法,其特征在于:所述步骤1包括:步骤1-1:固件获取;首先在设备供应商官网上的技术支持区下载固件,当无法通过官网或售后获取固件时,通过编程器硬件设备直接读取固件存储芯片,绕过控制设备控制器,直接控制设备的flash芯片,读取到芯片中的内容,当无法通过官网或编程器的方式获取物联网设备固件时,终端设备的存储芯片通常挂载在文件系统上,使用uart调试接口来使用终端设备shell获取固件;步骤1-2:固件解析;固件有一个引导加载程序bootloader、内核kernel和文件系统filesystem这个映像通常以各种方式压缩,利用第三方固件分析工具binwalk或firmware-mod-kit对固件进行解压,最终建立一个完整的嵌入式物联网设备固件数据集合。3.根据权利要求1所述一种面向物联网设备固件仿真的漏洞分析及利用靶标构建的实现方法,其特征在于:所述步骤2包括:步骤2-1:将步骤1中收集整合的嵌入式物联网设备固件数据集合,进行更加细致的研究;步骤2-2:在主机上安装qemu模拟器,选取适合固件版本的相关组件,设置模拟器相关参数,使用某个固件信息进行简单测试,保证模拟器正常运行;步骤2-3:将固件中提取出来的根文件系统进行挂载,然后使用qemu对内核进行全系统动态仿真。4.根据权利要求1所述一种面向物联网设备固件仿真的漏洞分析及利用靶标构建的实现方法,其特征在于:所述步骤3在模拟过程中,进行一系列的干预行为,包括:步骤3-1:利用目标固件内核信息,在启动过程中,提取嵌入到固件映像的内核命令行字符串,此信息包括初始化程序路径、控制台类型、文件系统及内存大小,通过使用从原始内核获得的信息配置仿真环境,能够正确地初始化系统而不会出错,即使初始化程序有不寻常的路径;步骤3-2:强制执行web服务器的干预,能够搜索广泛使用的web服务器;步骤3-3:添加几个必需的工具,在文件系统中准备几个linux命令,即mount和ln。

技术总结
本发明是一种面向物联网设备固件仿真的漏洞分析及利用靶标构建的实现方法,该方法包括如下步骤:(1)获取并解析物联网设备固件;(2)对步骤1中获取到的固件信息,使用QEMU模拟器,通过系统级仿真技术,对目标固件进行模拟;(3)在步骤2的基础上,在模拟过程中,进行一系列的干预行为;本发明通过QEMU模拟器对固件进行模拟仿真时,添加了干预行为,很好地提高了固件仿真的成功率,能够使得研究人员的精力进一步聚焦于各种物联网设备仿真的定制以及漏洞分析。洞分析。洞分析。


技术研发人员:沙乐天 王超逸
受保护的技术使用者:南京萌草信息技术有限公司
技术研发日:2022.07.22
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-323.html

最新回复(0)