一念Jeff Li文章 · zhipeng.liEnglish

天黑路长,没有银弹

2015-07-10 · 网安志异 · 正文:中文 ·

布鲁克斯1986年断言软件工程没有银弹,放到信息安全上同样成立:加速的变化让固定方案失效,复杂性让单点防御难以为继,人的弱点更非技术所能补齐。怀疑不等于悲观,从细菌说取代恶魔说的启示,到马斯克式的第一性原理,回到安全本质,按部就班才是正道。

在民俗传说里,所有能让我们充满梦靥的怪物之中,没有比狼人更可怕的了,因为它们会突然地从一般人变身为恐怖的怪兽,因此人们尝试着查找能够奇迹似地将狼人一枪毙命的银弹。

我们熟悉的软件项目也有类似的特质(以一个不懂技术的管理者角度来看),平常看似单纯而率直,但很可能一转眼就变成一只时程延误、预算超支、产品充满瑕疵的怪兽,所以,我们听到了绝望的呼唤,渴望有一种银弹,能够有效降低软件开发的成本,就跟电脑硬件成本能快速下降一样。

但是,我们预见,从现在开始的十年之内,将不会看到任何银弹,无论是在技术上或管理上,都不会有任何单一的重大突破,能够保证在生产力、可靠度或简洁性上获得改善,甚至,连一个数量级的改善都不会有。

这是IBM大型机之父佛瑞德·布鲁克斯在1986年都柏林IFIP研讨会的一篇受邀论文《没有银弹:软件工程的本质性与附属性工作》中的论述。

安全问题正如布鲁克斯所描述的软件工程。目光所及,信息安全一样,无论在技术上或管理上,短期内都难有任何单一的重大突破,一劳永逸地保护各种网络、主机、数据和应用,使之安全性得到明显改善的简单方法并不存在。

正如宇宙在加速膨胀一样,人类的信息技术正在加速进步,数字世界的疆域也在加速扩大,内涵与组成也在极速丰富和变化。在迅疾变化的世界里,不存在一成不变、广泛适用的解决方案,没有银弹。

银弹的敌人还在于复杂性。射杀一头狼人容易,阻止一大群各不相同的怪兽是困难的。保护一台设备容易,保护成百上千台设备,庞大的网络,复杂的拓扑,组件、功能众多的软件,则非常困难。在面临各种安全威胁的时候,不存在简单的防御措施确保安全,没有银弹。

还有就是,代表技术解决方案的银弹,无法解决非技术问题。Bruce Schneier说过,仅用技术手段解决安全问题,存在局限性。就像比特币,技术上是安全的,但非技术层面存在各种各样可被攻击的弱点。没有仅依赖技术、可以忽略人的安全解决方案。没有银弹。

世界在变化,我们在老去。要不断观察和思考这个变化的世界,而不要变成需要年轻人保护的老人,被世界淘汰。虽然没有银弹,我们仍然可以从安全的本质出发,一步步提出方案,解决问题。认为“没有银弹”的布鲁克斯并不绝望,他在论文中继续说:

然而,怀疑并非悲观,虽然我们预见不会有任何重大的突破,而且事实上,我相信发生这种重大突破也不符软件的本质,但是,仍然有许多令人振奋的创新正在进行当中,若能按部就班、持之以恒地予以发展、散布,并灵活运用的话,想必应该会得到一个数量级的进展。快捷方式是不会有的,但有志者事竟成。

人类能克服疾病的第一步,就是以细菌说(germ theory)淘汰了恶魔说(demon theory)和体液说(humours theory),正是这一步,带给了人类希望,粉碎了所有奇迹式的冀望,告诉人们进步是要靠按部就班、不辞劳苦而来,得在清洁卫生方面持续不断地投入心血,养成良好习惯,才是正道。如今,我们面对软件工程也是一样。

回归到本质思考安全问题,不要各种术语和流行词所迷惑,思考最本质的原理。就像Elon Musk的思维方法:

将事物缩减至最核心的本质,并从根本向外延伸,这与类推原理刚好相反。在我们生命的大部分时间,我们几乎都是在进行类推思维,这意味着我们在不断复制他人的经验,这样在生活中才不会显得突兀。但是,当你想做一些新鲜的事情的时候,你就必须运用物理学方法。物理学能够帮助你理解那些违反直觉的新事物,比如量子力学。这种思维方式使我受益匪浅。

展望未来,天黑路长,人心难测,没有银弹,小心为上。

本微信公众号到今天满一个月,保持每天一更,共计30篇,全部原创(包含大量“盗图”和部分引用)。未来将会降低更新频率,每次针对某一个专题进行较为深入的探讨,比如威胁情报。感谢订阅本微信公众号“网安志异”,请继续支持。

原载于微信公众号「网安志异」,2015-07-10 · 原文

留言

    无需登录,发表即显示。