对用户的多个网络行为进行关联,是提高检测精度的有效手段。比如一个用户首先对HTTP服务进行了慢速CGI扫描,服务端反馈的结果证明其运行了可能含有漏洞的某个CGI,之后该用户又发送了包含ShellCode的请求。若分别看这两次行为,每个都不能绝对地将其界定为恶意行为;如果将两个行为联系起来,则基本可以确定该行为的高风险等级。
针对大规模的监测系统应用中可能出现一个网络异常行为在多个监测点作为事件报告而形成事件洪流的问题,数据关联性分析模块首次提出并采用了基于统计分析的二次事件分析技术,就能够对不同时间、不同地点、不同事件的大量信息进行统一处理,简洁、准确地报告出正确的网络安全事件。
大规模网络的数据集中在一起分析,可以发现下列在局部网络无法检测的现象。
1)一对多的攻击现象
比如病毒发作时的传染行为,特点为一个源在一段时间内向多个目标发动攻击行为。
2)多对一的攻击现象
比如分布式拒绝服务行为,对网络带宽较大的主机而言,这是最有效的拒绝服务攻击方式。
3)攻击传递现象
包括病毒的传染,以及黑客常用的手段:先攻击一台主机,再利用它攻击其他计算机,具有很强的隐蔽性。
对于大规模的蠕虫类、病毒类和分布攻击事件,如果对事件的源、目的信息逐条记录,将产生大量的报警日志信息,这对系统的正常运行将产生不利影响。本系统支持对于事件的归并处理技术,即对于事件可采取按源地址归并、以目的地址归并、以源或目的地址归并的归并策略。这样既可以降低事件的报警频率、避免日志洪流的产生,又可以明确攻击发生的规模情况。
在极为罕见的情况下,如果发生海量事件生成,系统可以将数据写入存储缓冲区中,在后期网络空闲时系统自动传输;如存储缓冲区满时,系统将采用按事件优先级的淘汰策略,首先淘汰低优先级事件的方式进行处理,以确保事件的优先存储。
7 基于知识库的非法连接请求动态抽样与分析技术
通过建立统一的数学分析模型,并在超大流量的情况下依据概率分析结果进行Randomdrop是目前可行的方法之一。难点在于在建立一个合理灵活的数学模型的同时又不用占用系统过多的资源。
在网络环境之中不断记录正常的连接请求,通过不间断的学习过程,规划出一套数学模型(知识库),用以在超大流量攻击到达时迅速检测出异常的流量,并且选择有效性概率较高的连接予以建立,其他概率较低的连接予以丢弃,这样一来,即使发生超大规模的拒绝服务攻击,也能够保障多数合法用户正常的网络访问,而且避免了SYN Cookie发包所引发的网络路由器负担过重。
另外,基于黑客行为分析,还可以使用如下事件作为概率条件:
- ·经常能够连接成功的IP地址或网段提高其通过概率;
- ·某一IP地址访问连续端口降低其通过概率;
- ·某一IP地址多次请求失败降低其通过概率;
- ·某一IP地址曾进行过拒绝服务攻击降低其通过概率。