最新病毒库日期:
  • 中国代码中的汉字 为什么能难住CIA黑客
2017-03-15 09:45 来源:未知
【文章摘要】“维基解密”近期公布的文件爆料:美国中情局通过各种方式攻击了中国等很多国家的电子设备,但执行中国任务的CIA特工却深受语言障碍的困扰。
“维基解密”近期公布的文件爆料:美国中情局通过各种方式攻击了中国等很多国家的电子设备,但执行中国任务的CIA特工却深受语言障碍的困扰。那么,中文挡住CIA黑客究竟是怎么回事呢?
由于绝大多数程序代码都是用通用编程语言写成,这些英文字母组成的代码,全球程序员都认识,但认识代码归认识,能不能彻底解读就是另一回事了——源代码一般都是比较晦涩的,没有注释的代码换了开发这个程序的工程师之外的人来读其实是很难读懂的。
因此,注释就伴随源代码而生,注释的作用是便于理解和交接给其他人,告诉别人代码实现的功能,如果看不懂源代码的注释,或者源代码根本就没有注释,那即便拿到了源代码也犹如天书。
为什么会出现这样的惊喜一幕?
语言障碍这个问题很少被网络安全专家考虑,因为几乎所有代码行都用通用语言编写,世界上任何程序猿都可以读懂。但是,为了帮助记忆和与同事沟通,一些中国软件工程师习惯于在源代码中插入中文文本。
更多时候,打错字母的英文单词会导致其他程序员解读难度大幅攀升,怎么猜测都不对。如果用中文的话,不仅方便国内同行理解,也可以少发生产生歧义的情况。
另外,由于英文专业名词都是非常生僻的,非该专业领域的业内人士根本不认识该专业的相关专业术语的英文单词。以电力方面来说,程序员仅仅是码农,不是电力工程师,这就导致国内软件工程师在接国内项目后,根本不知道相关专业术语的英文单词,在这种情况下,就直接用中文或者拼音了。
而本次CIA黑客受阻于中文的真正原因,是因为中文博大精深,而国内程序员写了中文注释又很随意,没有一定的汉语文化功底的CIA黑客很难理解中文注释,所以出现了拿到了源代码,但是因为无法理解源代码中的中文注释而看不懂的情况。不过,随着CIA招募掌握中文的黑客参与相关工作,看不懂源代码中的中文而产生的问题将不复存在。
打铁还需自身硬
根据斯诺登的披露,美国政府一直通过各种手段对全球很多国家实施监控和网络攻击,除了传统的攻击服务器和PC获得其他国家机密数据之外,随着物联网和各种智能硬件设备的兴起,网络安全和抵御网络攻击的难度大幅攀升。
目前,各种智能硬件设备的增长如井喷之势,2016年约有1.7亿人购买各种物联网的礼品,到2020年,物联网连接的智能设备有望在全球增加到500亿台。加上即将到来的5G时代,会实现万物相连。不仅智能空调、智能电视、智能洗衣机等智能家电会和手机等个人智能终端设备,以及PC相连接,各种摄像头监控设备、智能扬声器、汽车电子、医疗器械、工业生产设备等智能硬件也会通过网络相连。而这些智能硬件设备都有CPU、内存、操作系统,虽然模样千奇百怪,但其实都是一台迷你电脑。
更致命的是,这些智能硬件设备中很大一部分近乎是不设防的,在软件上由于长年得不到更新维护,软件系统存在大量漏洞。而很多智能硬件设备对CPU性能要求不高,反而对功耗和成本非常敏感,因而往往采用近乎于老掉牙的芯片。诚然,这些老芯片在经过多年使用和验证,有着相对成熟的优势。但由于芯片破解难度和芯片的复杂度成正比,加上有充足的时间去破解,因而在安全性上可能存在一定瑕疵。此外,由于西方科技公司往往和所在国政府存在某些合作,因而很多国家的互联网和各种智能硬件设备完全暴露在国家级黑客的攻击之下。
举例来说,维基解密就公布了CIA利用各种技术在电脑、手机平台上的Windows、iOS、Android等各类操作系统下发起入侵攻击,以及操作智能电视、智能监控设备等终端设备进行窃密的文件。最惊悚的是,CIA还可以遥控智能汽车发起暗杀行动。
因此,要实现网络安全,保护国家机密和个人隐私,必须采取技术手段,而非源代码中加入一些中文内容。
技术手段主要解决的是境外国家级攻击者,正面捅刀子和背后捅刀子的问题。
所谓背后捅刀子,就是国人使用的网络设备、电脑、服务器、智能穿戴设备、手机等产品在软件上和硬件上被境外科技公司留下了各种后门,这样国家级攻击者就可以通过这些后门肆意窃取国家秘密和个人隐私。
而境外国家级黑客攻击就是正面捅刀子,面对正面捅刀子,就必须从软件和硬件上加强防护措施,防止非法访问和修改。
对付背后捅刀子,最好的方式就是从软件和硬件上实现国产自主+安全可信,采用国内自主设计、代工生产封装的CPU和自研的操作系统去取代国外的产品。而且这也是对付正面捅刀子的前提条件,因为如果自己不掌握核心技术,依靠购买国外产品的话,老外卖给你什么,你用什么,就没法从整体上考虑安全方案,就很难提升面对黑客攻击的防御能力。
此外,固件也非常重要,固件就是硬件和操作系统之间的部分,基本功能是用来配置硬件引导系统。bios是计算机里最重要的固件之一,nsa、cia和hacking team都很喜欢通过bios植入木马。服务器里还有bmc固件,用来监控管理服务器。在防御黑客的方面,由于bios比操作系统先运行,在把控制权传递给操作系统的时候,bios可以去检验要运行的系统是不是符合预期,是否被篡改,因而bios可以通过传递信任关系到操作系统,让恶意代码无法执行。因此,固件在安全里有非常重要的位置。
总之,源代码中存在中文这仅仅是一个小障碍,而非不可逾越的技术瓶颈。至于用中文编程是根本没有必要的,虽然用中文编程可以解决一些中国人不懂英文的问题,然而现在英文是事实的世界语言,作为程序员不懂英文就没法跟其他国家的人交流,最后很有可能会走到闭门造车的路上,反而得不偿失。要真正提升抵御网络攻击的防御能力,最好的做法是采用自主研发的产品取代国外产品,并在实践中不断使用、磨合、检验,最终实现螺旋式提升。