企业网关注的安全需求主要有DDoS攻击导致的服务瘫痪和APT攻击导致的敏感数据泄露。DDoS攻击,关注的企业类型有各类服务提供商,游戏、电商、DNS等,攻击一段时间造成的损失很大。除此之外,新一代威胁防护厂商把目光分分纷纷投向了APT的难题。
Zero-day attack、target attack是APT的特点,这也决定了以往基于Signature DB模式的IPS模式显得力不从心。,而大数据分析为发现APT的蛛丝马迹提供了可能性。
大数据分析的基础框架
大数据分析是一个新的概念,但基于数据分析来做安全,却是长久采用的策略。实际上号称开创性地提供IT search价值的splunk就是以大数据搜索起家的。IBM QRadar、HP Arcsight等SIEM类产品,结合大数据分析的手段,快速、准确发现威胁所在,提升了传统数据分析产品的价值。
典型的大数据分析平台的框架可以分成下面几个组成部分。
1. 数据采集
大数据平台除了数据量大、异构(结构、半结构、非结构)的特点外,其数据采集的种类,超越了以往SIEM类产品关注的访问日志、资源、vulnerability数据的范畴,扩展到了netflow流量记录和整报文的抓取,甚至包括系统上process活动记录、windows register file access记录、VM与VM之间的流量报文。网络设备的监控数据最近也被重视起来了。借道SSL encryption、Convert channel的数据也需要识别和获取出来。
2. 数据仓库
数据仓库能够将异构的数据高效、可靠的存储起来。软件系统较多考虑采用开源解决方案。
3. 分布式任务运行架构
分布式任务运行环境,分批分析处理数据,一般采用较为成熟的Hadoop方案。
4. 关联分析引擎
关联分析引擎,也称智能分析引擎,是安全威胁发现取得最终效果的核心保障。为分析人员提供查找和判断的线索和诊断的方向。做的不好,大数据就是死数据,要从大数据中找出威胁的蛛丝马迹,需要关联分析引擎把各种可能的组合情况呈现出来。
分析引擎有插件式的,有根据异常行为不同而划分的引擎,也有按检测方法的不同做成不同的引擎嵌入到分析模块里的。
5. 可视化与搜索
可视化和搜索是在关联分析引擎的基础上提供便利的排查和监控的手段,强调操作的直观和易用性、快速和查询条件灵活组合的搜索能力。
文本内容的全文搜索能力是基础配置。
6. 数据规范化整合
数据的来源多样,格式不一致,需要一致化地整合。同时需要对大数据量的各种类型数据建立索引以供快速检索。异构、大数据的索引是快速数据获取要解决的关键问题。
7. 规则库
分析的方法大致有三类,一类是利用Signature DB、Rule DB来定位监控对象的恶意的行为,SIEM类产品在RULE DB方面积累了比较多的经验;一类是先学习或定义监控对象的正常pattern、baseline的行为模型,检测到的行为不符合正常行为模型的,就认为是可疑的行为;还有一类是机器学习的方式。Red lambda和Narus两个公司利用机器学习的算法来辅助发现异常的行为,采用如clustering、classification、supervision等智能算法。
当前Rule DB方式的威胁发现手段比较直接和有效,市场上占统治地位的日志事件分析类产品主要还是采用规则库判断的模式。
8. 事件响应与取证
威胁发现后的行为一般有邮件、短信告警和取证。能否取证是大数据分析比较重要的一环,因为数据分析结果的误报带来的不确定性需要从取证环节来确定。Solera Networks等Network forensic类公司致力于抓取全网的报文并在应用和内容层面上将报文还原。
业界IBM、HP、RSA等老牌SIEM大厂商推出的大数据分析平台比较成熟。Click Security等初创的数据安全分析的公司有一些独到的看法和做法。
数据
数据的产生源可以是下面几个。
1. 网络流量、主机流量
进出这些主机的流量是否异常?流量协议的分布是否可疑?数据是否经过了加密?目的地是否可疑?
2. 应用层数据,如Web会话
Web服务日志是否发现可疑的行为?
3. 服务器、网络设备
服务器是否被控制了,是否存在漏洞,最近的配置是否被修改了,其配置和系统、组件是否符合安全管理规则?
4. 信息数据资产
该系统存储、传输、处理何种数据,这些数据是否具有值得监控的价值?
5. 访问者的身份
哪些用户登录进系统了?他们的权限是否经过了提升?从哪个途径进入了系统?该用户还访问了哪些资源?
数据按层次分日志记录数据、上下文数据和内容数据三种。
1. 日志记录数据
日志数据显示过去发生、成功、失败、尝试的行为活动,常见有下面几类:
1) policy,access list日志:防火墙、路由器、交换机日志包含被阻断或允许通过的连接记录。
2) Netflow记录:包含主机到主机间流量报文的信息,如五元组、会话开始时间、持续长度、协议、应用类型、报文长度等。
3) NIDS/NIPS 告警:包含发现和阻止的安全威胁记录,也包含可疑的行为记录。
4) 操作系统日志:一般指windows系统的event log和Unix、Linux的syslog,包含操作记录、资源访问记录,也有错误和失败的记录。
5) 邮件服务器日志:包含发送和接收的邮件,发送者和接受者的地址,错误,邮件大小等参数。
6) 代理日志:记录通过该代理服务器的连接,包含源地址和目的地。
7) 漏洞评估结果:针对主机系统和应用软件的漏洞扫描结果,提供详细的资源发现列表。
8) 数据库记录:记录访问数据库的query语句、数据库的操作、操作用户、时间等。
9) 应用日志:需要记录的内容很灵活,没有固定的标准,目的是要把用户的访问行为留下来。
10) 身份访问管理系统日志:用户登录记录,权限、策略的记录,为数据分析提供上下文数据。
11) 配置管理系统日志:记录配置的修改,谁修改了,修改时间。
2. 上下文数据(Context data)
事件日志在上下文数据的补充解释下更有价值。上下文数据与日志来源不一样,通常来源于周围的IT环境,来自位于组织内部或外部的信息系统。
常见的上下文数据来源和种类:
1) Windows 域名服务, DNS and NIS 服务:实现地址与域名的映射。
2) 数据资源组:预定义的资源标示,可用IP来标示定义。
3) Whois服务器:可从Whois服务器查询拥有IP地址的组织和组织的驻地。
4) Geo-location:获取外部IP的物理地址,可用精确到国家、省份、城市、甚至学校、街道、小区、房间。
5) Active directory and LDAP 服务器:实现user id与user name的映射,包含user所处的组织结构、资源访问权限。
6) 资源管理系统:收集系统信息,包括拥有者、访问者的设置、所处位置、IP标示、合规性等信息。
7) 应用类别:区别流量报文所属何种应用。
3. 内容数据(Content data)
应用的载荷,即网络上实际传输或共享的内容。日志描述在系统或网络上发生的何种行为的事实。而内容数据则是行为事件的本体内容。比如,报文、邮件内容、邮件附件、IM聊天内容、传输的文件、论坛发帖、数据库查询和响应内容等。
数据分析方法
大数据安全分析常用的手段是规则自动判断和可视化工具辅助的人工分析。
规则库的使用
安全日志数据分析产品都会有一个定义已知异常行为的规则库,也提供让用户配置规则的能力。
常用规则举例:
R1:主机上出现新的服务。
R2:服务器出现不该有的主动向外发起的网络连接现象。
R3:发现正常环境下不该有的通过Convert channel或外部代理传输数据。
R4:公司下班后出现大量向外发送的流量。
R5:有网络流量发送到了一个与公司没有业务往来的国家,且流量不应该发往这个国家。
R6:IRC、SSH、VPN、VNC、RDP类应用流量在非IT部分使用的主机上检测到了。
R7:FTP流量在财务部门的主机上检测到了,而财务部门的主机上之前从来没有检测到过。
IBM QRadar可以通过与或表达式将多条规则组合成一条复杂的规则。
如果安全分析员越熟悉公司提供的网络服务、访问权限、用户访问习惯,就越容易设置出明确有效的规则。如果网络业务环境很简单,简单的规则就可以达到很到的威胁判断效果。
R8:如果一位用户企图登陆10次,且都失败了,但接着成功了,可以报“密码猜测成功”的告警。
R9(带上下文信息的规则):如果一位用户属于IT组,不属于IT支撑小组,企图登陆财务组的一台服务器,可以报“可能是非授权的访问”的告警。
R10:如果1000份邮件从公司内部发出,可以报“匿名邮件行为”告警。
R11(带上下文信息的规则):如果1000份邮件从公司内的非SMTP主机发出,且发给1000个不同的地址,可以报“可能是垃圾邮件僵尸”告警。
R12(带内容的规则):如果1000份带有回复地址属于外部区域的邮件从公司内非SMTP主机发出,发送地址为1000个不同地址,邮件正文内含有“账号”“密码”词句的,就需要报“可能是垃圾邮件僵尸”的严重告警
R13(带内容的规则):如果应用外发内容含有敏感词汇,比如“季度报告”,就可报“可能是保密数据泄露”告警。
R14(复合规则):如果用户的角色是“财务”,且即时聊天主题是“季度报告”,且即时聊天应用属于公司禁止使用的范围,可以报“可能是欺诈行为”告警。
可视化分析
可视化与查询是手工进行数据分析的主要手段。在规则库无能为力的地方,可以用可视化与取证手段结合的方式来从大数据中定位威胁的存在。
首先智能化的机器学习将可疑的感兴趣的事件提炼出来,并通过可视化的手段呈现出来。在获取需要关注的对象后,安全分析员继续用多维度、drilldown可视化手段继续分析数据。更深入的数据查询、过滤、集合、关联分析,可定位到高度可疑的对象。最后用Network Forensic取证的手段来明确系统是否被入侵和控制。
可视化的核心目标就是通过统计方法计算得出的指标告诉分析员哪些现象和事件值得关注,关注的原因是异常的指标值的偏离程度。统计指标采用的方法一般有baseline, clustering等。
常用的统计指标与异常现象举例:
C1:带宽、连接等网络资源的消耗超过阈值。
C2:呈现DNS请求呈现Fastflux的行为现象。
C3:Firewall policy deny记录呈现突发性、个别地址上持续性的现象。
C4:DNS/HTTP请求失败记录大面积发生。
C5:网络扫描、DDoS攻击的次数超过阈值。
C6:文件共享服务端口上有大量流量。
C7:大量TCP reset、ICMP不可达回应报文。