扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:Benny 来源:赛迪网 2010年10月13日
关键字: 安全
【赛迪网-IT技术讯】网络行为审计,Network Behavior Audit,国外更多的叫做Network Behavior Analysis(网络行为分析),Network Behavior Anomaly Detection (NBAD,网络行为异常检测)。这是一个新生事物,即便国外,出现的年头也不长。无论怎么称呼,其目的都是通过分析网络中的数据包、流量,借助协议分析技术,或者异常流量分析技术,来发现网络中的异常和违规行为,尤其是那些看似合法的行为。并且,有的产品在该技术上进行扩展,还具有网络行为控制、流量控制的功能。
网络行为审计是安全审计中较为重要的一种技术实现,其他安全审计技术还包括日志审计技术、本机代理审计技术、远程代理审计技术,具体可以参见这个文章。
NBA的实现有多种方式,其中有两个最重要的分支:
基于*Flow流量分析技术的NBA:通过收集网络设备的各种格式的Flow日志来进行分析和审计,发现违规和异常行为,传统的网管厂商很多开始以此为进入安全的切入口;而安全厂商则将其归入的范畴。
基于抓包协议分析技术的NBA:通过侦听网络中的数据包来进行分析和审计,发现违规和异常行为,传统的安全厂商很多以此作为进入审计领域的切入点。
基于抓包协议分析技术的NBA
抓包型NBA技术及产品类型说明
抓包型网络行为审计(NBA)根据用途的不同、部署位置的不同,一般又分为两种子类型。
上网审计型:审计网络内部用户访问互联网的行为和内容、防止内部信息泄漏、用户违规行为,提升内部网络用户互联网上网行为的效率。
业务审计型:对网络中重要的业务系统(主机、服务器、应用软件、数据库等)进行保护,审计所有针对业务系统的网络操作,防止针对业务系统的违规操作和行为,提升核心业务系统的网络安全保障水平,尤其是信息和数据的安全保护能力,防止信息泄漏。
从上面按用途划分的定义可以看出,他们是两类不同的产品。上网审计的对象是用户及其上网行为,而业务审计的对象是核心业务系统及其远程操作。正因为如此,他们部署的位置有所不同。上网审计NBA应该部署在互联网出口处,而业务审计NBA则就近部署在核心业务安全域的边界(一般是核心业务系统所在的交换机处)。
下面是两类产品在技术层面的定义:
上网审计型:硬件设备,旁路/串路方式部署在用户互联网出口处。通过旁路侦听/数据报文截获的方式对内部网络连接到互联网(Internet)的数据流进行采集、分析和识别,基于应用层协议还原的行为和内容审计,例如针对网页浏览、网络聊天、收发邮件、P2P、网络音视频、文件传输等的审计。可以制定各种控制策略,进行统计分析。
业务审计型:硬件设备, 采用旁路侦听的方式对数据流进行采集、分析和识别,实现对用户操作数据库、远程访问主机和网络流量的审计。例如针对各种类型的数据库SQL语句、操作命令的审计,针对Telnet、FTP、SSH、VNC、文件共享协议的审计。管理员可以指定各种控制策略,并进行事后追踪与审计取证。
从上面的定义,可以很清楚的看出来两种类型的异同。从技术架构上讲,他们是一样的,都是抓包引擎加管理器。但是从具体的技术细节来看,他们之间的差异是显著的。
差异分析
上网审计型系统分析的协议都是互联网上常用的应用层协议,例如P2P、邮件、HTTP、音视频、网络游戏等,同时,为了进行更为精确的审计,还需要再深入一步,分析协议的内容,例如要能够分析WEBMAIL和WEB聊天室的内容,分析MSN的聊天内容。因此,一个好的上网审计型NBA必须要有一个巨大的、不断及时更新的协议分析库。这个难度是挺大的,因为这些互联网应用协议具有种类多、变化频繁的特点,并且不会提前通知开发厂家,最明显就是音视频、网游、聊天室。更加的,即使针对HTTP协议,还要分析出163邮箱、sina邮箱、yahoo邮箱之间的区别。这是一个苦力活。也是产品的核心技术点。
业务审计型系统分析的协议基本上都是区域网中常见的应用层协议,并且与业务系统密切相关。例如TDS、TNS等数据库访问协议,FTP、TELNET协议,HTTP、企业邮箱协议(IMAP、STMP等),等等。对于业务审计型NBA而言,协议种类相对比较固定,并且协议版本比较稳定,比较易于实现。
对于上网审计型NBA,还有一个重要的技术点就是网页分类地址库,就是一个巨大的地址库,里面对互联网的网址进行分门别类。用途就在于控制某些用户可以访问哪些类别的网站,不能访问哪些类别的网站。例如:上班时间不能上游戏网站,而午休时间可以上,等等。
对于业务审计型NBA而言,其核心技术不在于复杂的协议分析,而在于协议分析之后,对生成的归一化的事件(event)进行二次分析,通过关联分析的技术手段,发现针对业务系统的违规行为,将事件变成真正的事件(incident),或者叫告警。例如,发现某账户在某时间段内频繁的查询核心的客户资料数据库,从而及时告警,并告知管理员该异常账户的行为,可能该客户正在下载客户资料。要实现这种行为的发现,光靠协议分析是不够的。协议分析只能将这种行为对应的零散的数据报文截获出来,并变成一条条的事件,可能是100条。而只有通过事件关联分析,才能将这100条时间转化为有意义的incident告警信息。
关于数据库审计
可以说,数据库审计是业务审计在实现功能上的子集。先看看业务系统的定义:
“业务系统是由包括主机、网络设备、安全设备、应用系统、数据库系统等在内的多种IT资源有机组合而成的。”
因此,针对业务的审计就要对构成业务系统的各个IT资源之间的访问行为以及业务系统之间的操作的审计。只有通过审计构成业务系统的各种IT资源的运行行为才能真正反映出业务系统的安全状态。
我们说,面向业务的安全审计系统不单是一个主机审计系统、也不是一个单纯的网络审计或者数据库审计系统,而是他们的综合。而数据库审计主要就是针对业务的核心——数据库的审计。
关于运维审计(堡垒主机)
运维审计,也叫做堡垒主机,主要是针对网络内部人员访问重要服务器、主机、网络及安全设备的行为(尤其是加密协议访问行为)进行审计的技术。除了进行访问操作的行为及内容审计,还具备用户授权、访问控制、单点登录的功能,能够大大减轻服务器及设备管理人员的帐号维护负担,并能够实现基于自然人的操作审计和责任认定。
运维审计产品可以看作是业务审计在技术实现上的一个变种。传统的业务审计都以旁路部署的方式来进行网络包侦听、协议解析还原和审计分析。而运维审计则是以应用层代理服务器的方式进行部署,获取应用层网络协议,进行还原分析,在重新打包提交给目标主机。他们都是基于应用层协议分析DPI的,只是部署方式有区别。真是由于代理的部署方式,使得运维审计能够对SSH、RDP、SFTP等加密协议进行解析还原(因为有密钥),从而扩大了传统业务审计的审计范围。
综合网络安全审计的解决方案
在真实的案例中,上网审计NBA和业务审计NBA(包括数据库审计、运维审计等)可以联合部署,达到综合安全审计的效果。上网审计部署在整个网络安全域的边界,业务审计部署在核心业务系统安全域边界。然后,通过一个统一的管理中心,将这个系统的告警信息汇总到一起,让管理员实现全网统一的网络安全审计。
上网审计和业务审计的融合
那么,两类产品可以融合到一起,变成一个产品吗?我认为没有必要,因为他们针对的需求定位是不同的,技术细节也是有区别的,如果合一,不好部署,只能部署到核心交换机上,同时审计用户上网行为和保护核心业务系统,对设备性能是个挑战,会力不从心,简单的问题反而变复杂了。我的观点是:只要做到方案级别的整合就够了,毕竟两类产品可以独立发挥功效,满足客户某一方面的需求。
抓包型NBA与IDS的联系
国内网络安全业界多采用抓包方式来实现NBA,与IDS的工作方式很相像。因此,在国外,很多人将这种NBA叫做EDS:ExtrusionDetection System。这个名词比较形象地表明了NBA和IDS之间的联系和区别。
他们都是采用抓包的工作方式, 采用旁路侦听的方式进行工作,部署十分方便,即插即用,不必对业务网络配置做任何更改,对业务网络没有任何影响。
工作的时候都需要用到协议分析技术、特征/策略匹配技术,遇到威胁可以实时阻断,违规/违规过程可以回放取证。
NBA和IDS的产品架构比较类似,一般都分为引擎和管理器两个部分,引擎负责抓包、协议分析、特征/策略匹配等底层功能;而管理器则负责数据分析、规则定义、告警设置、界面交互等上层功能。两个部分通常分开为两个实体组成。不过,随着用户需求的发展,有一种趋势是将上述两个部分合到一起,即一体化的NBA设备。对于用户而言,产品实施无疑更加便捷。
抓包型NBA与IDS的区别
首先,此种NBA是应用层协议分析,因为他关注的是对被保护对象资产的各种违规业务操作,例如telent、FTP、数据库访问、HTTP访问,等等。而(传统的)IDS主要是应用层之下的协议分析,因为他关注的是对被保护对象资产的各种攻击行为。诚然,现在的IDS也开始进行应用层协议分析,但是分析应用层协议的目的是为了发现攻击行为,例如MSN的钓鱼行为,等等。
因此,他们最本质的区别就在于IDS是检测攻击,而NBA是审计用户/远程操作。IDS有一个攻击特征库,需要不断被动的升级;而NBA定义了一个用户操作规范库,说明什么是合法的行为,那么只要是违反这个规范的行为就会被发现。通俗地讲,IDS的规则库是一套黑名单库,写满了什么是不对的,总是后发制人;而NBA的规则库是一套白名单库,简洁的列出了什么是允许的,保证先发制人。下面是两条NBA规则库的表述性示例:
1)单位规定:所有对数据库的访问只能来自于中间件系统所在的IP1,并且只能通过midware账户进行访问,而管理员admin账户只能从维护终端IP2访问数据库,其他行为都是违规的。
2)单位规定:任何数据库管理员帐号都不能读取数据库中工资表的员工工资字段,只有财务的小李可以从他的机器(IP)通过工资管理系统进行访问。
很显然,NBA在工作的时候,会分析应用层协议,并将不符合规则库的操作行为记录下来。这种分析的效率将会很高,因为白名单技术确保了规则不会很多,并且相对保持稳定,通常只会跟随业务的变化、或者是用户权限的变化而变化。
正是由于上述本质区别,使得NBA更加贴近用户的业务系统,唯有如此才能真正保护用户的业务系统不受违规行为的干扰,而这些违规行为往往来自网络的内部!而一旦与业务挂钩,NBA系统的复杂度就立刻上升,尤其是NBA的管理器部分远比IDS的管理器要复杂。
首先是规则更加复杂,不是简单的字符串匹配,而是更为复杂的匹配,涉及到多个变量,不仅包括源IP、目的IP、源端口、目的端口、用户名、帐号、(协议)操作类型、操作内容,等等。
其次是匹配之后的数据分析更加复杂,不是简单的告警和阻断,而是需要进行二次数据分析,也就是针对引擎产生出来的各种归一化的事件信息进行实时事件关联分析realtimeevent correlationanalysis。这种关联分析,不是一般的关系型数据查询语言能够完全达成的。
基于*FLOW流量分析技术的NBA
这类NBA技术和产品通过采集网络中(尤其是核心网络)交换机、路由器等的flow流量日志,进行行为分析,发现违规和入侵。
一个Flow(流)日志里面包括了Flow的起止时刻、包字节数、源/目的IP、源/目的端口,以及其他一些TCP报文信息。
通过分析这些Flow日志,可以以建模的形式建立起网络中的行为模型,从而得知某个IP的应用层协议流量分布,找寻网络中某个IP的非法或者违规行为。
Flow有多种格式,最典型的有三种:NetFlow、SFlow和IPFIX。在国内,还有就是华为、H3C的NetStream流。这些流日志格式各有不同,但是承载的内容都大致相同。
为什么需要Flow分析,它与抓包型NBA的异同
因为对于核心的路由、交换设备而言,他们每天工作过程中收发的数据报文量是巨大的,通过采集这些设备产生的摘要性报文信息(Flow日志),可以以一种比较经济的方式获得网络行为数据,从而进行行为建模、分析和审计。而如果通过抓包方式去做的话,那么这个用来做抓包分析的设备的硬件性能将可能需要与核心路由交换设备相当,成本一定会很高。这也是Flow分析型NBA存在价值。
当然,Flow分析型NBA的审计深度不如抓包型NBA,因为Flow日志是摘要数据,信息不全,同时,行为建模的过程中存在很多模糊匹配的过程,不够精确。因而,Flow型NBA适合做全网行为的统计分析和趋势分析,而要针对某个安全域中特定的网络行为(例如上网行为、数据库操作行为,等等)进行审计的话,抓包型NBA则更胜一筹。
我们进一步加以阐述。Flow日志是摘要数据,应该好理解。既然是摘要,信息一定不全,就会影响到审计的精确性,也不难理解。Flow型NBA的行为建模过程的模糊性是指在通过Flow日志进行行为建模的时候,需要通过一个特征库来进行匹配,以便将TCP流信息转换成应用层行为信息。例如,Flow日志不会说某个数据包是HTTP协议还是SMTP协议,但是会提供一个TCP端口号。因此,通过一个相对固定的端口知识库,可以将某个数据包映射为HTTP包,另一个数据库包映射为SMTP协议包,以此类推。再高级一些,通过分析连续时间内的多个数据包之间的关系,可以判断出一些异常的数据流,从而推测出某些异常的行为。总之,Flow型NBA的分析审计过程是存在模糊性的,不能确保准确。这也是为何适于做行为统计和整体趋势分析的原因。
另外,Flow型NBA是地道的行为审计,而抓包型NBA除了可以做行为审计,还能够做内容审计。也就是说,抓包型NBA不仅知道谁在执行HTTP操作,还知道他访问了那个URL,甚至网页的内容也能知道。
因此,Flow型NBA与抓包型NBA适用于不同的场合。
技术应用
本质上讲,NBA技术是一类跨网管、安管的技术,是网管与安管融合的一个具体例证。
目前,Flow型NBA更多是传统的网管厂商在做,而国内的安管厂商则利用其在IDS上面的技术积累从事抓包型NBA的研制。
国外的情况也大致相同。
最后,我们要提一下,NBA和SIM产品具有很多相似性和共通性,他们天生就是一对,协作实现了全网的事件(日志)收集、分析和审计。
国内外的NBA技术与市场走势
国外
NBA这个词最早就是被老外提出来的。在国外,NBA中的A一般都称作Analysis,比较中性。我能够找到的就是2005年9月9日Gartner出版的一份报告《UseNetwork Behavior. Analysis for Better Visibility Into Security andOperations Events》。为此,Gartner还为它专门建立了一个分类。相比之下,Yankee集团对NBA的研究更加热衷一些。作为对IDS的必要补充,NBA一开始就是针对DLP(数据泄漏保护,Data Leakage Protection)这个话题。NBA是一种跨安全管理和网络管理的技术,它借鉴了网络管理中的流量分析技术,又借鉴了安全领域常用的协议分析技术,成为了传统网络安全检测设备的有益补充。下面这幅图是2007年Yankee集团对NBA技术发展趋势的分析判断。
在业界的追捧下,NBA技术得到了很快的发展。由于NBA自身技术的多样性,很快形成了各种分支。尤其因为NBA技术跨网管和安管的特性,加入这个市场的玩家既有网管厂商,也有安管厂商。天生地由于思路上的差异,各自推出的产品差别还是很大的。很快,由于防范内部威胁的需求不断增强,NBA出现了一个重要的分支——DAM(Database Activity Monitoring)。DAM技术起初就是通过网络抓包来分析基于网络的数据库操作行为,渐渐地,为了更加全面的保护数据库,DAM技术又增加了通过数据库日志、数据库代理等技术来完善对数据库的保护。到后来(2008年开始),DAM已经脱离了NBA,和NBA地位平齐了。
在2007年,Gartner发布了一个名为《Selectthe Right Monitoring and Fraud DetectionTechnology》的重要报告。Gartner的几个领域的分析师们凑在一块写出了这个报告。相关的技术被分为了五类:
1) 数据库行为监控(DAM):NBA的衍生,从普遍协议分析到数据库协议分析;
2) 内容监控和过滤(Content Monitoring andFiltering,简称CMF):也是NBA的衍生,从行为深入到内容;
3) NBA:(注:这个报告中对利用NBA进行数据库操作分析的阐述我并不是完全认同的)
4) 欺诈检测
5) SIEM(NBA和SIEM也是亲戚,这个我们以后还会详谈)
根据这份报告,NBA的定义成形了(NBA allows security and network personnel and inlinedevices to monitor and alert on network traffic or packetanomalies)。并且,DAM被从NBA中分离了出去,Gartner也为DAM专门建立了一个分类。
说到NBA的定义,这个不错。
从2008年开始,NBA技术逐渐成熟,并且不断地衍生,成为其他新产品的必要技术组成部分。Q1Labs将它与SIEM结合,而Mazu则被Riverbed收购。渐渐的,Gartner不再将NBA列为热门技术,转而大力研究DAM、SIEM和CMF了。但是,NBA的实质内涵和技术作用一直没有消褪,这项技术现在依旧很有用。Yankee在2008年的一项调查显示,被访者(美国公司)中有38%已经部署了NBA。
国内
回到国内,基于NBA的抓包技术,国内最火的就是独具特色的上网行为审计/管理产品,国情使然。此外,基于NBA的数据库抓包技术,DAM(国内叫数据库审计)产品也出现了。还有,网管厂商从Flow日志入手,开发出了轻量级的NBA产品(流量日志分析产品)。可以看到,虽然没有明确的NBA产品,但是它的变种很壮大,上网行为审计市场没有人分析统计过,我想肯定不小。
由于国内技术总体发展滞后于国外,国内NBA兴起的时候,国外NBA技术已经开始分化,因而,国内就没有形成过稳定的NBA的定义,一开始就是花样繁多的。现在,上网行为审计、数据库审计产品所包含的技术特征已经超越了NBA的基本技术,融合了更多的其他技术。例如网关控制技术、日志分析技术,等等。
关于未来
NBA会成为一个基础性的技术,其本质的DPI、DFI技术会被其他各类产品所广泛采用。国外,独立的NBA产品恐怕会越来越少,有也很可能是准备被收购的。大型的和专业的安全厂家以及网络厂家会拥有这项技术,并体现在其产品中。NBA会成为网管和安管的一个技术交汇点。并且,网管和安管厂家应用这项技术的目标一定会有差异。网络管理员和安全管理员都需要做网络行为分析,但是目的是不同的。
在国内,NBA会幻化为多种产品形态,核心的就是上网行为审计(或上网行为管理)和数据库审计(或叫业务审计)。为了加强控制性,还会出现网关型的产品,例如针对应用层协议分析的流控产品,一种与传统的QoS流控不太相同的产品。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。