一种同源恶意代码的细粒度分类识别方法

    公开(公告)号:CN111444506A

    公开(公告)日:2020-07-24

    申请号:CN202010440355.8

    申请日:2020-05-22

    申请人: 南京大学

    发明人: 曾庆凯 李佳杰

    IPC分类号: G06F21/56 G06F8/41

    摘要: 本发明公开了一种同源恶意代码的细粒度分类识别方法,包括:获取系统调用序列以及指令序列;对系统调用序列以及指令序列进行分析,得到数据流系统调用序列;通过提取语义特征序列操作提取已有同源恶意代码库的恶意语义特征;将获得的恶意语义特征组织成恶意语义特征库;获得待测代码的数据流系统调用序列,将之与恶意语义特征库中的恶意语义特征进行对比,对待测代码进行细粒度分类识别并且得出最终识别结果:是否为同源恶意代码和具体的恶意代码类别。本发明能够对同源恶意代码实施细粒度的分类识别,可以区分现有方案难以分类的恶意代码;可以避免指令混淆技术、系统调用混淆技术的干扰,进行较为准确的恶意代码分类识别。

    一种基于硬件虚拟化的多核环境进程内核栈保护方法

    公开(公告)号:CN110096871A

    公开(公告)日:2019-08-06

    申请号:CN201910391660.X

    申请日:2019-05-10

    申请人: 南京大学

    发明人: 曾庆凯 杜震

    IPC分类号: G06F21/53

    摘要: 一种基于硬件虚拟化的多核环境进程内核栈保护方法,将保护系统嵌入到虚拟机管理器Hypervisor中,对客户机中的进程内核栈提供完整性保护。本方法在多核环境中,对任意进程的内核栈区域整体提供实时的完整性保护。本方法的保护对象不再局限于部分安全敏感的数据,而是保护进程内核栈上的所有数据内容,包括内核栈上的控制数据和非控制数据;保护方法适用于多核环境,单核环境下也是有效的。本方法不仅可防御来自于进程本地处理器的恶意攻击,而且可以防御来自其它处理器的恶意攻击,防御能力更加全面。此外,本方法的保护机制是连续和实时的,不存在保护间隙,可有效增强系统的安全性。

    用于多线程后向控制流完整性保护的影子栈实现方法

    公开(公告)号:CN106295258B

    公开(公告)日:2019-03-26

    申请号:CN201610638311.X

    申请日:2016-08-04

    申请人: 南京大学

    发明人: 曾庆凯 谢志宇

    IPC分类号: G06F21/12 G06F21/56

    摘要: 本发明提供了一种用于多线程后向控制流完整性保护的影子栈实现方法。所述用于多线程后向控制流完整性保护的影子栈实现方法包括如下步骤:a、对待保护程序的源码进行编译时插装,生成部署了影子栈的可执行文件;b、启动部署了影子栈的可执行文件,由动态共享库劫持线程的创建和启动,完成创建影子栈;c、插装后的函数头和函数尾实现所述影子栈的栈顶指针的维护和后向控制流完整性的检查;d、进行所述线程的退出处理,并通过所述动态共享库中注册的析构函数对所述影子栈进行销毁。本发明的有益效果在于:所述用于多线程后向控制流完整性保护的影子栈实现方法可提高多线程C/C++程序的控制流完整性保护能力,以降低受到代码复用攻击的威胁。

    一种基于硬件虚拟化技术的应用程序安全保护方法

    公开(公告)号:CN108874500A

    公开(公告)日:2018-11-23

    申请号:CN201810384703.7

    申请日:2018-04-26

    申请人: 南京大学

    发明人: 曾庆凯 梁诚伟

    IPC分类号: G06F9/455 G06F21/52

    摘要: 一种基于硬件虚拟化技术的应用程序安全保护方法,可以防御针对应用程序可用性的攻击。通过对转接器的内容与结构进行修改,使得该类方案的结构特征得以隐藏,不易被攻击者识别、发起针对性的可用性攻击。本发明可以消除保护机构在结构上的典型特征,从而避免针对应用程序的可用性攻击威胁。而且,修改过的转接器仅仅是内容与结构上的改变,对系统性能几乎没有影响。因此,本发明可以在不影响系统性能的条件下,减缓应用程序的可用性攻击威胁,提高系统可用性和应用程序的可用性与安全性。

    一种基于硬件机制的内核控制流异常检测方法

    公开(公告)号:CN107506638A

    公开(公告)日:2017-12-22

    申请号:CN201710674436.2

    申请日:2017-08-09

    申请人: 南京大学

    发明人: 曾庆凯 焦贺贺

    IPC分类号: G06F21/52 G06F11/36

    摘要: 一种基于硬件机制的内核控制流异常检测方法,包括以下步骤:进入VMM环境;生成合法跳转目的地址集合;配置VMCS区域;配置LBR;配置PMU;进入VM环境;分支记录验证。通过LBR机制能够在内核运行期间自动记录分支跳转的源地址和目标地址,使检测系统的开销显著降低;通过PMU机制能够在LBR记录写满时产生NMI中断,使检测系统不会出现遗漏分支跳转的情况;通过硬件虚拟化机制捕捉NMI中断,并对记录进行验证,提高系统的安全性。相比于传统的检测系统,本发明能显著提高内核异常控制流检测的安全性和完整性。

    一种程序内存布局信息泄露行为的检测方法

    公开(公告)号:CN107220537A

    公开(公告)日:2017-09-29

    申请号:CN201710376190.0

    申请日:2017-05-25

    申请人: 南京大学

    发明人: 曾庆凯 雷啸

    IPC分类号: G06F21/52

    摘要: 本发明公开了一种程序内存布局信息泄露行为的检测方法,其特征在于,包括如下步骤:步骤一:获取目标程序及其动态链接库;步骤二:识别与提取目标程序的安全敏感区域;步骤三:确定目标程序安全敏感区域运行时的地址;步骤四:动态管理安全敏感区域;步骤五:程序运行时,监控输出操作,检测内存信息是否泄漏。本发明提供了一种基于程序输出操作模式的检测方法,从而阻止和避免内存布局信息的泄露,降低了攻击者成功实施代码复用攻击的风险。

    一种基于路径合并的可引导符号执行漏洞检测方法

    公开(公告)号:CN106599695A

    公开(公告)日:2017-04-26

    申请号:CN201610393789.0

    申请日:2016-06-03

    申请人: 南京大学

    发明人: 曾庆凯 聂凌

    IPC分类号: G06F21/57 G06F11/36

    CPC分类号: G06F21/577 G06F11/3688

    摘要: 本发明提供了一种基于路径合并的可引导符号执行漏洞检测方法。所述基于路径合并的可引导符号执行漏洞检测方法包括如下步骤:a、对目标程序进行扫描和解析,获得与漏洞相关的程序控制流,并标记路径合并范围;b、在符号执行过程中,根据获得的所述程序控制流信息对标记的范围进行摘要收集;c、在符号执行过程中,遇到已摘要程序片段,直接重用摘要,从而消除冗余探索,并将与漏洞无关的程序路径剪枝。本发明的有益效果在于:所述基于路径合并的可引导符号执行漏洞检测方法可以消除冗余路径探索,使符号执行的效率、漏洞检测的精度得到提高,从而实现更加精确、高效的漏洞检测。

    用于多线程后向控制流完整性保护的影子栈实现方法

    公开(公告)号:CN106295258A

    公开(公告)日:2017-01-04

    申请号:CN201610638311.X

    申请日:2016-08-04

    申请人: 南京大学

    发明人: 曾庆凯 谢志宇

    IPC分类号: G06F21/12 G06F21/56

    摘要: 本发明提供了一种用于多线程后向控制流完整性保护的影子栈实现方法。所述用于多线程后向控制流完整性保护的影子栈实现方法包括如下步骤:a、对待保护程序的源码进行编译时插装,生成部署了影子栈的可执行文件;b、启动部署了影子栈的可执行文件,由动态共享库劫持线程的创建和启动,完成创建影子栈;c、插装后的函数头和函数尾实现所述影子栈的栈顶指针的维护和后向控制流完整性的检查;d、进行所述线程的退出处理,并通过所述动态共享库中注册的析构函数对所述影子栈进行销毁。本发明的有益效果在于:所述用于多线程后向控制流完整性保护的影子栈实现方法可提高多线程C/C++程序的控制流完整性保护能力,以降低受到代码复用攻击的威胁。

    一种基于堆访问模式的恶意程序监控方法和系统

    公开(公告)号:CN104021343B

    公开(公告)日:2016-08-24

    申请号:CN201410201515.8

    申请日:2014-05-06

    申请人: 南京大学

    发明人: 曾庆凯 周志胜

    IPC分类号: G06F21/56

    摘要: 基于堆访问模式的恶意程序监控方法,步骤如下:(1)恶意程序的监控;请求程序监控服务,获取堆访问模式,并将被监控程序表现出的堆访问模式与恶意程序模型库中特征进行对比,判断是否为恶意程序行为,并进行处理;(2)恶意程序模型库的建立;收集所关注的恶意程序家族的样本集合;通过程序监控服务,获取各样本的堆访问模式,计算获得恶意程序家族堆访问模式的共同特征作为恶意程序家族的特征模型,建立恶意程序模型库;并求取各恶意程序家族的堆访问模型,构成恶意程序模型库,作为判断待监控程序行为是否恶意的参照依据;(3)程序监控服务;基于Ether的指令级监控功能,通过监控程序运行,提取程序执行过程中的堆访问特征序列;为恶意程序的监控和恶意程序模型库建立提供服务支持。

    一种基于模拟攻击的软件漏洞检测方法

    公开(公告)号:CN104778413A

    公开(公告)日:2015-07-15

    申请号:CN201510179362.6

    申请日:2015-04-15

    申请人: 南京大学

    发明人: 曾庆凯 杨继龙

    IPC分类号: G06F21/57

    摘要: 基于模拟攻击的软件漏洞检测方法,通过静态反汇编工具获取敏感操作所涉及的函数信息,利用动态插桩平台实现监控、模拟攻击和攻击影响分析等过程;主要操作步骤如下:1)执行静态分析获取程序信息;2)动态执行程序,检测敏感函数调用;3)分析攻击实施条件;4)执行模拟攻击;5)分析攻击影响,依据攻击影响结果进行漏洞判定;在具体实施时,采用符号链接攻击对程序进行模拟攻击,对应的漏洞类型为一类文件访问漏洞,通过利用这类漏洞,本地攻击者通过符号链接更改程序预期访问文件,从而实现访问攻击者权限之外的文件资源。