CMP设计分享 http://blog.sciencenet.cn/u/accsys 没有逆向思维就没有科技原创。 不自信是科技创新的大敌。

博文

严重关切CPU的后门,导弹CPU一定要自己造

已有 9759 次阅读 2014-7-21 05:27 |个人分类:计算机核|系统分类:科研笔记| 智能产品, 国防安全, CPU后门

严重关切CPU的后门

姜咏江

 

关键词:国防安全  智能产品    CPU后门

      CPU是计算机的核心产品。既然是一种产品,象汽车一样,我们买来开不就行了,何必要化更多的钱自己造?实际情况并不那么简单。

1. CPU工作方式

   CPU是机器,但不是象以往的机器那样,只要使用者动手操作,机器就可以为你服务。CPU好比人的大脑,它指挥着与之关联的犹如心脏、胃、肺、眼、鼻、舌、身、四肢等内部与周边设备。这种指挥是通过信号语言完成的。对内部设备指挥的基本信号叫微指令,对外部设备指挥的基本信号叫机器指令。CPU的内部设备不会动,但可以传输和处理信息。所有需要动作的工作都是交给外部设备来完成的。微指令取决于CPU的元器件构成和连接方式,机器指令取决于微指令构成和编排。微指令只有懂得CPU具体设计的人在设计机器指令的时候才能使用。为了让不知道CPU具体架构的计算机人员也能使用,CPU设计者制造出了由微指令程序构成的机器指令。一般来说,通过机器指令来指挥CPU工作是基本的方法,因而CPU制造商在推广其CPU的时候,一定会公布其指令系统(机器指令系统),极少数情况可以使用微指令。

   机器指令系统仍然是一种符号系统,并且不同的CPU的指令系统会不相同,这对使用者来说很不方便。于是人们又用机器指令系统编写出了比较容易记忆的,近乎人们语言习惯的高级或半高级语言系统。例如basicc语言,其中每一个命令都是一个机器语言程序。利用高级语言或半高级语言命令编写出来的程序可以完成一定的任务。由于CPU只能认识机器语言,所有高级或半高级语言程序最后都得转化成机器语言程序。由此可知,CPU的中间使用者可以通过CPU制造商公布的机器指令系统来定义高级语言或半高级语言。

2. 制造商会留有后门

      机器指令是CPU设计制造者做出来的。这里有一个重要的问题:“如果CPU制造商保留一些机器指令和特殊微指令不让用户知道,这会产生什么样的后果?”

      那些只有CPU制造商知道的指令被称为“后门”。后门的存在最初的目的是为了对CPU的维修,后来发展到对CPU工作监控,还可以让CPU在关键的时刻完成一些特殊的工作。后门的机器指令可以有较高的级别,因而这些指令可以称为“特权指令”。

      机器指令中的特权指令不让用户知道,因而这些特权指令就成为了把握在制造商手中的利器。这种利器一旦被国家机器掌握使用,就可以成为CPU制造国家对使用该CPU的国家进行控制的武器!笔者曾在CPU设计时特意设计了一条可以复制内存的机器指令,并赋予其执行时屏蔽其他指令执行的功能。由于CPU指令执行速度很快,所以使用者根本就觉察不出问题。

      我说到这里,你大概已经知道了,为什么要保证国家信息安全,一定要自己制造CPU了吧?

3. HDL设计的CPU不见得保险

      现在国内多是采用硬件设计语言(HDL)来设计CPUHDL的语言要素是在语言设计者做好的基本器件基础上完成的。也就是说一个设计语句可能对应一种固定的器件结构。这些语句只是与某种器件间建立了一种对应关系而已。当将CPU设计变成实际电路元器件时,会将对应的器件结构安排进去,做成整体CPU电路,这一过程称为流片。

3.1.  必须用安全可靠的工厂流片

      流片的过程如果不是自己来做,那么在特殊目的存在的情况下,就可能被流片工厂篡改架构,加入一些特殊结构或特权指令,而让顾客都无法察觉。这些特权指令就会称为工厂方特别目的的潜在手段。由此可见,一个国家要信息安全,除了CPU自己设计之外,更重要的是要建立自己安全可靠的CPU集成电路芯片生产工厂。

3.2.  原理图设计CPU器件最可靠

      HDL设计使用的器件,一般都是语言设计者预先设计好的,用HDL语言设计CPU的人一般不会去深入了解如何设计器件,而这些器件结构的可靠性和安全性同样十分重要。如果这些器件是掌握在别有用心者手中,也完全可能将监控手段加入其中。这种情况发生在设计程序的编译当中,而不是在流片过程中。

      如此来看,不加剖析地使用HDL语言来进行CPU设计,常用器件的安全性保证仍然会是一个大问题。所以语言编译器并不是可靠的东西。为了高度安全,可以自己设计HDL语言编译器,不然就用原理图设计,这是最可靠的方法。

4. 国外的CPU架构安全性不高

      由于我们设计经验欠缺,所以国内很多CPU设计者采用公开的国外CPU源代码做参考,甚至就用人家的源代码稍加修改后流片。这种CPU设计不但在商品市场上缺乏竞争力,而且也存在许多潜在的安全危险。特别是用到国防和政府办公计算机系统、智能军事系统,或导弹制导系统上,恐怕还会有许多漏洞会被制造CPU的敌对方利用。这种安全危险的产生大致如下:

      第一,源代码编译器不是自己写的,加上没有吃透国外的源代码,没有看到源代码的潜在意图,会在关键时候被人利用。

      第二,由于主体CPU架构国外设计,所以人家要比你熟悉得多,如何修复、控制、干扰及甚至破坏的路数要比你熟悉得多。

      由此可见,涉及国家安全的CPU架构也必须是自己设计。自己设计不同于已有架构不是不可能的事情,这要看我们是否重视。

5. 对策建议

      许多人不了解信息环境下智能系统的硬件安全风险,以为操作系统才是不可靠的根源,他们不懂得那些不可靠的CPU的潜在威胁,因而不重视本国设计制造,过去有一些专家没有认识到CPU的潜在能力,只看到CPU是巨大的财富,说服政府部门匆忙去搞仿造,去弄操作系统,而不重视CPU架构设计,其实际带来的潜在危害性难以估量。

      若干年前我就曾经给学生讲过:“如果不使用本国制造的CPU,未来战争中打出去的自动制导导弹,很可能掉过头来打我们自己!”

      不要说我这是耸人听闻,如果我们现在还不认识到这一点,将会一切晚矣。为此,

      第一,我们要快抓真正CPU架构的本土设计和与之相应的软件;

      第二,要快抓本土的超大规模集成电路工厂建设;

      第三,尽快将军事国防部门的国外CPU换下,特别是核弹制导系统等战略智能武器;

      第四,如果使用国外CPU产品中,暂不能替换国产CPU的,要格外重视其安全可靠性审查,组织专门人才认真初值分析其后门,减少安全风险;

      第五,对用于军事的国产CPU,安全性要从生产设计流程认真审查,不放过任何潜在漏洞。

      有些国家当前如此强硬地威胁中国,很有可能就是凭借他们生产的CPU被我国广泛使用的现状,可以在信息战中使用后门的杀手锏。没有十足的把握,这些国家岂敢直面威胁13亿多人口、具有现代国防、经济世界第二的中国?

      据说我们已经有了20纳米的超大规模集成电路生产工艺,我们也有了一些能够设计CPU架构的人才。只要我国重视CPU的国产化,重视广招国内CPU创新设计人才,计算机系统的完全国产化就指日可待,就能够讲智能产品的安全性掌握在自己手中,那么中华民族自立于世界民族之林的伟大中国梦,实现起来在信息化的方面就有了保证。

2014719

 

     

     

 



https://blog.sciencenet.cn/blog-340399-813301.html

上一篇:国家个人与企业科研
下一篇:我们为什么要发表论文?
收藏 IP: 123.115.243.*| 热度|

7 刘洋 赵凤光 赵建民 陆泽橼 hongbinwu intowin Vetaren11

该博文允许注册用户评论 请点击登录 评论 (13 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-24 15:10

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部