好奇号登陆火星已经一个多礼拜了。目前它仍原地不动,只是在进行一些定向以及拍照的任务。第一张关于盖尔环形山的彩色照片已经传回了地球,NASA选取了一些岩石作为未来几天分析的对象。这周末以及接下来的几天,好奇号要干一件很危险的事情:升级软件。
好奇号的核心计算机上面运行了一个VxWorks实时操作系统,这种操作系统很常见,很多航空航天设备、苹果的一些无线基站、Drobo存储设备以及机器人上面都运行着这类系统。VxWorks操作系统可以通过执行几个简单命令来更新一些软件或内核。
好奇号更新VxWorks软件其实已经在它飞往火星的8个月期间开始了。NASA火星任务控制小组的负责人说:“我们那个时候开始了更新过程。火星车要执行几个步骤,然后自动重启,大概需要8个小时。重启之后,火星车会通过一个下行链路向地面传递前一天的更新过程,我们就可以判断更新是否成功了。”其实类似的更新过程已经尝试过很多次了,例如2007年更新了机遇号的软件,2010年更新了航海家2号的软件,它当时距离地球90亿英里。
那么为什么好奇号要在距离地球大概0.25亿英里外执行非常危险的更新任务呢?答案是:科学家们正在用一个优化过的、用于
探索火星表面的内核去替换之前的内核。而之前的内核主要是用于着陆。既然火星车已经安全着陆,那么之前那个系统就没有用处了,对他进行更新,可以让火星车具有更强大的拍摄、循迹以及数据分析能力。
黑掉好奇号
之前说明的这些东西让我想到一个一个问题:好奇号如何防止其他人去上传恶意软件呢?因为已经有人能够恶意去控制地球卫星了,难道好奇号火星车就与众不同,不能被其他人控制吗?答案是否定的。
理论上讲,好奇号是有可能被黑掉的,而且并不是特别困难。
第一种方式,黑客可以像NASA一样去建造DSN设备,DSN是一个巨大的深空天线,用于发射和接收航空器的信号。DSN直径大概70米,需要400千万功率的电力。黑客只要使用正确的编码和信号频率就可以和火星车对话了。
仔细分析NASA的通信方式,利用逆向工程的技术得到NASA与火星车的通信协议以及命令规范。黑客就可以使用自己的天线去控制火星车了。实际上,这种方式和耗钱,需要基金或者政府资助。
一个简单可行的方式就是黑掉NASA,通过NASA的电脑间接控制火星车。理论上讲,黑客需要攻入NASA的JPL实验室,通过NASA的DSN天线执行黑客自己的命令。例如,你可以潜伏进去,用U盘上传一段病毒程序到NASA的服务器上,然后。。。
今年3月,NASA发现自己遭受了47次高级的黑客入侵,13次是来自中国的。其中一起攻击事件中,大概150个员工的登录口令遭到了泄露。在另外一起黑客事件中,NASA的一台服务器被获取了完全控制权限,黑客可以随便上传代码,执行命令等。
另外一起案件中,48台移动计算设备被盗了,其中一台含有空间站的控制代码。因此不难看出,黑客是有可能得到好奇号的控制权限的,甚至限制NASA的访问权。
为了攒人品,我确信并不是每个人都对如何控制好奇号感兴趣。好奇号传回的数据对所有人都有好处——当然,100%是属于我们美国人的。然而,火星车上的设备并不完全是美国人的,这些仪器来自俄罗斯、加拿大和巴西。这样看来,唯一的危险来自中国——然而,中国肯定也只是对好奇号的发现感兴趣。
简而言之,黑掉好奇号是有可能的,但并非物有所值。或许要到我们殖民外星的那个时代,例如在31世纪的外太空竞争时代,到那个时候黑掉外太空设备也许是值得的。
好奇号火星车
火星探测历史上最远的一次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世纪发生太空资源争夺大战的时候,搞黑客破坏会更有现实意义吧。