网络行为审计,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。