基于内存活动的边信道攻击取证系统及方法_4

文档序号:9787702阅读:来源:国知局
中心用于记录监控模块获得的原始内存活动记录、经过识别模块过滤的可疑进程以及经过验证模块验证的恶意进程。2.根据权利要求1所述的基于内存活动的边信道攻击取证系统,其特征在于:所述监控模块包括模块初始化单元和事件处理单元,所述用于模块初始化单元监控目标客户虚拟机的详细信息,然后向虚拟机监视器申请获取目标客户虚拟机的内存具体位置,随后在内存相应位置修改内存访问权限,最后在虚拟机监视器中对该内存硬件事件注册事件处理函数;所述事件处理单元用于截获客户虚拟机触发的内存事件,通过逻辑事件注册表找到该硬件事件对应的逻辑事件处理函数,在事件处理完成后,最后再将控制权交还客户虚拟机,并用于过滤掉可信的进程内存活动,提取非可信进程的内存访问活动的相关信息交由证据数据中心记录形成内存活动日志。3.根据权利要求1所述的基于内存活动的边信道攻击取证系统,其特征在于:所述识别模块判断可疑进程时具体包括如下步骤: (1)将目标客户虚拟机的内存活动日志按照进程区分开来,在每个进程里面查找是否存在某内存页面被同一进程重复访问,存在则进入步骤(2)并将访问该页面的进程放入可疑进程序列; (2)从可疑进程序列中依次取出可疑进程,找到该进程访问的内存活动记录,根据这些记录分别计算其属性值,所述属性值包括以下至少一种:每次密集活动时间间隔、每次密集活动访问内存页面集合、每次密集活动访问持续时间和每次密集活动开始时间; (3)如果可疑进程不具备下述两种条件其中之一,则将该进程从可疑进程序列中去除,所述两种条件包括: 对于side-channel攻击的接收者存在每次密集活动时间间隔一致; 对于side-channel攻击的发送者存在每次密集活动时间间隔为正常时间间隔的整数倍; (4)检查可疑进程每次密集活动访问页面集合是否都一致,如果不一致则将该进程从可疑进程序列中去除。4.根据权利要求1或3所述的基于内存活动的边信道攻击取证系统,其特征在于,所述识别模块还进行攻击类型识别: 如果发送者进程和接收者进程的每次密集访问开始时间一致,则判断攻击类型为基于CPU负载的side-channel攻击;如果发送者进程和接收者进程的每次密集访问开始时间不一致,则观察其密集访问持续时间,如果远远大于基于CPU缓存的side-channel攻击的延迟阈值,则该攻击为基于内存总线的side-channel攻击,否则为基于CPU缓存的side-channel攻击。5.根据权利要求1或3所述的基于内存活动的边信道攻击取证系统,其特征在于,所述验证模块中对可疑进程进行静态的二进制代码分析的过程包括如下步骤: (1)根据记录中可疑进程的进程空间地址,在内存快照中对应位置提取出可疑进程内存空间; (2)找到可疑进程的代码数据段,将二进制代码提取出来; (3)将二进制代码根据该代码运行的系统和硬件平台还原成汇编代码进行分析; (4)在汇编代码中重点查找执行重复指令的代码; (5)在重复指令代码里面查找是否存在进行时间刺探的代码以及其他存在的side-channel 攻击代码特征,如果存在则表明该进程为恶意进程,如果不存在则过滤掉该可疑进程。6.本发明还提供了基于内存活动的边信道攻击取证方法,其特征在于,包括如下步骤: 步骤A,对系统底层内存活动进行实时监控,提取该内存访问活动的相关信息生成内存活动日志; 步骤B,按照进程区分内存活动日志,查找重复访问同一内存页面的进程,获得该进程访问的内存活动记录,当该进程满足发送可疑进程和/或接收可疑进程条件,并且每次密集活动访问页面集合都一致时则判断该进程为可疑进程,最终得到可疑进程序列;所述发送可疑进程条件包括每次密集活动时间间隔为正常时间间隔的整数倍,所述接收可疑进程条件包括每次密集活动时间间隔一致; 步骤C,在步骤B识别出可疑进程之后,保存当前客户虚拟机的内存快照,通过内存快照对可疑进程进行静态的二进制代码分析确认其是否为恶意进程,将恶意进程的内存快照和内存活动记录提取出来保存。7.根据权利要求6所述的基于内存活动的边信道攻击取证方法,其特征在于,所述步骤A具体包括以下步骤:监控目标客户虚拟机的详细信息,向虚拟机监视器申请获取目标客户虚拟机的内存具体位置,在内存相应位置修改内存访问权限,最后在虚拟机监视器中对该内存硬件事件注册事件处理函数,截获客户虚拟机触发的内存事件,通过逻辑事件注册表找到该硬件事件对应的逻辑事件处理函数,在事件处理完成后,最后再将控制权交还客户虚拟机,并用于过滤掉可信的进程内存活动,提取非可信进程的内存访问活动的相关信息形成内存活动日志。8.根据权利要求6所述的基于内存活动的边信道攻击取证方法,其特征在于,所述步骤B具体包括如下步骤: (1)将目标客户虚拟机的内存活动日志按照进程区分开来,在每个进程里面查找是否存在某内存页面被同一进程重复访问,存在则进入步骤(2)并将访问该页面的进程放入可疑进程序列; (2)从可疑进程序列中依次取出可疑进程,找到该进程访问的内存活动记录,根据这些记录分别计算其属性值,所述属性值包括以下至少一种:每次密集活动时间间隔、每次密集活动访问内存页面集合、每次密集活动访问持续时间和每次密集活动开始时间; (3)如果可疑进程不具备下述两种条件其中之一,则将该进程从可疑进程序列中去除,所述两种条件包括: 对于side-channel攻击的接收者存在每次密集活动时间间隔一致; 对于side-channel攻击的发送者存在每次密集活动时间间隔为正常时间间隔的整数倍; (4)检查可疑进程每次密集活动访问页面集合是否都一致,如果不一致则将该进程从可疑进程序列中去除。9.根据权利要求6或8所述的基于内存活动的边信道攻击取证方法,其特征在于,所述步骤B还包括攻击类型识别的步骤: 如果发送者进程和接收者进程的每次密集访问开始时间一致,则判断攻击类型为基于CPU负载的side-channel攻击;如果发送者进程和接收者进程的每次密集访问开始时间不一致,则观察其密集访问持续时间,如果远远大于基于CPU缓存的side-channel攻击的延迟阈值,则该攻击为基于内存总线的side-channel攻击,否则为基于CPU缓存的side-channel攻击。10.根据权利要求6所述的基于内存活动的边信道攻击取证方法,其特征在于,所述步骤C中对可疑进程进行静态的二进制代码分析的过程包括如下步骤: (1)根据记录中可疑进程的进程空间地址,在内存快照中对应位置提取出可疑进程内存空间; (2)找到可疑进程的代码数据段,将二进制代码提取出来; (3)将二进制代码根据该代码运行的系统和硬件平台还原成汇编代码进行分析; (4)在汇编代码中重点查找执行重复指令的代码; (5)在重复指令代码里面查找是否存在进行时间刺探的代码以及其他存在的side-channel 攻击代码特征,如果存在则表明该进程为恶意进程,如果不存在则过滤掉该可疑进程。
【专利摘要】本发明公开了一种基于内存活动的边信道攻击取证系统及基于该系统实现的取证方法,系统包括监控模块、识别模块、验证模块和证据数据中心。本发明利用硬件虚拟化技术,实现客户虚拟机的内存页面实时监控,并通过基于时间的side-channel攻击的内存活动特征,利用基于内存活动特征的识别算法将基于时间的side-channel攻击识别出来,并在静态分析的辅助下二次确认攻击的存在并提取攻击的存在证据,实现重要实时证据和存在证据的获取和分析,保证了获取证据的有效性和可信度。本发明能够在支持硬件虚拟化的虚拟化平台上部署,具有很高的透明性,不会对虚拟机平台造成额外的负荷和运行干扰。
【IPC分类】G06F21/56, G06F21/52
【公开号】CN105550574
【申请号】CN201510915411
【发明人】伏晓, 杨瑞, 骆斌
【申请人】南京大学
【公开日】2016年5月4日
【申请日】2015年12月11日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1