Besides Intel's SGX technology, there are long-running discussions on how trusted computing technologies can be used to cloak malware. Past research showed example methods of malicious activities utilising Flicker, Trusted Platform Module, and recently integrating with enclaves. We observe two ambiguous methodologies of malware development being associated with SGX, and it is crucial to systematise their details. One methodology is to use the core SGX ecosystem to cloak malware; potentially affecting a large number of systems. The second methodology is to create a custom enclave not adhering to base assumptions of SGX, creating a demonstration code of malware behaviour with these incorrect assumptions; remaining local without any impact. We examine what malware aims to do in real-world scenarios and state-of-art techniques in malware evasion. We present multiple limitations of maintaining the SGX-assisted malware and evading it from anti-malware mechanisms. The limitations make SGX enclaves a poor choice for achieving a successful malware campaign. We systematise twelve misconceptions (myths) outlining how an overfit-malware using SGX weakens malware's existing abilities. We find the differences by comparing SGX assistance for malware with non-SGX malware (i.e., malware in the wild in our paper). We conclude that the use of hardware enclaves does not increase the preexisting attack surface, enables no new infection vector, and does not contribute any new methods to the stealthiness of malware.
翻译:除了英特尔的SGX技术外,还有关于如何使用可信赖的计算技术来掩盖恶意软件的长期讨论。过去的研究表明了恶意活动的示范方法,使用Flicker、受信任的平台模块和最近与飞地融合。我们观察了两种与SGX相联系的恶意软件开发方法模糊不清,这是系统化其细节的关键。一种方法是使用核心SGX生态系统来隐藏恶意软件;可能影响到大量系统。第二种方法是建立一个定制飞地,不遵循SGX的基本假设,用这些错误的假设来创建恶意软件行为示范代码;保持本地特性;我们检查恶意软件的目的是在现实世界情景中做什么,在恶意软件规避中采用最新技术。我们提出了维护SGX辅助恶意软件的多种局限性,并将其从反恶意机制中蒸发。使SGX飞地为成功进行恶意软件运动的失败选择。我们系统化了12种错误错误的错误概念,用这些错误的假设来创建了恶意软件的示范代码;用SGX系统化软件在现实世界的情景中,不使恶意软件的错误软件变弱了现有的硬软件。我们发现纸软件的硬软件在不增加硬软件。