CN115270139B - 一种IoT设备网络服务自动化漏洞分析方法及系统 - Google Patents
一种IoT设备网络服务自动化漏洞分析方法及系统 Download PDFInfo
- Publication number
- CN115270139B CN115270139B CN202211145369.2A CN202211145369A CN115270139B CN 115270139 B CN115270139 B CN 115270139B CN 202211145369 A CN202211145369 A CN 202211145369A CN 115270139 B CN115270139 B CN 115270139B
- Authority
- CN
- China
- Prior art keywords
- parameter
- function
- test
- interface
- parameters
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y30/00—IoT infrastructure
- G16Y30/10—Security thereof
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y40/00—IoT characterised by the purpose of the information processing
- G16Y40/20—Analytics; Diagnosis
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y40/00—IoT characterised by the purpose of the information processing
- G16Y40/50—Safety; Security of things, users, data or systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Virology (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种IoT设备网络服务自动化漏洞分析方法及系统,系统包括静态分析模块、模糊测试模块、固件运行模块,静态分析模块用于对固件进行静态分析,提取所有能进入后端处理的网络接口名称、各接口对应的参数名称以及参数的魔法值约束取值;模糊测试模块使用静态分析模块获得的网络接口、参数信息指导模糊测试种子及测试样例生成,并完成对目标IoT设备的模糊测试,生成漏洞报告;固件运行模块用于将目标固件运行起来,为模糊测试提供测试对象。本发明的有益效果是:生成的模糊测试种子能够有效触达后端处理程序逻辑,保障进入IoT设备最重要的途径的安全。对种子调度优化也能使整体测试效率得到提高。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种IoT设备网络服务自动化漏洞分析方法及系统。
背景技术
现有技术1.一种漏洞挖掘的方法和装置(公开号:CN114328216A),本申请公开了一种漏洞挖掘的方法和装置,漏洞挖掘装置先获取终端设备上的应用程序通过云端服务器向IoT设备发送的流量信息;然后基于所述流量信息,对所述IoT设备上的客户端程序进行模糊测试;最后监听所述模糊测试中的异常,确定所述IoT设备的漏洞。可见,通过本申请实施例提供的方法,提供了反向(即服务端到客户端)的模糊测试,采用黑盒的方式让测试目标的适用性更为广泛,并且利用透明代理的技术进行流量中间人劫持,通过劫持云端服务器和IoT设备的通信链路,能够在例如消息队列通信等模式下挖掘IoT设备侧客户端程序所接收消息中的漏洞,提高IoT设备和云端服务器通信场景中的安全性。
现有技术1的缺陷:通过网络流量监听实现,只关注云端服务器与IoT设备的通信,检测范围不全面。且无法获取参数魔法值。
现有技术2. 一种自动化智能型嵌入式固件分析与漏洞挖掘方法(公开号:CN114254328A),本发明公开一种自动化智能型嵌入式固件分析与漏洞挖掘方法,包括以下步骤:1)获得固件;2)固件解包;3)提取可执行文件;4)解析文件结构;5)反汇编及控制流分析;6)函数划分和交叉引用;7)反编译及函数内变量追踪;8)漏洞挖掘;9)密码和证书自动化破解;该方法支持侧信道与错误注入联合操作功能,脚本化固件分析功能,确保已知的软件脆弱性能不被遗漏的进行检测,或针对某脆弱性进行更为仔细的分析,提供固件解包与分析的后期处理,以自动化方式完成密码与证书的破解功能,实现了从固件文件到漏洞报告这一主流程的自动化。
现有技术2的缺陷:1. 静态分析方法,结果仍然需要人工确认。且漏洞挖掘过程中需要人工参与,无法进行自动化漏洞分析。2. 并未关注固件的攻击入口,报告的漏洞可能外部无法利用。
现有技术3.固件内部二进制程序脆弱性发现方法及装置(公开号:CN113901459A),本发明提供了一种固件内部二进制程序脆弱性发现方法、装置、电子设备及存储介质,包括:收集漏洞报告,并确定关键字和存在漏洞的二进制程序名称;确定分析目标,并基于所述关键字和所述分析目标,确定关键字在二进制程序中直接使用位置和间接使用位置;建立二进制程序的程序控制流图,并确定二进制程序关系依赖图;提取潜在关键字,并根据潜在关键字确定满足条件的潜在关键字作为关键字;建立完备的二进制程序关系依赖图,基于所有二进制程序关系依赖图和所有所述关键字完成固件中二进制程序脆弱性发现。本发明能够有效和自动化地发现嵌入式设备固件中间接与用户交互的内部二进制程序实现过程中存在的漏洞。
现有技术3的缺陷:1. 静态分析方法,结果仍然需要人工确认。2. 基于已知漏洞进行检测,检测范围可能不全面。
现有技术4. 跨平台模拟的IoT设备安全性分析系统及方法(公开号:CN113935042A),本发明提供了一种跨平台模拟的IoT设备安全性分析系统及方法,该系统和方法可用于分析和模拟不同平台和架构的IoT设备安全性问题。首先解包输入的设备固件,解析其架构,对基于Linux的嵌入式系统,采用共享关键字感知污点检测的静态分析方法,追踪前端和后端之间的用户输入,可视化输出系统可能存在的安全脆弱点,基于输出结果系统自动选择全系统模式或用户模式对涉及的安全脆弱性二进制文件进行动态仿真模拟;对基于RTOS的嵌入式系统,采用基地址重定位和函数语义恢复的方法定位输出文件安全脆弱点,并基于输出结果对涉及到的二进制文件进行片段化仿真模拟。最后在不同系统和架构环境下对相应漏洞进行挖掘和验证。
现有技术4的缺陷:1.纯静态分析方法,检测效率较低。污点分析可能存在过污染问题导致误报。2.无法对网络接口参数及魔法值约束进行推断。
现有技术5. 一种嵌入式设备固件的安全性分析方法(公开号:CN111428233A),本发明公开了一种嵌入式设备固件的安全性分析方法,步骤1:对嵌入式设备固件的文件系统进行静态分析,寻找用于启动服务守护程序使用的参数和配置文件,并将嵌入式设备固件的文件系统打包为虚拟机磁盘镜像;步骤2:利用寻找的参数和配置文件启动服务守护程序,并录制服务守护程序的执行轨迹;若能启动,执行步骤5;否则,执行步骤3;步骤3:根据录制的服务守护程序的执行轨迹,寻找服务守护程序不能启动的原因;步骤4:根据寻找的服务守护程序不能启动的原因,对服务守护程序进行修复,修复后执行步骤2;步骤5:测试已启动的网络服务。本发明支持更多类型的嵌入式设备固件,并获取固件程序运行过程中的各项操作语义信息进行安全性分析。
现有技术5的缺陷:1. 只针对能启动的网络服务进行检测,检测范围不全面。2.无法对网络接口参数及魔法值约束进行推断。
发明内容
本发明提供了一种IoT设备网络服务自动化漏洞分析系统,包括静态分析模块、模糊测试模块、固件运行模块,
所述静态分析模块用于对固件进行静态分析,提取所有能进入后端处理的网络接口名称、各接口对应的参数名称以及参数的魔法值约束取值;
所述模糊测试模块使用静态分析模块获得的网络接口、参数信息指导模糊测试种子及测试样例生成,并完成对目标IoT设备的模糊测试,生成漏洞报告;
所述固件运行模块用于将目标固件运行起来,为模糊测试提供测试对象。
作为本发明的进一步改进,所述静态分析模块包括接口-处理函数提取单元、参数提取单元、参数约束推断单元,
所述接口-处理函数提取单元:将结合前端文件从后端文件中提取出能够触达后端处理逻辑的网络接口名称及对应的处理函数;所述接口-处理函数提取单元输出初始参数集合、网络接口名称及对应处理函数地址集合至所述参数提取单元;
所述参数提取单元:从后端文件中为各个接口提取其读取的参数名称并为其匹配相应的接口;所述参数提取单元输出各个网络接口的参数列表,以及各参数被读取位置;
所述参数约束推断单元:为各参数提取出存在的魔法值约束,所述参数约束推断单元输出参数及该参数魔法值约束集合的对应关系。
作为本发明的进一步改进,在所述接口-处理函数提取单元中,通过正则表达式匹配从所有前端文件中提取初始的网络接口名称,同时依据正则规则提取初始的参数名称存入初始参数集合中;
在所述接口-处理函数提取单元中,处理函数匹配方法可分为两类,一类是针对接口-处理函数线性连续内存分布情况,通过跟踪初始网络接口定义位置,定位到连续内存片段位置,再按内存地址顺序遍历,相邻的字符串及函数即为成对的接口与对应的处理函数;另一类是针对通过绑定函数来关联接口与处理函数的情况,通过跟踪初始网络接口的调用位置,判断调用函数其他参数是否为指向函数头的指针,若是,则将该调用函数视为绑定函数,若否,则不分析该调用位置,因其不符合条件则不可能为绑定函数;再进一步跟踪绑定函数的调用,并提取调用时的参数,即为网络接口名称及对应的处理函数;
在所述参数提取单元中,以投票制跟踪初始参数调用,识别出读参函数;跟踪读参函数调用,识别所读取的参数名称,将识别所读取的参数名称称为新参数;递归跟踪该读参函数调用,直到调用函数为接口处理函数,则将新参数加入对应接口的参数列表内;
在所述参数约束推断单元中,对于参数集合中的所有参数执行以下操作:
步骤1:识别包含该参数读取位置的函数f,遍历该函数逻辑,当识别到对strcmp函数的调用,判断其参数是否满足一个为字符串常量、另一个为局部变量的条件;若满足,则执行步骤2,若不满足,则不分析strcmp函数调用位置,因其不是需要关注的内容,当函数f遍历完成后,执行步骤3;
步骤2:记录该局部变量的栈内偏移量,并在此函数内向上寻找,当找到第一个使用该偏移量存储参数的读参函数,将步骤1中识别到的字符串常量作为该参数的魔法值约束存储起来;
步骤3:将同名的参数提取到的魔法值约束合并;
所述参数约束推断单元使用从后往前的逆序搜索策略。
作为本发明的进一步改进,所述模糊测试模块包括测试样例生成单元、种子调度单元、验证绕过单元,
所述测试样例生成单元用于生成模糊测试种子及测试样例,所述测试样例生成单元输入为网络接口、参数及参数魔法值约束;
所述种子调度单元用于为生成的模糊测试种子及测试样例制定测试策略,有优先级地测试种子;
所述验证绕过单元用于绕过网络接口的认证。
作为本发明的进一步改进,在所述测试样例生成单元中,测试样例为网络请求数据包,网络请求数据包由对应的网络接口、请求头、对应的参数组成,对于每个获取到的网络接口,逐个将其读取的参数作为目标参数,并且其余参数的取值按对应的魔法值约束进行组合,生成多个种子;
所述种子调度单元包括探索优先级策略和反馈跳过策略,在所述探索优先级策略中,对于种子数量过多的网络接口,设置阈值,优先探索个数少于阈值的网络接口,而对于数量高于阈值的情况,先随机选取与阈值相同数目的种子进行测试,其余种子待所有网络接口测试完毕后再进行测试;在所述反馈跳过策略中,针对已发现漏洞的网络接口,跳过已发现漏洞的网络接口,对于反馈较慢的网络接口,优先跳过此类网络接口,反馈较慢的网络接口是指存在等待处理结果情况的网络接口;
在所述验证绕过单元中,对所有网络接口对应的处理函数逻辑进行分析,从中提取请求令牌的接口,在每次模糊测试发送测试样例前先获取令牌,以构造有效的测试样例。
作为本发明的进一步改进,所述测试样例生成单元针对目标漏洞预设了变异库,通过将目标字段随机替换成变异库中的内容生成测试数据包中的请求体,将网络接口、请求头以及请求体进行拼接,可生成一个有效的测试样例。
作为本发明的进一步改进,当测试发现漏洞导致目标崩溃时,所述固件运行模块通过预先设置好的监控及重启脚本完成对目标服务的重启,保障后续测试顺利进行。
本发明还提供了一种IoT设备网络服务自动化漏洞分析方法,包括静态分析步骤、模糊测试步骤、固件运行步骤,
所述静态分析步骤:对固件进行静态分析,提取所有能进入后端处理的网络接口名称、各接口对应的参数名称以及参数的魔法值约束取值;
所述模糊测试步骤:使用静态分析模块获得的网络接口、参数信息指导模糊测试种子及测试样例生成,并完成对目标IoT设备的模糊测试,生成漏洞报告;
所述固件运行步骤:用于将目标固件运行起来,为模糊测试提供测试对象。
作为本发明的进一步改进,所述静态分析步骤包括接口-处理函数提取步骤、参数提取步骤、参数约束推断步骤,
所述接口-处理函数提取步骤:将结合前端文件从后端文件中提取出能够触达后端处理逻辑的网络接口名称及对应的处理函数;所述接口-处理函数提取单元输出初始参数集合、网络接口名称及对应处理函数地址集合至所述参数提取步骤;
所述参数提取步骤:从后端文件中为各个接口提取其读取的参数名称并为其匹配相应的接口;所述参数提取步骤输出各个网络接口的参数列表,以及各参数被读取位置;
所述参数约束推断步骤:为各参数提取出存在的魔法值约束,所述参数约束推断单元输出参数及该参数魔法值约束集合的对应关系。
作为本发明的进一步改进,在所述接口-处理函数提取步骤中,通过正则表达式匹配从所有前端文件中提取初始的网络接口名称,同时依据正则规则提取初始的参数名称存入初始参数集合中;
在所述接口-处理函数提取步骤中,处理函数匹配方法可分为两类,一类是针对接口-处理函数线性连续内存分布情况,通过跟踪初始网络接口定义位置,定位到连续内存片段位置,再按内存地址顺序遍历,相邻的字符串及函数即为成对的接口与对应的处理函数;另一类是针对通过绑定函数来关联接口与处理函数的情况,通过跟踪初始网络接口的调用位置,判断调用函数其他参数是否为指向函数头的指针,若是,则将该调用函数视为绑定函数;再进一步跟踪绑定函数的调用,并提取调用时的参数,即为网络接口名称及对应的处理函数;
在所述参数提取步骤中,以投票制跟踪初始参数调用,识别出读参函数;跟踪读参函数调用,识别所读取的参数名称,将识别所读取的参数名称称为新参数;递归跟踪该读参函数调用,直到调用函数为接口处理函数,则将新参数加入对应接口的参数列表内;
在所述参数约束推断步骤中,对于参数集合中的所有参数执行以下操作:
步骤1:识别包含该参数读取位置的函数f,遍历该函数逻辑,当识别到对strcmp函数的调用,判断其参数是否满足一个为字符串常量、另一个为局部变量的条件;若满足,则执行步骤2,若不满足,则不分析strcmp函数调用位置,因其不是需要关注的内容,当函数f遍历完成后,执行步骤3;
步骤2:记录该局部变量的栈内偏移量,并在此函数内向上寻找,当找到第一个使用该偏移量存储参数的读参函数,将步骤1中识别到的字符串常量作为该参数的魔法值约束存储起来;
步骤3:将同名的参数提取到的魔法值约束合并;
在所述参数约束推断步骤中,使用从后往前的逆序搜索策略。
作为本发明的进一步改进,所述模糊测试步骤包括测试样例生成步骤、种子调度步骤、验证绕过步骤,
所述测试样例生成步骤:生成模糊测试种子及测试样例,所述测试样例生成步骤输入为网络接口、参数及参数魔法值约束;
所述种子调度步骤:为生成的模糊测试种子及测试样例制定测试策略,有优先级地测试种子;
所述验证绕过步骤:绕过网络接口的认证。
作为本发明的进一步改进,在所述测试样例生成步骤中,测试样例为网络请求数据包,网络请求数据包由对应的网络接口、请求头、对应的参数组成,对于每个获取到的网络接口,逐个将其读取的参数作为目标参数,并且其余参数的取值按对应的魔法值约束进行组合,生成多个种子;
所述种子调度步骤包括探索优先级策略和反馈跳过策略,在所述探索优先级策略中,对于种子数量过多的网络接口,设置阈值,优先探索个数少于阈值的网络接口,而对于数量高于阈值的情况,先随机选取与阈值相同数目的种子进行测试,其余种子待所有网络接口测试完毕后再进行测试;在所述反馈跳过策略中,针对已发现漏洞的网络接口,跳过已发现漏洞的网络接口,对于反馈较慢的网络接口,优先跳过此类网络接口,反馈较慢的网络接口是指存在等待处理结果情况的网络接口;
在所述验证绕过步骤中,对所有网络接口对应的处理函数逻辑进行分析,从中提取请求令牌的接口,在每次模糊测试发送测试样例前先获取令牌,以构造有效的测试样例。
作为本发明的进一步改进,在所述测试样例生成步骤中,针对目标漏洞预设了变异库,通过将目标字段随机替换成变异库中的内容生成测试数据包中的请求体,将网络接口、请求头以及请求体进行拼接,可生成一个有效的测试样例。
作为本发明的进一步改进,当测试发现漏洞导致目标崩溃时,在所述固件运行步骤中,通过预先设置好的监控及重启脚本完成对目标服务的重启,保障后续测试顺利进行。
本发明的有益效果是:在不需要人工参与的情况下,能够自动化完成对IoT设备网络接口及参数的全面提取,且对魔法值约束的推断能够探索更深层的代码逻辑。基于此生成的模糊测试种子能够有效触达后端处理程序逻辑,保障进入IoT设备最重要的途径的安全。对种子调度优化也能使整体测试效率得到提高。
附图说明
图1是本发明的系统架构图;
图2是接口-处理函数提取流程图;
图3是种子示意图。
具体实施方式
本发明公开了一种IoT设备网络服务自动化漏洞分析方法及系统,旨在解决IoT设备网络服务自动化漏洞分析的问题。IoT设备为了方便用户配置系统往往会在网络端暴露大量网络接口,每个网络接口有对应的请求参数,如果参数与网络接口不匹配是无法测试网络接口的内部逻辑的,因此,传统通过已知漏洞直接对设备进行漏洞扫描的方法在该场景下不适用。本发明通过静态分析与动态分析技术对IoT设备进行分析,找出进入后端处理的网络接口清单、对应参数及相关约束取值,再通过模糊测试对后端接口清单进行测试,最终实现对IoT设备的所有有效网络接口自动化漏洞分析的技术效果。
术语说明:
HTML文件、JS文件、XML文件:一种文件类型,用于提供网页前端页面效果。
二进制可执行文件:一种以二进制方式存储、可直接在对应系统上执行文件类型。
魔法值:指一些特殊的取值,当某些变量取到这些值时,能够触发更深层的代码逻辑,完成更深入的代码测试。
模糊测试:一种通过随机产生输入,测试目标是否存在漏洞的测试方法。
IoT设备普及在方便人们生活的同时也带来了很多安全隐患。这些设备为了方便用户管理、配置系统,往往会在网络端暴露大量服务接口。这些接口在接收来自用户输入的请求数据包的同时,也给了攻击者可乘之机。攻击者可以通过在数据包中夹带危险数据攻击设备,严重危害隐私与使用安全。
攻击者通过向网络接口发送恶意数据包发起攻击。为了构造一个有效的数据包,攻击者需要明确目标网络接口以及该网络接口接收的参数名称。若接口名称无效或参数不属于接口接收的参数,数据包都无法成功进入设备后端,攻击也无法成功。
本发明针对IoT设备的网络服务存在的安全隐患,创新性地将对设备固件静态分析结果作为模糊测试种子语料库,用于指导测试样例生成,同时对模糊测试过程中的种子生成调度算法进行优化,以实现对IoT设备网络服务的全面、高效地漏洞检测。
如图1所示,本发明公开了一种IoT设备网络服务自动化漏洞分析系统,安全分析师将解压后的IoT设备固件文件系统输入到系统中进行分析,系统将自动化地根据静态分析结果指导动态分析过程进行,输出漏洞报告,安全分析师只需要将报告中的输入重新测试即可验证其真实性。
系统的输入为IoT设备固件,一般包含前端文件和后端文件。
前端文件一般包含HTML文件、JS文件、XML文件三类,用于在用户管理页面提供前端功能,比如页面布局和渲染等;后端文件一般为二进制可执行文件,用于对页面事件进行相应的处理。
以一个测试网络是否正常的页面来说,正常用户通过触发用户管理页面事件,如在输入框填入目标IP为192.1.1.1、然后点击测试按钮,可以向IoT设备后端处理程序(对应后端文件),如httpd程序,发送请求数据包。数据包中将通过键值对包含用户所填写的目标IP,如target=“192.1.1.1”。后端处理程序再调用相应的处理函数对数据包内容,如target字段,进行解析以及进一步地处理。
系统在获得输入后,经由静态分析模块、模糊测试模块及固件运行模块分析处理后输出漏洞报告。
(1)静态分析模块
静态分析模块用于对固件进行静态分析,提取所有能进入后端处理的网络接口名称、各接口对应的参数名称以及参数的魔法值约束取值(即一些特殊值)。该模块包含三个单元,分别为接口-处理函数提取单元、参数提取单元、参数约束推断单元。以下将对这三个单元进行详细说明。
接口-处理函数提取单元
本单元将结合前端文件从后端文件中提取出能够触达后端处理逻辑的网络接口名称及对应的处理函数。
首先,作为从后端文件中搜索的起点,本单元先通过正则表达式匹配从所有前端文件中提取一些初始的网络接口名称。具体来说,对于HTML文件,记录HTML文件中包含“action=”字段及“form”标签内部字符串片段,并且将相应结果存储为初始网络接口名称;对于JS文件,记录JS文件中“post”及“getJSON”字段对应的字符串片段为初始网络接口名称;对于XML文件,根据其层级结构,记录第三层中“}”字符前的字符串为初始网络接口名称。同时依据类似的正则规则提取初始的参数名称,存入初始参数集合中。
后续的接口-处理函数匹配方法可分为两类,一类是针对接口-处理函数线性连续内存分布情况,通过跟踪初始网络接口定义位置,定位到连续内存片段位置,再按内存地址顺序遍历,相邻的字符串及函数即为成对的接口与对应的处理函数;另一类是针对通过绑定函数来关联接口与处理函数的情况,通过跟踪初始网络接口的调用位置,判断调用函数其他参数是否为指向函数头的指针,若是,则将该调用函数视为绑定函数,若否,则不分析该调用位置,因其不符合条件则不可能为绑定函数。再进一步跟踪绑定函数的调用,并提取调用时的参数,即为网络接口名称及对应的处理函数。接口-处理函数匹配方法流程如图2所示。
最终,本单元输出初始参数集合、网络接口名称及对应处理函数地址集合。
参数提取单元
本单元从后端文件中为各个接口提取其读取的参数名称并为其匹配相应的接口,输入为初始参数集合、接口处理函数地址集合(都为接口-处理函数提取单元的输出)。
为了完整提取所有参数,首先需要识别出正确的读参函数。而后端文件为了能够顺利解析出从前端发来的数据包中的各参数内容,需要以参数名称作为索引,调用读参函数来读取对应字段。因此,跟踪初始参数名称的调用位置就可以找到读参函数。具体来说,遍历初始参数集合中的所有初始参数,首先定位其在后端文件中的定义位置,再跟踪其调用位置,若作为参数传入某函数中,则为该函数记一票,最终,得票数最高的函数被识别成读参函数。
由于读参函数可能存在被封装情况,直接跟踪处理函数中的读参函数调用所提取出的参数是不完整的。为了完整地提取参数,需要跟踪读参函数的被调用位置,并且不断跟踪包含调用位置的函数的被引用情况,直到该函数为接口处理函数地址集合中的元素,则取出对应的接口名称,并将该读参函数对应的参数名称作为接口所包含的参数进行记录。
总结来说,本单元流程可分为如下几步:
1) 以投票制跟踪初始参数调用,识别出读参函数。
2) 跟踪读参函数调用,识别所读取的参数名称(下称为新参数)。
3) 递归跟踪该读参函数调用,直到调用函数为接口处理函数,则将新参数加入对应接口的参数列表内。
最终,本单元输出各个网络接口的参数列表,以及各参数被读取位置(即读参函数被调用的位置)。
参数约束推断单元
本单元为各参数提取出存在的魔法值约束。输入为参数及参数读取位置的对应关系(为参数提取单元输出之一)。
在程序分析中往往存在一些魔法值,当特定变量(如参数)取到魔法值时,能够触发函数更深层的逻辑,进而完成更深层的代码测试。在实际实现上,通常是以strcmp函数(用于比较两个字符串是否相同)结合分支语句来完成,即以strcmp函数的返回结果作为分支判断的条件。而在网络接口处理函数中,参数读取出来,往往会以局部变量的形式存储,而局部变量通常会存储在栈内,程序通过栈内的偏移量来索引不同的局部变量。
因此,本单元主要流程如下:
1)对于参数集合中的所有参数执行以下操作;
2)识别包含该参数读取位置的函数f,遍历该函数逻辑,当识别到对strcmp函数的调用,判断其参数是否满足一个为字符串常量、另一个为局部变量的条件。若满足,则执行3);若不满足,则不分析strcmp函数调用位置,因其不是需要关注的内容,当函数f遍历完成后,执行4);
3)记录该局部变量的栈内偏移量,并在此函数内向上寻找,当找到第一个使用该偏移量存储参数的读参函数,将2)中识别到的字符串常量作为该参数的魔法值约束存储起来;
4)将同名的参数提取到的魔法值约束合并。
考虑到在接口处理函数中存在使用同一变量存储读参结果的情况,本单元使用从后往前的逆序搜索策略,保证每个魔法值约束能准确地匹配到在魔法值出现之前读取且距离最近的参数。
最终,本单元输出参数及该参数魔法值约束集合的对应关系。
静态分析模块最终将上述三个单元输出合并,即可获得所有能进入后端处理的网络接口、各接口读取的参数名称及各参数的魔法值约束。
(2)模糊测试模块
模糊测试模块使用静态分析模块获得的网络接口、参数等信息指导模糊测试种子及测试样例生成,并完成对目标IoT设备的模糊测试,生成漏洞报告。该模块包含三个单元,分别为测试样例生成单元、种子调度单元、验证绕过单元。以下将对这三个单元进行详细描述。
测试样例生成单元
该单元用于生成模糊测试种子及测试样例。输入为网络接口、参数及参数魔法值约束。
在本场景下,测试样例为网络请求数据包,网络请求数据包由HTTP url(对应网络接口)、请求头、请求体(对应参数)组成,而漏洞一般就存在于请求体中参数的解析过程中。因此,模糊测试种子由相对应的部分组成,具体而言,对于每个获取到的网络接口,逐个将其读取的参数作为目标参数,并且其余参数的取值按对应的魔法值约束进行组合,生成多个种子。
例如,某网络接口为 “abc.cgi”,包含4个参数,分别为“paramA”、“paramB”、“paramC”和“paramD”,依次有2、3、4、5个魔法值约束。逐个将参数作为目标参数,以paramA作为目标参数为例,此时将其余三个参数的约束进行组合,可生成3*4*5=60个种子;同理,以“paramB”作为目标参数可生成2*4*5=40个种子,“paramC”可生成30个,“paramD”可生成24个。因此,根据此网络接口共可生成154个种子,图3展示了其中一个种子的情况。
本单元将进一步通过对种子进行变异生成测试样例,在本专利场景下,即为网络请求数据包。本发明面向的漏洞类型包括缓冲区溢出和系统命令注入,因此,对应的种子变异策略是一种基于变异的黑盒策略,即本单元针对目标漏洞预设了一些变异库,通过将目标字段随机替换成变异库中的内容生成测试数据包中的请求体。由于请求头一般为固定格式,可通过模板固定生成。将网络接口、请求头以及请求体进行拼接,即可生成一个有效的测试样例。
种子调度单元
该单元负责为生成的模糊测试种子及测试样例制定测试策略,有优先级地测试种子。主要包含两个策略:
1)针对种子数量众多的情况,设置探索优先级策略。对于种子数量过多的网络接口,设置阈值,优先探索个数少于阈值的网络接口。而对于数量高于阈值的情况,先随机选取与阈值相同数目的种子进行测试,其余种子待所有网络接口测试完毕后再进行测试。这个策略能在网络接口覆盖率的角度提升测试的效率。
2)反馈跳过策略。针对已发现漏洞的网络接口,继续测试的意义不大,故跳过已发现漏洞的网络接口;对于反馈较慢的网络接口(如存在等待处理结果的情况),优先跳过此类接口,用于提升测试的效率。
验证绕过单元
部分设备的网络接口会存在认证机制,本单元用于对这些认证进行绕过,以实现自动化、持续化的模糊测试。
主要的认证方式为时间令牌方式,在请求网络接口前需要对特定接口进行访问,获取实时令牌,在后续的接口访问中需要在数据包中包含此令牌,否则后端程序会拒绝处理。直接对目标接口的访问是无效的,只有优先访问指定的接口取得令牌,并在请求行中附带令牌时,请求才能被处理。
而此类认证逻辑也存在与后端程序中,因此本单元会对所有网络接口对应的处理函数逻辑进行分析,从中提取请求令牌的接口,在每次模糊测试发送测试样例前先获取令牌,以构造有效的测试样例。
最终,本单元输出各网络接口存在的令牌获取接口(可选)。
(3)固件运行模块
固件运行模块负责将目标固件运行起来,为模糊测试提供测试对象。因此,最佳实现方式是直接使用真实设备,这样测试得到的结果误报率低。
当分析师拥有目标固件时,也可以使用qemu工具完成对目标服务的启动。此外,当测试发现漏洞导致目标崩溃时,该模块可以通过预先设置好的监控及重启脚本完成对目标服务的重启,保障后续测试顺利进行。
本发明涉及IoT设备的静态分析、动态分析及模糊测试技术,提高了IoT设备漏洞分析的有效性和效率。本发明首先需要解决从IoT设备固件中找出所有有效后端网络接口的问题。该问题一般通过流量监听技术或使用已知漏洞扫描解决,现有专利技术中通常使用爬虫或设置代理工具来实现。现有专利技术方法面临两个问题,可能会导致漏洞分析不全面或过程中需要人工参与:1)通过爬虫爬取的网络接口包含大量无效接口,无法触达后端处理程序,需要人工筛查,且由于网络接口数量庞大,不易找出所有有效的网络接口;2)网络接口请求处理逻辑中存在魔法值(Magic value),只有当参数取到相应值时才能触发对应处理逻辑,现有技术无法获取。本发明通过对IoT设备后端程序固件进行静态分析,获取所有可以触达后端处理逻辑的网络接口,并通过对各个接口处理逻辑进行分析,提取其对应的参数,并推断各参数存在的魔法值,所有信息作为种子语料,指导后续模糊测试高效生成有效测试样例进行精准全面的漏洞分析。
综上,本发明的有益效果是:在不需要人工参与的情况下,能够自动化完成对IoT设备网络接口及参数的全面提取,且对魔法值约束的推断能够探索更深层的代码逻辑。基于此生成的模糊测试种子能够有效触达后端处理程序逻辑,保障进入IoT设备最重要的途径的安全。对种子调度优化也能使整体测试效率得到提高。具体的技术优势包括:
1.提出了一种通过后端程序静态分析指导模糊测试种子生成的方法,能够全面准确地发现网络接口,匹配相应参数及相关约束。
2.从测试广度及深度来看,能够广泛而全面的对所有进入后端处理逻辑的网络接口进行测试,且由于对魔法值进行识别,能够探索相对深层的代码逻辑。
3. 优先探索的种子调度算法使得能够高效地完成对目标设备的测试,且全程自动化,无需人工参与。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (10)
1.一种IoT设备网络服务自动化漏洞分析系统,其特征在于,包括静态分析模块、模糊测试模块、固件运行模块,
所述静态分析模块用于对固件进行静态分析,提取所有能进入后端处理的网络接口名称、各接口对应的参数名称以及参数的魔法值约束取值;
所述模糊测试模块使用静态分析模块获得的网络接口、参数信息指导模糊测试种子及测试样例生成,并完成对目标IoT设备的模糊测试,生成漏洞报告;
所述固件运行模块用于将目标固件运行起来,为模糊测试提供测试对象;
所述模糊测试模块包括测试样例生成单元、种子调度单元、验证绕过单元,
所述测试样例生成单元用于生成模糊测试种子及测试样例,所述测试样例生成单元输入为网络接口、参数及参数魔法值约束;
所述种子调度单元用于为生成的模糊测试种子及测试样例制定测试策略,有优先级地测试种子;
所述验证绕过单元用于绕过网络接口的认证;
在所述测试样例生成单元中,测试样例为网络请求数据包,网络请求数据包由对应的网络接口、请求头、对应的参数组成,对于每个获取到的网络接口,逐个将其读取的参数作为目标参数,并且其余参数的取值按对应的魔法值约束进行组合,生成多个种子;
所述种子调度单元包括探索优先级策略和反馈跳过策略,在所述探索优先级策略中,对于种子数量过多的网络接口,设置阈值,优先探索个数少于阈值的网络接口,而对于数量高于阈值的情况,先随机选取与阈值相同数目的种子进行测试,其余种子待所有网络接口测试完毕后再进行测试;在所述反馈跳过策略中,针对已发现漏洞的网络接口,跳过已发现漏洞的网络接口,对于反馈较慢的网络接口,优先跳过此类网络接口,反馈较慢的网络接口是指存在等待处理结果情况的网络接口;
在所述验证绕过单元中,对所有网络接口对应的处理函数逻辑进行分析,从中提取请求令牌的接口,在每次模糊测试发送测试样例前先获取令牌,以构造有效的测试样例。
2.根据权利要求1所述的IoT设备网络服务自动化漏洞分析系统,其特征在于,所述静态分析模块包括接口-处理函数提取单元、参数提取单元、参数约束推断单元,
所述接口-处理函数提取单元:将结合前端文件从后端文件中提取出能够触达后端处理逻辑的网络接口名称及对应的处理函数;所述接口-处理函数提取单元输出初始参数集合、网络接口名称及对应处理函数地址集合至所述参数提取单元;
所述参数提取单元:从后端文件中为各个接口提取其读取的参数名称并为其匹配相应的接口;所述参数提取单元输出各个网络接口的参数列表,以及各参数被读取位置;
所述参数约束推断单元:为各参数提取出存在的魔法值约束,所述参数约束推断单元输出参数及该参数魔法值约束集合的对应关系。
3.根据权利要求2所述的IoT设备网络服务自动化漏洞分析系统,其特征在于,在所述接口-处理函数提取单元中,通过正则表达式匹配从所有前端文件中提取初始的网络接口名称,同时依据正则规则提取初始的参数名称存入初始参数集合中;
在所述接口-处理函数提取单元中,处理函数匹配方法可分为两类,一类是针对接口-处理函数线性连续内存分布情况,通过跟踪初始网络接口定义位置,定位到连续内存片段位置,再按内存地址顺序遍历,相邻的字符串及函数即为成对的接口与对应的处理函数;另一类是针对通过绑定函数来关联接口与处理函数的情况,通过跟踪初始网络接口的调用位置,判断调用函数其他参数是否为指向函数头的指针,若是,则将该调用函数视为绑定函数,若否,则不分析该调用位置,因其不符合条件则不可能为绑定函数;再进一步跟踪绑定函数的调用,并提取调用时的参数,即为网络接口名称及对应的处理函数;
在所述参数提取单元中,以投票制跟踪初始参数调用,识别出读参函数;跟踪读参函数调用,识别所读取的参数名称,将识别所读取的参数名称称为新参数;递归跟踪该读参函数调用,直到调用函数为接口处理函数,则将新参数加入对应接口的参数列表内;
在所述参数约束推断单元中,对于参数集合中的所有参数执行以下操作:
步骤1:识别包含该参数读取位置的函数f,遍历该函数逻辑,当识别到对strcmp函数的调用,判断其参数是否满足一个为字符串常量、另一个为局部变量的条件;若满足,则执行步骤2,若不满足,则不分析strcmp函数调用位置,因其不是需要关注的内容,当函数f遍历完成后,执行步骤3;
步骤2:记录该局部变量的栈内偏移量,并在此函数内向上寻找,当找到第一个使用该偏移量存储参数的读参函数,将步骤1中识别到的字符串常量作为该参数的魔法值约束存储起来;
步骤3:将同名的参数提取到的魔法值约束合并;
所述参数约束推断单元使用从后往前的逆序搜索策略。
4.根据权利要求1所述的IoT设备网络服务自动化漏洞分析系统,其特征在于,所述测试样例生成单元针对目标漏洞预设了变异库,通过将目标字段随机替换成变异库中的内容生成测试数据包中的请求体,将网络接口、请求头以及请求体进行拼接,可生成一个有效的测试样例。
5.根据权利要求1所述的IoT设备网络服务自动化漏洞分析系统,其特征在于,当测试发现漏洞导致目标崩溃时,所述固件运行模块通过预先设置好的监控及重启脚本完成对目标服务的重启,保障后续测试顺利进行。
6.一种IoT设备网络服务自动化漏洞分析方法,其特征在于,包括静态分析步骤、模糊测试步骤、固件运行步骤,
所述静态分析步骤:对固件进行静态分析,提取所有能进入后端处理的网络接口名称、各接口对应的参数名称以及参数的魔法值约束取值;
所述模糊测试步骤:使用静态分析模块获得的网络接口、参数信息指导模糊测试种子及测试样例生成,并完成对目标IoT设备的模糊测试,生成漏洞报告;
所述固件运行步骤:用于将目标固件运行起来,为模糊测试提供测试对象;
所述模糊测试步骤包括测试样例生成步骤、种子调度步骤、验证绕过步骤,
所述测试样例生成步骤:生成模糊测试种子及测试样例,所述测试样例生成步骤输入为网络接口、参数及参数魔法值约束;
所述种子调度步骤:为生成的模糊测试种子及测试样例制定测试策略,有优先级地测试种子;
所述验证绕过步骤:绕过网络接口的认证;
在所述测试样例生成步骤中,测试样例为网络请求数据包,网络请求数据包由对应的网络接口、请求头、对应的参数组成,对于每个获取到的网络接口,逐个将其读取的参数作为目标参数,并且其余参数的取值按对应的魔法值约束进行组合,生成多个种子;
所述种子调度步骤包括探索优先级策略和反馈跳过策略,在所述探索优先级策略中,对于种子数量过多的网络接口,设置阈值,优先探索个数少于阈值的网络接口,而对于数量高于阈值的情况,先随机选取与阈值相同数目的种子进行测试,其余种子待所有网络接口测试完毕后再进行测试;在所述反馈跳过策略中,针对已发现漏洞的网络接口,跳过已发现漏洞的网络接口,对于反馈较慢的网络接口,优先跳过此类网络接口,反馈较慢的网络接口是指存在等待处理结果情况的网络接口;
在所述验证绕过步骤中,对所有网络接口对应的处理函数逻辑进行分析,从中提取请求令牌的接口,在每次模糊测试发送测试样例前先获取令牌,以构造有效的测试样例。
7.根据权利要求6所述的IoT设备网络服务自动化漏洞分析方法,其特征在于,所述静态分析步骤包括接口-处理函数提取步骤、参数提取步骤、参数约束推断步骤,
所述接口-处理函数提取步骤:将结合前端文件从后端文件中提取出能够触达后端处理逻辑的网络接口名称及对应的处理函数;所述接口-处理函数提取单元输出初始参数集合、网络接口名称及对应处理函数地址集合至所述参数提取步骤;
所述参数提取步骤:从后端文件中为各个接口提取其读取的参数名称并为其匹配相应的接口;所述参数提取步骤输出各个网络接口的参数列表,以及各参数被读取位置;
所述参数约束推断步骤:为各参数提取出存在的魔法值约束,所述参数约束推断单元输出参数及该参数魔法值约束集合的对应关系。
8.根据权利要求7所述的IoT设备网络服务自动化漏洞分析方法,其特征在于,在所述接口-处理函数提取步骤中,通过正则表达式匹配从所有前端文件中提取初始的网络接口名称,同时依据正则规则提取初始的参数名称存入初始参数集合中;
在所述接口-处理函数提取步骤中,处理函数匹配方法可分为两类,一类是针对接口-处理函数线性连续内存分布情况,通过跟踪初始网络接口定义位置,定位到连续内存片段位置,再按内存地址顺序遍历,相邻的字符串及函数即为成对的接口与对应的处理函数;另一类是针对通过绑定函数来关联接口与处理函数的情况,通过跟踪初始网络接口的调用位置,判断调用函数其他参数是否为指向函数头的指针,若是,则将该调用函数视为绑定函数;再进一步跟踪绑定函数的调用,并提取调用时的参数,即为网络接口名称及对应的处理函数;
在所述参数提取步骤中,以投票制跟踪初始参数调用,识别出读参函数;跟踪读参函数调用,识别所读取的参数名称,将识别所读取的参数名称称为新参数;递归跟踪该读参函数调用,直到调用函数为接口处理函数,则将新参数加入对应接口的参数列表内;
在所述参数约束推断步骤中,对于参数集合中的所有参数执行以下操作:
步骤1:识别包含该参数读取位置的函数f,遍历该函数逻辑,当识别到对strcmp函数的调用,判断其参数是否满足一个为字符串常量、另一个为局部变量的条件;若满足,则执行步骤2,若不满足,则不分析strcmp函数调用位置,因其不是需要关注的内容,当函数f遍历完成后,执行步骤3;
步骤2:记录该局部变量的栈内偏移量,并在此函数内向上寻找,当找到第一个使用该偏移量存储参数的读参函数,将步骤1中识别到的字符串常量作为该参数的魔法值约束存储起来;
步骤3:将同名的参数提取到的魔法值约束合并;
在所述参数约束推断步骤中,使用从后往前的逆序搜索策略。
9.根据权利要求6所述的IoT设备网络服务自动化漏洞分析方法,其特征在于,在所述测试样例生成步骤中,针对目标漏洞预设了变异库,通过将目标字段随机替换成变异库中的内容生成测试数据包中的请求体,将网络接口、请求头以及请求体进行拼接,可生成一个有效的测试样例。
10.根据权利要求6所述的IoT设备网络服务自动化漏洞分析方法,其特征在于,当测试发现漏洞导致目标崩溃时,在所述固件运行步骤中,通过预先设置好的监控及重启脚本完成对目标服务的重启,保障后续测试顺利进行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211145369.2A CN115270139B (zh) | 2022-09-20 | 2022-09-20 | 一种IoT设备网络服务自动化漏洞分析方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211145369.2A CN115270139B (zh) | 2022-09-20 | 2022-09-20 | 一种IoT设备网络服务自动化漏洞分析方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115270139A CN115270139A (zh) | 2022-11-01 |
CN115270139B true CN115270139B (zh) | 2023-01-17 |
Family
ID=83756202
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211145369.2A Active CN115270139B (zh) | 2022-09-20 | 2022-09-20 | 一种IoT设备网络服务自动化漏洞分析方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115270139B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111083201A (zh) * | 2019-11-25 | 2020-04-28 | 哈尔滨工业大学 | 一种工业物联网中针对数据驱动制造服务的节能资源分配方法 |
CN112417461A (zh) * | 2020-12-07 | 2021-02-26 | 北京梆梆安全科技有限公司 | 设备固件的模糊测试方法及系统 |
CN114329478A (zh) * | 2021-12-07 | 2022-04-12 | 复旦大学 | 一种安卓系统服务内存消耗类漏洞挖掘方法 |
CN114610640A (zh) * | 2022-03-23 | 2022-06-10 | 浙江大学 | 一种面向物联网可信执行环境的模糊测试方法和系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11520901B2 (en) * | 2018-12-26 | 2022-12-06 | Jfrog Ltd | Detecting firmware vulnerabilities |
CN111830928B (zh) * | 2020-06-08 | 2021-07-30 | 杭州电子科技大学 | 一种工业控制设备固件的模糊测试方法 |
CN113901475A (zh) * | 2021-09-27 | 2022-01-07 | 成都卫士通信息产业股份有限公司 | 一种针对工控终端设备的输入验证漏洞的模糊挖掘方法 |
-
2022
- 2022-09-20 CN CN202211145369.2A patent/CN115270139B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111083201A (zh) * | 2019-11-25 | 2020-04-28 | 哈尔滨工业大学 | 一种工业物联网中针对数据驱动制造服务的节能资源分配方法 |
CN112417461A (zh) * | 2020-12-07 | 2021-02-26 | 北京梆梆安全科技有限公司 | 设备固件的模糊测试方法及系统 |
CN114329478A (zh) * | 2021-12-07 | 2022-04-12 | 复旦大学 | 一种安卓系统服务内存消耗类漏洞挖掘方法 |
CN114610640A (zh) * | 2022-03-23 | 2022-06-10 | 浙江大学 | 一种面向物联网可信执行环境的模糊测试方法和系统 |
Non-Patent Citations (7)
Title |
---|
CloudDLP: Transparent and Scalable Data Sanitization for Browser-Based Cloud Storage;Peiyi Han等;《IEEE Access》;20200406;第8卷;第68449-68459页 * |
Diane: Identifying Fuzzing Triggers in Apps to Generate Under-constrained Inputs for IoT Devices;Nilo Redini等;《 2021 IEEE Symposium on Security and Privacy (SP)》;20210826;第484-500页 * |
IOTFUZZER:通过基于应用程序的模糊测试发现物联网中的内存损坏;网络安全应急技术国家工程实验室;《https://mp.weixin.qq.com/s?__biz=MzUzNDYxOTA1NA==&mid=2247485123&idx=2&sn=15953c60bf9df603c6b3a00b60bcf506&chksm=fa90b002cde73914480389aa552e7bb91c58b2c8d060037d5a657e1dceaf1467a5b2c93ceb93&scene=27》;20180709;全文 * |
基于二进制静态插桩和反馈式模糊测试的固件漏洞挖掘技术研究与实现;孙艺祺;《中国优秀硕士学位论文全文数据库》;20220430;信息科技辑I136-299 * |
基于动态污点分析的工控设备硬件漏洞挖掘方法研究;段斌等;《信息网络安全》;20190410(第04期);第53-60页 * |
基于细粒度授权的物联网搜索数据隐私保护方案;王佳慧等;《网络与信息安全学报》;20170131;第3卷(第1期);第13-22页 * |
深度学习数据窃取攻击在数据沙箱模式下的威胁分析与防御方法研究;潘鹤中等;《通信学报》;20211130;第42卷(第11期);第133-144页 * |
Also Published As
Publication number | Publication date |
---|---|
CN115270139A (zh) | 2022-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Aliero et al. | An algorithm for detecting SQL injection vulnerability using black-box testing | |
CN109325351B (zh) | 一种基于众测平台的安全漏洞自动化验证系统 | |
US10503910B2 (en) | Security testing framework including virtualized server-side platform | |
Fonseca et al. | Testing and comparing web vulnerability scanning tools for SQL injection and XSS attacks | |
US9268945B2 (en) | Detection of vulnerabilities in computer systems | |
Li et al. | A survey on server-side approaches to securing web applications | |
US10387656B2 (en) | Integrated interactive application security testing | |
US10505966B2 (en) | Cross-site request forgery (CSRF) vulnerability detection | |
CN109922052A (zh) | 一种结合多重特征的恶意url检测方法 | |
CN110225029B (zh) | 注入攻击检测方法、装置、服务器及存储介质 | |
CN111737150B (zh) | 面向Java EE程序SQLIA漏洞的污点分析和验证方法及装置 | |
CN111694746A (zh) | 面向编译型语言AS3的Flash缺陷模糊测评工具 | |
CN115270131A (zh) | 一种Java反序列化漏洞检测方法及系统 | |
CN114003794A (zh) | 资产收集方法、装置、电子设备和介质 | |
Kapodistria et al. | An advanced web attack detection and prevention tool | |
CN112016096A (zh) | 一种xss漏洞的审计方法、装置 | |
CN114036526A (zh) | 漏洞测试方法、装置、计算机设备和存储介质 | |
Noseevich et al. | Detecting insufficient access control in web applications | |
CN116541022A (zh) | 一种基于语义状态图的php二阶漏洞的自动化挖掘方法 | |
Qu | Research on password detection technology of iot equipment based on wide area network | |
CN115270139B (zh) | 一种IoT设备网络服务自动化漏洞分析方法及系统 | |
Dharam et al. | Runtime monitoring technique to handle tautology based SQL injection attacks | |
CN113849817B (zh) | 一种JavaScript原型链污染漏洞的检测方法及装置 | |
Ngan et al. | Nowhere to hide: Detecting obfuscated fingerprinting scripts | |
Deng et al. | {NAUTILUS}: Automated {RESTful}{API} Vulnerability Detection |
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 |