86
1 数数数数数数数数数 Data Mining & Business Intelligence 数数数数数数数 数数数数 西 数数数 数数数 第第第 第第第第

数据挖掘与商务智能 Data Mining & Business Intelligence

Embed Size (px)

DESCRIPTION

数据挖掘与商务智能 Data Mining & Business Intelligence. 第八章 异常检测. 西安电子科技大学 软件学院 主讲人:黄健斌. 内容提纲. 异常挖掘及其应用 异常检测面临的主要问题 异常数据挖掘方法简介 异常检测的应用案例 参考文献. 内容 提纲. 异常挖掘及其应用 异常检测面临的主要问题 异常数据挖掘方法简介 异常检测的应用案例 参考文献. 什么是异常 ( Outlier ) ?. Hawkins 的定义 :异常是在数据集中 偏离大部分数据的数据 ,使人怀疑这些数据的偏离并非由随机因素产生,而是产生于完全不同的机制。 - PowerPoint PPT Presentation

Citation preview

Page 1: 数据挖掘与商务智能 Data Mining & Business Intelligence

1

数据挖掘与商务智能Data Mining & Business Intelligence

西安电子科技大学 软件学院主讲人:黄健斌

第八章 异常检测

Page 2: 数据挖掘与商务智能 Data Mining & Business Intelligence

内容提纲 异常挖掘及其应用 异常检测面临的主要问题 异常数据挖掘方法简介 异常检测的应用案例 参考文献

Page 3: 数据挖掘与商务智能 Data Mining & Business Intelligence

内容提纲 异常挖掘及其应用 异常检测面临的主要问题 异常数据挖掘方法简介 异常检测的应用案例 参考文献

Page 4: 数据挖掘与商务智能 Data Mining & Business Intelligence

什么是异常 (Outlier) ? Hawkins 的定义:异常是在数据集中偏离大部分数据的数据,使人怀疑这些数据的偏离并非由随机因素产生,而是产生于完全不同的机制。

Weisberg 的定义:异常是与数据集中其余部分不服从相同统计模型的数据。

Samuels 的定义:异常是足够地不同于数据集中其余部分的数据。

Porkess 的定义:异常是远离数据集中其余部分的数据

Page 5: 数据挖掘与商务智能 Data Mining & Business Intelligence

异常数据具有特殊的意义和很高的实用价值

现有数据挖掘研究大多集中于发现适用于大部分数据的常规模式 , 在许多应用领域中,异常数据通常作为噪音而忽略,许多数据挖掘算法试图降低或消除异常数据的影响。而在有些应用领域识别异常数据是许多工作的基础和前提,异常数据会带给我们新的视角。

如在欺诈检测中,异常数据可能意味欺诈行为的发生,在入侵检测中异常数据可能意味入侵行为的发生。

Page 6: 数据挖掘与商务智能 Data Mining & Business Intelligence

异常检测的应用领域 电信、保险、银行中的欺诈检测与风险分析 发现电子商务中的犯罪行为 灾害气象预报 税务局分析不同团体交所得税的记录,发现异常模型和趋势 海关、民航等安检部门推断哪些人可能有嫌疑 海关报关中的价格隐瞒 营销定制:分析花费较小和较高顾客的消费行为 医学研究中发现医疗方案或药品所产生的异常反应 计算机中的入侵检测 运动员的成绩分析 应用异常检测到文本编辑器,可有效减少文字输入的错误 ……

Page 7: 数据挖掘与商务智能 Data Mining & Business Intelligence

什么是异常挖掘?

异常挖掘可以描述为:给定 N 个数据对象和所期望的异常数据个数,发现明显不同、意外,或与其它数据不一致的前 k 个对象。

异常挖掘问题由两个子问题构成: (1)如何度量异常; (2)如何有效发现异常。

Page 8: 数据挖掘与商务智能 Data Mining & Business Intelligence

为什么会出现异常数据? 测量、输入错误或系统运行错误所致 数据内在特性所决定 客体的异常行为所致

由于异常产生的机制是不确定的,异常挖掘算法检测出的“异常数据”是否真正对应实际的异常行为,不是由异常挖掘算法来说明、解释的,只能由领域专家来解释,异常挖掘算法只能为用户提供可疑的数据,以便用户引起特别的注意并最后确定是否真正的异常。对于异常数据的处理方式也取决于应用,并由领域专家决策。

Page 9: 数据挖掘与商务智能 Data Mining & Business Intelligence

异常数据实例 一个人的年龄为 -999就可能是由于程序处理缺省数据设置默认值所造成的 ;

一个公司的高层管理人员的工资明显高于普通员工的工资可能成为异常数据但却是合理的数据( 如平安保险公司 2007年 5 位高管税后收入超过了 1000万元 ) ;

一部住宅电话的话费由每月 200元以内增加到数千元可能就因为被盗打或其它特殊原因所致;

一张信用卡出现明显的高额消费也许是因为是盗用的卡。

Page 10: 数据挖掘与商务智能 Data Mining & Business Intelligence

异常数据与众不同但具有相对性:

高与矮,疯子与常人。 类似术语: Outlier

mining , Exception mining: 异常挖掘、离群挖掘、例外挖掘和稀有事件挖掘 。

Page 11: 数据挖掘与商务智能 Data Mining & Business Intelligence

11

内容提纲 异常挖掘及其应用 异常检测面临的主要问题 异常数据挖掘方法简介 异常检测的应用案例 参考文献

Page 12: 数据挖掘与商务智能 Data Mining & Business Intelligence

Main Problems 主要问题

典型正常区域的定义不易

正常对象和离群点之间的界线不明确

离群点的确切概念随应用领域而异

训练 / 验证已标记数据的可用性

数据可能包含噪声

恶意对手的存在,反检测

正常行为不断演变

12

Page 13: 数据挖掘与商务智能 Data Mining & Business Intelligence

13

内容提纲 异常挖掘及其应用 异常检测面临的主要问题 异常数据挖掘方法简介 异常检测的应用案例 参考文献

Page 14: 数据挖掘与商务智能 Data Mining & Business Intelligence

14

Anomaly Detection Schemes 异常检测方法

一般步骤构建“正常”行为的资料集

资料集可以是针对数据整体的图案或者汇总统计通过使用“正常”资料集检测异常行为

异常行为是特征与“正常”资料有显著差别的观察对象

异常检测方法的类型

分类和聚类基于统计的方法基于距离和基于密度的方法基于图形的方法

Page 15: 数据挖掘与商务智能 Data Mining & Business Intelligence

异常检测

上下文异常检测 集体异常检测 在线异常检测 分布异常检测

异常点检测

基于分类基于规则

基于神经网络基于支持向量机

基于最近邻基于密度基于距离

统计有参数的无参数的

基于聚类 其他基于信息理论

基于谱分解基于可视化

Anomaly Detection Schemes 异常检测方法

15

Page 16: 数据挖掘与商务智能 Data Mining & Business Intelligence

主要思想 基于已标记的训练数据,对正常事件 ( 和 ( 极少 ) 异常事件 ) 构建一个分类模型,以此对每一个新的未知事件进行分类

分类模型必须能够处理倾斜 ( 不均衡 ) 的类分布分类

监督分类技术 需要了解正常类和异常类 建立分类,以区分正常事件和已知的异常事件

半监督分类技术 只需要了解正常类 使用改进的分类模型学习正常行为,然后将检测到的偏离正

常行为的对象作为异常行为

Ⅰ. Classification-Based Techniques 分类

16

Page 17: 数据挖掘与商务智能 Data Mining & Business Intelligence

Ⅰ. Classification-Based Techniques 分类优点

监督分类技术 模型很容易理解 在多种已知异常对象的检测中具有高精度

半监督分类技术 模型很容易理解 正常行为可以被准确学习

缺点监督分类技术

需要正常类的标记和异常类的标记 不能检测未知的和新兴的异常对象

半监督分类技术 需要正常类的标记 可能存在高误报率:先前未知 ( 但合法 ) 的数据记录可能被认为是异常

的17

Page 18: 数据挖掘与商务智能 Data Mining & Business Intelligence

Ⅱ. Clustering-Based Techniques 聚类关键假设

正常数据记录属于大型的、密集的集群,而异常数据记录不属于任何集群或者形成极小的集群

按照标签分类 半监督: 聚集正常数据,以创建正常行为模式。如果一个新实例

不属于或者不靠近任何集群,那么就是异常 无监督: 在聚类过程所需步骤之后,需要进行后处理来决定集群

的大小,集群间的距离用来判别数据点是否异常

应用基于聚类的方法进行异常检测 不适合任何集群的数据记录 ( 集群残差 ) 小集群 低密度集群或局部异常 ( 远离属于同一聚类的其他点 )

18

Page 19: 数据挖掘与商务智能 Data Mining & Business Intelligence

19

基本思想将数据聚类划分为不同密度的簇

选择小簇中的点作为候选离群点

计算非候选点形成的簇和候选点间的距离 如果候选点距离非候选点形成的簇较远,那么他们是离群点

Ⅱ. Clustering-Based Techniques 聚类

Page 20: 数据挖掘与商务智能 Data Mining & Business Intelligence

优点 不需要监督易适应在线 / 增量模式,适用于时空数据的异常检测

缺点代价极大

使用索引结构 (k-d树, R*树 ) 可能能够减轻该问题 如果正常点不能创建任何簇,那么该方法可能会失败 在高维空间中,数据是稀疏的,任意两个数据记录间的距离可能会非常相似 聚类算法可能不会得到有意义的簇

Ⅱ. Clustering-Based Techniques 聚类

20

Page 21: 数据挖掘与商务智能 Data Mining & Business Intelligence

Ⅲ.NN-Based Techniques 最近邻方法 关键假设

正常点有近邻,而离群点远离其他节点 一般为二步法

1.计算每个数据记录和其邻居间的关系2.分析邻居关系,以确定该数据记录异常与否

分类 基于距离的方法

离群点是远离其他节点的数据点 基于密度的方法

离群点是低密度区域的数据点

21

Page 22: 数据挖掘与商务智能 Data Mining & Business Intelligence

优点可以应用于无监督或半监督环境中 ( 对数据分布不作出任何假设 )

缺点如果正常点没有足够数量的邻居,该方法可能会失败代价极大在高维空间中,数据是稀疏的,相似度的概念不能起到很大作用

两个数据记录间的距离会由于稀疏而变得十分相似,以至于每个数据记录都可能被视为潜在的离群点

Ⅲ.NN-Based Techniques 最近邻方法

22

Page 23: 数据挖掘与商务智能 Data Mining & Business Intelligence

Ⅲ.NN-Based Techniques 最近邻方法基于距离的方法

对于数据集中的点 O ,如果数据集中至少有 p(百分比 ) 的节点到点 O 的距离超过 d ,那么就认为 O 是数据集中的离群点,记为DB(p, d) *

基于密度的方法 计算特定区域的局部密度,将低密度区域的实例报为潜在离群点 方法

局部离群因子 (Local Outlier Factor, LOF) 连接离群因子 (Connectivity Outlier Factor, COF ) 多粒度偏差因子 (Multi-Granularity Deviation Factor, MDEF)

*Knorr, Ng,Algorithms for Mining Distance-Based Outliers in Large Datasets, VLDB98

23

Page 24: 数据挖掘与商务智能 Data Mining & Business Intelligence

(1) 基于距离的 NN 方法 基于距离的方法有两种不同的策略 第一种策略是采用给定邻域半径,依据点的邻域中包含的对

象多少来判定异常; 如果一个点的邻域内包含的对象少于整个数据集的一定 比例则标识它为异常,也就是将没有足够邻居的对象看成是基于距离的异常。

利用 k 最近邻距离的大小来判定异常 。 使用 k-最近邻的距离度量一个对象是否远离大部分点,

一个对象的异常程度由到它的 k-最近邻的距离给定 。 这种方法对 k 的取值比较敏感。如果 k 太小 ( 例如 1),则少量的邻近异常点可能导致较低的异常程度。如果 k 太大,则点数少于 k 的簇中所有的对象可能都成了异常点。

Page 25: 数据挖掘与商务智能 Data Mining & Business Intelligence

到 k- 最近邻的距离的计算 k-最近邻的距离:

一个对象的异常点得分由到它的 k-最近邻的距离给定。

异常点得分的最低值为 0 ,最高值是距离函数的可能最大值 ----如无穷大

Page 26: 数据挖掘与商务智能 Data Mining & Business Intelligence

基于距离的异常点检测 例 1

请问该二维数据集中,当k=5时,哪个点具有最高

的异常点得分?

Page 27: 数据挖掘与商务智能 Data Mining & Business Intelligence

基于距离的异常点检测 例 2

请问该二维数据集中,当k=5时,哪个点具有最高

的异常点得分?

Page 28: 数据挖掘与商务智能 Data Mining & Business Intelligence

基于距离的异常检测的优缺点 优点:

基于距离的异常点检测方案简单

缺点:时间复杂度 O(m2) ,不适用于大数据集不能处理不同密度区域的数据集,因为它使用全局阈值,不能考虑这种密度的变化

Page 29: 数据挖掘与商务智能 Data Mining & Business Intelligence

不能处理不同密度区域的数据集

C

D

A

B

当 k=5时,哪个点具有最高的异常点得

分 ,B的异常点得分和D 的异常点得分哪个

低?

例:

Page 30: 数据挖掘与商务智能 Data Mining & Business Intelligence

局部离群因子法 (Local Outlier Factor, LOF)

Example:

p2

p1

p3

Distance from p3 to nearest neighbor

Distance from p2 to nearest neighbor

(2) Local Outlier Factor(LOF) 基于密度的 NN方法

* - Breunig, et al, LOF: Identifying Density-Based Local Outliers, KDD 2000.

30

在 NN方法中, p2 并没有被认为是离群点 , 而在 LOF 方法中发现 p1

和 p2 都是离群点

NN方法可能认为 p3 是离群点 , 但 LOF

方法不会

Page 31: 数据挖掘与商务智能 Data Mining & Business Intelligence

31

(2) Local Outlier Factor(LOF) 基于密度的 NN 方法

对每一个数据点 q ,计算到第 k 个近邻的距离 (k-distance)

对任意两个数据,计算可达距离 (reach-dist) reach-dist(p, o) = max{k-distance(o), d(p,o)}

Page 32: 数据挖掘与商务智能 Data Mining & Business Intelligence

32

(2) Local Outlier Factor(LOF) 基于密度的 NN 方法

计算局部可达密度 (local reachability density, lrd)

基于数据 p 的 MinPts-NN 的平均可达距离的逆 lrd(p) =

计算 LOF(p) 作为 p 的 k近邻平均局部可达密度比率 数据记录 p 的局部可达密度为

LOF(p) =

M inP ts

M in P ts

( )

( )

_ ( , )M in P tso N p

N p

rea ch d is t p o

M in P ts ( )M in P ts

1 ( )

| ( ) | ( )o N p

l r d o

N p lr d p

* - Breunig, et al, LOF: Identifying Density-Based Local Outliers, KDD 2000.

Page 33: 数据挖掘与商务智能 Data Mining & Business Intelligence

(2) Local Outlier Factor(LOF) 基于密度的 NN方法

* - Breunig, et al, LOF: Identifying Density-Based Local Outliers, KDD 2000.

对象 p 的离群因子不为空,则称 p 为离群点

平均局部可达密度比率 p 的 MinPts-NN邻居很容易看出: p 的 LOF 值越

高,则 p 的局部可达密度越低, p 的 MinPts-NN

的局部可达密度越高 .

33

Page 34: 数据挖掘与商务智能 Data Mining & Business Intelligence

内容提纲 异常挖掘及其应用 异常检测面临的主要问题 异常数据挖掘方法简介 异常检测的应用案例 参考文献

Page 35: 数据挖掘与商务智能 Data Mining & Business Intelligence

应用案例 1

Intrusion Detection 入侵检测

35

Page 36: 数据挖掘与商务智能 Data Mining & Business Intelligence

Case Study:Data Mining in Intrusion Detection

随着互联网的不断发展,越来越多的组织易受到网络攻击

网络攻击的复杂性和严重性都在增长

安全机制总有不可避免的漏洞 防火墙不足以确保计算机网络的

安全性 内线攻击

36

0

20000

40000

60000

80000

100000

120000

1 2 3 4 5 6 7 8 9 10 11 12 13 14 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003

计算机应急反应协调中心的事故报告

攻击复杂性 vs. 入侵技术知识源: www.cert.org/archive/ppt/cyberterror.ppt

Sapphire/Slammer Worm 攻击 30 分钟后的地理分布

源: www.caida.org

Page 37: 数据挖掘与商务智能 Data Mining & Business Intelligence

What are Intrusions? 入侵

37

扫描活动

攻击者

计算机网络

易损机器

入侵活动试图绕过计算机系统的安全机制 通常的行为有

攻击者从因特网访问系统内线攻击

已授权用户试图获取或误用未被授权的权限 典型的入侵场景

受损机器

Page 38: 数据挖掘与商务智能 Data Mining & Business Intelligence

Intrusion Detection 入侵检测

www.snort.org

39

入侵检测系统 将可能执行入侵检测的软硬件结合当可能有入侵发生时拉响警报

传统入侵检测系统 (IDS)工具 ( 例如 :SNORT)是基于已知签名攻击SNORT 规则实例 (MS-SQL “Slammer” worm)

any -> udp port 1434 (content:"|81 F1 03 01 04 9B 81 F1 01|";content:"sock"; content:"send")

限制当出现新的入侵类型时,签名数据库必须手动修改无法检测新兴的网络威胁部署新创建的签名会造成整个计算机系统的重大延迟

数据挖掘可以缓解这些限制

Page 39: 数据挖掘与商务智能 Data Mining & Business Intelligence

Data Mining for Intrusion Detection 入侵检测数据挖掘 对基于数据挖掘的入侵检测兴趣日增

攻击造成签名难以建立攻击具有隐蔽性不可预见的 / 未知的 / 新出现的攻击分布式 / 协调的攻击

针对入侵检测的数据挖掘方法 误用检测 (Misuse detection) 基于已标记的数据集 ( 数据标记为”正

常”或”异常” ) 建立预测模型,判别已知入侵 在检测多种已知攻击中具有高精度 不能检测未知的和新兴的攻击

异常检测 (Anomaly detection) 从”正常”行为检测异常攻击作为偏差 潜在高误报率:以前不可见 ( 但合法 ) 系统行为也可能被认为是

异常 网络流量综述 (Summarization of network traffic)

40

Page 40: 数据挖掘与商务智能 Data Mining & Business Intelligence

Data Mining for Intrusion Detection

误用检测:建立预测模型

41

绝对的当时的

持续的分类

测试集

训练集 模型学习

分类器

Tid SrcIPStarttime

Dest IP DestPort

Numberof bytes

Attack

1 206.135.38.95 11:07:20 160.94.179.223 139 192 No

2 206.163.37.95 11:13:56 160.94.179.219 139 195 No

3 206.163.37.95 11:14:29 160.94.179.217 139 180 No

4 206.163.37.95 11:14:30 160.94.179.255 139 199 No

5 206.163.37.95 11:14:32 160.94.179.254 139 19 Yes

6 206.163.37.95 11:14:35 160.94.179.253 139 177 No

7 206.163.37.95 11:14:36 160.94.179.252 139 172 No

8 206.163.37.95 11:14:38 160.94.179.251 139 285 Yes

9 206.163.37.95 11:14:41 160.94.179.250 139 195 No

10 206.163.37.95 11:14:44 160.94.179.249 139 163 Yes1 0

Tid SrcIPStarttime

Dest PortNumberof bytes

Attack

1 206.163.37.81 11:17:51 160.94.179.208 150 ?

2 206.163.37.99 11:18:10 160.94.179.235 208 ?

3 206.163.37.55 11:34:35 160.94.179.221 195 ?

4 206.163.37.37 11:41:37 160.94.179.253 199 ?

5 206.163.37.41 11:55:19 160.94.179.244 181 ?

绝对的

异常检测

发现的规则 :

{Src IP = 206.163.37.95, Dest Port = 139,

Bytes [150, 200]} --> {ATTACK}

发现的规则 :

{Src IP = 206.163.37.95, Dest Port = 139,

Bytes [150, 200]} --> {ATTACK}

使用关联规则对攻击进行综述

Tid SrcIPStarttime

Dest IPNumberof bytes

Attack

1 206.163.37.81 11:17:51 160.94.179.208 150 No

2 206.163.37.99 11:18:10 160.94.179.235 208 No

3 206.163.37.55 11:34:35 160.94.179.221 195 Yes

4 206.163.37.37 11:41:37 160.94.179.253 199 No

5 206.163.37.41 11:55:19 160.94.179.244 181 Yes

Page 41: 数据挖掘与商务智能 Data Mining & Business Intelligence

Anomaly Detection on Real Network Data真实网络数据的入侵检测 在明尼苏达州和美国陆军研究实验室,使用异常检测来检测各种侵扰活动或可以活动

其中许多入侵不能被广泛应用的异常检测工具检测到,如 SNORT 异常 / 攻击被MINDS 发现

扫描活动不规范的行为

违反策略 蠕虫

42

MINDS – Minnesota Intrusion Detection System明尼苏达异常检测系统

MINDS

网络

数据捕获装置异常检测

……

获取异常

Humananalyst

检测 新的攻击

Summary and characterization

of attacks

已知攻击检测 Detected known attacks

标记

特征抽取

相关模式分析

MINDSAT

过滤

Net flow tools

tcpdump

Page 42: 数据挖掘与商务智能 Data Mining & Business Intelligence

三组特征TCP 连接个体的基本特征

源 & 目的地 IP Features 1 & 2 源 & 目的端口 Features 3 & 4 协议 Feature 5 持续时间 Feature 6 每包字节 Feature 7 字节数 Feature 8

基于时间的特征 网络中对于相同的源 ( 目的地 ) IP地址 , 最后 T 秒钟唯一目的地 ( 源 )

IP地址数目– Features 9 (13) 最后 T 秒钟从源 ( 目的地 ) IP 到同一个目的地 ( 源 ) 端口的连接数

目– Features 11 (15)基于连接的特征

网络中对于相同的源 ( 目的地 ) IP地址 , 最后 N 个连接中唯一目的地( 源 ) IP地址数目 - Features 10 (14)

最后 N 个连接中从源 ( 目的地 ) IP 到同一个目的地 ( 源 ) 端口的连接数目 - Features 12 (16)

43

flagdst … service …h1 http S0h1 http S0h1 http S0

h2 http S0

h4 http S0

h2 ftp S0

syn flood

normal

existing f eatures existing f eatures uselessuseless

flagdst … service …h1 http S0h1 http S0h1 http S0

h2 http S0

h4 http S0

h2 ftp S0

syn flood

normal

flagdst … service …h1 http S0h1 http S0h1 http S0

h2 http S0

h4 http S0

h2 ftp S0

syn flood

normal

existing f eatures existing f eatures uselessuseless

dst … service …h1 http S0h1 http S0h1 http S0

h2 http S0

h4 http S0

h2 ftp S0

flag %S0707275

0

0

0

construct f eatures with construct f eatures with high information gainhigh information gain

dst … service …h1 http S0h1 http S0h1 http S0

h2 http S0

h4 http S0

h2 ftp S0

flag %S0707275

0

0

0

dst … service …h1 http S0h1 http S0h1 http S0

h2 http S0

h4 http S0

h2 ftp S0

flag %S0707275

0

0

0

construct f eatures with construct f eatures with high information gainhigh information gain

Feature Extraction 特征抽取

Page 43: 数据挖掘与商务智能 Data Mining & Business Intelligence

Typical Anomaly Detection Output 典型异常检测输出 “slammer” 蠕虫病毒爆发 48 小时后

44

score srcIP sPort dstIP dPort protocolflagspackets bytes 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1637674.69 63.150.X.253 1161 128.101.X.29 1434 17 16 [0,2) [0,1829) 0 0 0 0 0 0 0 0 0.81 0 0.59 0 0 0 0 026676.62 63.150.X.253 1161 160.94.X.134 1434 17 16 [0,2) [0,1829) 0 0 0 0 0 0 0 0 0.81 0 0.59 0 0 0 0 024323.55 63.150.X.253 1161 128.101.X.185 1434 17 16 [0,2) [0,1829) 0 0 0 0 0 0 0 0 0.81 0 0.58 0 0 0 0 021169.49 63.150.X.253 1161 160.94.X.71 1434 17 16 [0,2) [0,1829) 0 0 0 0 0 0 0 0 0.81 0 0.58 0 0 0 0 019525.31 63.150.X.253 1161 160.94.X.19 1434 17 16 [0,2) [0,1829) 0 0 0 0 0 0 0 0 0.81 0 0.58 0 0 0 0 019235.39 63.150.X.253 1161 160.94.X.80 1434 17 16 [0,2) [0,1829) 0 0 0 0 0 0 0 0 0.81 0 0.58 0 0 0 0 017679.1 63.150.X.253 1161 160.94.X.220 1434 17 16 [0,2) [0,1829) 0 0 0 0 0 0 0 0 0.81 0 0.58 0 0 0 0 08183.58 63.150.X.253 1161 128.101.X.108 1434 17 16 [0,2) [0,1829) 0 0 0 0 0 0 0 0 0.82 0 0.58 0 0 0 0 07142.98 63.150.X.253 1161 128.101.X.223 1434 17 16 [0,2) [0,1829) 0 0 0 0 0 0 0 0 0.82 0 0.57 0 0 0 0 05139.01 63.150.X.253 1161 128.101.X.142 1434 17 16 [0,2) [0,1829) 0 0 0 0 0 0 0 0 0.82 0 0.57 0 0 0 0 04048.49 142.150.Y.101 0 128.101.X.127 2048 1 16 [2,4) [0,1829) 0 0 0 0 0 0 0 0 0.83 0 0.56 0 0 0 0 04008.35 200.250.Z.20 27016 128.101.X.116 4629 17 16 [2,4) [0,1829) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 03657.23 202.175.Z.237 27016 128.101.X.116 4148 17 16 [2,4) [0,1829) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 03450.9 63.150.X.253 1161 128.101.X.62 1434 17 16 [0,2) [0,1829) 0 0 0 0 0 0 0 0 0.82 0 0.57 0 0 0 0 03327.98 63.150.X.253 1161 160.94.X.223 1434 17 16 [0,2) [0,1829) 0 0 0 0 0 0 0 0 0.82 0 0.57 0 0 0 0 02796.13 63.150.X.253 1161 128.101.X.241 1434 17 16 [0,2) [0,1829) 0 0 0 0 0 0 0 0 0.82 0 0.57 0 0 0 0 02693.88 142.150.Y.101 0 128.101.X.168 2048 1 16 [2,4) [0,1829) 0 0 0 0 0 0 0 0 0.83 0 0.56 0 0 0 0 02683.05 63.150.X.253 1161 160.94.X.43 1434 17 16 [0,2) [0,1829) 0 0 0 0 0 0 0 0 0.82 0 0.57 0 0 0 0 02444.16 142.150.Y.236 0 128.101.X.240 2048 1 16 [2,4) [0,1829) 0 0 0 0 0 0 0 0 0.83 0 0.56 0 0 0 0 02385.42 142.150.Y.101 0 128.101.X.45 2048 1 16 [0,2) [0,1829) 0 0 0 0 0 0 0 0 0.83 0 0.56 0 0 0 0 02114.41 63.150.X.253 1161 160.94.X.183 1434 17 16 [0,2) [0,1829) 0 0 0 0 0 0 0 0 0.82 0 0.57 0 0 0 0 02057.15 142.150.Y.101 0 128.101.X.161 2048 1 16 [0,2) [0,1829) 0 0 0 0 0 0 0 0 0.83 0 0.56 0 0 0 0 01919.54 142.150.Y.101 0 128.101.X.99 2048 1 16 [2,4) [0,1829) 0 0 0 0 0 0 0 0 0.83 0 0.56 0 0 0 0 01634.38 142.150.Y.101 0 128.101.X.219 2048 1 16 [2,4) [0,1829) 0 0 0 0 0 0 0 0 0.83 0 0.56 0 0 0 0 01596.26 63.150.X.253 1161 128.101.X.160 1434 17 16 [0,2) [0,1829) 0 0 0 0 0 0 0 0 0.82 0 0.57 0 0 0 0 01513.96 142.150.Y.107 0 128.101.X.2 2048 1 16 [0,2) [0,1829) 0 0 0 0 0 0 0 0 0.83 0 0.56 0 0 0 0 01389.09 63.150.X.253 1161 128.101.X.30 1434 17 16 [0,2) [0,1829) 0 0 0 0 0 0 0 0 0.82 0 0.57 0 0 0 0 01315.88 63.150.X.253 1161 128.101.X.40 1434 17 16 [0,2) [0,1829) 0 0 0 0 0 0 0 0 0.82 0 0.57 0 0 0 0 01279.75 142.150.Y.103 0 128.101.X.202 2048 1 16 [0,2) [0,1829) 0 0 0 0 0 0 0 0 0.83 0 0.56 0 0 0 0 01237.97 63.150.X.253 1161 160.94.X.32 1434 17 16 [0,2) [0,1829) 0 0 0 0 0 0 0 0 0.83 0 0.56 0 0 0 0 01180.82 63.150.X.253 1161 128.101.X.61 1434 17 16 [0,2) [0,1829) 0 0 0 0 0 0 0 0 0.83 0 0.56 0 0 0 0 0

连接到“ half-life” 游戏服务器 的机器所对应的连接 “slammer” 蠕虫病毒对应的异常连接

进行 ping 扫描异常连接

Page 44: 数据挖掘与商务智能 Data Mining & Business Intelligence

Detection of Anomalies on Real Network Data真实网络数据中的异常检测

MINDS 检测出的异常 / 攻击,包括扫描活动、蠕虫病毒以及像违反规则行为、内部攻击行为等不正常的行为。这些攻击中的大部分均可被 MINDS 检测出来,并被放在当前计算机应急反应协调中心 ( CERT/CC ) 的咨询列表中。

下面是 MINDS 检测出的入侵行为的一些说明例子。 Scans

August 13, 2004, Detected scanning for Microsoft DS service on port 445/TCP (Ranked#1) Reported by CERT as recent DoS attacks that needs further analysis (CERT August 9, 2004) Undetected by SNORT since the scanning was non-sequential (very slow). Rule added to SNORT in September 2004

August 13, 2004, Detected scanning for Oracle server (Ranked #2), Reported by CERT, June 13, 2004 Undetected by SNORT because the scanning was hidden within another Web scanning

October 10, 2005, Detected a distributed windows networking scan from multiple source locations (Ranked #1) Policy Violations

August 8, 2005, Identified machine running Microsoft PPTP VPN server on non-standard ports (Ranked #1) Undetected by SNORT since the collected GRE traffic was part of the normal traffic

August 10 2005 & October 30, 2005, Identified compromised machines running FTP servers on non-standard ports, which is a policy violation (Ranked #1)

Example of anomalous behavior following a successful Trojan horse attackFebruary 6, 2006, The IP address 128.101.X.0 (not a real computer, but a network itself) has been targeted with IP Protocol 0 traffic from Korea (61.84.X.97) (bad since IP Protocol 0 is not legitimate)February 6, 2006, Detected a computer on the network apparently communicating with a computer in California over a VPN or on IPv6

WormsOctober 10, 2005, Detected several instances of slapper worm that were not identified by SNORT since they were variations of existing worm codeFebruary 6, 2006, Detected unsolicited ICMP ECHOREPLY messages to a computer previously infected with Stacheldract worm (a DDos agent)

45

Page 45: 数据挖掘与商务智能 Data Mining & Business Intelligence

46

应用案例 2

Fraud Detection 欺骗检测

Page 46: 数据挖掘与商务智能 Data Mining & Business Intelligence

Online Auctions: Growing Froud 欺诈日增 #1 网上犯罪

2006年,投诉超过 40,000 件 平均损失 > $602.50

47

Source: http://www.ic3.gov/media/annualreport/2006_IC3Report.pdf

Page 47: 数据挖掘与商务智能 Data Mining & Business Intelligence

48

Potential Buyer C

Potential Buyer B

Potential Buyer A

$$$

Seller

$$$

Buyer

A TransactionWhat if something goes BAD?

未交付欺诈

Online Auctions: How They Work

Page 48: 数据挖掘与商务智能 Data Mining & Business Intelligence

Problem Description 问题描述

通过观察 By observing拍卖者的行为模式与其他用户相互交流一些关于已暴露的欺诈者的知识

预测在未来,谁可能犯欺诈

接下来是更具体的说明……

49

Page 49: 数据挖掘与商务智能 Data Mining & Business Intelligence

Modeling Fraudulent Behavior 欺诈行为建模

捕捉用户之间的关系,而不是个人行为模式关系

图模型节点——每个用户边——两个用户成交

潜在希望:全球性的图属性更难操纵

50

Page 50: 数据挖掘与商务智能 Data Mining & Business Intelligence

Modeling Fraudulent Behavior (contd.)

欺诈者的行为如何反应在图中?与其他欺诈者间密切互动愚弄基于信誉的系统

这是一种极好的检测方法,可以很容易地发现诈骗群体

不太符合实际一个真实的 eBay数据集的实验表明,他们很少拉帮结派

51

092453 0112149信誉

Page 51: 数据挖掘与商务智能 Data Mining & Business Intelligence

Modeling Fraudulent Behavior (contd.)

那么,诈骗者是如何操作的 ?

52

= 诈骗者

= 同谋= 诚实者

二部图核心

Page 52: 数据挖掘与商务智能 Data Mining & Business Intelligence

Modeling Fraudulent Behavior (contd.)

3 个角色诚实者 Honest

普通人,如:你、我诈骗者 Fraudsters

那些真正犯诈骗罪的人同谋 Accomplices

往日的行为像诚实的用户 通过低成本的交易积累反馈的人偷偷提高信誉的诈骗者 ( 例如:偶尔购买贵重物品的人 )

53

Page 53: 数据挖掘与商务智能 Data Mining & Business Intelligence

Modeling Fraudulent Behavior (contd.)

为什么寻找二部图核心,而不是小集体?

诈骗者之间不会之间联系 一旦一次诈骗交易被曝光,相关的账目会被 eBay扫描,并立即作废

“架构重用” 一次欺诈后同谋不比丢弃长时间积累信誉分数

54

Page 54: 数据挖掘与商务智能 Data Mining & Business Intelligence

Problem Description (Concrete)

已知在线拍卖用户图关于一些已经暴露的诈骗者的知识

检测二部图核心 Bipartite cores

55

Page 55: 数据挖掘与商务智能 Data Mining & Business Intelligence

Solution 解决方案 大量的方法可以用来检测二部图核心, 要使用哪一个?

这是一个军备竞赛诈骗者势必会形成新的模式,试图突破你的系统

适应他们千变万化的行为对诈骗者的行为建模,而不是生成图形模式

56

N O N E !

Page 56: 数据挖掘与商务智能 Data Mining & Business Intelligence

The NetProbe Algorithm

NetProbe对拍卖图建模——马尔可夫随机域 (Markov

Random Field)用预期诈骗者的行为对模型进行训练通过 “置信传播”来推断节点最可能的标签

它不依赖于任何特定的图形模型,甚至是诈骗者与其他人相互交流的模式

57

Page 57: 数据挖掘与商务智能 Data Mining & Business Intelligence

Markov Random Fields 马尔可夫随机域

图形模型推理问题节点可能的状态属于固定集合两个不同状态的节点间的连接似然性

状态集 = { F, A, H }

连接似然性 F 非常可能连接到 A F 不大可能连接到 F

58

Page 58: 数据挖掘与商务智能 Data Mining & Business Intelligence

Markov Random Fields (contd.)

训练模型连接似然性通过传播矩阵表达

59

F A H

F Є 1 - 2Є Є

A 0.5 2Є 0.5 - 2Є

H Є (1 – Є) / 2 (1 – Є) / 2

[i,j] = 已知节点在状态 i 、有一个在状态 j 的邻居节点,则它们之间的似然性

F, F = Є ~ 0

F, A = 1 - 2Є ~ 1

Page 59: 数据挖掘与商务智能 Data Mining & Business Intelligence

Markov Random Fields (contd.)

重申马尔可夫随机域模型下的问题

已知传播矩阵一些节点的初始状态

推断其余节点最可能的状态

60

Page 60: 数据挖掘与商务智能 Data Mining & Business Intelligence

Belief Propagation 置信传播 通过迭代消息传播计划来解决推理问题

用有限的理论担保来进行启发式计划

在很多领域的问题中实践都得到了很好的结果( 尤其是物理方面 ! )

61

Page 61: 数据挖掘与商务智能 Data Mining & Business Intelligence

Belief Propagation: Algorithm 算法 消息mij 从节点 i传播到节点 j

针对节点 i 考虑节点 j 在哪个状态?

每次迭代每个节点与它所接收到的消息相结合,计算它自己的置信度

每个节点基于自己最新计算出的置信度,将消息传递给自己的邻居

继续传递,直到置信度收敛

62

Page 62: 数据挖掘与商务智能 Data Mining & Business Intelligence

Belief Propagation: Details 细节

63

Message computation 消息计算

Belief computation 置信度计算

使用传播矩阵进行变换

将邻居处得到的消息结

合在一起

Page 63: 数据挖掘与商务智能 Data Mining & Business Intelligence

Belief Propagation: Example 举例

64

A

C

B

E

D

Page 64: 数据挖掘与商务智能 Data Mining & Business Intelligence

The NetProbe Algorithm

已知的诈骗者的初始状态为 F 初始化其它节点,无刻意偏向 每次迭代

对于每个节点通过结合前次达到收到的消息,计算自身置信度

通过传播矩阵,将自身置信度转化为消息传递给每一个邻居

继续迭代,直到收敛 用最可能的状态对每个节点进行标记

65

Page 65: 数据挖掘与商务智能 Data Mining & Business Intelligence

Evaluation: Real Datasets 评价:真实数据

来自 eBay 的真实数据66,130 用户和 795,320 交易

对数据形象为期 2 个月的爬行多层并行履带式架构Java + MySQL

一直进行,直到我们不能在 eBay 发现黑名单为止

66

Page 66: 数据挖掘与商务智能 Data Mining & Business Intelligence

Evaluation: eBay Dataset

评价度量:精密 / 二次行动 ?完全正确的结果并不知道诈骗者没有完全暴露未来进行诈骗行为的可能性不能确定eBay 不公开提供超过 6 个月的信息

很无奈,我们不得不做出一个主观评价

67

Page 67: 数据挖掘与商务智能 Data Mining & Business Intelligence

Evaluation: eBay Dataset (contd.)

68

通过 NetProbe 方法检测二部图核心

确认欺诈=

Page 68: 数据挖掘与商务智能 Data Mining & Business Intelligence

Practical Considerations 实际考虑 如果图形发生变化,会怎样 ?

新的用户出现,新的交易发生

如果小范围图形发生变化,则从新开始计算置信度

拓扑结构上的改变带来的影响本质上应当局部化

69

Page 69: 数据挖掘与商务智能 Data Mining & Business Intelligence

Practical Considerations (contd.)

增量式的 NetProbe新节点或边的 k 近邻的传播置信度初步试验表明:在精确度近乎零损失的情况下,执行时间降低 80%

进一步切实改进并行爬行的基础架构用户界面显示可疑的图模式

70

Page 70: 数据挖掘与商务智能 Data Mining & Business Intelligence

System Overview 系统综述

71

Page 71: 数据挖掘与商务智能 Data Mining & Business Intelligence

内容提纲 异常挖掘及其应用 异常检测面临的主要问题 异常数据挖掘方法简介 异常检测的应用案例 参考文献

72

Page 72: 数据挖掘与商务智能 Data Mining & Business Intelligence

参考文献 [P4] J. Naisbitt, Megatrends: Ten New Directions Transforming Our Lives. New

York: Warner Books, 1982.

[P7] Xiuyao Song, Mingxi Wu, Christopher Jermaine, Sanjay Ranka, Conditional Anomaly Detection, IEEE Transactions on Data and Knowledge Engineering, 2006.

[P21.22] Knorr, Ng,Algorithms for Mining Distance-Based Outliers in Large Datasets, VLDB98.

[P22] S. Ramaswamy, R. Rastogi, S. Kyuseok: Efficient Algorithms for Mining Outliers from Large Data Sets, ACM SIGMOD Conf. On Management of Data, 2000.

[P23.25.26] Breunig, et al, LOF: Identifying Density-Based Local Outliers, KDD 2000.

73

Page 73: 数据挖掘与商务智能 Data Mining & Business Intelligence

利用 SPSS 软件进行异常检测

Page 74: 数据挖掘与商务智能 Data Mining & Business Intelligence

异常检测建模

方法具体如下所示: 在回归模型诊断里面,一般称预测值与实际值的偏差为 " 残差 ",残差有几种表示方法 : 标准化残差 , 学生化残差等等,按照需要取一种残差,再按照某种标准取一个阀值来限定异常点,只要那个点的残差大于阀值,就可以认为它是异常点。

75

Page 75: 数据挖掘与商务智能 Data Mining & Business Intelligence

SPSS 在异常检测中应用

Step01 :选定对话框打开 SPSS 软件,选择菜单栏中的【 File(文件 )】→【 Open( 打开 )】→【 Data(数据 )】命令,弹出【 Open Data( 打开数据 )】对话框。

Step02 :选定打开文件类型在数据表格中填写如下图所示的数据。接着,点击【 File(文件 )】 →【 Save (保存 )】 。填写保存数据的位置,完成数据的保存操作。

76

Page 76: 数据挖掘与商务智能 Data Mining & Business Intelligence

SPSS 在异常检测中应用

77

原始数据如表1,其中y表示货运总量(亿吨)x1表示工业总产值(亿元)x2表示农业总产值(亿元)x3表示居民非商业支出(亿元) 表1. y x1 x2 x3

160 70 35 1 260 75 40 2. 4 210 65 40 2 265 74 42 3 240 72 38 1. 2 220 68 45 1. 5 275 78 42 4 160 66 36 2 275 70 44 3. 2 250 65 42 3

Page 77: 数据挖掘与商务智能 Data Mining & Business Intelligence

SPSS 在异常检测中应用 Step03:打开对话框选择菜单栏中的【 Analyze( 分

析 ) →】 【 Regression(回归) → 】 【 Linear(线性)】命令,弹出【 Linear Regression(线性回归)】对话框,这是线性回归分析的主操作窗口。

78

Page 78: 数据挖掘与商务智能 Data Mining & Business Intelligence

SPSS 在异常检测中应用 Step04:选择因变量 在【 Linear Regression(线性回归)】对话框左侧的候选变量列表框中选择一个变量,将其添加至【 Dependent(因变量)】列表框 中,即选择该变量作为多元线性回归的因变量。

Step05:选择自变量 在【 Linear Regression(线性回归)】对话框左侧的候选变量列表框中选择一个变量,将其添加至【 Independent(s)(自 变量)】列表框中,即选择该变量作为一元线性回归的自变 量。

79

Page 79: 数据挖掘与商务智能 Data Mining & Business Intelligence

SPSS 在异常检测中应用 如下图所示:

80

Page 80: 数据挖掘与商务智能 Data Mining & Business Intelligence

SPSS 在异常检测中应用 Step06:样本的筛选 从主对话框的候选变量列表框中选择一个变量,将其移至

【 Selection Variable(选择变量)】列表框中,这表示要按照这个变量的标准来筛选样本进行回归分析。具体操作可以在 Rule窗口中实现。

Step07:选择个案标签 从候选变量列表框中选择一个变量进入【 Case Labels(个案诊断)】列表框中,它的取值将作为每条记录的标签。这表示在指定作图时,以 哪个变量作为各样本数据点的标志变量。设置离群值为 3

81

Page 81: 数据挖掘与商务智能 Data Mining & Business Intelligence

SPSS 在异常检测中应用 如下图所示:

82

Page 82: 数据挖掘与商务智能 Data Mining & Business Intelligence

SPSS 在异常检测中应用 Step08:单击【 OK】按钮,结束操作, SPSS 软件自动输出结果。

83

由上表可知复相关系数 R=0.898 ,决定系数 R 方 =0.806 ,均小于 1 ,由决定系数看出回归方程的显著性不高,接

下来看方差分析表 3

Page 83: 数据挖掘与商务智能 Data Mining & Business Intelligence

SPSS 在异常检测中应用

由表 3 知 F 值为 8.283 较小,说明 x1 、 x2 、 x3整体上对 y 的影响不太显著。

84

Page 84: 数据挖掘与商务智能 Data Mining & Business Intelligence

SPSS 在异常检测中应用

回归方程为

85

Page 85: 数据挖掘与商务智能 Data Mining & Business Intelligence

SPSS 在异常检测中应用

86

y x1 x2 x3 ZRE_1 SRE_1 SDR_1 COO_1 LEV_1 160 70 35 1 -0.66014 -0.89353 -0.87604 0.16609 0.35418 260 75 40 2.4 0.5471 0.62767 0.59277 0.03115 0.14025 210 65 40 2 0.22798 0.26517 0.24349 0.0062 0.16079 265 74 42 3 -0.00388 -0.00433 -0.00396 0 0.09935 240 72 38 1.2 1.41736 1.754 2.29383 0.40874 0.24702 220 68 45 1.5 -1.0749 -2.11566 -3.83214 3.21601 0.64187 275 78 42 4 -0.74885 -1.17348 -1.22039 0.5011 0.49277 160 66 36 2 -0.85347 -1.16281 -1.20606 0.28946 0.36129 275 70 44 3.2 0.35127 0.40935 0.37902 0.015 0.16366 250 65 42 3 0.79752 1.06462 1.07911 0.22158 0.33883

对数据用 spss 进行分析得:

从表中可以看出 , 绝对值最大的学生化残差 SRE=2.11566, 小于 3,因而根据学生化残差诊断认为数据不存在异常值 . 绝对值最大的删除学生化残差为 SDR=3.83214, 因而根据学生化删除残差诊断认为第 6 个数据为异常值 . 其中中心化杠杆值 0.64187,cook 距离为 3.21601 位于第

一大 . 因此第 6 个数据为异常值 .

Page 86: 数据挖掘与商务智能 Data Mining & Business Intelligence