我们到底该如何应对复杂的安全形势呢?我们应该通过怎样的体系来保障我们的安全?为何花了那么大精力,系统还是会被攻破?为了安全买了那么多设备,它们到底有啥关系?
安全的本质是对抗,安全的核心问题是攻防不对等。
攻防不对等体现在几个方面:
防线不对等。防守方需要全面防御,不能留存短板,而攻击方只要找到一个突破点。安全是个木桶效应的问题
人力不对等。防守方的人力是有限的,面临的攻击方却来自于世界各地。有国家级的APT,有竞对,有黑产,有脚本小子
利益不对等。防守方几个安全人员拿着有限的工资,而黑产通过一个漏洞就能赚很多钱
纵深防御的基础是知己。我们对自己的了解比敌人对我们的了解更深。所以我们才有可能在各个点进行布防,让敌人一不注意就触发了我们的警报系统,并且很难突破层层防御获得核心资产。
作为安全建设者,要回答几个问题:
我们的核心和关键资产是啥?是具体哪个数据库,哪台服务器,哪个应用系统?
我们公司的攻击入口有哪些?敌人可以从哪些地方进来?
我们有哪些不同安全等级的员工?研发,销售,外包,财务,这些安全等级怎么划分?我们有哪些不同安全等级的区域?办公,测试,生产?
我们的IP有哪些?用了哪些系统?我们有用Exchange服务器么?有用Weblogic系统么?我们的jdk是哪个版本的?我们的Linux是哪个版本的?我们的DNS在哪儿申请的?......
对于前三个问题,其实相对比较简单。进行访谈和简单的测试就能知道。对于第四个问题,需要开发资产采集系统才能很准确的回答。
关于资产采集系统建设我之后会专门写一篇文章来说明。
在知己的基础上,我们怎么去构建我们的防御体系?
这个地方我觉得引用Gartner的自适应安全架构能很好的解释这个问题。
自适应安全架构整体分为四个象限:防御,检测,响应和预测。下面我将以邮件钓鱼攻击为例对每个象限进行展开,让大家理解,怎么在现实中设计这样的体系。
我们怎么对邮件钓鱼攻击进行防御呢?
开启发件人策略框架 (SPF) 来验证发件服务器
使用三方垃圾邮件防火墙和防病毒网关来阻断垃圾邮件
员工电脑安装杀毒,在垃圾邮件绕过防火墙后,员工点击恶意附件的时候进行查杀
对员工电脑进行加固,打补丁,防止员工电脑被控制后,病毒在内网传播
对办公网和生产网进行隔离,即使办公网被感染也无法影响生产网
对不同安全等级的员工进行网络隔离,低安全属性的员工网络无法感染高安全属性员工网络
对员工电脑敏感数据进行清理,员工电脑被控后,并不能获得敏感数据
禁止某些重要系统出网,加大黑客控制核心系统的难度
以上的防御流程本身也是一个纵深流程,
以上的防御措施如果被突破了,如果邮件防火墙都拦住钓鱼邮件,而员工电脑的杀毒软件又没起到效果,这个时候怎么办?
我们需要对黑客的攻击行为进行检测发现。
这方面有个很好的检测模型,叫ATT&CK。
ATT&CK其实说的就是黑客的攻击流程,对黑客的行为进行了抽象。我们可以根据这个流程,来设计我们的检测规则。
这里暂时不展开,后面我会专门写一篇介绍怎么通过ATT&CK来建设检测规则。
这里一定要提下,检测要从两个角度来,一个是基于主机的检测,一个是基于网络的检测。这也就要求我们至少要有两个系统,一个是主机上的行为采集系统,服务器上一般叫HIDS(主机入侵检测系统),或者员工电脑上一般叫EDR (Endpoint Detection Response System)。一个是网络流量的采集分析系统,例如某些公司的天眼系统。
业内流行的态势感知系统,做得好的是以上两个系统的综合关联。做的不好的就仅仅是指第二个。
响应一般分为两个流程:一个是止血,止血的目标是尽快中断黑客攻击控制行为,避免损失进一步扩大。一个是溯源,溯源的目标是查出来谁,用啥工具和手法,影响有多大。找到问题后,对相应的问题进行修复。
从止血手段上,一般也分为主机止血和网络止血。主机止血使用杀软或者EDR,网络止血使用防火墙等。
安全做的比较理想的状态是能够预测攻击。
目前承担这部分角色的是威胁情报。
这个我后面也单独写一篇进行介绍。
以上是安全体系架构的一个科普文。
这篇文章讲了我们怎么去建设这个体系,但这个体系具体落地到怎样的地步,靠的是专家经验的添砖加瓦。安全就是战争。真实环境中,最重要的是知己知彼。这样才能在黑客的每个步骤设置防御,甚至欺骗他。这也就是安全专家的作用。
永远记着,这个世界,没有银弹。