安全是为业务服务的。
我指的是在一般行业中,而并非是某些以安全为目标的行业。比如某些政府机密部门,或者某些金融机构的某个机密部门,凡是涉及到“机密”二字的部门,一般都会或多或少的以安全为目标,所以整个部门的业务目标中有很大一部分就是安全,保证文档、资料的机密性、完整性,甚至在某些情况下,可用性也是可以牺牲的。
而一般主营业务不是安全的企业里,该用什么样的心态来面对安全?比如做网络游戏的,做软件的,提供邮件服务的,甚至是一些网上销售的、电子商务的。(这里仅仅讨论互联网行业)
从我的观察来看,大多数的公司并不在乎他们的产品是否安全,这一点在快速成长型企业的身上尤其明显。企业的第一目标应该是生存下去,盈利。如果安全在产品开发中扮演的是一个不光彩的拖后腿的角色,那么就很容易被牺牲掉。
而对一些已经成长起来的企业来说,他们有精力,有实力去做安全。但不幸的是,他们往往只在乎与自身盈利相关的那部分业务是否安全,而不会去考虑他们的产品是否有给客户带来风险。比如游戏公司可能更关注的是用户帐户是否被盗,因为每个用户都是¥,如果不能保证帐户安全,他们就会损失¥。而其他安全事件,比如一些不能盗帐户的漏洞,可能就会被做为reliable fix的普通bug来fix掉,而不是一个vulnerability或者critical bug。
这个道理其实很浅显易懂,每个人都是有自己思量的,企业也是如此。那么对于企业里的安全部门,应该如何自处?应该保持何种心态?
我想我在《安全幻想曲2008》中,已经很清楚的描述过安全部门和业务部门之间的冲突和平衡问题。但我在这里想说的心态。安全部门应该是为业务服务的,而不是去拖业务的后腿。至少在心态上,需要清楚的认识到这一点。
如果心态调整好了,那么很多时候就应该学会换位思考。业务方的需求提出来后,安全部门要做的不是如何去阻拦这个需求,如何让业务方打消这个念头,而是应该尽可能的,去为这个需求提供解决方案。这看起来很难,很麻烦,但事实就是如此,这也是安全部门的价值体现所在。
举个简单的例子,今天还在hi群里讨论oracle的安全问题。很多时候,数据库服务器是不能够轻易打patch和升级的,因为对于数据库来说,稳定性和高效是第一位的。那么业务的需求很简单,在漏洞出现的时候,可以不升级或者打patch。
从安全部门的角度来说,需要做的就是如何通过设计种种方案,保护数据库,降低风险。这可能涉及到一系列威胁建模和风险分析,不在此赘述。
当然世上的事情总是知易行难。从微软就可以看出来安全是多么不容易的一件事情。从某种角度来说,我觉得微软对安全的态度有点走火入魔了。比如失败的UAC,虽然微软可能不承认,但这个设计确实让很多人不爽,最后被迫做出修改。这就是典型的因为安全而委屈需求的例子。如果微软持续这么干下去,产品是安全了,但是估计市场占有率会持续下跌,从firefox和ubuntu的崛起就可以看出这一点,我想微软不完美的安全方案导致用户支持率下降也是一个潜在因素。
再比如主动防御的anti-virus类软件,在我们公司基本上是推不起来的,仅仅因为他会不停的向用户提问:“是否阻拦掉XXXX”之类。对于企业用户来说,这种提问式的软件对用户门槛要求太高了,所以我们在未来几年都不太可能采用主动式防御的AV。关于提问式的安全软件,以后再详细讨论,不在此赘述了。
所以在企业,安全部门的职能应该是在尽量满足需求的前提下,保护好资产,对抗威胁。
阅读(1175) | 评论(0) | 转发(0) |