没有任何一个安全防御是完美的,那么如何对隐藏的数据资产进行保护呢?确保软件安全可以说是从底层开始对网络安全进行防御的有效手段。
早在90年代,我们都曾经在系统周围构建大型防火墙,并寻找要修补的漏洞。从理论上讲,在所拥有的软件系统周围筑起一道坚不可摧的墙是个好主意,因为它甚至可以保护曾被忽略的问题。
然而,如果一堵墙是你唯一的防御手段,它就需要在所有的时间里做到100%完美。现实是,即便是用来居住的房子墙壁也会随着时间的推移而形成裂缝,更不用说如今的企业边界还涉及云、移动和远程资产,而且还可能存在自己都不清楚的隐藏资产。
完美绝不是良好网络安全的先决条件。我们有各种各样的防御措施,即使在存在未知或错误的情况下也能发挥作用。比如,提高网络系统中最基础部分的安全性——软件安全,来从底部构建网络安全体系。
映射您的内部路径
软件系统非常复杂。因此,如果我像攻击者一样思考,那么不可能尝试了解所有攻击面。我不需要知道所有数据或有关的安全策略的所有信息。我们只需要考虑哪些途径有利于快速入侵并成功,这可以作为破解攻击面的切入点。
这就是应该考虑的保护系统的方式,找到软件系统中的攻击面和敏感资产之间存在的路径,并将其扼杀,如果必须要用到这些路径,并且十分关键,那么就设置故障保护和警报,这样,当攻击者利用这条路径时,就可以在他们窃取数据之前就知道了。
或者可以理解为,企业可以提前发现软件系统中的安全漏洞并进行修复,在黑客利用漏洞之前将网络入侵“扼杀在摇篮”之中。
对网络防御资产进行分类
一种方法是根据哪些资产需要与互联网交流,哪些不需要,对资产进行分类。可能的情况是,绝大多数面向互联网的资产是软件即服务(SaaS)应用程序或设备的组件,这些应用程序或设备您不使用或不需要使用。如果您有一个提供文件传输和VPN的设备,并且您只使用VPN,那么请关闭文件传输特性。
下一个类别是:从外部可见的、对公司运营必不可少的东西,比如公司网站或远程访问协议。这些毫无疑问是攻击面和敏感数据之间的一些突出的路径。存储这些数据软件安全性至关重要,确保这些软件安全对保护数据有很大意义。
增加外部防御更不能缺少内部强化
有些企业应该已经建立了完善的数据资产保护机制,并将需要访问和密切监控的资产放置其中。但更重要的是,安全问题不应该仅靠外部防御,从软件开发初期利用静态代码检测工具发现并修复安全漏洞,减少安全漏洞的产生,比后期的弥补更重要。
当开发人员在编写代码时,尽量“安全地编码”可以有效建立软件安全防御屏障,在完成软件原型要求的同时,构建更加安全的应用软件。
不要指望漏洞补丁解决问题
当企业通过Qualys扫描并发现有300万个安全漏洞时,该如何通过发布300万个补丁来修补?想必对任何人来说都是无能为力的。但是在构建软件系统时,对其细分市场中所包含的软件进行安全检测,不但可以高效了解系统安全状况,更有利于在出现问题之前解决。
底线:企业应该在设计安全防御系统时假设攻击者可以破坏任何资产并拥有其控制权、特权和功能。您可以通过实施纵深防御来保护资产,即使并不知道这些资产是否重要,严谨的安全防御仍然是必不可少的。
参读链接:
threatpost.com/defending-u…