安全数据驱动的网络安全

在常规的网络安全工作中,我们很容易发现,堆积安全设备解决不了实际安全问题。

本篇文章简要概述一下应该如何通过对安全数据的处理来驱动安全问题的处置,跳出“发生安全事件、找厂商、厂商推荐安全设备、出现新的安全问题的”恶性循环。

安全数据处理

安全数据收集

网络攻击者的攻击,都会在整个攻击路径上留下痕迹,我们收集的安全数据,指的就是所有用来追踪攻击者的相关数据信息,一般来说,我们能够快速收集的安全数据有以下四类

  • 应用生产的安全日志
    • 应用环境的服务器安全日志,如果使用云原生,当然也不要放过基础容器平台、负载均衡等日志
    • 业务框架的执行调用过程日志
    • 中间件访问操作日志
    • 数据库的访问操作日志
  • 安全设备生产的安全日志
    • IT环境的资产、运行状态、漏洞、安全配置、流量等安全相关的数据
    • 安全设备包含并不限于终端安全、主机安全HIDS&edr、IPS、WAF、NDR等
    • 进一步的漏洞识别&&管理、蜜罐的日志等
  • 镜像流量数据的解析日志
    • 东西向、南北向的解析
    • SSL相关流量的加密卸载后解析
    • 云内基于BPF、eBPF的监听流量解析
  • 情报平台的标准化情报
    • 外部情报和本地化情报
    • 开源情报:利用安全厂商博客、安全研究机构报告、威胁论坛等公开资源,获取常见威胁信息。
    • 商业情报:购买专业威胁情报厂商的服务,获取高质量、经过验证的情报。

一般来说,安全数据的来源较多的情况下,我们收到的可能是Syslog、SNMP、XML、json等多种协议和多种格式,所以我们往往要先将所有的安全数据统一处理为我们需要的格式和增删参数。

安全数据的标准化

安全数据的标准化指的是通过建立自己需要的解析规则,可以实现日志的解析、过滤、去重及聚合、标注,将收集的日志通过转发功能共享给需要做关联分析的相关安全基础,标准化的好处是便于安全工程的实现。

  • 标准化的核心是通过对相关日志参数的统一,来实现对未知威胁进行关联分析、发现、追踪与取证。
  • 全量原始流量包一般用来做攻击载荷的提取的重放
  • 全流量解析数据一般是做完基础安全规则检测的相关数据
  • 去重和确定不同日志级别的拉取频率是关键,避免数百T的数据需要进行数据解析或需要数百亿条日志需要格式化,这会带来无上限的数据计算成本,应保证最小、必要
  • 数据的高效还原和提取,不随意丢弃网元数据,要提升安全数据的丰富程度。
  • 脱敏,格式化后的安全数据应该去除或替换元数据中的敏感信息。
  • 统一时间,日志记录时间错误会带来误差

安全数据的特征定义

  • 流量特征:如网络流量的大小、频率、流向、协议类型等。例如,高频访问可能是漏洞扫描、爬虫、目录遍历等问题,需要标注IP为扫描工具;异常的流量升高可能表示存在数据泄露下载或DDoS攻击,需要标注需要实时阻断;非常规的协议或数据包通信异常可能是恶意软件在进行通信,需要快速标记IP低信誉值。
  • 行为特征:包括用户的操作行为、系统进程的运行行为等。比如,非工作时间的账号大量登录、异常大规模数据下载,可能是爆破登录或者数据泄露,需要锁定账号或阻断下载IP;系统中异常启动的进程或者计划任务启动的相关进程可能是恶意程序,需要提取hash和MD5关联沙箱。
  • 内容特征:对网络传输内容、日志内容等进行分析。例如,检测邮件中的恶意链接、附件,日志中的异常登录信息等。
  • 威胁特征:结合请求域返回值,提取与已知威胁相关的特征,如恶意IP地址、恶意域名、恶意payload、病毒特征码、系统代码web执行等。

安全数据预处理

一般来说,同安全厂商之间的安全设施日志是基本一致的,如果需要自行规范化处理,一般可以用以下方法:

  • 规则匹配:基于预定义的规则来提取特征。例如,设置规则匹配特定的IP地址、端口号、协议类型等,当数据符合规则时,提取相应的特征,可以从已有安全数据的格式中扩展自己需要的参数合集。
  • 机器学习:如分类算法(决策树、支持向量机等)、聚类算法(K – 均值聚类等)、异常检测算法(孤立森林、One – Class SVM等),通过对大量的安全数据进行训练,让模型学习正常和异常的模式,从而提取特征并进行分类或检测,一般能生成一个高度异常检出、但是可能全都是误报的模型。
  • 白名单建模-提取正常行为–过滤异常-无监督学习-建立历史行为基线,可以得到一个遇到冷门业务行为即大量误报的白名单模型。
  • 黑名单建模-通过原始数据分析或异常数据分析&&识别威胁-使用有监督学习进行分类和打标签,可以得到一个对常规攻击有效识别,但是未检出过的攻击一律放通的黑名单模型。
  • 深度学习:如卷积神经网络(CNN)、循环神经网络(RNN)及其变体(LSTM、GRU等),可以通过对原始数据的向量化来对比分析,处理复杂的序列数据和图像数据,在网络安全领域可用于分析网络流量、日志等数据,提取深层次的特征。
  • 关联分析:将不同来源的数据进行关联,提取有价值的特征。例如,将用户的登录日志、操作日志和网络流量日志进行关联,发现异常的行为模式。

安全数据的观察时间窗口

数据观察窗口的的长短,直观的代表着安全数据的多寡和安全日志关联,也决定了安全基建的需求和算力的需求,发现和解决不同的安全问题。

短期窗口:

  • 实时监测与响应:实时的监控网络流量,及时检测异常行为。例如,通过分析短时间内的流量变化,如流量突然激增或骤减、攻击来源IP的增幅、目录访问的频次。
  • 异常检测:在短时间窗口内,对数据进行异常检测,识别出与正常模式偏离较大的行为。

长期窗口:

  • 基于长期的历史数据建立动态基线,如工作日与节假日的差异,通过对比实时流量与基线偏差,快速发现异常情况。
  • 行为模式分析:对用户或系统的长期行为模式进行分析,识别出正常和异常的行为模式。例如,分析用户的登录时间、操作习惯等,发现异常的登录行为或操作模式。
  • 威胁预测:利用时间序列分析模型(如LSTM),对长期的安全数据进行分析,也能通过解析较长的安全数据关联发现潜藏的APT长期潜伏

处置动作

安全响应的时间越短越好,根因分析和追责需要滞后处理。

自动处置:

  • 规则驱动的自动化:根据预设的规则,当分析结果符合特定条件时,自动触发相应的处置措施。例如,当检测到某个IP地址存在大量异常访问时,自动将其加入防火墙的黑名单。

  • 基于剧本的自动化:编写详细的处置剧本,涵盖各种可能的安全事件场景。当发生安全事件时,系统按照剧本自动执行相应的步骤,如隔离受感染的主机、阻断恶意流量等。

  • 安全设备联动:将分析结果与防火墙、入侵检测/防御系统(IDS/IPS)、安全信息和事件管理系统(SIEM)等安全设备进行联动,当发现安全威胁时,自动通知这些设备采取相应的措施,如调整防火墙规则、触发IDS/IPS的告警等。

人工介入:

  • 专家介入:对于复杂或严重的安全事件,由安全工程师进行深入分析和决策,安全工程师根据分析结果,结合自身的经验和专业知识,制定针对性的处置方案。

  • 团队协作:组建应急响应团队,包括安全专家、运维人员,当发生重大安全事件时,团队成员协同工作,按照应急预案进行处置,确保事件得到及时、有效的解决。

持续监测与改进:

  • 效果评估:对处置措施的效果进行评估,检查是否成功解决了安全问题,是否对业务造成了影响。通过评估结果,总结经验教训,为后续的处置提供参考。
  • 策略优化:根据评估结果和新出现的安全威胁,不断优化处置策略和剧本。确保处置流能够适应不断变化的安全环境,提高应对安全事件的能力。

成本

从安全数据的汇聚来说

  • 数据越接近物理层,得出分析结果的计算成本越高

  • 数据越接近业务层,得出分析结果的攻防对抗成本越高

  • 数据解析的工程化越低,人工成本越高