今年5月份,一组安全人士折腾出了所谓的“显卡病毒”,即运行在GPU显卡上的恶意软件,并声称当前安全方案对此毫无防御,一时间一番了不小的恐慌,不过 Intel研究后认为,并没有那么可怕。一组集体代号“Jellyfish”的开发者首先在Linux系统下制作了可发动GPU攻击的rootkit、 keylogger(键盘记录器),又在Windows里设计了远程访问工具(RAT),还在GitHub上公布了概念验证性代码。
Intel的研究人员一直在分析这些代码,并在最新的安全报告中称,如果扫描工具知道找什么,GPU恶意软件其实可以很轻松地被检测出来。
源自McAfee、现隶属于Intel的安全工程师Craig Schmugar在报告中指出:“无数的文章都在重复(代码)作者的观点。如果不考虑相关环境,很容易曲解,造成有一种无法检测的超级病毒、可以自主运行、当前防御完全无效的假象,其实并非如此。”
Intel重点研究了JellyFish如何运行,尤其是如何在GPU和内存这件通过DMA总线通信,发现它需要首先需要在CPU上获取最核心的ring 0级别访问权限,才能将系统内存映射到GPU上进行读写,而能否做到这一点,取决于系统内核的保护程度。
另外,GPU恶意软件需要删除安装程序中的CPU主文件来隐藏自己,这使得代码仅存于GPU上,Windows系统里会引发超时检测与恢复(TDR)进程,重置显卡,恶意代码自然就烟消云散了。
如果攻击者试图调整TDR的默认重置时间(2秒钟),则会被系统视为可疑行为,触发安全警告。
事实上,如果GPU恶意软件持续运行,肯定会消耗大量GPU资源,导致图形界面、图形应用响应缓慢,用户肯定能察觉。
至于宣称的即便重启后代码也会存在,Intel称能保留下来的只是数据,而非可执行代码。如果这些恶意代码想逃过重启,就必须躲在GPU之外,而这很容易被检测出来。
2015-09-08 10:28 30楼
学习了一下...谢谢分享