梆梆资讯

梆梆资讯

软件保护技术的前世今生(连载)

2016-11-23

二战结束之后,科技飞速发展,全世界一片欣欣向荣,刚刚经历了战争阵痛的人们满怀希望地朝着未来进发。《星球大战》刚刚公映,微软完成BASIC的开发,苹果公司也刚刚在史蒂夫家的车库中创办并拿到第一轮融资,仙童半导体各位大神纷纷出走……所有人都相信计算机才是人类的未来。回头再来看70年代末的硅谷,像及了今天的中关村——科技巨头发展,新兴企业崛起,资本蠢蠢欲动,每个人都兴奋地等待着明天快点到来,但没有人知道明天是什么样子。

彼时Internet还只是美国军方的内部项目,网络安全问题尚不存在,计算机病毒也仅仅作为概念被提出来。那时,北京的学区房也还没如此昂贵,全国上下可能都没有几台计算机。就算在加州,如果有人在极客聚会上提“信息安全”,也有很大可能被当作神经病对待。当时旧金山湾诸君讨论最多的内容反而是未来计算机的架构演变和8086CPU的强大性能(这货的计算能力在今天估计只有你们家路由器的几十分之一),当时Windows、Linux、Mac OS这些操作系统尚未诞生(Android与 iOS只能算孙子辈操作系统),全球最流行的操作系统或许是AT&T的Unix,开发者们津津乐道Apple II的易用性,写出来一个又一个的小程序,在社群里相互交换分发。

这 个时候的极客们彼此之间简单而纯粹,他们在社群里充满热情地相互分发软件、交流心得、共享代码、反对越战、不修边幅、腼腆内向、没有女友(时代又一次惊人 地相似)……没有人愿意相信软件会往工业化、商业化方向发展,因为对这些人来说,代码就像莎士比亚的十四行诗一样美,如果有女朋友的话,他们甚至愿意听女友把 自己写的一行行代码给阅读出来。在他们眼中,代码应当被分享、被阅读、被赞美。而软件著作权及销售软件这样的行为简直是与法西斯独裁与和谐主义一样的存 在。然而软件商业化的发展势不可挡,所有的公司都开始销售商业化软件,他们的源代码秘不示人,软件拷贝也遵循严格的版权法律。极客们原先的社区在软件工业 化的压力下土崩瓦解,甚至许多极客团体也开始纷纷下海,成立公司,销售封闭软件及idea……一时间让人痛心疾首。这个时候不得不提到Richard Stallman(1953年生双鱼男),80年代初,Richard哈佛毕业后供职于MIT人工智能实验室(是的,老美30多年前就已经在研究AI),看到 软件商业化的趋势,身为极客群体的一份子顿时感到气愤与无奈,立志要打破软件保护。然而从技术及可行性上来说,打破软件保护只有两种途径,第一是破解,第 二即是建立另外一道壁垒与之对抗。作为一个有理想有立场的极客,作为参加过反越战大游行的左派青年,Richard Stallman当然会选一种体面的方式。

靠着在MIT期间做的Emacs(著名的集成开发环境和文本编辑器,迄今仍然被广大程序猿使用)项目带来的成功,Richard Stallman成立了了自由软件基金会(Free Software Foundation,FSF)。在此之前,Richard也发起了GNU(缩写来自于GNU’s Not Unix J)计划——即创建一套完全自由的操作系统,一切代码公开,免费分发,大家一起来修改。与GUN计划一起发布的,还有一套GNU通用公共许可证(GNU General Public License,GPL),GPL中提到了反版权Copyleft概念(摆明了是要跟Copyright们对着干)。简单来说,就是一切基于GUN项目的代码,都要开源。同时如果作为商业软件售卖的话,只要引用了GUN项目的代码,其余的所有代码的所有改进和修改都必须向每个用户公开。

这种病毒一样的开源传播方式,创造了巨大的极客开源社区,所有极客们都乐于将一些开源项目发布出来共享分发。90年代初,来自瑞典的大学生Linus Benedict Torvalds,将自己的软件项目“类Unix操作系统”提交到了自由软件基金的GNU计划中,通过GPL授权,经过无数程序员们的修改、更新、补 充……鼎鼎大名的Linux操作系统诞生了。与Linux相似的,同样也诞生了海量的开源项目,这些开源(软件)随处可见,在30年后的今天,许许多多开 源的软件/项目有可能仍然影响着我们。比如Android就是基于Linux项目开发的操作系统。同时广大宅男的好朋友eMule电骡(是不是觉得好亲切)、PHP、WIKIpedia、Firefox、Apache、MySQL……这些都是著名的开源项目。

在互联网大范围普及以前,开源与封闭软件项目并行发展,两者代表了不同的阵营。同时随着计算机以及个人电脑的发展,人们对软件的需求越来越多样化,应用软件 也开始越来越丰富。开源软件并没有将封闭商业软件推入深渊,开源社区也并没有因为盈利困难而消失。但是无疑开源社区为人类社会的进步做出了巨大的贡 献,Richard Stallman也因为其传奇的人生被广大程序猿所膜拜。据说这货从来不用智能手机,自称“为软件使用者的自由奋斗”。业内对他的评价—— “计算机开源软件世界的宗教式精神奠基人”、“顶尖的程序猿”、“优秀的项目经理和技术经理”、“一个勇敢的知行合一的人”…… 毫不夸张的说,我们当今的每个人都受到了他极大的好处。

(Stallman从来不修边幅,但是对键盘的品味非凡,他的御用神器“HKKB 静电容键盘”,各位可以在PMM程显龙那里看到。J)

然而事情的发展都有其两面性,开源项目虽然很多方面看都有优势。但是真正拿来商用却要面临很多问题,其中最重要的就是安全性。随着互联网的发展,最先发明互 联网的那批人万万没想到,到21世纪的今天,威胁会无处不在。尤其对有些企业及敏感部门来讲,运用开源项目简直意味着放弃安全性。除了网络层的威胁,许多 安全威胁实质考验的就是企业的IT系统对黑客的黑盒程度。企业的IT系统越机密,黑客能掌握的信息越少,也就越难以分析系统漏洞,越难以攻破。但是相反, 如果企业一切的系统都是基于开源架构,甚至有些源代码都是公开的,那么对于有些黑客来说,攻破这样的系统相对来说肯定会更容易,这也就是为什么重要的企业机构到最后评估过之后仍然会在重要项目采用封闭软件项目。

封闭软件项目能得到长足发展的另一个重要前提就是其商业化,商业软件/项目因为能带来收益,售卖/服务公司往往更愿意去开发迭代并改善提升功能,经过不断改 善完善的软件工程带来更好的使用效果和服务,客户也就更愿意持续采购。这也就是为什么微软、Adobe、SAP、Secneo这些公司能一直发展并保持强 大的原因。很难想象如果有一天微软宣布Office免费或者开源了,这个世界会变得怎么样。但对抗封闭软件的另一个重要的方法,前文提到的破解,该如何解 决呢?人们在设计计算机系统的时候,是几乎没有考虑软件保护这样的问题的。商业软件公司与开发者除了公开自己源代码的权利,同样也有保护自己识产权及代码安全的权利。这部分自由该如何保证呢?

(且看下回:为代码生,为代码死) 

关于梆梆
梆梆安全成立于 2010 年,是全球安全服务领跑者,运用领先技术提供专业可靠的服务,为全球政府、企业、开发者和消费者打造安全、稳固、可信的移动应用生态环境,让每个人都能自由地创造、分享和使用移动信息。

友情链接:

京公网安备 11010802024511号

Copyright ©2022. All Rights Reserved 京ICP证160618号  京ICP备11006574号-1