揭秘好奇号计算架构和操作系统
火星探测历史上最远的一次ROM刷新已经完成——NASA昨晚宣布,已经完成了对好奇号火星漫游车的固件更新。NASA没有公布好奇号固件升级的细节,不过既然NASA能在数亿公里外将代码传输给好奇号,那么为什么黑客不能做同样的事情?没有理由说黑客不能控制好奇号。
好奇号火星车
从计算机架构上来说,好奇号的主计算机运行VxWorks操作系统,这种系统广泛应用在通信、军事、航空等领域(如F-16战斗机、B-2隐形轰炸机、爱国者防空导弹使用的都是这种操作系统),一些早期的火星探测器,如1997年7月登陆火星的探路者号使用的也是这种操作系统。
上图是好奇号的主计算机,它具备256K EEPROM、256MB内存、2GB闪存,CPU为BAE RAD750,运行频率110-200MHz,基于IBM PowerPC 750架构,可以承受-55~+70摄氏度极端温差及1000gray的太空辐射。
从固件升级流程而言,新固件需要穿越好奇号长达8个月的火星之旅的行程到达目的地。上周六,NASA的任务指挥下达传输指令,开始了升级计划。 “我们下达一系列指令,然后与漫游车失去联系长达8个小时”NASA火箭推进实验室的高级软件工程师 Steve Scandore表示,“升级需要多个步骤,完成后系统会自动关闭,直到第二天自行开启。之后我们可以看到它前一天的工作记录。”
NASA 冒如此大的风险进行远程固件升级,也不是没有理由。由于使用的是数年前的技术,好奇号的主ROM容量有限,在登陆状态下,好奇号的软件是为导航和进入火星大气层、下降及着陆而优化的。既然好奇号已经着陆,导航就不需要了。所以软件要被替换,专门为开拓和探测分析进行优化。
攻击好奇号的正确步骤
这些信息不禁让人产生某种想法——NASA能阻止别的人擅自升级好奇号的固件 ?好奇号能避免被黑吗?
答案是:NO
黑掉好奇号的正确步骤
理论上,好奇号也是可以被黑的,虽然这个难度相当之高。
如果你真的打算黑掉好奇号,首先,需要制造等同NASA的深空通讯网(DSN,发送和接受信号的巨大天线网和射电天文台)。为了发送上传信息,深空通讯网的天线(长达70米)装置输出功率必须达到400千瓦以上。而为了保证全天候通讯,你至少要在世界上6个不同地点都建立起这样规模的通讯基站。如果是在偏远地区,考虑到整个通讯基站的运作,最好使用商业化的小型核反应堆供电(美国、法国都有相关公司出售这类产品)。
位于美国本土沙漠中的一座深空通讯网(DSN)基站
DSN的天线,从其馈源支架上的楼梯可以看出这家伙的大小
一个典型的DSN基站由数十个天线构成
其次,黑客必须复制同样的通讯协议编码(NASA使用与卫星电视相同的QPSK编码协议,但有很多细节不同)并使用同一频率(8Ghz左右),尝试与好奇号进行通信。要破解NASA的通讯协议可不是一件简单的事情,这个步骤可能需要耗费你数年的时间。为了保证工作效率,你最好招募一支由顶尖黑客组成的团队,并构建自己的超级计算机集群。在对各种通信协议和命令格式有了充分准备之后,黑客就可以通过自己的天线与好奇号连接。
一旦联络上火星漫游车,剩下的就是标准的黑客流程了:破解好奇号主计算机的防火墙,攻入内部获得权限。这个看起来很简单的步骤也充满了艰难。好奇号运行的 VxWorks是一种嵌入式实时操作系统,所有程序对Wind内核的访问都受到强制性控制,要通过溢出攻击获得它的控制权几乎是不可能的事情,也许一些在嵌入式领域造诣极深的大师级黑客能够找到漏洞,但普通黑客将很难越雷池一步。
好奇号身上所有复杂的设备都运行在VxWorks系统之上
攻击好奇号的更简单粗暴方法
不过,我们可能还有一种更简单、便宜、有效的方法控制好奇号。
更简单粗暴的方法
这个方法的流程简单粗暴:入侵NASA,用NASA内部装置控制好奇号。理论上,黑客可以入侵NASA火箭推进实验室的控制台,然后发送黑客指令。同样,像007特工那样直接只身进入控制台,插入准备好的U盘,给好奇号发送黑客指令也不是不可以。
今年5月份,NASA发表声明称,他们遭到多达47次黑客攻击,其中有13次,来自中国的黑客甚至进入了NASA内部网络。在某次攻击中,NASA的150 位雇员的注册资格证书被盗,这些证书可能被用于入侵其他机密系统。在另一次黑客攻击中,黑客们取得了NASA系统的完全控制权,可以删除或修改文件,上传黑客工具,甚至修改系统文件隐藏他们的入侵痕迹。
另外,在2009至2011年间,NASA员工的手提电脑被盗48次,这些电脑中载有国际空间站的控制代码。不难看出,好奇号和NASA确实受到过黑客的攻击威胁。
当然,黑客并不全是恐怖分子,也许黑客们并非想要攻击国际空间站或好奇号,他们只是对这些空间实验所取得的数据感兴趣。
无论如何,本文的结论已经相当明显:NASA、好奇号、甚至国际空间站,它们被黑都不是不可能,但这么做需要付出极大的代价,对于一般人来说完全不值得。
也许,等到哪天地球人能真正移民到周围行星,比如31世纪发生太空资源争夺大战的时候,搞黑客破坏会更有现实意义吧。