嵌入式设备SDK安全性分析方法及系统

    公开(公告)号:CN113806715B

    公开(公告)日:2024-04-05

    申请号:CN202010545718.4

    申请日:2020-06-16

    Abstract: 一种嵌入式设备SDK安全性分析方法,依次利用认证协议自动还原技术对嵌入式设备SDK的认证机制进行安全检测、利用通信协议逻辑自动检测技术对嵌入式设备SDK的通信过程进行安全检测以及利用嵌入式设备三方代码分离技术,将嵌入式设备SDK中的厂商自定义代码与三方代码分离,利用基于搜索引擎的漏洞报告检测技术,对三方代码进行安全检测,利用嵌入式设备密码误用检测与内存安全检测技术,对厂商自定义代码进行安全检测,最后生成代码安全性报告。本发明支持在设备开发阶段进行代码安全分析,支持主要的业务逻辑安全分析,提升了当前嵌入式设备安全分析的覆盖范围和分析效果。

    跨架构的嵌入式设备固件未修补漏洞检测方法及系统

    公开(公告)号:CN111752586B

    公开(公告)日:2024-04-02

    申请号:CN202010578595.4

    申请日:2020-06-23

    Abstract: 一种跨架构的嵌入式设备固件未修补漏洞检测方法及系统,首先采集新版本和旧版本的固件,选取两个对应的新旧版本程序二进制文件作为分析对象,将两个二进制文件提升到LLVM IR,基于LLVM IR展开分析,即对两个版本固件的中间语言代码进行函数级别的构造相似性分析,识别出构造相似函数;然后对非构造相似函数进行函数语义相似性分析,识别出语义相似函数;最后对得到的语义相似函数进行差异分析,将差异分析的结果与差异模板进行匹配,完成未修补漏洞检测。本发明通过使用本系统可以快速检测识别闭源嵌入式设备固件中由第三方库引入的未修补漏洞,并且支持ARM、MIPS、IA‑32架构。

    单次多漏洞代码检测方法及系统

    公开(公告)号:CN114282226A

    公开(公告)日:2022-04-05

    申请号:CN202111673574.1

    申请日:2021-12-31

    Abstract: 一种单次多漏洞代码检测方法及系统,通过LLVM编译器将待检测代码转化为LLVM中间语言后,进行类型敏感的指针分析,进而构建整个程序代码的程序调用图;然后根据预先标记的函数构建整个程序代码内存对象和全局常量的值流图,通过将内存泄漏、指针双重释放及释放后使用、常量敏感数据进行抽象建模表示,通过值流图的遍历以及代码安全问题模式匹配的方式对存在安全漏洞的代码点进行标记;最后通过对不同代码漏洞存在的误报模式进行建模,将收集的漏洞代码点进行误报过滤,并将剩余的漏洞代码点输出,得到最终的代码安全漏洞报告。本发明具有良好的扩展性且支持更多类型的代码漏洞检测的同时,极大地保障用户代码安全性并降低人力成本。

    面向密码代码的自动化程序敏感数据保护方法

    公开(公告)号:CN112528240A

    公开(公告)日:2021-03-19

    申请号:CN202011402024.1

    申请日:2020-12-02

    Abstract: 一种面向密码代码的自动化程序敏感数据保护方法,通过预先在程序源代码上通过标记语句手工标记出原始的密钥材料及明文密文污点,通过LLVM编译器将程序源代码转换为LLVM中间语言代码;在LLVM中间语言代码上进行针对密码代码的静态敏感数据流分析,得到包含代码中的敏感缓冲区以及对应的对敏感缓冲区进行操作的代码;根据静态分析阶段输出的结果确定待修改的缓冲区的分配以及需要在高权限状态下执行的内存访问指令,并在此基础上进行隔离操作,并将变换得到的中间语言编译的同时链接上需要的运行时库,最终输出编译得到最终的保护后的二进制程序。本发明能够自动帮助确定需要保护的衍生密钥材料、中间缓冲区等数据结构和敏感数据。

    Android设备内核漏洞的修补系统及方法

    公开(公告)号:CN107273750B

    公开(公告)日:2021-03-16

    申请号:CN201710405313.9

    申请日:2017-05-31

    Abstract: 一种Android设备内核漏洞的修补系统及方法,包括:修复信息采集模块、启发式匹配模块、内核页表处理模块和修复模块,其中:修复信息采集模块与启发式匹配模块相连并传输CVE信息,启发式匹配模块与修复模块相连并传输漏洞点位置,即修补代码的插入点位置,内核页表处理模块与修复模块相连并传输分配的可执行内存信息,修复模块根据分配的可执行内存信息和漏洞点位置实现漏洞的修复。本发明通过启发式匹配策略来进行匹配定位漏洞点,在深入分析、理解内核页表的基础上,修改页表权限达到插入修补代码的目的。

    跨架构的嵌入式设备固件未修补漏洞检测方法及系统

    公开(公告)号:CN111752586A

    公开(公告)日:2020-10-09

    申请号:CN202010578595.4

    申请日:2020-06-23

    Abstract: 一种跨架构的嵌入式设备固件未修补漏洞检测方法及系统,首先采集新版本和旧版本的固件,选取两个对应的新旧版本程序二进制文件作为分析对象,将两个二进制文件提升到LLVM IR,基于LLVM IR展开分析,即对两个版本固件的中间语言代码进行函数级别的构造相似性分析,识别出构造相似函数;然后对非构造相似函数进行函数语义相似性分析,识别出语义相似函数;最后对得到的语义相似函数进行差异分析,将差异分析的结果与差异模板进行匹配,完成未修补漏洞检测。本发明通过使用本系统可以快速检测识别闭源嵌入式设备固件中由第三方库引入的未修补漏洞,并且支持ARM、MIPS、IA-32架构。

    基于进程模拟的二进制程序分析系统

    公开(公告)号:CN103440457B

    公开(公告)日:2015-12-09

    申请号:CN201310426028.7

    申请日:2013-09-18

    Abstract: 一种电子数据监控技术领域的基于进程模拟的二进制程序分析系统,包括:模拟器引擎模块、内存管理模块、进程管理模块、系统调用接口、线程管理模块、中央处理模块和提供应用程序接口的分析组件接口,其中:模拟器引擎模块分别连接内存管理模块、进程管理模块、系统调用接口和分析组件接口,进程管理模块分别与内存管理模块、中央处理模块和系统调用接口相连,线程管理模块分别与内存管理模块、进程管理模块和中央处理模块相连;本发明不依赖于对程序的静态逆向分析,而采用完全动态分析的方法,能够避免大部分程序保护技术造成的影响。

    对Android重打包恶意软件的恶意代码的检测、切除和恢复的方法

    公开(公告)号:CN104091121A

    公开(公告)日:2014-10-08

    申请号:CN201410261034.6

    申请日:2014-06-12

    CPC classification number: G06F21/563

    Abstract: 一种对Android重打包恶意软件的恶意代码的检测、切除和恢复的方法,通过对已知恶意程序的恶意入口点类建立由模糊哈希值构成的特征库,用于与反汇编后的待检测程序的入口点类进行匹配;然后依次切除被重打包加入的完整的恶意代码片段以及恶意代码的资源文件,最后找出重打包过程中对原程序实施修改的代码片段,恢复其原有功能。本发明针对当前Android平台日益严重的恶意程序使用的重打包植入恶意代码这一最主要传播特征,检测和切除那些正常程序中植入的恶意代码部分。

    针对软件虚拟机保护的反混淆系统及方法

    公开(公告)号:CN109145534B

    公开(公告)日:2022-11-11

    申请号:CN201810820633.5

    申请日:2018-07-24

    Abstract: 一种针对软件虚拟机保护的反混淆系统及方法,通过对程序追踪并获得追踪文件后,采用启发式分析策略分析trace文件得到软件虚拟机指令集;然后通过对虚拟机指令集提取语义;最后经重写和优化编译实现反混淆。本发明针对于受商业软件虚拟机vmprotect保护的程序,优化后得到的程序所执行的指令平均减少了2/3,并且易于修改,克服了现有的软件虚拟机逆向分析方法的缺陷。

Patent Agency Ranking