“Morpheus”是一个由密歇根大学教员和研究生联合开发的CPU,团队成员深知入侵一个系统需要对于整个系统有更深层次的理解,入侵者如果很难让CPU为自己所用,那么系统被入侵的概率将大大降低。如果光提升系统的复杂度则又会带来一个问题:如何让攻击的人难以理解,却并不影响正常使用的程序员呢?
图片来源:密歇根大学
兴师动众只为了开发“完美系统”
去年的夏天美国国防部高级研究计划局(DARPA)组织了一场声势浩大的硬件集成安全(SSITH)项目大测试,总计有580名网络安全的专家总共花费了13000个小时来攻克代号“墨菲斯(Morpheus)”的处理器,但是目前为止毫无头绪。
此次试验目的是为了开发从硬件底层到软件漏洞全部免疫的完美CPU,避免漏洞被恶意使用(类似Spectre和Meltdown事件)。而为了此次测试而开发的五个处理器当中,总共发现了10个漏洞,但是“Morpheus”却没有发现任何漏洞。在当时测试的专家感到十分惊奇,究竟是什么样的设计,让如此众多的高手竟然“无功而返”。
专访设计师解开了神奇谜团
为了对于“完美系统”一探究竟,IEEE Spectrum专门询问了专家Todd Austion,来为我们解开谜团。
专家Todd Austion,来源:IEEE spectrum
“Morpheus”是一个由密歇根大学教员和研究生联合开发的CPU,团队成员深知入侵一个系统需要对于整个系统有更深层次的理解,入侵者如果很难让CPU为自己所用,那么系统被入侵的概率将大大降低。如果光提升系统的复杂度则又会带来一个问题:如何让攻击的人难以理解,却并不影响正常使用的程序员呢?
我们可以想象一下驾驶一辆汽车,汽车具备一个方向盘、转向灯、档位杆或者旋钮还有开关和油门等部件,当你了解了基本的功能后就可以尝试的开动起来了。但是一旦你要攻击系统,你就必须去了解更多的信息例如:发动机拥有几个气缸?车子到底是柴油的还是汽油的呢?刹车有没有ABS系统呢?因为这些信息要帮助你绕过防御系统来实施入侵,同时获取这些信息的信号,系统就会检测出有人正在实施入侵。
走黑客的路,让黑客无路可走
系统时时刻刻都在观察着自己的程序和数据,一旦发现不明的访问和数据出现在程序里,就说明有问题来了。我们可以举一个经典的例子来说:堆栈返回值:当一个程序调用子程序时,它在返回值中存储返回值的地址。
而对于想要破坏系统的攻击者来说,他们完全可以通过对于该地址的缓存区进行操作,实现缓存溢出和代码注入等操作;在函数的开始和结束部分通常会包含返回地址指针的写入和读取。所以当入侵者通过程序返回值地址进行代码注入时,系统程序会有很多地方的代码都在写入,而这种原本不应该出现在正常程序代码中的写入通常叫做“未经定义的操作/语义”,其实都是系统被袭击的信号。现在也有很多的保护软件能够检测到这一点并且终止某些程序的“入侵”,但是也有很多硬件和驱动程序也会做出类似的操作,这个就很难分别了。
系统安全面临的挑战 来源:IEEE spectrum
所以,整个开发团队要做的是机器的底层实现----“未定义的操作/语义”----每隔几百毫秒就变换一次。这就造成了很多的实现和操作都是独一无二的,在时间和空间上都不会相同。
开发系统的专家也表示:其实做法很简单,就是加密信息,系统会对指向缓存区的地址指针进行加密,每个指针的加密都会有128bits的随机性,那么当你想要获取指针时,你就必须破解加密;解密不了就意味着缓存区的地址在随时变化,因为对于入侵的人来说,地址一直在变。
整个系统采用了一种叫做“Simon”的密码,其在硬件底层方面速度非常快,并且系统内置的加密每100ms就发生一次,也就意味只地址的指针一秒变换10次。因为有一种叫做“边信道攻击”的方式,黑客经常用来作为侦查工具。如果我们想要隐藏一段信息,例如改变某个函数在内存中某个地址或者某个变量的值,很多入侵者都会操纵这个程序,通过观察残留在内存的信息来推导出程序内部的信息。
因此,如果只是单纯做一次加密,将指针和内部信息随机一次,一旦碰见了高手有极大概率在几个小时之内系统就被反向工程出来。
“Morpheus”经受百般磨炼与考验
俗话说:“真金不怕火炼”,“Morpheus”的这套策略在历史上最臭名昭著的“幽灵”和“熔毁”攻击中都完好无损,实际上这套系统几乎阻止了任何依赖于指针和代码类型的入侵。
当然设计者也提到了,目前“Morpheus”只能阻止低层级的攻击,像是SQL和Web攻击还没能防护,但是专门为了美国国防部设计的安全CPU目的是为了防止远程底层代码攻击,而这类攻击才是整个安全系统皇冠上的一颗明珠。
未来安全系统 来源:IEEE spectrum
当然额外的防护也会有程序运算速度和效率上的损失,“Morpheus”平均要慢10%,因为是教员和研究生来开发,当然没有AMD或者Intel等专业人员的经验,所以后期的优化还需要更多的时间。
而设计者也将在RISC-V和更加广泛的云计算中逐步实现“Morpheus”系统的策略和逻辑,因为安全性和隐私是一片还没完全挖掘的蓝海,还有广阔的空间等待更多商业初创公司的深入研究。
“Morpheus”微架构 来源:IEEE spectrum
责编:我的果果超可爱
来源:IEEE spectrum
编译:Morpheus Turns a CPU Into a Rubik’s Cube to Defeat Hackers