基于行为采集系统的用户特征挖掘及分析

2011-01-12 06:43王存睿王元刚陈婧杨雨
大连民族大学学报 2011年3期
关键词:项集应用程序计数

王存睿,王元刚,陈婧,杨雨

(大连民族学院计算机科学与工程学院,辽宁大连 116605)

基于行为采集系统的用户特征挖掘及分析

王存睿,王元刚,陈婧,杨雨

(大连民族学院计算机科学与工程学院,辽宁大连 116605)

结合用户行为时间序列和操作频次,融合FP-GROWTH算法设计了用户特征挖掘算法,建立网络形式的用户行为特征表达方法,设计了相应的用户行为采集系统,给出了相应的设计框架和存储结构。并以高校学生为研究对象采集了相应的数据对系统进行测试,实验结果表明该系统可以捕捉和分析用户行为,并对用户的习惯行为进行表达,进而揭示用户的行为习惯。

数据挖掘;行为特征;用户行为网络

行为习惯特征是指不同用户在操作计算机过程中自身具有的独特习惯性和规律性。计算机用户行为的特征分析在很多应用领域具有重要的价值。在信息安全领域,传统的安全软件仅限于木马和病毒的检测与查杀,对于其它形式的“合法”的入侵行为缺乏有效的保护。如已知密码登陆计算机。此外,对不同群体的计算机用户的特征行为分析和理解可以帮助软件厂家改进设计,还可以利用这些特征作为身份识别依据。因此,设计相应的行为表达方法和采集系统能够较全面的捕捉用户的行为规律是进一步分析的前提条件。

个人计算机的行为(Personal Computer Behavioral Characteristic)研究相比于网络行为特征研究开展相对较晚[1]。传统研究集中于用户在某个网站进行跳转形成的操作习惯,进而对网站进行优化设计。James P.Anderson在对用户行为研究的基础上,首次提出了个人计算机IDS(Intrusion Detection System)的概念,此后Dorothy Denning和SRI/CSL的Peter Neumann提出了入侵检测专家系统IDES(Intrusion Detection Expert System)[2]。个人计算机用户行为不同于传统的行为采集,需要通过操作系统捕捉用户的行为习惯。个人计算机用户行为主要分为硬件行为和软件行为两个方面。硬件方面主要指键盘和鼠标的操作,包括鼠标的单、双击频率、拖拽次数和键盘的按键频率和敲击频率等等。软件的行为特征主要研究用户操作各种软件及其在其中相应操作的行为特征,通过对其时序和频率来分析和挖掘用户特征行为。本文主要针对用户软件操作行为进行捕捉和采集,并对其进行相应的挖掘和分析。

1 用户行为采集系统的设计

要分析用户的行为特征需要采集相应的用户数据,采集数据需要构建相应采集用户特征采集系统。本文基于Windows系统设计了用户行为采集系统。主要是基于Windows Hook函数类库进行构建,本文对该类库的机理进行了解释,给出了基于Hook函数类库的采集系统设计框图,以及采集的用户行为存储的数据内容和存储形式。

1.1 基于Hook类库的计算机用户行为采集

Windows系统上的程序运行模式是基于消息驱动机制的。当某一线程注册窗口类时,操作系统会建立相应的消息队列来接受该线程的输入消息和系统消息[3]。要取得特定线程的消息接收或发送,可以采用微软公司提供的操作系统库函数。Hook函数库可以为正在运行的程序创建监视点,利用Hook函数对指定窗口各种类型的消息进行监视。消息到达后,在目标窗口处理函数之前,钩子可以对该应用程序的消息进行截获并进行处理[4]。

Hook函数包含12种类型,可以拦截消息队列中的各种消息,见表1。其中的WH_CBT钩子可以对以下的事件进行拦截:①窗体激活、创建、销毁、最小化、最大化、移动和大小改变;②完成系统命令;③从系统消息队列中移除鼠标或键盘事件;④设置键盘焦点;⑤同步系统消息队列。WH_CBTHOOK函数集可以更加全面地捕捉用户应用程序使用行为,对操作系统的运行影响相对较小[3]。

表1 Windows钩子类型表

消息被拦截后,Hook函数捕捉用户行为的特征。前提是该系统在操作系统开启时自动后台运行。该系统的开启时间和关闭时间同步于操作系统的开机和关机时间。首先建立对应关系,将每个进程对应唯一的应用程序。因为每个应用程序都具有唯一的进程名,在研究过程中可以用进程名代替应用程序名称。窗口标题是描述窗口的重要信息,从中可以了解应用程序的使用细节。本系统使用Windows API函数通过程序句柄和窗口句柄获得进程名和窗口标题以及其它相关特征。

图1 利用Windows API函数提取用户行为特征值

1.2 用户行为存储

本系统数据库包含4个表,分别是存储系统登录信息、应用程序进程名、窗口操作信息和行为特征分析结果表。

如图2,为该数据库的实体-联系图(Entity-Relation Diagram)。

图2 信息采集系统的数据库ER图

1.3 基于FP-growth算法的用户行为挖掘

本系统采用频繁模式挖掘算法中FP-growth算法处理数据库中各个样本数据[5]。FP-growth算法一种高效的频繁项集挖掘算法,它采用分治策略将频繁项的数据库压缩到频繁模式树,并保留项集的关联信息。然后,以不同用户的数据作为筛选条件生成各个子集,利用FP-growth算法挖掘其中的频繁模式,得到模式树。为了能够更加直观对用户行为进行分析,进而将模式树转换为网络关联图。

首先,数据库中的用户行为数据被处理成事务数据库。采集过程从用户行为采集系统开启到关闭,程序ID表示程序名,则这一期间内使用的应用程序组成的项集即为一次事务,并用事务ID标识。然后利用FP-growth算法挖掘数据集频繁项集,过程如图3。

本文以事务数据库为数据基础创建FPTree。扫描事务数据库D一次。收集频繁项的集合F和它们的支持度计数降序排序,结果为频繁项列表L。创建FP树的根节点,以“null”标识。对于数据集D中每个事务Trans执行以下操作:选择Trans中的频繁项,并按L中的次序排序。设排序后的Trans中频繁项列表为[p|P],其中p是第一个元素,而P是剩余元素的列表。调用insert_tree([p|P],T)。该过程执行情况如下:如果T有一个子节点N使得N的项名与p的项名相同,则N的计数增加1;否则创建一个新节点N,将其计数设置为1,链接到它的父节点T,并且通过节点链结构将其链接到具有相同项名的节点。如果P非空,递归调用insert_tree(P,N)。

图3 FP-growth算法挖掘频繁项集过程示意图

设置最小支持度计数,对FP-tree进行挖掘。建立以{项ID,支持度计数,节点链}为节点格式的FP-tree头表α。FP-tree的挖掘过程通过调用FP_growth(Tree,α)实现。该过程实现如下:如果Tree含有单个路径P,那么遍历路径P中节点的每个组合β产生模式β∪α,其支持度计数等于P中节点的最小支持度计数。如果Tree不含有单个路径,那么遍历Tree的头表中的每个αi产生模式β∈ α∪αi,其支持度计数等于αi的支持度计数;构造β的条件模式基,然后构造β的条件FP树Treeβ;如果Treeβ不为空集,则调用FP_growth(Treeβ,β)。最后,为了可视化研究各用户行为的特征,需要将其转化为关系网络表示。设应用程序集合为A= {a1,a2,a3,…,an},FP-Tree算法得到的频繁项集为B={b1,b2,b3,…,bm},m<n。b1为一个三元组{ai,aj,ω},其中ai,aj∈A,ω为该组合的频繁次数,该三元组可以表达频繁项集的完整信息。

3 实验结果与分析

为验证系统的有效性,本文以高校的学生为对象采集了相应的用户数据。Y用户和W用户经过系统采集,算法分析出的关系网络如图5,其中列出了Y和W在网格边权重大于等于3、5、7的用户行为关系网络。

图4 两个不用学生用户行为关系网络

通过对图5的行为关系网络,可以看出Y用户和W用户的行为特征存在显著差别。Y用户习惯于使用Google浏览器,然后跳转切换于各种即时通讯软件,A用户网络也显示出迅雷软件和Chrome浏览器不兼容,使用迅雷下载需要开启IE浏览器,因为网络中这两个节点关联强度较高。W用户程序切换于腾讯QQ及其音乐软件,同时进行文档查看和程序开发。不仅可以通过不同用户的特征行为区分用户的合法身份,还可以研究一些用户的共同行为特征,对多个用户的不同权重的行为关系网进行图结构模式挖掘,挖掘出该类用户共同的行为特征[6]。

4 结语

本文为研究用户行为特征,通过Windows API构建了用户行为捕捉系统,捕捉用户在操作计算机过程中的各种软件切换操作,并将其记录于数据库中,通过FP-Tree算法从数据集中提取频繁模式树,为便于可视化分析,将该树转化为关系网络。该系统可以用于安全和行为模式研究,具有较好的应用价值和实际意义。实验结果也证明该系统可以分析出不用用户的不同行为特征。

此外,该系统通过进一步开发用户的其他硬件行为特征,在软件使用时的行为特征,结合时序进行进一步的深入研究,为行为特征研究提供较好的支撑平台。

[1]袁霖,王怀民,尹刚,等.开源环境下开发人员行为特征挖掘与分析[J].计算机学报,2010,33(10):1910-1918.

[2]郑红艳,吴照林.用户行为异常检测模型[J].计算机系统应用,2009,18(8):190-192.

[3]杰瑞夫,克里斯托夫.Windows核心编程[M].北京:清华大学出版社,2008.

[4]王艳平,张铮.Windows程序设计[M].2版.北京:人民邮电出版社,2008.

[5]韩家炜,堪博.数据挖掘概念与技术[M].北京:机械工业出版社,2007.

[6]连一峰,戴英侠,王航.基于模式挖掘的用户行为异常检测[J].计算机学报,2002,25(3):326-330.

Mining and Analysis on User’s Features Based on Behavior Acquisition System

WANG Cun-rui,WANG Yuan-gang,CHEN Jing,YANG Yu
(College of Computer Science&Engineering,Dalian Nationalities University,Dalian Liaoning 116605,China)

A software system of user’s behavior acquisition that gives the corresponding design frame and storage structures has developed.A mining algorithm of user features has also designed.An expression method of user’s behavior features in the form of network has established,which is with the combination of user’s behavior in time series and operating frequency,and with the fusion of FP-GROWTH algorithm.University students had been chosen as the study objects and had offered the corresponding data for the system test.The results indicate that the system can capture and analyze user’s behavior,and then to express the user’s habitual behavior,which can be revealed thus.

data mining;behavior feature;network of user’s behavior relationship

TU317

A

1009-315X(2011)03-0296-04

2011-01-17;最后

2011-04-26

王存睿(1980-),男,吉林辽源人,讲师,主要从事数据挖掘和智能计算研究。

(责任编辑 刘敏)

猜你喜欢
项集应用程序计数
古人计数
递归计数的六种方式
古代的计数方法
删除Win10中自带的应用程序
谷歌禁止加密货币应用程序
不确定数据的约束频繁闭项集挖掘算法
这样“计数”不恼人
一种新的改进Apriori算法*
分布式数据库的精简频繁模式集及其挖掘算法*
三星电子将开设应用程序下载商店