【技术实现步骤摘要】
SGX恶意软件检测方法及系统
本申请涉及计算机安全
,特别涉及一种SGX恶意软件检测方法及系统。
技术介绍
IntelSoftwareGuardExtensions(SGX)是现代Intel处理器上新兴的安全功能,它可以创建称为Enclave的内存区域来为用户级的应用程序提供基于硬件的保护,使其免受恶意操作系统的攻击。SGX程序的安全性由扩展的内存管理单元提供的内存隔离功能、内存加密引擎提供的内存加密功能和处理器中内置密钥的远程认证功能来保护。SGX能够保证程序安全地运行在不可信的环境中(如云厂商),从而成功地解除了应用程序和底层系统软件之间的信任关系。然而,与其他被攻击者滥用的安全机制相似,SGX也可能被用来制造恶意软件,并且SGX技术使得该恶意软件变的十分隐蔽,可以逃避当前以下的恶意软件检测方法。1).基于静态分析的检测。该方案是目前最基础也是应用最广泛的一种解决方案,它通过在样本的可执行文件中检索已知的恶意特征来检测恶意软件。但是,SGX程序至少会划分为两个文件以分别在Enclave内外环境中执行,因此其 ...
【技术保护点】
1.一种SGX恶意软件检测方法,其特征在于,包括:/nA1、构建驱逐集;/nA2、从每个所述驱逐集中随机选取一个内存行,将所有选取的所述内存行组织到一个集合中形成探测集;/nA3、通过将所述探测集中的内存行放入到CPU的最后一级缓存的一个缓存集中以实现连续访问所述探测集的每一个内存行,并且记录本次访存花费的访问时间;如果所述访问时间大于特定阈值,则表明本次访问对应的所述缓存集被过度使用,从而得到一个表示所述缓存集是否被过度使用的缓存监控矩阵;/nA4、基于所述缓存监控矩阵检测恶意行为。/n
【技术特征摘要】
1.一种SGX恶意软件检测方法,其特征在于,包括:
A1、构建驱逐集;
A2、从每个所述驱逐集中随机选取一个内存行,将所有选取的所述内存行组织到一个集合中形成探测集;
A3、通过将所述探测集中的内存行放入到CPU的最后一级缓存的一个缓存集中以实现连续访问所述探测集的每一个内存行,并且记录本次访存花费的访问时间;如果所述访问时间大于特定阈值,则表明本次访问对应的所述缓存集被过度使用,从而得到一个表示所述缓存集是否被过度使用的缓存监控矩阵;
A4、基于所述缓存监控矩阵检测恶意行为。
2.根据权利要求1所述方法,其特征在于,还包括:B1、通过观察侧信道信息来监控Enclave对不可信程序的内存访问。
3.根据权利要求2所述方法,其特征在于,所述B1具体包括:
B11、在CPU切换到Enclave模式之前,清除不可信内存所有可执行页面的页表项的Accessed位,并且在快表TLB中移除所述Accessed位的记录;
B12、在CPU从Enclave模式切换到普通模式之前,重复地进行以下操作:a)、检查不可信内存可执行页面的Accessed位;b)、如果所述Accessed位被置1,则将所述Accessed位记录并清零;c)、清除快表TLB中的记录;
B13、构建一个表示内存页面是否被访问的内存访问监控矩阵;
B14、基于所述内存访问监控矩阵检测恶意内存访问行为。
4.根据权利要求1所述方法,其特征在于,还包括:C1、静态地分析主应用程序和Enclave文件的二进制代码来提取Enclave元数据和ECall或OCall的函数原型。
5.根据权利要求4所述方法,其特征在于,
还包括:D1、通过对Enclave线程控制结构页...
【专利技术属性】
技术研发人员:李琦,张泽宇,张晓丽,孙琨,李晓宁,
申请(专利权)人:清华大学深圳国际研究生院,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。