0xB2 事件应急——企业内网安全监控概览

消失了有三个月了吧,前两天在朋友圈说了这个系列不会终结的:),上次我们说了一台服务器怎么做安全,只要老老实实加固,勤打补丁,多观察这状态,然后及时响应安全事件,这个是不难的。但是现实情况是,一个企业里面肯定是不会有一台服务器的,所以企业内部建设一个完整的安全监控体系就很重要了,所以这篇文章我们来说一下安全监控的东西。


0x00 企业安全声明周期:

首先要先明确一点,网络安全监控是企业安全管理非常重要的一部分,所以说到这里就不得不说什么是企业安全的生命周期。企业安全生命周期的包括规划阶段、抵抗阶段和监测与响应阶段。画张图来表示一下吧:

  • 规划阶段:目标是使得阻止能够尽可能有效的抵抗入侵,或者应对被正在进行的入侵活动所利用的弱点,在这个阶段当中,IT部门和信息安全部门做好准备并评估形式,他们启动防御并且评估效果,预算、审计、合规性检查、培训、SDL等工作都发生在这个阶段内。
  • 抵抗阶段:IT部门和信息安全团队进行渗透和防护,这里会涉及到一些自动化的工作,比如说防火墙、杀毒软件、DLP、黑白名单和认证相关的工作,目的是为了防止攻击者入侵我们的系统。
  • 监测与响应阶段:这地方设计到三个安全监控的点——收集、分析、升级迭代,而解决问题则是响应阶段的一部分。

那么我们做网络安全监控的时候,监测和相应阶段就是我们要投入力量最大的地方。这个环节是分析人员进行收集、分析、升级迭代用来监测与入侵响应的基础,所以我们这里需要画个图来说明一下这个事情。

我们在信息收集阶段需要尽可能多的收集内网内各种机器的信息,可以借助NIDS、HIDS、SIEM等日志收集设备来把内网的信息收集,当我们检测到某台服务器或者是主机发起了不正常的请求之后,就进入了分析环节,我们可以借助IOCs的规则对威胁进行匹配或者是不使用IOC来进行信息的检索,当事件解决后,我们需要对IOC的数据和需求进行更新,最后把更新的数据返回至我们的监测系统中,完成了一次迭代。


0x01 收集、分析、升级和处理:

之前我们说了,网络安全监控需要解决的点是——收集、分析、升级以及响应阶段的处理,接下来分别说一下这些点。

  • 收集:手机我们需要的数据用来判断活动的性质,是正常的还是不正常的,是恶意的还是非恶意的。
  • 分析:对我们怀疑的事件的性质进行验证和复现的过程,用上面那张图来说的话,我们按照IOC(Indicator of Compromise入侵指示器)来划分一类是依据IOC,一类是不依据IOC。
  • 升级:通知委托人(这里所说的委托人对于甲方而言就是企业自身,对于乙方而言就是客户)关于被攻陷资产状态的行为。
  • 处理:委托人或者安全团队才去的用于减少企业损失和风险的行为。

我们一个一个来说:

(1)收集:

其实收集这个过程有两种手段,一种是技术手段,另一种是非技术手段。所谓技术手段,指的是包括从终端或主机、网络设备、日志来收集相关的数据;非技术手段包括从是委托人手动或口头提供的数据。

对于技术手段的而言,我们需要收集的数据至少包括以下的内容:创建应用程序数据的日志源、接受和存储数据的日志收集器、将日志从源移动到数据收集器的传输方法。

对于非技术手段的而言,其实我们应该注意委托人或者说是客户所提供的报告、报表等数据,这些数据往往会提供很有用的信息。

为了保证我们的收集的结果和数据更可靠,我们收集操作至少要包括三个部分:

  • 主机、网络和应用程序的数据,也称为基础数据
  • 报告、报表等非技术数据
  • 数据库、凭证系统等其他管理平台的信息数据

(2)分析:分析是识别和验证正常、可疑和恶意活动的过程,可以说IOC的出现加快了这一过程在整个监控过程中的速度,我们来重点说一下IOC,IOC这个东西可能经常听一些大厂说,但是很多人并不理解IOC的真实意图,首先IOC是可见的或者说是可识别对手活动的数据,通俗点说就是攻击者的活动迹象。IOC的出现就是为了解决整理攻击者活动迹象并且能在现在的自动化系统中发现潜在恶意行为的问题。

上面也说了,以IOC作为标准去划分分析的方法有两种,依赖IOC进行分析和匹配和不依靠IOC进行分析和搜索两种方法。第一种依赖IOC分析也就是所谓的匹配,只要是我看到了你的一些信息出现在了恶意行为的IOC当中,我可以认定你这个行为是恶意行为,如果没有,就说明不是。但是这么干确实能够找到一些恶意行为,但是没有IOC的话,你懂得。第二种不依靠IOC的分析方法我们称之为搜索攻击者,我们接下来就说下两个关键的技术点——入侵和事件与事件分类。

<1>入侵与事件:入侵也就是不通过合法渠道操作计算机的行为,入侵只是事件的一个例子,除了入侵事件,还有其他的信息安全事件比如拒绝服务等。其实在这里我们应当建立一套完整的安全事件分级标准,其实我个人觉得这个地方可以参考纵深防御体系的建设来进行分级,这样便于进行事件的定性。

<2>事件分类:按照事件的类型和严重程度,我们也可以将事件来进行分类,方便撰写报告,比如说把事件按照突破防御的层数分为log、Low、Medium、High、Critical五个层次,不同的层次对应不同的应急响应预案。

<3>信息交换考虑因素:如果我们被APT打了,我们必须要做好最坏的打算,假设现在攻击者已经贡献了我们的邮件系统,并且可以随意查看我们的邮件,那么这个时候,攻击者必然会去读取安全团队和IT团队的邮件来找到系统薄弱点,从而进行进一步的渗透,在监测到一个严重的事件以前。我们应该对我们的通信系统进行一个测试用来抵御这些威胁。

(3)处理:

当处理一个信息安全事件的时候,我们首先要考虑的是如何降低风险,这个时候我们就应该考虑建立一个降低风险的准则,当任何资产被攻陷的时候,委托人必须依据事件的性质采取至少一种措施来减少数据的损失、更改或者是失效的风险,但是不能坐以待毙。

安全团队这时候应该建立一个层次化的响应策略来限制攻击者与其他的计算机进行交互,并且要考虑一些可能性。

  • 计算机休眠模式
  • 端口关闭
  • 内核和系统被修改限制网络访问
  • ACL
  • 防火墙和代理
  • 路由表

如果我们有可能的话,后面我们可以把这些异常的流量引入蜜罐来研究攻击者的行为和目的,但是不管采取那些行动,都要保证数据的完整性。
如果我们遭受了APT攻击的话,解决这些问题需要有专有的可靠地信道来进行信息的交换,保证我们进行应急响应的信息不被泄露。

0x02 CIRT:

CIRT是由CERT演变过来的,这个词啥意思请自行百度,接下来讨论的是,如何去建立一个成熟有效的CIRT小组。

CIRT需要跟踪和度量的关键标准包括:事件分类和总数、从发现事件到牵制事件所消耗的时间。

CIRT的架构如图所示:

(1)事件响应主管:领导,名副其实的领导,领导必须得从上面三个部分选择出一个负责人来向其汇报工作,并且要因为CIRT的存在去和其他部门撕逼。

(2)事件监测与响应:这个团队负责日常的分析和安全事件数据的更新和维护,由事件处理人员(只干非IOC而且干的很熟练的那种)、Incident事件分析人员(非IOC和IOC都会点)和Event事件分析人员(只干和IOC有关的那部分)组成,这个地方一般是24小时运行的,而且人都是随时待命。

(3)威胁与情报体系:这个地方的工作包括威胁情报收集和使用、红蓝军模拟演习、渗透测试等等,日常工作也就是没事干打自己玩,然后不断动态提升安全水平。

(4)基础设施开发:开发一些内部的系统用来维护这些监控的正常高效运转。

(5)事件响应小组接口人:没什么,和稀泥的。

编辑于 2017-09-30

文章被以下专栏收录