NSM 技术概览

Table of Contents

NSM(Network Security Monitoring,网络安全监控),对网络流量和日志进行收集、分析和预警;NSM 涉及到了技术架构、工具及团队。

我个人一直以来从事安全分析工作,是很喜欢这套技术的,不仅可以全面学习知识,同时还能向攻击者学习,毕竟现实中的攻防对抗,攻始终要领先于防守的,而所有安全产品总有失败的时候;NSM 更多像是攻防之间的一个监控者,依靠对流量和日志的分析来发现失败,而不会对恶意流量拦截,这也说明了安全需要持续投入人力去做。

做分析的这支队伍称作为狩猎(Threat Hunting)团队,他们的主要职责:

狩猎团队应该由数名擅长不同领域的成员组成,如 Web 安全、渗透测试、漏洞分析、恶意软件分析、Linux、Windows 等,同时每个人具备数据分析能力。

NSM 的优点:

优点很理想,缺点也很显著:

1. 传感器部署

传感器负责收集数据,对于网络层的流量包收集,不同的规模大小有不同的方法,常见如下:

  • ARP欺骗:适合小型网络,或者家庭里做做实验,缺点是很影响网速;
  • Tap:可参考 Throwing Star LAN Tap(需要配两块网卡),或者企业级的 Tap。大流量的情况下通常使用 Tap;
  • 交换机端口镜像(SPAN):交换机端口流量镜像,一般网管型交换机都带有端口镜像功能,家庭用户可以考虑 TP-LINK TL-SG2005、TP-LINK TL-SG2008 两款交换机;端口镜像的缺点是如果过大的流量汇聚到一个端口可能导致数据丢失,流量镜像适合中型规模的环境;
  • 集线器:不用考虑,已经很难买到集线器了,性能很差。

除此之外还需要在主机安装 Agent 收集日志、用反向代理的方式收集 HTTP 流量等等。

2. Security Onion(SO)

一个基于 Ubuntu、专用于NSM传感器及网络协议分析的发行版,系统里主要组成部件:

  • 完整流量捕获:netsniff-ng;
  • NIDS:Snort、Suricata、Bro;
  • HIDS:OSSEC(新版本 SO 用 WAZUH 取代了),用于主机系统日志、文件检查、Rootkit 检测等。

HIDS/NIDS 不是用来做拦截的,同时 HIDS/NIDS 也不需要具备很高的攻击识别率,只需要知道哪些触发关键行为即可,具体攻击链需要人去分析。

另外还内置了一些分析工具用来分析 IDS 日志、Bro 数据、pcap 数据等:

  • Sguil,用于查看 Snort、Suricata、Bro、OSSEC 报警数据;
  • Squert,Sguil 的 Web 版;
  • Kibana,可视化工具;
  • Argus,会话数据分析工具。

SO 使用场景有两种:

  1. 将镜像流量重定向到 SO 主机,用来筛选恶意流量;
  2. 用 tcpreplay 回放 pcap 包,过滤出恶意流量。

3. 分析加密流量

随着加密的普及,不仅很多正常的通信都加密了,连恶意软件的流量也有很多加密的,在无法解密的情况下:

  • 依赖威胁情报来判定目的 IP 是否有威胁;
  • 分析中要警惕只有加密流量的 IP;
  • 对于 SSL 流量,可以观察 TLS 握手包里的证书信息,如证书颁发机构、使用的域名、证书颁发厂商等;比如 Let's Encrypt 这种免费的证书就要注意。