CN112134761B - 基于固件分析的电力物联网终端脆弱性检测方法及系统 - Google Patents
基于固件分析的电力物联网终端脆弱性检测方法及系统 Download PDFInfo
- Publication number
- CN112134761B CN112134761B CN202011009890.4A CN202011009890A CN112134761B CN 112134761 B CN112134761 B CN 112134761B CN 202011009890 A CN202011009890 A CN 202011009890A CN 112134761 B CN112134761 B CN 112134761B
- Authority
- CN
- China
- Prior art keywords
- firmware
- vulnerability
- analysis
- unit
- power internet
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability analysis
Abstract
本发明公开了基于固件分析的电力物联网终端脆弱性检测方法及系统,该方法包括:步骤1,对电力物联网终端进行固件包提取;步骤2,根据提取的电力物联网终端固件包,进行固件文件及代码逆向提取,得到所述固件包内的固件程序、代码及文件系统;步骤3,进行漏洞挖掘分析,得到固件漏洞;步骤4,搭建固件仿真模拟环境,仿真模拟运行所述固件;步骤5,根据分析得到的固件漏洞,在搭建的固件仿真运行环境上运行所述固件,进行各个所述固件漏洞的脆弱性验证,若所述固件漏洞能够被利用成功,则该固件漏洞存在较高安全隐患;若失败,则该固件漏洞存在较低安全隐患。本发明解决了电力领域中物联网设备其嵌入式系统软件的网络安全漏洞的有效检测。
Description
技术领域
本发明涉及电力物联网领域、网络安全技术领域,具体涉及基于固件分析的电力物联网终端脆弱性检测方法及系统。
背景技术
物联网技术在日常生活中扮演日益重要的角色,近年来各行各业物联概念蓬勃发展,但物联网设备的嵌入式系统软件安全却不容乐观。根据中国国家信息安全测评中心漏洞库的统计,关于IoT系统中嵌入式智能软件安全漏洞的记录近年来呈上升趋势,IoT系统面临网络安全威胁日益增加。
电力物联网是物联网技术在智能电网中的发展产物,其应用将有效整合电力基础设施资源,提升电力系统信息化水平,改善电力系统现有基础设施利用效率。2011年3月我国电力物联网概念顺应而生。各电力物联网设备厂商加紧推进设备智能化制造过程中往往只注重功能实现,而忽略安全性问题,硬件厂商为了后期调试维护方便,常预留后门。而针对用户隐私、基础网络环境等安全攻击层出不穷,电力物联网风险评估、安全评测等技术尚不成熟,成为推动电力物联网广泛应用的重要制约因素。固件是物联网设备中的嵌入式软件,承载物联网设备的操作系统和功能代码,是最容易被黑客利用的攻击点,攻击者常通过供应链污染、硬件破解、远程热刷写等手段,将恶意代码植入物联网固件中,比如典型的“心脏滴血”“Devil’ sIvy”等漏洞。针对物联网设备的网络攻击影响巨大,如2016年的Mirai僵尸网络通过对物联网设备发动DDOS攻击造成美国东部大面积断网,而电力物联网设备存在覆盖面广、暴露面多、缺乏统一管理等多种问题,电力基础设施安全关系到国计民生,其遭受网络安全攻击产生的社会影响更加不容小觑。而目前电力领域暂时没有系统化的有效手段检测物联网设备其嵌入式系统软件的网络安全漏洞等隐患。
发明内容
本发明所要解决的技术问题是目前电力领域暂时没有系统化的有效手段检测物联网设备其嵌入式系统软件的网络安全漏洞等隐患,本发明目的在于提供基于固件分析的电力物联网终端脆弱性检测方法及系统,解决了电力领域中物联网设备其嵌入式系统软件的网络安全漏洞的有效检测。
本发明通过下述技术方案实现:
一方面,本发明提供了基于固件分析的电力物联网终端脆弱性检测方法,该方法包括以下步骤:
步骤1,对电力物联网终端进行固件包提取,通过多种渠道来获取固件包以用于后续漏洞分析;其中,所述电力物联网终端是搭载嵌入式操作系统、文件系统和软件,且具备网络通信单元;
步骤2,根据步骤1提取的电力物联网终端固件包,进行固件文件及代码逆向提取,得到所述固件包内的固件程序、代码及文件系统;通过分析固件格式,选取固件提取技术或程序表示技术进行固件程序提取和可读性表示;
步骤3,对步骤2提取得到的固件程序、代码及文件系统进行漏洞挖掘分析,得到固件漏洞;
步骤4,搭建固件仿真模拟环境,仿真模拟运行所述固件;
步骤5,根据步骤3分析得到的固件漏洞,在步骤4搭建的固件仿真运行环境上运行所述固件,进行各个所述固件漏洞的脆弱性验证,若所述固件漏洞能够被利用成功,则该固件漏洞存在较高安全隐患;若所述固件漏洞不能够被利用成功,则该固件漏洞存在较低安全隐患。
工作原理如下:
针对用户隐私、基础网络环境等安全攻击层出不穷,电力物联网风险评估、安全评测等技术尚不成熟,成为推电力物联网广泛应用的重要制约因素。固件是物联网设备中的嵌入式软件,承载物联网设备的操作系统和功能代码,是最容易被黑客利用的攻击点,攻击者常通过供应链污染、硬件破解、远程热刷写等手段,将恶意代码植入物联网固件中。针对物联网设备的网络攻击影响巨大,而电力物联网设备存在覆盖面广、暴露面多、缺乏统一管理等多种问题,电力基础设施安全关系到国计民生,其遭受网络安全攻击产生的社会影响更加不容小觑。而目前电力领域暂时没有系统化的有效手段检测物联网设备其嵌入式系统软件的网络安全漏洞等隐患。
本发明创新地设计了电力物联网领域及网络安全领域的一种电力物联网终端固件脆弱性检测方法,该方法包括:获取待检测电力物联网终端的固件源文件(即固件包);并进行固件文件及代码的逆向提取,得到所述固件包内的固件程序、代码及文件系统;结合提取出的固件程序、代码及文件系统,进行安全漏洞挖掘分析,得到固件漏洞;及固件仿真环境搭建,利用分析得到的安全固件漏洞进行脆弱性验证。发明提供了一种针对电力物联网终端设备的安全检测手段,解决了电力物联网终端固件文件中可能出现的非法接入、设备和地址仿冒、弱口令、权限绕过、数据泄露等安全问题给电力企业带来的安全威胁和资产损害。
本发明方法能够弥补电力物联网领域固件安全检测技术缺口,整合了针对电力物联网终端固件的全过程检测手段,从固件获取、操作系统及文件系统识别到基于程序代码的漏洞发现和同源性分析、固件环境仿真模拟和漏洞验证等全面覆盖固件安全风险分析过程。
进一步地,所述电力物联网终端包括但不限于台区融合终端、智能控制器、智能电表以边缘物联网关等。
进一步地,步骤1中的所述固件包提取方式包括但不限于从厂商官网上下载或直接由厂商提供固件,通过UART或JTAG硬件调试接口或SPI Flash读取内存从而恢复固件内容,从固件分析工具Firmadyne的数据库中下载对应的固件等。
进一步地,步骤2中的所述固件提取技术包括但不限于使用BINWALK工具完成文件系统识别与分包、使用Firmware Mod Kit完成嵌入式文件系统解析;
所述程序表示技术包括但不限于使用IDA pro进行对X86、ARM、MIPS等多种指令格式二进制代码转换为中间语言或汇编等形式,恢复目标程序的语法和结构信息,提取程序控制流、函数调用、字符串常量等信息。
进一步地,步骤3中的所述漏洞包括通用软件漏洞和后门类漏洞,其中,所述通用软件漏洞包括堆栈注入、悬空指针、命令注入等,所述后门类漏洞包括硬编码类漏洞、认证绕过类型漏洞、权限提升漏洞、协议解析模块漏洞等。
进一步地,步骤3中的漏洞挖掘分析方法包括基于程序的漏洞分析,具体为:
首先,构建固件代码的控制流、数据依赖、控制依赖图;
然后,基于切片技术生成到特权点的路径,并采用符号执行技术求解路径条件,发现物联网设备认证绕过漏洞。
进一步地,步骤3中的漏洞挖掘分析方法还包括同源性分析法,具体为:
基于固件中的程序、文件与现有三方已知漏洞开源组件的相似性比较,来发现物联网终端的安全隐患;主要涉及对文件或代码块的语法、语义特征、结构特征提取,进一步编码成特征向量,使用敏感哈希索引进行同源漏洞搜索。
进一步地,步骤4中的所述搭建固件仿真模拟环境,是创建QEMU镜像虚拟不同的硬件平台架构;具体地:
在固件的文件系统提取完成后,识别固件镜像的硬件架构;仿真模拟运行配置,硬件架构的QEMU模拟器,执行仿真并进行网络配置;构建自定义用户空间库,拦截NVRAM相关的函数NVRAM的模拟。
另一方面,本发明还提供了基于固件分析的电力物联网终端脆弱性检测系统,该系统支持所述的基于固件分析的电力物联网终端脆弱性检测方法,该系统结合电力物联网终端的特殊性,挖掘电力物联网终端固件漏洞;该系统包括固件导入单元、固件解析单元、固件风险识别单元、测试用例生成单元、固件环境仿真验证单元、数据库、分析评估单元、缺陷设备知识库;
所述固件导入单元,用于进行固件包文件的导入;
所述固件解析单元,用于对所述固件导入单元导入的固件包文件进行分析,分析固件文件系统类型,尝试创建块设备、挂载系统并进行固件解包和解密,得到所述固件包内的固件程序、代码及文件系统;
所述固件风险识别单元,用于对所述固件解析单元提取得到的固件程序、代码及文件系统进行漏洞挖掘分析,得到固件漏洞;具体包括:
所述固件风险识别单元用于进行探索常见系统漏洞,遍历文件系统各项可执行文件、动态链接库、敏感信息文件、关键配置文件、组件等,使用集成静态和动态分析模块自动搜索提取敏感内容,进一步反汇编分析二进制文件,结合数据库中的已知漏洞和已知风险代码进行恶意代码同源性分析和漏洞研判,分析固件中的加密算法以及证书文件的安全性;
所述测试用例生成单元,用于根据指定规约随机生成输入样本,或根据对程序的动态污点分析、符号执行结果获取准确的程序执行和状态信息以制导测试用例生成;
所述固件环境仿真验证单元,用于根据固件硬件架构识别结果,仿真模拟硬件运行配置及网络配置,构建测试环境,进行固件漏洞验证;
所述数据库,用于存储已知漏洞、已知风险代码及固件文件等;
所述分析评估单元,用于根据漏洞挖掘分析得到的固件漏洞和仿真环境漏洞验证结果,而生成评估报表,联动缺陷设备知识库进行漏洞隐患设备建模和漏洞跟踪。
工作原理是:本发明创新地设计了电力物联网领域及网络安全领域的一种电力物联网终端固件脆弱性检测系统,该系统包括:固件导入单元、固件解析单元、固件风险识别单元、测试用例生成单元、固件环境仿真验证单元、数据库、分析评估单元、缺陷设备知识库、监控单元、日志单元;发明提供了一种针对电力物联网设备的安全检测手段,解决了电力物联网设备固件文件中可能出现的非法接入、设备和地址仿冒、弱口令、权限绕过、数据泄露等安全问题给电力企业带来的安全威胁和资产损害。
本检测系统能够弥补电力物联网领域固件安全检测技术缺口,整合了针对电力物联网终端固件的全过程检测手段,从固件获取、操作系统及文件系统识别到基于程序代码的漏洞发现和同源性分析、固件环境仿真模拟和漏洞验证等全面覆盖固件安全风险分析过程;本系统使用自动化固件导入、分析、测试用例生成、漏洞验证单元设计简化了检测流程;分析评估单元自动生成分析报表能够提升工作人员效率;固件风险识别单元除了常规系统漏洞检测之外,还基于电力物联网终端特殊国产加密算法验证双向加密性;缺陷设备知识库通过正向迭代、自学习和反馈机制实现缺陷设备记录和识别。
进一步地,还包括监控单元、日志单元,
所述监控单元,用于负责整个固件漏洞分析、发现、验证全过程进度监控和辅助实施;
所述日志单元,用于记录实施日志。
本发明与现有技术相比,具有如下的优点和有益效果:
1、本发明描述了一种基于固件分析的电力物联网终端脆弱性检测方法,并按照方法设计了一套针对电力物联网终端固件安全检测系统;本检测方法和系统能够弥补电力物联网领域固件安全检测技术缺口,整合了针对电力物联网终端固件的全过程检测手段,从固件获取、操作系统及文件系统识别到基于程序代码的漏洞发现和同源性分析、固件环境仿真模拟和漏洞验证等全面覆盖固件安全风险分析过程。
2、本发明系统使用自动化固件导入、分析、测试用例生成、漏洞验证单元设计简化了检测流程;分析评估单元自动生成分析报表能够提升工作人员效率;固件风险识别单元除了常规系统漏洞检测之外,还基于电力物联网终端特殊国产加密算法验证双向加密性;缺陷设备知识库单元通过正向迭代、自学习和反馈机制实现缺陷设备记录和识别。
3、本发明给电力领域创新性地提供了一种系统化的检测物联网终端设备其嵌入式系统软件的网络安全漏洞等隐患的有效手段,适合大面积推广使用。
附图说明
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。在附图中:
图1为本发明基于固件分析的电力物联网终端脆弱性检测方法整体流程示意图。
图2为本发明基于固件分析的电力物联网终端脆弱性检测系统单元组成示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
在以下描述中,为了提供对本发明的透彻理解阐述了大量特定细节。然而,对于本领域普通技术人员显而易见的是:不必采用这些特定细节来实行本发明。在其他实例中,为了避免混淆本发明,未具体描述公知的结构、电路、材料或方法。
在整个说明书中,对“一个实施例”、“实施例”、“一个示例”或“示例”的提及意味着:结合该实施例或示例描述的特定特征、结构或特性被包含在本发明至少一个实施例中。因此,在整个说明书的各个地方出现的短语“一个实施例”、“实施例”、“一个示例”或“示例”不一定都指同一实施例或示例。此外,可以以任何适当的组合和、或子组合将特定的特征、结构或特性组合在一个或多个实施例或示例中。此外,本领域普通技术人员应当理解,在此提供的示图都是为了说明的目的,并且示图不一定是按比例绘制的。这里使用的术语“和/或”包括一个或多个相关列出的项目的任何和所有组合。
在本发明的描述中,需要理解的是,术语“前”、“后”、“左”、“右”、“上”、“下”、“竖直”、“水平”、“高”、“低”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明保护范围的限制。
实施例
如图1所示,本发明基于固件分析的电力物联网终端脆弱性检测方法,该方法包括以下步骤:
步骤1,对电力物联网终端进行固件包提取,通过多种渠道来获取固件包以用于后续漏洞分析;其中,所述电力物联网终端是搭载嵌入式操作系统、文件系统和软件,且具备网络通信单元;
步骤2,根据步骤1提取的电力物联网终端固件包,进行固件文件及代码逆向提取,得到所述固件包内的固件程序、代码及文件系统;通过分析固件格式,选取固件提取技术或程序表示技术进行固件程序提取和可读性表示;
步骤3,对步骤2提取得到的固件程序、代码及文件系统进行漏洞挖掘分析,得到固件漏洞;
步骤4,搭建固件仿真模拟环境,仿真模拟运行所述固件;
步骤5,根据步骤3分析得到的固件漏洞,在步骤4搭建的固件仿真运行环境上运行所述固件,进行各个所述固件漏洞的脆弱性验证,若所述固件漏洞能够被利用成功,则该固件漏洞存在较高安全隐患;若所述固件漏洞不能够被利用成功,则该固件漏洞存在较低安全隐患。
具体实施如下:
步骤1,对搭载嵌入式操作系统、文件系统和软件,具备网络通信单元的电力物联网终端,如台区融合终端、智能控制器、智能电表以边缘物联网关等进行固件包提取;所述固件包提取方式包括但不限于从厂商官网上下载或直接由厂商提供固件,通过UART或JTAG硬件调试接口或SPI Flash读取内存从而恢复固件内容,从固件分析工具Firmadyne的数据库中下载对应的固件等。具体地,包括固件抓取配置,编写固件爬取器,从物联网终端固件厂商下载相应的固件镜像等。
步骤2,根据步骤1提取的电力物联网终端固件包,进行固件文件及代码逆向提取,得到所述固件包内的固件程序、代码及文件系统;使用BINWALK工具完成文件系统识别与分包、使用Firmware Mod Kit完成嵌入式文件系统解析;程序表示技术包括但不限于使用IDApro进行对X86、ARM、MIPS等多种指令格式二进制代码转换为中间语言或汇编等形式,恢复目标程序的语法和结构信息,提取程序控制流、函数调用、字符串常量等信息。
步骤3,对步骤2提取得到的固件程序、代码及文件系统进行漏洞挖掘分析,得到固件漏洞;基于程序的漏洞分析,该方法首先构建固件代码的控制流、数据依赖、控制依赖图,然后基于切片技术生成到特权点的路径,并采用符号执行技术求解路径条件,发现物联网终端认证绕过漏洞;同源性分析:基于固件中的程序、文件与现有三方已知漏洞开源组件的相似性比较,来发现物联网终端的安全隐患,主要涉及对文件或代码块的语法、语义特征、结构特征提取,进一步编码成特征向量,使用敏感哈希索引进行同源漏洞搜索。
步骤4,固件环境仿真模拟,在固件的文件系统提取完成后,识别固件镜像的硬件架构;仿真模拟运行配置,硬件架构的QEMU模拟器,执行仿真并进行网络配置;构建自定义用户空间库,拦截NVRAM相关的函数NVRAM的模拟。
步骤5,对步骤3分析得到的固件漏洞进行脆弱性验证;若所述固件漏洞能够被利用成功,则该固件漏洞存在较高安全隐患;若所述固件漏洞不能够被利用成功,则该固件漏洞存在较低安全隐患。
如图2所示,本发明还提供了基于固件分析的电力物联网终端脆弱性检测系统,该系统支持所述的基于固件分析的电力物联网终端脆弱性检测方法,该系统结合电力物联网终端的特殊性,挖掘电力物联网终端固件漏洞;该系统包括固件导入单元、固件解析单元、固件风险识别单元、测试用例生成单元、固件环境仿真验证单元、数据库、分析评估单元、缺陷设备知识库;
所述固件导入单元,用于进行固件包文件的导入;
所述固件解析单元,用于对所述固件导入单元导入的固件包文件进行分析,分析固件文件系统类型,尝试创建块设备、挂载系统并进行固件解包和解密,得到所述固件包内的固件程序、代码及文件系统;
所述固件风险识别单元,用于对所述固件解析单元提取得到的固件程序、代码及文件系统进行漏洞挖掘分析,得到固件漏洞;具体包括:
所述固件风险识别单元用于进行探索常见系统漏洞,遍历文件系统各项可执行文件、动态链接库、敏感信息文件、关键配置文件、组件等,使用集成静态和动态分析模块自动搜索提取敏感内容,进一步反汇编分析二进制文件,结合数据库中的已知漏洞和已知风险代码进行恶意代码同源性分析和漏洞研判,分析固件中的加密算法以及证书文件的安全性;
所述测试用例生成单元,用于根据指定规约随机生成输入样本,或根据对程序的动态污点分析、符号执行结果获取准确的程序执行和状态信息以制导测试用例生成;
所述固件环境仿真验证单元,用于根据固件硬件架构识别结果,仿真模拟硬件运行配置及网络配置,构建测试环境,进行固件漏洞验证;
所述数据库,用于存储已知漏洞、已知风险代码及固件文件等;
所述分析评估单元,用于根据漏洞挖掘分析得到的固件漏洞和仿真环境漏洞验证结果,而生成评估报表,联动缺陷设备知识库进行漏洞隐患设备建模和漏洞跟踪。
还包括监控单元、日志单元,所述监控单元,用于负责整个固件漏洞分析、发现、验证全过程进度监控和辅助实施;
所述日志单元,用于记录实施日志。
具体实施如下:
对文件系统的每一个文件进行遍历扫描,识别可执行文件、动态链接库、敏感信息文件、关键配置文件、组件等文件类型,统计可执行文件的数量和动态链接库的数量,为进一步智能发掘潜藏在文件中所有可疑的文件类型做准备。
考虑到电力物联网终端的特殊性,要求终端采用国产密码算法进行双向通信加密(比如国密SM1-SM4加密算法),使用特定数字证书进行双向认证(比如采用SSAL或SSL等协议),因此,固件风险识别单元中获取固件中的加密算法以及证书文件,对固件中的证书文件、固件系统的用户密码hash文件进行安全分析。
分析遍历出的可执行文件,帮助用户快速定位危险函数,检测出可能出现风险的代码位置。分析代码的系统性和约束范围,主要从下面的几个方面进行:不安全的域、不安全的方法、不安全的类修饰符、未使用的外部引用、未使用的代码。通过分析源代码了解程序在管理错误、异常、日志记录以及敏感信息等方面是否存在缺陷。根据编码规范分析代码中对各种资源的引用方法进行分析,发现其中可能导致资源过度占用方面的问题。
针对有漏洞的固件设备可执行生成测试用例进行漏洞验证,进一步验证漏洞威胁性。根据分析评估结果生成报表,并将漏洞设备特征向量录入缺陷设备知识库,缺陷设备知识库单元通过正向迭代、自学习和反馈机制实现缺陷设备记录和识别。
工作原理是:
本发明创新地设计了电力物联网领域及网络安全领域的一种电力物联网终端固件脆弱性检测方法及系统,该方法包括:获取待检测电力物联网终端的固件源文件(即固件包);并进行固件文件系统识别、文件及代码的逆向提取,得到所述固件包内的固件程序、代码;结合识别并提取出的文件系统类型、固件程序及代码,进行安全漏洞挖掘分析,得到固件漏洞;及固件仿真环境搭建,利用分析得到的安全固件漏洞进行脆弱性验证。该系统包括:固件导入单元、固件解析单元、固件风险识别单元、测试用例生成单元、固件环境仿真验证单元、数据库、分析评估单元、缺陷设备知识库、监控单元、日志单元;发明提供了一种针对电力物联网设备的安全检测手段,解决了电力物联网设备固件文件中可能出现的非法接入、设备和地址仿冒、弱口令、权限绕过、数据泄露等安全问题给电力企业带来的安全威胁和资产损害。
本发明描述了一种基于固件分析的电力物联网终端脆弱性检测方法,并按照方法设计了一套针对电力物联网终端固件安全检测系统;本检测方法和系统能够弥补电力物联网领域固件安全检测技术缺口,整合了针对电力物联网终端固件的全过程检测手段,从固件获取、操作系统及文件系统识别到基于程序代码的漏洞发现和同源性分析、固件环境仿真模拟和漏洞验证等全面覆盖固件安全风险分析过程。本发明系统使用自动化固件导入、分析、测试用例生成、漏洞验证单元设计简化了检测流程;分析评估单元自动生成分析报表能够提升工作人员效率;固件风险识别单元除了常规系统漏洞检测之外,还基于电力物联网终端特殊国产加密算法验证双向加密性;缺陷设备知识库单元通过正向迭代、自学习和反馈机制实现缺陷设备记录和识别。
本发明给电力领域创新性地提供了一种系统化的检测物联网终端设备其嵌入式系统软件的网络安全漏洞等隐患的有效手段,适合大面积推广使用。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.基于固件分析的电力物联网终端脆弱性检测方法,其特征在于,该方法包括以下步骤:
步骤1,对电力物联网终端进行固件包提取,其中,所述电力物联网终端是搭载嵌入式操作系统、文件系统和软件,且具备网络通信单元;
步骤2,根据步骤1提取的电力物联网终端固件包,进行固件文件及代码逆向提取,得到所述固件包内的固件程序、代码及文件系统;通过分析固件格式,选取固件提取技术或程序表示技术进行固件程序提取和可读性表示;
步骤3,对步骤2提取得到的固件程序、代码及文件系统进行漏洞挖掘分析,得到固件漏洞;
步骤4,搭建固件仿真模拟环境,仿真模拟运行所述固件;
步骤5,根据步骤3分析得到的固件漏洞,在步骤4搭建的固件仿真运行环境上运行所述固件,进行各个所述固件漏洞的脆弱性验证,若所述固件漏洞能够被利用成功,则该固件漏洞存在较高安全隐患;若所述固件漏洞不能够被利用成功,则该固件漏洞存在较低安全隐患;
步骤3中的所述漏洞包括通用软件漏洞和后门类漏洞,其中,所述通用软件漏洞包括堆栈注入、悬空指针、命令注入,所述后门类漏洞包括硬编码类漏洞、认证绕过类型漏洞、权限提升漏洞、协议解析模块漏洞;
步骤3中的漏洞挖掘分析方法包括基于程序的漏洞分析,具体为:
首先,构建固件代码的控制流、数据依赖、控制依赖图;
然后,基于切片技术生成到特权点的路径,并采用符号执行技术求解路径条件,发现物联网设备认证绕过漏洞。
2.根据权利要求1所述的基于固件分析的电力物联网终端脆弱性检测方法,其特征在于,所述电力物联网终端包括台区融合终端、智能控制器、智能电表以边缘物联网关。
3.根据权利要求1所述的基于固件分析的电力物联网终端脆弱性检测方法,其特征在于,步骤1中的所述固件包提取方式包括从厂商官网上下载或直接由厂商提供固件,通过UART或JTAG硬件调试接口或SPI Flash读取内存从而恢复固件内容,从固件分析工具的数据库中下载对应的固件,其中固件分析工具包括Firmadyne。
4.根据权利要求1所述的基于固件分析的电力物联网终端脆弱性检测方法,其特征在于,步骤2中的所述固件提取技术包括使用BINWALK工具完成文件系统识别与分包、使用Firmware Mod Kit完成嵌入式文件系统解析;
所述程序表示技术包括使用IDA pro进行对X86、ARM、MIPS多种指令格式二进制代码转换为中间语言或汇编形式,恢复目标程序的语法和结构信息,提取程序控制流、函数调用、字符串常量信息。
5.根据权利要求1所述的基于固件分析的电力物联网终端脆弱性检测方法,其特征在于,步骤3中的漏洞挖掘分析方法还包括同源性分析法,具体为:
基于固件中的程序、文件与现有三方已知漏洞开源组件的相似性比较,来发现物联网终端的安全隐患;主要涉及对文件或代码块的语法、语义特征、结构特征提取,进一步编码成特征向量,使用敏感哈希索引进行同源漏洞搜索。
6.根据权利要求1所述的基于固件分析的电力物联网终端脆弱性检测方法,其特征在于,步骤4中的所述搭建固件仿真模拟环境,是创建QEMU镜像虚拟不同的硬件平台架构;具体地:
在固件的文件系统提取完成后,识别固件镜像的硬件架构;仿真模拟运行配置,硬件架构的QEMU模拟器,执行仿真并进行网络配置;构建自定义用户空间库,拦截NVRAM相关的函数NVRAM的模拟。
7.基于固件分析的电力物联网终端脆弱性检测系统,其特征在于,该系统支持如权利要求1至权利要求6中任意一项所述的基于固件分析的电力物联网终端脆弱性检测方法,该系统包括固件导入单元、固件解析单元、固件风险识别单元、测试用例生成单元、固件环境仿真验证单元、数据库、分析评估单元、缺陷设备知识库;
所述固件导入单元,用于进行固件包文件的导入;
所述固件解析单元,用于对所述固件导入单元导入的固件包文件进行分析,分析固件文件系统类型,创建块设备、挂载系统并进行固件解包和解密,得到所述固件包内的固件程序、代码及文件系统;
所述固件风险识别单元,用于对所述固件解析单元提取得到的固件程序、代码及文件系统进行漏洞挖掘分析,得到固件漏洞;具体包括:
所述固件风险识别单元用于进行探索系统漏洞,遍历文件系统各项可执行文件、动态链接库、敏感信息文件、关键配置文件、组件,使用集成静态和动态分析模块自动搜索提取敏感内容,进一步反汇编分析二进制文件,结合数据库中的已知漏洞和已知风险代码进行恶意代码同源性分析和漏洞研判,分析固件中的加密算法以及证书文件的安全性;
所述测试用例生成单元,用于根据指定规约随机生成输入样本,或根据对程序的动态污点分析、符号执行结果获取准确的程序执行和状态信息以制导测试用例生成;
所述固件环境仿真验证单元,用于根据固件硬件架构识别结果,仿真模拟硬件运行配置及网络配置,构建测试环境,进行固件漏洞验证;
所述分析评估单元,用于根据漏洞挖掘分析得到的固件漏洞和仿真环境漏洞验证结果,而生成评估报表,联动缺陷设备知识库进行漏洞隐患设备建模和漏洞跟踪。
8.根据权利要求7所述的基于固件分析的电力物联网终端脆弱性检测系统,其特征在于,还包括监控单元、日志单元,
所述监控单元,用于负责整个固件漏洞分析、发现、验证全过程进度监控和辅助实施;
所述日志单元,用于记录实施日志。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011009890.4A CN112134761B (zh) | 2020-09-23 | 2020-09-23 | 基于固件分析的电力物联网终端脆弱性检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011009890.4A CN112134761B (zh) | 2020-09-23 | 2020-09-23 | 基于固件分析的电力物联网终端脆弱性检测方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112134761A CN112134761A (zh) | 2020-12-25 |
CN112134761B true CN112134761B (zh) | 2022-05-06 |
Family
ID=73843013
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011009890.4A Active CN112134761B (zh) | 2020-09-23 | 2020-09-23 | 基于固件分析的电力物联网终端脆弱性检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112134761B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112749086A (zh) * | 2021-01-12 | 2021-05-04 | 国网重庆市电力公司营销服务中心 | 一种计量设备软件可靠性评估与分析的方法 |
CN112822212B (zh) * | 2021-02-06 | 2022-12-02 | 西安热工研究院有限公司 | 一种非接触式水电监控系统网络安全脆弱性检测方法 |
CN112818357A (zh) * | 2021-03-11 | 2021-05-18 | 北京顶象技术有限公司 | 一种自动化的批量IoT固件风险评估方法和系统 |
CN113486333A (zh) * | 2021-04-12 | 2021-10-08 | 贵州电网有限责任公司 | 一种利用云迁移技术实现的脆弱性分析环境仿真方法及系统 |
CN113312220B (zh) * | 2021-05-26 | 2023-03-21 | 国家计算机网络与信息安全管理中心 | 一种固件隐患检测方法、装置及电子设备 |
CN113315767B (zh) * | 2021-05-26 | 2023-08-22 | 国网山东省电力公司电力科学研究院 | 一种电力物联网设备安全检测系统及方法 |
CN113382006B (zh) * | 2021-06-15 | 2022-12-16 | 中国信息通信研究院 | 物联网终端安全与风险评估评测方法 |
CN113515457B (zh) * | 2021-07-22 | 2022-08-12 | 苏州知微安全科技有限公司 | 一种物联网设备固件安全性检测方法及装置 |
CN113778616A (zh) * | 2021-08-11 | 2021-12-10 | 国网辽宁省电力有限公司电力科学研究院 | 一种电力物联网终端虚拟化模拟仿真平台及仿真方法 |
CN114024722A (zh) * | 2021-10-13 | 2022-02-08 | 杭州趣链科技有限公司 | 一种基于区块链的安全检测系统 |
CN114666134B (zh) * | 2022-03-23 | 2023-06-16 | 南昌大学 | 网络漏洞智能发现、挖掘方法 |
CN114925372B (zh) * | 2022-05-12 | 2024-04-12 | 北京控制与电子技术研究所 | 一种面向企业安全生产需求的固件安全检测方法 |
CN115062309B (zh) * | 2022-06-10 | 2023-02-24 | 国网江苏省电力有限公司电力科学研究院 | 一种新型电力系统下基于设备固件仿真的漏洞挖掘方法及存储介质 |
CN117574393B (zh) * | 2024-01-16 | 2024-03-29 | 国网浙江省电力有限公司 | 一种信息终端漏洞挖掘方法、装置、设备及存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2192537A2 (en) * | 2008-11-05 | 2010-06-02 | ACCENTURE Global Services GmbH | Predictive modeling |
CN102664872A (zh) * | 2012-03-05 | 2012-09-12 | 星云融创(北京)科技有限公司 | 用于检测和防止对计算机网络中服务器攻击的系统和方法 |
CN102739663A (zh) * | 2012-06-18 | 2012-10-17 | 奇智软件(北京)有限公司 | 网页检测方法与扫描引擎 |
CN104410617A (zh) * | 2014-11-21 | 2015-03-11 | 西安邮电大学 | 一种云平台的信息安全攻防体系架构 |
CN104915507A (zh) * | 2015-06-19 | 2015-09-16 | 中国航空无线电电子研究所 | 一种基于模型动态互连的仿真验证方法 |
CN106203126A (zh) * | 2016-07-15 | 2016-12-07 | 国家计算机网络与信息安全管理中心 | 一种基于模拟环境的漏洞验证方法及系统 |
CN107577947A (zh) * | 2017-08-14 | 2018-01-12 | 携程旅游信息技术(上海)有限公司 | 信息系统的漏洞检测方法、系统、存储介质和电子设备 |
CN108183887A (zh) * | 2017-12-12 | 2018-06-19 | 杭州安恒信息技术有限公司 | 一种基于自主授权的云端漏洞扫描策略配置方法及装置 |
CN108200029A (zh) * | 2017-12-27 | 2018-06-22 | 北京知道创宇信息技术有限公司 | 漏洞态势检测方法、装置、服务器及可读存储介质 |
US10140875B1 (en) * | 2017-05-27 | 2018-11-27 | Hefei University Of Technology | Method and apparatus for joint optimization of multi-UAV task assignment and path planning |
CN109325353A (zh) * | 2018-11-01 | 2019-02-12 | 南京邮电大学 | 一种针对家用路由器的聚类漏洞分析方法 |
CN109740351A (zh) * | 2018-12-28 | 2019-05-10 | 广东电网有限责任公司 | 一种嵌入式固件的漏洞检测方法、装置及设备 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7343626B1 (en) * | 2002-11-12 | 2008-03-11 | Microsoft Corporation | Automated detection of cross site scripting vulnerabilities |
KR20060026293A (ko) * | 2004-09-20 | 2006-03-23 | 주식회사 케이티 | 네트워크 취약성 정보를 이용하여 오탐을 방지하는침입탐지 장치, 시스템 및 그 방법 |
WO2007064876A2 (en) * | 2005-12-01 | 2007-06-07 | Firestar Software, Inc. | System and method for exchanging information among exchange applications |
EP2113755B1 (en) * | 2008-05-01 | 2012-02-01 | LMS International NV | Vibrational and/or acoustic transfer path analysis |
JP2011155711A (ja) * | 2010-01-25 | 2011-08-11 | Sony Corp | 電力管理装置及びゲームコンテンツ提供方法 |
CN101814053B (zh) * | 2010-03-29 | 2013-03-13 | 中国人民解放军信息工程大学 | 一种基于功能模型的二进制代码漏洞发现方法 |
CN102622556A (zh) * | 2011-12-22 | 2012-08-01 | 南京邮电大学 | 基于程序切片技术的Web服务安全分析方法 |
CN104268085B (zh) * | 2014-10-24 | 2017-07-28 | 重庆邮电大学 | 一种基于属性提取的软件漏洞挖掘系统及方法 |
CN104615542B (zh) * | 2015-02-11 | 2017-12-01 | 中国科学院软件研究所 | 一种基于函数调用的脆弱性关联分析辅助漏洞挖掘的方法 |
CN105678169B (zh) * | 2015-12-30 | 2019-02-26 | 西安胡门网络技术有限公司 | 一种二进制程序漏洞挖掘方法和系统 |
CN108268773B (zh) * | 2016-12-30 | 2021-12-28 | 南京理工大学 | Android应用升级包本地存储安全性检测方法 |
CN109714314B (zh) * | 2018-11-21 | 2021-04-27 | 中国电子科技网络信息安全有限公司 | 一种重现漏洞全生命周期的全息漏洞库的构建方法 |
CN110519216A (zh) * | 2019-07-05 | 2019-11-29 | 湖北工业大学 | 一种电力工控系统静态和动态漏洞分析与挖掘方法 |
-
2020
- 2020-09-23 CN CN202011009890.4A patent/CN112134761B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2192537A2 (en) * | 2008-11-05 | 2010-06-02 | ACCENTURE Global Services GmbH | Predictive modeling |
CN102664872A (zh) * | 2012-03-05 | 2012-09-12 | 星云融创(北京)科技有限公司 | 用于检测和防止对计算机网络中服务器攻击的系统和方法 |
CN102739663A (zh) * | 2012-06-18 | 2012-10-17 | 奇智软件(北京)有限公司 | 网页检测方法与扫描引擎 |
CN104410617A (zh) * | 2014-11-21 | 2015-03-11 | 西安邮电大学 | 一种云平台的信息安全攻防体系架构 |
CN104915507A (zh) * | 2015-06-19 | 2015-09-16 | 中国航空无线电电子研究所 | 一种基于模型动态互连的仿真验证方法 |
CN106203126A (zh) * | 2016-07-15 | 2016-12-07 | 国家计算机网络与信息安全管理中心 | 一种基于模拟环境的漏洞验证方法及系统 |
US10140875B1 (en) * | 2017-05-27 | 2018-11-27 | Hefei University Of Technology | Method and apparatus for joint optimization of multi-UAV task assignment and path planning |
CN107577947A (zh) * | 2017-08-14 | 2018-01-12 | 携程旅游信息技术(上海)有限公司 | 信息系统的漏洞检测方法、系统、存储介质和电子设备 |
CN108183887A (zh) * | 2017-12-12 | 2018-06-19 | 杭州安恒信息技术有限公司 | 一种基于自主授权的云端漏洞扫描策略配置方法及装置 |
CN108200029A (zh) * | 2017-12-27 | 2018-06-22 | 北京知道创宇信息技术有限公司 | 漏洞态势检测方法、装置、服务器及可读存储介质 |
CN109325353A (zh) * | 2018-11-01 | 2019-02-12 | 南京邮电大学 | 一种针对家用路由器的聚类漏洞分析方法 |
CN109740351A (zh) * | 2018-12-28 | 2019-05-10 | 广东电网有限责任公司 | 一种嵌入式固件的漏洞检测方法、装置及设备 |
Non-Patent Citations (1)
Title |
---|
《基于同源性分析的嵌入式设备固件漏洞检测》;李登等;《计算机工程》;20170131;第43卷(第1期);正文第73-77页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112134761A (zh) | 2020-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112134761B (zh) | 基于固件分析的电力物联网终端脆弱性检测方法及系统 | |
Fratantonio et al. | Triggerscope: Towards detecting logic bombs in android applications | |
Ma et al. | Cdrep: Automatic repair of cryptographic misuses in android applications | |
Gao et al. | Understanding the evolution of android app vulnerabilities | |
Carmony et al. | Extract Me If You Can: Abusing PDF Parsers in Malware Detectors. | |
Song et al. | A cyber security risk assessment for the design of I&C systems in nuclear power plants | |
Li et al. | Android malware forensics: Reconstruction of malicious events | |
Liu et al. | On manually reverse engineering communication protocols of linux-based iot systems | |
Suarez-Tangil et al. | Thwarting obfuscated malware via differential fault analysis | |
Mirza et al. | A malware evasion technique for auditing android anti-malware solutions | |
Ahmad et al. | Issues of clinical identity verification for healthcare applications over mobile terminal platform | |
Wen et al. | An empirical study of sdk credential misuse in ios apps | |
Reeves | Autoscopy Jr.: Intrusion detection for embedded control systems | |
CN116932381A (zh) | 小程序安全风险自动化评估方法及相关设备 | |
Meng et al. | Divide and conquer: Recovering contextual information of behaviors in Android apps around limited-quantity audit logs | |
Park et al. | A-pot: a comprehensive android analysis platform based on container technology | |
Aarya et al. | Web scanning: existing techniques and future | |
Qi et al. | A comparative study on the security of cryptocurrency wallets in android system | |
Brilingaitė et al. | Detection of premeditated security vulnerabilities in mobile applications | |
Bokolo et al. | Hybrid analysis based cross inspection framework for android malware detection | |
Meng et al. | Wemint: Tainting Sensitive Data Leaks in WeChat Mini-Programs | |
Chang et al. | Vulnerable service invocation and countermeasures | |
Mousavi et al. | Detecting Misuses of Security APIs: A Systematic Review | |
Carpentieri et al. | On the undetectability of payloads generated through automatic tools: A human‐oriented approach | |
Vandhana et al. | VIEGO: Malware Generating Tool |
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 |