“芯片后门”重出江湖,这几家厂商首次正面回应

分享到:
12496
下一篇 >

“后门”这个词对大家一点都不陌生,它存在于各个行业各种社交圈,在芯片设计中,从一开始后门就一直存在。**个公开的实例来自于1983年拍摄的一部电影“战争游戏”,影片中,一个年轻的计算机专家whiz使用了某种芯片后门黑进了美国的核武器库。

在现实世界中,1965年出现的分时操作系统Multics中便发现了现代特色的后门,比好莱坞的发现早了约20年。当时,美国国防部正在试图开发一款安全操作系统,Multics就是其工作成果。

“Multics的**个后门是美国空军在评估该操作系统的过程中发现的,”Rambus的密码研究部门的工程总监PankajRohatgi提到。两位先驱者Paul Karger和Roger Shell当时都在军队里,他们参与到了这个项目中,并被指派评估Multics的安全性。在这项工作中,他们使用了被称为PN1的一种设计语言设计了一些所谓的“陷阱门”,用于测试系统及其安全漏洞。

Karger和Shell被誉为现代计算机安全之父。Shell更是创建了橙皮书奠定了计算机安全的基础。

什么是后门?

后门已经存在了数千年之久了。古希腊战争中的特洛伊木马就是*早的记录实例,这个名字现在就被用于冠名恶意软件。第二次世界大战中被德军用来军事通信中加密和解密的恩尼格码密码机,是后门的又一个例子。时至今日,后门这个词汇一般是指对电子设备任何未经授权的访问。它可以是某种隐藏的入口,或者是未被记录在案的访问方式。在本文的讨论中,主要集中在芯片及其系统上,以及围绕硬件后门的一些问题。

后门可以有很多种方式,而且并非全都是出于**的动机。实际上,很多被称为后门的问题应该被视为设计上的瑕疵,它可以被用于威胁芯片安全。鉴于当今的大型系统级芯片极度复杂,再加上很多设计越来越多地使用第三方IP,在额外的电路中构建一个后门,使得外部可以控制一个芯片,这也是可能的一种行为。Heartbleed就是这种情况。

“如果我是一位攻击者,我会推动让尽可能多的IP开源,”Mentor Graphics的副总裁Serge Leef说。“每个IP都附带了一个测试平台,以证明该IP能够执行所声明可以完成的任务。所以,如果你有一个USB IP块,你可以在与IP一起附带提供的测试平台下运行一下它,你可以证明这个IP是否能够完成USB控制器的功能。但是,除了完成所宣称的功能之外,它还能做些别的什么呢?如果你的Verilog代码超过了两万行,基本上就没有人能够掌控这种级别的复杂性,所以你无法判断它能否执行宣称之外的功能。开源设计是添加后门、陷阱门和木马的*佳位置,无论块大块小,它们都永远不会被发现。”

对有bug和受污染的IP进行验证也可能无法完全充分测试。但是考虑到即便是正规的VIP也并不需要遍历所有测试,所以验证IP通常不能找出任何问题。聪明的程序员可以在一些边界中设置后门,除非被激活,否则一般不会露面。

“一些公司曾经试图通过形式化验证的方式来解决后门问题。”Leef说。“我们认为这是徒劳无功的,因为你需要知道你要找的后门究竟是什么。如果一个后门被藏在某个地方,虽然你不希望这个后门被激活,但是仍然有很多其他方式可以激活这个后门。找到木马的**希望是监测那些能够识别不同的行为模式的功能。”

他把这种方式类比为分析高速公路上的交通模式,确定哪些车开得太快,哪些车没有遵守交通规则,哪些车比正常车流要慢。监测异常行为通常要比查找后门电路容易,这也是多年来被应用在网络安全上的一种策略。

好后门和坏后门

并非所有的后门都是魔鬼。有些后门是出于可靠性或便于测试的原因才被放进芯片中的。“世界上几乎每一个芯片都具备出厂检测能力,”美高森美SoC产品事业部的**首席产品架构师Richard Newell这样说道。“芯片制造商需要有一种方法来测试他们的芯片,以确保其良率,这样才能把高质量的产品销售给客户。”

测试能力对控制产品质量是不可或缺的功能。解决芯片内部错误和防止产品过时而进行升级的现场升级能力也基本上是必不可少的。出于所有这些原因,留下一些后门是相当必要的。在20世纪90年代,PC厂商在PC硬件中添加了一些功能,使得它们还在公司的装卸码头时就能上电烧录针对该企业的映像,从而为公司的 IT部门节省了数千个小时的时间。

不过,硬件后门也同样可以用于破坏芯片的固件或安全机制,从而操纵程序和数据。这和在软件代码层面上攻击程序运行不同,那是病毒和恶意软件干的事。当然,并不是说硬件后门不能用于加载病毒和恶意软件,而是说,芯片上的硬件后门通常用于改变芯片内的固件代码。

“后门的类型很多,”Rohatgi指出。“*明显的是,运行一些不相干的进程,或者插入一些不属于正常编程内容的额外代码。越复杂,就越难以检测。*好的后门是二进制形式。这种形式的后门永远不会在源代码的层面上显现。现在也有一种概念,把后门作为一种加密实现方式放进去。”

作为加密实现方式的后门会影响加密芯片的输出,而且不会被发现。这就是所谓的Kleptography,它的定义是“安全和难以察觉地窃取信息的一门科学。”

在Kleptography攻击中,心怀恶意的***使用非对称加密实现加密后门。通过这种方式,加密被用于反加密。这种有问题的后门与加密系统之外的世界进行通信不需要任何额外管道,而且不需要传输任何额外的数据。相反,这种后门直接嵌入到正常预期的通信中。因此,Kleptography可以被认为是加密病毒学的一个分支,是将加密应用在恶意软件中。

观点和策略充满争论

访问后门能够授权远程访问设备硬件。允许后门访问的**纵的代码驻留在固件区域内。但是,在芯片中放置后门已经成为一门科学,而且充满了争议。

“留后门**是一个坏主意,”麻省理工学院的研究所教授和密码学专家Ronald Rivest断言道。“没有人支持留后门这种行为。”

但是,这实际上取决于由谁来定义后门。几乎所有芯片都允许固件升级,即使系统本身没在运行。但是,嵌入这些后门算不算芯片犯罪?它们是否跨越了隐私边界?它们是侵略性的吗?

其实未必。有很多人总会时不时地期望,无论有没有网络连接,也能够有些人可以远程访问他们的电脑以清除病毒或修复启动问题,或者只是简单地重新设置一个设备,该设备的访问数据面临危险或者被遗忘了。移动设备也存在这些需求,这也是支持后门的主要原因之一。

同时,低成本的制造过程为错误的后门打开了风险敞口。现在全世界有数百家低成本的代工厂,很多工厂的所有权都不是很清晰。这就在整个行业内带起了一种需求,即花钱对从这些代工厂生产出来的芯片进行去层,将其网络表和原有设计的网络表进行比对。

“有些代工厂值得信赖,有些则不怎么靠谱,”Mentor的Leef说。“有很多初创公司会被尽可能低的价格所吸引。在这个行业的另一端,大公司会专门派人到代工厂车间去照看晶圆生产。”

他补充道,随着新技术的发展,可以尽量减少这种风险,比如在设计中以重复电路的方式填充其空白空间。任何假单元的改写都会改变电特性分布,从而触发警报。

即便在用作合法用途的后门设计中,也有很多设计得很不严谨。“有的访问端口设计得很差劲,制造商让端口保持开放状态,”Newell说。其它不合格的设计包括对所有的芯片在各个环节都只采用单个工厂密码。“在这种情况下,一旦有人计算出工厂密码,这个芯片便不再受到保护了,然后所有类似的芯片都会受到威胁。”

如果要在芯片内设计一个后门,它必须足够安全,以使得不道德的**程序员无法访问它。这是芯片制造领域的金科玉律。所以,如果人们一直保持操守,用友好的方式使用后门,那不会有什么问题。怎么使用后门,则因芯片访问者而异。Newell补充道,“我们在芯片出厂之前以加密的方式锁定它,一旦它到了客户手中,客户在芯片上安装了自己的数据,它就应该禁能掉工厂密钥,并且采用用户密钥进行锁定。”这时,芯片制造商就不再能够访问芯片了。

不过,这种方式也可以做些让步。比如,如果芯片被使用在一些军用硬件等任务关键型应用中,一旦这种访问端口被锁定了,就再也无法进行故障分析了。在这种情况下,一种解决方案就是让用户用自己的密钥解锁芯片,重新启动工厂密钥。但是,很显然,这种技术应该受到非常严格的控制。如果落到恶人手中,则可能引发非常危险的后果。

你可能感兴趣: 业界新闻 芯片 操作系统 USB 通信
无觅相关文章插件,快速提升流量