技术前沿

方舟编译器对我国信息安全意味着什么?

2019-04-29 鶇飞天
方舟编译器对我国信息安全意味着什么?

华为深耕于软件系统底层逻辑意义巨大

最近华为余承东先生宣布有关方舟编译器的消息,使人们对华为后续推出的手机产品性能充满期待。方舟编译器摈弃了安卓虚拟机的边解释边执行的机制,对自己的底层硬件使用更具针对性的方舟编译器,可以大大提高其运行速度,革命性地改善手机使用的流畅度。鶇飞天并不是要叙述方舟编译器对华为手机产品竞争力的重大意义,而是希望能从另一个角度,强调华为在编译器上的工作对我国信息安全领域中的里程碑意义。

方舟编译器对我国信息安全意味着什么?

编译器是打通信息安全任督二脉的关键系统

首先,需要理解的是,我们学习的C语言、C++、C#、Java等为什么都是基于国外自然语言构建的高级编程语言呢?这是西方国家特别是美国主导了近代信息技术发展的必然结果。计算机发明后,长期存在的问题是如何解决人机对话的问题。硬件构成的计算机,只能识别和执行二进制数字代码程序,而使用二进制进行编程难度极大,其规则需要大量的记忆和学习,效率很低,普通人很难上手。后来出现了利用助记符代替机器指令操作码的汇编语言,但是汇编语言是一种低级语言,同样需要大量的记忆,学习难度较大。能否将底层的运行逻辑通过组合封装映射成基于自然语言的编程代码呢?很多计算机企业汇聚大量的计算机天才能做这项工作,于是不同的企业推出了各自的基于自然语言的编程语言,这种基于自然语言——英语,就是我们拼命苦读的编程语言,诸如C语言、C++是贝尔实验室推出的,Java是太阳公司借鉴C++设计推出的一种更为高效的编程语言。所以,目前国内的主流编程语言使用基于英语的西方文字符号是再自然不过的事了。

方舟编译器对我国信息安全意味着什么?

与编译器有关的安全问题

其次,完成从底层机器语言到面向用户的自然语言的功能映射过程被封装成一个软件程序——编译器。编译器能够把高级语言翻译转换成底层可执行的二进制机器代码,反之,把机器码翻译成高级语言的难度较大,除非掌握编辑器的内在逻辑。而这个内在的逻辑只有推出编译器的厂家掌握。

编译器是一个非常复杂的“翻译系统”,汇聚了众多天才的计算机工程师的智慧和劳动成果。任何编译器都有逻辑、漏洞和缺陷,这些都属于编译器的“机密”,只有推出编译器的厂家知道,如果不知道这些“机密”,要想从机器码转换成高级语言,从而了解源代码的编程逻辑原理、漏洞甚至后门都非常困难。

我们日常使用的微软操作系统是经过编译的目标代码,微软一直拒绝公开源代码,也不愿意公开编译器的技术细节。这让微软对遍布全世界的使用者具有不对称的信息安全优势。微软可以随心所欲地在其操作系统内设置潜在的后门,从计算机的物理层、中间层到应用层都可能被操控。其实各国都知道其存在的潜在安全问题,但是由于大部分的信息技术都被美国IT企业掌控,就连美国的盟友也拿不出太好的办法。如果在物理硬件、编译器、操作系统到应用程序缺少有实力的企业群体,很难摆脱这种状况。

方舟编译器对我国信息安全意味着什么?

华为推出自主可控的操作系统为期不远

这次,华为推出方舟编译器,表明华为正在深耕于手机和计算机系统的底层逻辑。华为此前在CPU上的突破和逐渐强大为华为进一步研究更上一层的系统软件逻辑提供了坚实的基础。或许这次华为推出编译器能够带来的直接好处是改善华为手机运行的流畅度,使其可以媲美苹果手机的操作系统。但是,随着华为在编译器方面的技术积累,一定会在未来不久的时间推出自主手机操作系统和计算机操作系统,这对于改善我国社会信息系统安全生态有里程碑的意义。

方舟编译器对我国信息安全意味着什么?

华为推出中文版的编程语言也是可以期待的

另外,有了成熟的编译器技术,华为可以推出世界上第一种采用中文为编程语言的高级编程系统。届时,我们的学子们就可以更容易地进入到编程的世界,计算机编程再也不会那么枯燥晦涩,这可以进一步推动我国信息技术走向自主、可控的发展道路,信息安全环境可以大大改善。结合华为在网络通信技术上的技术基础并随着自主操作系统、中文编程语言的逐渐普及,未来我国信息技术发展的蓝图是可以期待的。