流量威胁分析系统与Tenable生产实践

标签: 流量 分析 系统 | 发表时间:2019-03-09 08:00 | 作者:
出处:https://candylab.net/

0×01 概要

信息安全体系构建中流量监听是一种常见的防护手段,从流量抓取到日志落地,从日志分析到威胁报警,相应产品基于流量分析模式,从最上层的处理逻辑来看是相近的,使用Suricata还是Snort处理流程类似接近,最粗放的方式去理解他们,这些系统都属于“大型字符串处理过滤系统”。

实际生产中可能会使多家厂商的产品配型开源产品使用,或自主开发,无论采用那种方案,我们都可抽象出一种共通的顶层流量数据处理模式,典型的流量过滤与日志分析处理流程。我们有基于Tenable产品的实践经验, 这种经验展开也可以横向扩展到其它的同类产品上、开源产品上、自主研发产品上。如果说闭源商业软件系统和开源社区软件系统的区别,除了产品本身,产品的生态和后期支持也是不同,我们在开源软件使用中得到了同行和社区的很多帮助。我们在Tenable使用实践过程中,得到专家级的指导, 这些对我们理解产品并应用于实践中起到了莫大的帮助,为什么要选择Tenable举例呢?因为此系统设计理念独到,功能经典,因些我们选择用这个系统进行举例说明,介绍流量分析系统中存在的共性内容。

0×02 基本处理模式

从我们的角度出发,流量分析型安全威胁系统有5个基本任务要完成:

1.流量获取:如何抓取网络流量内容是首要基础功能,只有抓取流量数据,得到traffic交通流量,才能去通过应用过滤规则取得威胁事件数据。(上图值得注意的是我们使用了流量分发设备。)

2. 流量过滤:在流量获取阶段,对数据进行过滤成本开销比较大,通过对滤过滤条的件设定,规则解析,规则下发执行,可在在流量读取阶段对数据进行过滤,异常检测。问题是过滤规则越多系统效率越低,甚至产生时间瓶颈或是系统延迟。

3. 数据落地:流量获取阶段,分析数据耗时耗性能,如果我们将数据缓存下来,将日志数据落地,准实时的分析数据,一方面可以减轻系统负担, 另外数据落地后可以应用数据分析模型和关联聚合数据,做基于算法的更精准的异常捕获分析,所以要把数据保存一定周期时间,在数据的生命周期内保持数据不挥发。

4.数据分析:单纯保存数据不是目的,还要在日志数据中挖掘出威胁事件的特征数据,如果流量监听算先知性预警处理,将风险提前预告防患于未然之中。如果过滤是针对网络流量实时规则配对的,数据分析就是对流量日志落地后再次深入的信息挖掘。

5. 威胁报警:流量数据作为系统的输入并不直接产生收益,当系统产生有效的威胁报警,就能体现出系统威胁感知价值,将威胁情况第一时间通知责任相关人,防患于未然。如果主机威胁定位于威胁动作执行阶段算“后知后觉”,那在流量监听规则过滤阶段报警,或是在准数据分析阶段报警,能不能算是“先知先觉”是个问题。

0×03 “流”经典设计处理模式

我们用“流”的工作模式来解释介绍流量威胁情报系统的工作过程,用Stream A和Stream B两个“流”概括系统处理的五个组成部分:

关于流量威胁系统的核心指标:漏报率和误报率。

漏报率:在Stream A阶段进行对流量的过滤 ,可以是与历史累计聚合数据无关碰撞的,如果不考虑黑白名单机制,不进行瞬时关联统计,过滤是基于异常规则碰撞的,而规则是否完备,决定了威胁的漏报率高低,如果不是自学习, 系统的异常规则都是人为来定义的。

误报率:在Stream B阶段,基于Traffic流量规则过滤的威胁预判结论,在一定有限的数据集合范围的,与规则定义的多少成正比。假定规则完备理想状态下没有漏报,但会存在误报,降低误报有以下几种常见手段:

1:多个威胁系统报警横向比较确认。

2:基于聚合数学统计模型进行辅助判断。

3:特征标签打分,积分累计判断,高于多少分才报。

4:对威胁payload进行第三方库再确认。

一定还会有其它大类别的方法来解决,对已有报警进行误报确认的更好方法,规则策略是一个动态变化的过程。

有些朋友的系统突然被入侵后,我们可以在一个环境下部署多个安全系统,A系统和B系统都有基本的威胁异常分析规则,但有些规则是对外不可见的,有的支持自定义插件,有的不支持自定义规则。系统间的规则有重合或不重合,我们横向比较系统的报警结果,系统间重合的报警应该是被重示的。数据情况往往是多样性,关联性的。蜜罐、防火墙、流量分析,同时作用于一个网络环境,对他们来说, 输入的数据是一样。他们会从不同的角度发现威胁,如果报警高度重合,就越可能是高威胁。

0×04 流量监听与蜜罐监听的异同

蜜罐可以对网络异常行为流量进行一种守株待兔式的监听,蜜罐部署利用交换机的端口聚合trunk模式,把不同的VLAN网段中的一个IP聚合到一台机器的入口端口中。

设定多IP和标记,接收不同VLAN中的流量访问,ARP级与负载均衡DR模式类似的技术。而监听流量是要把一定总合的流量推送到不同的监控机,关系形式多对一,多对多。 每台监控机上,使用相同的过滤规则,规则与异常行为一对一对应,一个规则对应一个威胁事件ID。在Tenable系统中分为SC、NC,名字是代号,任务内容都是监听与存储分析。

0×05 实践与课题解决

如上所说,威胁分析系统本质是一个“大型字符串处理系统“。从流量变字符串文件,威胁匹配就是字符串按”规则条件“的查找特征子串的过程。Tenable是一款优秀的产品,特色于具备独特设计理念和专家支持。Tenable规则系统是面象用户友好的,用户可以自定义插件,增加检测规则,扩展系统的功能。同时其它系统一样,也要面临多机部署配置分发的场景,针对这点提出解决方案是,基于Ansible进行自动化分配下发。如果你使用Suricata面临面样境遇的话,也可以考虑这种方案尝试。

对于流量监听,辅助分析工具必不可少,在调试设备,监听实际流量,可以是使用像Wireshark、TcpDump、WinDump这些工具。Wireshark是经典工具。可以方便的在网上找到类似于《Wireshark网络分析从入门到实践》这种命名规则的书, 找一本好的出版社出的书,对流量日常分析工作有事半功倍的效用。

关于日志数据落地之前已经介绍很多,紧的值得关注的是Graylog正式发行了第三版:Graylog3。很多威胁分析系统都使用了ES作数据持久化,Graylog应用ES存储安全数据相对比较方便,作为一个基于ES的管理信息系统有自身的特色。

对于最近可能被入侵生产系统影响的朋友,提供一个开源安全系统列表,可以用些对自己的系统进行先期加固:Graylog、Snort、Suricata、Wazuh、Moloch、Ansible、OpenVAS等,希望可解燃眉之急。

0×06总结

同网络环境下,如何部署多种威胁检测系统,抽象出核心处理模型, 归纳系统关键处理任务,是因近期非安全领域朋友遭遇网络入侵事件。突如其来的状况如何快速选型安全系统部署加固生产环境,快速保护安全资产势在必行,本文灵感也源于Tenable生产实践,个人观点,仅供参考!

相关 [流量 分析 系统] 推荐:

流量威胁分析系统与Tenable生产实践

- - Candylab
信息安全体系构建中流量监听是一种常见的防护手段,从流量抓取到日志落地,从日志分析到威胁报警,相应产品基于流量分析模式,从最上层的处理逻辑来看是相近的,使用Suricata还是Snort处理流程类似接近,最粗放的方式去理解他们,这些系统都属于“大型字符串处理过滤系统”. 实际生产中可能会使多家厂商的产品配型开源产品使用,或自主开发,无论采用那种方案,我们都可抽象出一种共通的顶层流量数据处理模式,典型的流量过滤与日志分析处理流程.

Android 系统架构分析

- - CSDN博客移动开发推荐文章
Android:开源的 Linux + Google 的封闭软件 + 私有的基带 + 运营商锁定 = 开放的 Android 手机. iPhone:开源的 BSD + 苹果的闭源软件 + 私有的基带 + 运营商锁定 = 封闭的苹果 iPhone. 一个平庸的应用商店,开发者依靠广告赚钱,商店并非独此一家,用户找不到好软件.

twitter系统架构分析

- - 企业架构 - ITeye博客
twitter系统架构分析. (一)twitter的核心业务. twitter的核心业务,在于following和be followed:. (1)following-关注. 进入个人主页,会看到你follow的人发表的留言(不超过140个字),这是following的过程;. (2)followed-被关注.

机房流量问题总结分析

- - 企业架构 - ITeye博客
凌晨 3:00 点某公司(网站业务)的一个 IDC 机房带宽流量突然从平时高峰期 150M 猛增至 1000M ,如下图:. 该故障的影响:直接导致数百台服务器无法连接,该机房全部业务中断. 某年某月某日夜老男 1 孩接到学生紧急求助,公司网站( web 游戏业务)平时几十 M 带宽,结果突然跑满 100M ,持续 100M 已经很久.

流量分析的瑞士军刀:Zeek

- - FreeBuf互联网安全新媒体平台
Zeek (Bro) 是一款大名鼎鼎的开源网络安全分析工具. 通过 Zeek 可以监测网络流量中的可疑活动,通过 Zeek 的脚本可以实现灵活的分析功能,可是实现多种协议的开相机用的分析. 本文主要是将 Zeek 结合被动扫描器的一些实践的介绍,以及 Zeek 部署的踩过的一些坑. Zeek 的安装还是比较简单的,笔者主要是在 Mac 上以及 Linux 上安装.

IBM推出停车分析系统

- wang - Solidot
IBM推出了停车分析系统,帮助城市消除停车拥堵现象同时征收到更多的停车费,它也能帮助摩托车手更容易的在拥挤的闹市区找到停车空间. 智能泊车(Smarter Parking)系统结合IBM的数据分析能力和Streetline在停车感测器与软件上的创新技术. 安置在停车场的Streetline省电感测器,监测是否有车子在场,然后把信息即时传到城市网络与Android或iOS应用程序.

Linux 和 Android 系统性能分析

- - CSDN博客综合推荐文章
作为一名Linux 或 Android 平台的系统工程师,在开发系统新功能外,主要工作就是优化系统性能,使系统上以最优的状态运行,但是由于硬件问题、软件问题、网络环境等的复杂性和多变性,导致对系统的优化变得异常复杂,如何定位性能问题出在哪个方面,是性能优化的一大难题, 从系统入手,阐述由于系统软、硬件配置不当可能造成的性能问题,并且探讨检测系统故障和优化性能的一般方法和流程.

Linux系统调用过程分析

- - CSDN博客架构设计推荐文章
《Linux内核设计与实现》. linux的系统调用过程:. 用户程序------>C库(即API):INT 0x80 ----->system_call------->系统调用服务例程-------->内核程序. 先说明一下,我们常说的用户API其实就是系统提供的C库. 系统调用是通过软中断指令 INT 0x80 实现的,而这条INT 0x80指令就被封装在C库的函数中.

数据分析平台系统架构

- - 企业架构 - ITeye博客
      大数据技术是近几年发展比较繁荣的技术方向,出了很多优秀的开源项目,也有越来越多的公司投入大量人力在其中. 认识到数据的重要性,数据分析平台系统也成为数据平台重点建设的项目,数据分析被广泛应用到电商、金融、教育、医疗领域. 开源的OLAP数据分析引擎:. 1.2 wedata系统架构图. 已有 0 人发表留言,猛击->> 这里<<-参与讨论.

大流量、高并发的网站的底层系统架构

- - 企业架构 - ITeye博客
大流量、高并发的网站的底层系统架构. [转载自] http://www.webjx.com/webmanage/experience-25319.html. 动态应用,是相对于网站静态内容而言, 是指以c/c++、php、Java、perl、.net等 服务器端语言开发的网络应用软件,比如论坛、网络相册、交友、BLOG等常见应用.