雷锋网按:现为耶鲁大学计算机系教授及系主任的邵中如今正带领研究小组为其“反黑客攻击”操作系统CertiKOS而工作。
CertiKOS具有极高的安全性和可靠性,采用了模块分层验证法(Modular Layered Verification Methods),拥有并发性,可同时在多个CPU内核上多线程运行。此外,该系统整合了形式化验证,对无论是智能家电还是物联网设备亦或是自动驾驶汽车都能起到防黑客攻击的保护作用。
2017年7月9日,中国计算机学会(CCF)主办、雷锋网与香港中文大学(深圳)承办的第二届全球人工智能与机器人峰会(CCF-GAIR 2017)的智能驾驶论坛上,邵中教授发表了题为《CertiKOS: A Breakthrough toward Hacker-Resistant Operating Systems》的主题演讲,详述了如何打造一款“反黑客攻击”操作系统。
演讲结束后,邵中接受了雷锋网专访,以下为对话实录,雷锋网做了不改变原意的编辑。
雷锋网:你们的目标是要用CertiKOS替代掉Windows、Mac OS或者Linux这样的现有操作系统吗?
邵中:也不是说代替,操作系统是一个很大的概念,比如说Windows系统、Mac OS系统或者Linux,它往往是几百万行代码,它把上头的对应用端做的各种各样的库都当成是操作系统的一部分。
但是,另外还有一个概念叫操作系统内核,那个内核一般就比较小了,可以做个几万行或者小于十万行。你说的那些操作系统都有一个不同的内核,那个内核目前是不安全的,我们就想取代那个内核,上头还可以跑这些不同的操作系统。
雷锋网:也就是说,CertiKOS要与已有的操作系统的上层部分进行配合,那适配性问题如何解决?
邵中:所以现在就有如虚拟机和Hypervisor这样的东西存在。其实虚拟化是计算机最近几年来最大的一个突破,像云端都是用虚拟化实现的,人们可以在一个云上面执行诸多程序。其实就是把一个机器虚拟化成了多个机器。比如说很多国内公司有很多终端设备,并不是每个终端都连着一个主机,它其实就几台主机放在那,然后把它分成了10-20个虚拟化的东西。
我们的内核跟现有操作系统的上层部分结合时也是这种虚拟的形式,在汽车上也是虚拟形式,因为它不可能每一个东西都做。
雷锋网:“反黑客攻击”操作系统普及后,黑客会受到什么影响?失业?
邵中:不会,他会去黑没用我们CertiKOS系统的那些地方,因为即使安装了我们的系统,上层的代码还是有被黑的可能,只是不能黑到最底层。
因为你开着车希望的是它即使地图坏了、导航仪坏了还可以开,但它绝对不能让被黑到把引擎、闸的控制权都交出,那是很糟糕的。
从上世纪60年代开始,我们就对写软件的人提出要求,不能只写个软件然后发表卖钱就走了,你需要对你的软件负责,不能有bug。只是因为最近几十年来,因为商业化的原因,人们开始不在乎软件是否有bug,才会导致现在那么多的软件对安全性的要求那么低。
但是我们做这个行业、这个技术就是为了改变软件行业的现状,只不过,原来人家就觉得,这么多东西还要证明,这对我要求太高了。对一个计算机游戏人家可能不在乎,但是,对关键软件确实是这样。
雷锋网:目前您做这个项目最大的困难,要跨越的技术难题主要是什么?
邵中:非常多,做操作系统有意思的是,它里头描绘的各种各样的情景,跟我们描绘生活当中各种各样的情景是一样的。操作系统无非是要管理各种各样的资源、各种各样的空间,一旦有两个不同的东西要互相共享资源又要增值的时候,你就要找到有一种好的处理方式。
我把一个操作系统写好了,我就可以像管理一堆机器人或者管理一个虚拟世界的最主宰的东西,就像上帝一样,搭一个安全操作系统就有点像我给你这么一个平台,给你这么多的资源,你一定得把它管理好,不能有不公平,因为一旦有不公平,就变成黑客攻击的地方。
所以,其实我们里头做的各个模块的管理、用到的一些技术是非常有哲理的。它们来自程序设计语言、形式化语义领域最近30年做的很多突破性研究工作。
雷锋网:现在这个项目进展到了一个什么阶段?
邵中:已经有几个非常好的里程碑,在去年11月份,我们做的并发操作系统是最难的一个课题,已经克服了很多困难,接下去就是致力于扩充它,让其更好地落地到实际应用场景。
应用场景有很多,自动驾驶汽车、物联网设备现在就可以用上去。只不过,要去做这些事情我们就得成立创业公司来进行,但是我们并不觉得现在就要放弃做学术研究,因为我自己本人还是想把这个生态圈打造得更大,然后再去进入某一个行业。
雷锋网:您可能对哪些机构或者企业比较有兴趣?
邵中:我在中国的交流还不是很多,我希望多跟中国做汽车行业、智慧城市、物联网、区块链等方面的企业接触,如果他们对安全问题感兴趣,可以多交流。
雷锋网:目前,很多做自动驾驶的企业其实对网络安全还没有太多的考虑和研究,那么您觉得未来可能会出现的对自动驾驶汽车系统进行攻击的漏洞和缺陷是什么?
邵中:所有都可能会被侵入,但是我们要做到的并不是保护每一块,因为那个工作量太大了。我们要保护的是最底层的一层,因为即使有某个机器被攻击了,它也不会把整个汽车上的最关键的部分都弄坏。
比如车上有30个机器,中间有2-3个是管着主控的,我们做这种安全系统要达到的最主要的目标就是要保证,即使另外27个机器都被攻击成功了,另外那3个还可以正常运行。
雷锋网:现在在传统汽车或者自动驾驶汽车上有没有一些应用?
邵中:我们现在做的大部分都还是在学术实验室范围内。
因为自动驾驶汽车即使在大部分的公司里头也无非是一个Demo,虽然说有几个已经在路上跑了,但大部分是不考虑网络安全的。所以,这是一个非常新的领域,这次回来的一个原因也是希望能够跟现在在做其他部分的厂家能够有更多的接触。
围绕着自动驾驶汽车和无人机的创业公司太多了,但是设备重视网络安全的还是不多。因为网络安全的门槛比较高,没有几个人是真正能够放下心来去钻操作系统软件的实现,这也是为什么操作系统是核心软件,为什么那么难,为什么中国到现在还没有自主开发的操作系统。
雷锋网:对CertiKOS的期待是什么?
邵中:我们准备开源,所以大家都可以在上面建立应用,就像当初Linux从1990开始一步步滚雪球滚到现在这么大,我们也希望我们的安全操作系统也能一步步壮大并最后变成一个比较成熟的、安全的、被验证的、没有bug的、黑客不能攻击的操作系统。到那一步就需要慢慢吸引更多企业和机构加入到生态圈中推动其发展。