说起安全,大家首先想到的肯定是它很重要,但同时做好安全又很难,为什么很难?一方面是很多企业、组织明知道它很重要,但却又经常选择性的忽视它;另一方面,对安全的误区也是阻碍安全得以做好的关键。在2022年3月5日晚间,由火线安全所举办的火线沙龙23期—云原生DevSecOps专场在线上举办,来自极狐(Gitlab)的马景贺(小马哥)在他的主题发言中也分享了对上述问题的一些看法,从我们整理其分享的内容看,相信大家多多少少都会感同身受,也许现在你所在的组织也正是这样。
为什么做好安全很难?
在他看来,做好安全之所以很难,主要体现在三个方面:
一是难管理。
这个难管理主要体现在实际操作过程中,负责安全的主体难以确定。这其实说起来大家也并不陌生,考虑到绝大多数企业的体量,先不说是否有团队,仅就人员而言,到底应该是安全人员负责还是开发人员负责?尤其是采用敏捷开发模式的企业中,这恐怕是一个会让人非常纠结的问题,但如果这一主体无法明确,那么责任必然无法划分,那何谈管理?怎么管?管谁呢?
二是难衡量。
对于研发、测试人员而言,将工作量化是很容易的事情,但这一点在安全人员身上就会变得很难,因为很多与安全相关的工作是很难用量来呈现的,没发生安全事件的时候,大家会有疑问——你做了什么?当发生了安全事件的时候,恐怕问题就变成——要你做什么?
既然组织已经在安全上做了投入,但是产出却不能清晰呈现,再加上安全是一个需要长期的事情,所以安全的ROI很难去设定。
三是难统一。
在一个组织中,安全所能覆盖的范围从点到面、从近到远、从上到下,可以说是方方面面的工作都会涉及到安全,小到一个主机上的登录凭证,大到整个组织的数据安全治理等等。因此安全是一个很碎片化的存在,也很难用某种方式完全统一起来。
安全被忽略的原因
尽管安全很重要是共识,但很怪的是,它却往往还会成为绝大多数企业(尤其是中小微企业)所忽视的那一部分,有些企业可能并不忽视,但也是一种急于求成的心态,恨不得几天就把安全建设好然后投入到其他方面。为什么会这样?其实不难总结,主要在于以下几点:
业务让位于安全
对于大多数企业而言,尤其是中小微企业,大家所追求的都是业务增长,尤其是一些在线服务类的企业,更是追求业务上线的速度,因为越快上线就意味着能去快速的抢占市场,在激烈的市场竞争之下,做出这样的选择看似无可厚非。
“那么多企业为何就我会中招?”
马景贺分享道,在不少企业或组织中,当业务需要上线时,如果发现安全问题,那么相关人员会告诉安全人员,业务无法及时上线就会导致客户流失。在这个压力之下,要是这个漏洞级别比较低,那么就会选择网开一面,做出让业务先上线的选择。“其实他们想的也很简单——那么多人,我怎么就会那么巧因为一个低级别漏洞成为倒霉蛋?这就是侥幸心理,也是做安全要面对的一个大问题。”
安全需要真金白银的投入
从时间成本上看,要做好安全是需要长时间持续投入的过程;
从应用成本上看,由于安全本身的碎片化特征,那么在做防护时,产品设备也好、服务也好,都是需要真金白银的投入;
从人员成本上看,以目前我国网络安全行业的人才缺口就能够轻松的判断出,一个好的安全人才在待遇水平上的期望都是不低的。
安全的认知误区
对于安全的误区其实更多的还是在意识上对安全的认知不够造成的,比如马景贺在本次发言中所提到的两个误区就都和意识有关。
首先,最广泛的误区就是安全只是安全团队的事情。尽管从职能和责任上看,如果一个组织中出现了专门的安全团队,那么毫无疑问,安全的责任主体应在其身上。可是要想做好安全,那么就必须要整个组织从上到下全面投入进去才是可以的。
在2021年12月,蚂蚁集团曾经发布了《数据安全复合治理与实践白皮书》,其重点就在于数据安全是需要整个企业所有部门所有人员集体参与的,如果哪个部门在安全意识和习惯上做得不够到位,那么很有可能这个部门甚至是某个人就会成为整个企业中安全的短板,也会成为攻击者的突破口。
马景贺表示,在责任归属问题上,大多数都集中在研发层面,比如开发人员或测试人员,他们其实身上所承担的安全责任并不小,毕竟“只要是人写的代码就一定有漏洞”这句话仍是真理,因此,指望安全团队独自就能够承担整个研发甚至是整个组织的安全,是不现实的。
其次,将安全视同于漏洞则是另一个广泛的认知误区,甚至可以再继续延伸到只有高危漏洞才是安全问题,比如去年年底曝出的Apache Log4j 2级别的漏洞,全世界都在为此忙乱的时候,对于那些对安全认知不够充分的看到这种景象,也会提高警惕,将其视作亟需解决的安全问题。但是,除这种高危级别之外的其他问题,则只是在攻击事件发生后才被视作安全事故,否则就只是会被认为是不小心造成的小问题。