安全能否跟上技术的前进步伐?

我经常怀疑,会不会有一天和我们连接的世界变得如此复杂,以至于产生自我感知能力。

等一下,那是电影里的情节。我想说的是,面对日益复杂的事物,我们已经不知道如何保证它们的安全。这不是一个有趣的电影里的情节,如果现在还不是这样,那么它正在成为可能发生的事情。

在信用卡号码和互联网还没有出现的时候,你不得不亲自走入一家银行并用枪指着出纳员,一般你能拿到满满一包的钞票。安全通常就是守卫着100打甜甜圈的带枪守卫。如今,互联网上有上百万人满怀着窃取上百万信用卡、用户资料或者政府机密的希望,寻找任何微小的缝隙侵入你的系统。这已经不再是你曾曾祖父那时的古老西部了。

今天,需要保护的不仅仅是网站,还有你的客户应用程序、后台办公系统、桌面和可移动设备、闪盘以及云环境。公司通常连接的对象不仅有客户,还有供应商、服务商、分析服务以及云服务器。你的数据从各个地方传来然后流向各种地方,并同时在各个地方存在。在这个急速变化的世界里,需要有人知道信息都存放在哪里,信息的内容为何,以及谁能够访问这些信息。

Security

(伯乐在线配图)

 

身为一名安全负责人,事情可能就是这么纠结:通常没有人知道你是谁,你在做什么,直到(发生安全事故时)5000个web编辑数落你是如此的愚蠢。尽管你每天会读到很多安全漏洞被人利用并有很多系统被黑客入侵,我可以想象其实没有被报导的安全事件远远不止于此。

确保一家复杂、关系复杂的公司安全,最大的问题在于有太多环节需要盯着,而且一不留神就会产生疏漏。最近发生的一个事件,大量社会安全号码(类似身份证号)以及个人信息从政府医疗救助机构被盗走,原因出在办公室的一台服务器没有被正确配置。只要犯下一个错误,就会被那群在互联网上寻找漏洞的人捕捉到,所有看似完美的安全机构(听起来他们是有安全应对措施,但我不是很清楚)可能都是嚼着甜甜圈守着显示器那种类型。这就是安全面临的挑战:一个错误足以毁掉一切。

“一个链条的强度取决于最弱的一环”,这个经典的比喻形象地描述了为什么安全是如此困难。一个疲劳的程序员,一个不断施压的经理,一个能力不足的QA,脚本中的一个bug,甚至是错误地点击了一个按钮都会让一个优秀的安全设计被攻破。现在,越来越多的复杂性被加入到了不同种类的环境中,要真正理解如何积极有效地阻拦坏人,甚至是如何预防突发问题都成为一件不可能完成的任务。在这个快节奏的世界里,高速发展业务的压力引入了巨大的安全成本,现在适度地安全投入已经与销售及利润同样重要。

chain

(伯乐在线配图)


我们拥有越来越丰富的功能,而对应的安全保护措施是如此薄弱,这是现在及将来我们会不断遇到的问题。

我所服务的组织有几家客户和一组web服务,母公司提供web服务、缓存、数据库以及数据服务,母公司的上家还拥有提供多层服务的大型机系统、数据供应商和客户。当我进行一次web服务调用时,我不知道有几个层次的系统会被访问并进行更新,也不清楚那些数据会存放在哪里。这个调用过程的复杂程度足以让大脑休克。有谁知道这些调用在哪里发生并且如何在一起协同工作的吗?我认为这是不可能的。现在考虑像美国国防部那样的系统,部门层次更加复杂,需要保护的对象不是飞机座位而是整个国家的机密以及核武器安全。每个人都想得到其中的一些信息,而保护工作是由第n层转包商负责提供。

我最引述的名言之一就是:“如果建筑工人像程序员写代码那样盖房子,那么只消一只啄木鸟就足以毁掉整个文明。”如果连一个程序都难以加固,可以想象保护整个公司的那些系统会是怎样的困难,更不要提保护由许许多多公司和政府系统组成的整个国家的安全了。袭击伊朗核系统的Stuxnet蠕虫病毒(造成伊朗核电站推迟发电)就是一个绝佳的研究案例,同时这也是更加复杂的软件在未来能给我们带来的某种预兆。

早期系统间的交互甚至需要密码。今天,你需要考虑到所有可能的攻击维度。仅仅阻止“骇客”攻击你的网站是不够的。威胁会从各个方向袭来而且通常会来自系统内部。

我为一家保健公司的时候发现,服务器和数据库的密码都以文本的形式存储在代码仓库中而且公司里有一半的人都知道这件事,这样别人会轻易地偷取到数据。当我把这件事报告给CTO时,他强调说“公司信任自己的员工”。对重要的数据,我连自己都不相信,更何况那些经常流动的员工和承包商。不久前的那个银行抢劫犯现在正坐在电脑前攻击你的系统,在你的公司上班,甚至雇用别人监视你的一举一动。让一切处于运转和监控之中是一项艰苦和昂贵的工作。

身处今天很难想象未来10年会是怎样。随着我们的系统互联程度的增加,数据变得越来越重要。偷窃、阻断以及拒绝访问将会变得更加容易,越来越多的人将会试图加入这个行列。我真的怀疑我们能否保护它们的安全。无论我们是否意识到,我都毫不怀疑会有更多的攻击发生。甚至就在今天,你都能发现有公司绝望地掩饰自己的安全漏洞,也会听说一个成功的攻击是如何减缓甚至毁掉整个生意。不难想象这样的事情每天都在发生,你也能够知道人们对于技术进步是怎样的恐惧。

当我们的技术迅速在迅速进步的时候,已经有一只啄木鸟等在那里,而且我认为很快就会知道这些软件是否会轰然倒塌。毕竟,我们没有无限的信用卡号、无尽的金钱或者多余的核弹头发射代码可以输掉。

安全真的应该是第一位的工作:即使现在不是,亡羊补牢也不晚。要么现在补救,要么未来会满盘皆输。

 

英文原文:thecodist   编译:伯乐在线 – 唐尤华

【如需转载,请标注并保留原文链接、译文链接和译者等信息,谢谢合作!】

 

收藏 评论

关于作者:唐尤华

唐尤华:我喜欢程序员,他们单纯、固执、容易体会到成就感;面对压力,能够挑灯夜战不眠不休;面对困难,能够迎难而上挑战自我。他们也会感到困惑与傍徨,但每个程序员的心中都有一个比尔盖茨或是乔布斯的梦想“用智慧开创属于自己的事业”。我想说的是,其实我是一个程序员。 个人主页 · 我的文章 · 18 ·    

相关文章

可能感兴趣的话题



直接登录
跳到底部
返回顶部