体系化的安全建设 - 攻防对抗与安全运营

信息安全这一行有很多很多分支,但据我观察,就企业安全基础建设这一方向,工程化和体系化的安全架构设计能力是从业者普遍的软肋,大多数人似乎没有一个很好的建设思路。 我之前的工作都是甲方视角,在我看来,乙方提供的咨询和驻场似乎没有办法解决甲方更细粒度的安全诉求,或者说乙方安全公司对企业安全管理的经验缺失太

信息安全这一行有很多很多分支,但据我观察,就企业安全基础建设这一方向,工程化和体系化的安全架构设计能力是从业者普遍的软肋,大多数人似乎没有一个很好的建设思路。

我之前的工作都是甲方视角,在我看来,乙方提供的咨询和驻场似乎没有办法解决甲方更细粒度的安全诉求,或者说乙方安全公司对企业安全管理的经验缺失太多。乙方还有一个问题,就是喜欢夸大或者炒作太多过于超前、浮在表面没有落地方案的新概念,这些声音对企业安全实操来讲怎么说呢,意义都不太大。当然我能理解乙方的心态咯,解决方案不夸张那就没人来买....

本文权当抛砖引玉,从攻防对抗的视角来讲一讲我在体系化建设中的心得。

攻防对抗层面

这里的攻防对抗不是指入侵获取rootkit or 挂马之类的,实际上做企业安全建设时,我们必须站在更高的角度看整个企业面临的安全问题才行。通常情况下,信息、技术、运营三个层级都有来相当程度的攻防对抗,因此我们需要每一层都建设好防御。

信息层面的攻防对抗

信息层面的攻防对抗是基础,我们先从攻击者的角度分析,他们收集信息时会先摸清我们有哪些攻击面暴露在外,哪些路径不可达,哪些端口不该暴露,哪些端口跑着高危服务之类的。假设我们在这一层做好防御,那他们就只能在对信任域暴露的端口上想办法。

因此,我们在信息层面上做对抗时,就要按照攻击者的思路梳理清楚有哪些业务存在可能被入侵的路径,哪些业务的攻击面暴露出去了。这里要注意,做这件事的时候不仅要梳理业务,还有网络拓扑和一些基线数据。例如,一个服务器平时的CPU使用率、内存使用率、网络流量等都可以定义为基线。而当这些指标突然高于或低于正常水平时,就需要关注一下是否有未授权的活动或攻击正在发生。

技术层面的攻防对抗

技术层面的对抗就很麻烦了,在安全领域,攻防对抗中防守方一定是劣势的,这主要因为防守方需要保护所有潜在的攻击面,而攻击者只需要找到一个缺口就可以实施攻击。

这虽然看起来有点悲观,但如果能基于上面信息层面的对抗,我们定义好业务边界,梳理清楚潜在的攻击面之后,防守任务就很清晰。然后我们要做的就是,针对每一个防守的任务建设好纵深防御,这就能很大程度的拖慢攻击者进度或者及时发现攻击者并响应。

这里如何做纵深防御呢?例如部署HIDS,同时还要监控HIDS的运行状态;在Web服务器上集成RASP,由于RASP是基于应用层的,它不需要额外的检测设备之类,也可以自适应应用程序的变化,算是能提供针对性保护的一种防御手段;微隔离、WAF、NGFW之类的也算是一些手段。

运营层面的攻防对抗

做完了信息对抗和技术对抗,打好了基础,我们就来到了运营层面的对抗。

说实在的,已经到了2024年,大家对安全运营这一块的重视程度还是不够高。虽然大家一窝蜂的在建设 SOC ,但依旧有大量公司觉得,我花了这么多钱,买了这么多软件硬件,安全能力一定有很高提升了吧!

实际上,买了一堆软硬件设备,配置、密码、规则和反制措施等都没人管,这情况下企业的安全能力,甚至还比不上自己没做安全建设的时候...

安全运营到底是做什么的?

有人觉得什么都做,一会看日志,一会看面板的,看起来没啥技术含量,感觉就是一群代码也写不好,产品也做不好,技术水平也不高的人。

NO!

通过已有的安全系统、工具来生产有价值的安全信息,把它用于解决安全风险,从而实现安全的最终目标。

我认为这个定义是比较准确的。

安全运营做的事确实是很杂,他们主要是对安全问题进行分析和诊断,确定问题到底在哪里之后,再去协调资源解决它,实现整个公司的安全目标。

工作内容举例

举个例子,一个安全运营工程师在 HIDS 中发现了一系列可疑日志时,他会做什么?

  • 步骤 1: 确认日志的真实性并初步分析

  • 步骤 2: 上下文收集,包括环境上下文和系统信息收集

  • 步骤 3: 威胁评估和影响程度评估

  • 步骤 4: 及时响应并缓解(需要应急响应团队合作)

  • 步骤 5: (可能)深入调查,例如进一步取证和入侵根因分析

  • 步骤 6: (可选)清理受影响的系统,确保所有恶意软件和后门都已被清除,然后恢复业务运行

  • 步骤 7: 内部和外部报告

以上是对一个安全运营工程师的工作拆解,这个小例子可以看出,安全运营工程师在面对潜在的安全事件时,如何参与发现、响应到恢复的全过程。但这里的步骤 6 实际上一般是安全运维来做的,有些小公司运营和运维不分开,我就把第 6 步也加进来了。

安全运营(中心)与应急响应团队

这里并不是本文的重点,顺带说一嘴,SOC 的重点在于持续监控、事件检测、初步的响应和安全防护基础运营;应急响应的团队工作重心是更高维的事件响应,例如由 SOC 团队提交的工单、数据泄露、大规模入侵等。

在日常操作中,SOC 会监控和处理多数安全警告和事件,当遇到复杂或需要深入调查的事件时,会转交应急响应团队(CERT)。

SOC 和 CERT 之间会有紧密的信息共享。例如,SOC 可以提供有关初始攻击指标和系统日志的信息,而 CERT 则利用这些信息进行深入分析。CERT 在处理完事件后,通常会与 SOC 共同工作,根据发现的问题和教训,更新防御策略和响应计划。

小总结

总的来说,虽然 SOC 和 CERT 在某些职责上有重叠,但他们在安全运营和事件响应过程中各司其职,相互配合,举个不恰当的例子,安全运营就像 Python (ʕ•͡ᴥ ʔ)

Comment