基于鼠标行为的电子商务中用户异常行为检测
2016-03-22马磊
马磊
摘要:针对电子商务中用户身份易被窃取冒用这一问题,设计研究了利用鼠标输入行为特征进行身份识别的方法,通过采集网上购物过程中用户的鼠标行为数据,使用聚类算法进行鼠标行为模式的固化,通过比较鼠标行为特征向量间的距离进行用户行为合法性判断。方法应用在电子商务系统,误检率与漏检率均在可接受范围内,可作为电子商务中用户身份认证的一种新的辅助手段。
关键词:电子商务;鼠标行为;异常检测;身份认证;特征向量
中图分类号:TP393.08 文献标识码:A 文章编号:1009-3044(2016)02-0241-02
Abstract: The phenomenon of identity theft in e-commerce frequently happens, and credible problem has aroused wide public concern. In order to solve this problem, this paper discusses the method of identity authentication and anomaly detection by using the feature of mouse behavior. Mouse behavior data is collected during shopping and clustering algorithm is used to build the normal mouse behavior pattern. The distance between feature vectors is compared with the defined threshold to differentiate legal and illegal users. This method can be used as a new auxiliary method in user identity authentication in e-commerce, with low FAR and FRR.
Key words: e-commerce; mouse behavior; anomaly detection; identity authentication; feature vector
1 引言
随着互联网的发展,电子商务已经成为人们日常生活不可缺少的部分。然而由于网上交易和网络支付平台的迅速兴起,网络支付安全体系尚不健全,网络购物人数不断增加,各种消费欺诈、用户信息泄漏问题频出[1-2]。网络交易中用户的身份验证普遍采用数字证书的方法[3],但是数字证书使用的用户名、密码等信息易泄露,这种方法并不能很好地解决用户身份可信的问题。
本文研究了通过用户行为模式进行身份认证的方法,提出利用鼠标行为认证的方法,对电子商务中用户购物行为的安全性加以保障。在以往的案例中,对用户行为的建模研究多运用于个性化推荐等方面[4],旨在提升用户的网购体验。本文的方法以电子商务活动中用户的购物行为所产生的鼠标行为数据为研究对象,根据用户特有的鼠标行为进行抽象建模,固化合法用户的鼠标行为模式,进而通过模式匹配判断新的购物行为是否属于异常行为。该策略无需辅助设备,可直接部署使用,不存在硬件设备的时效性和携带不便问题,便于优化用户操作体验。
2 基于鼠标行为的异常行为检测方法
2.1 异常行为检测原理
用户在电子商务网站实施的操作是多样化的:登录网站,浏览选购商品,加入或清空购物车,提交或取消订单等。在讨论用户异常行为时,类似于清空购物车,取消订单等的行为,对用户的钱财不会造成损失。所以本文选择了对用户利益可能有实质性伤害的有序行为,即要购买某个商品必须操作的流程,进行分析。
可以把这些流程抽象成一个类似自动机的模型。自动机有状态集,初态,终态,输入字符和转移函数,在某个状态下,输入某个字符,根据转移函数就转移到相应的状态[5]。图1表示了抽象的类自动机模型。该“类自动机”可以表示为5-元组D=(Q, ∑, δ, q0, F),其中:
(1) Q 是非空有穷集合,称为状态集。图1中用圆角矩形表示,每个圆角矩形表示一种状态。
(3) F 是终止状态集合 (F?Q)。图1中终态有两种,即两种判断结果状态:正常与异常状态。
(4) ∑ 是抽象符号的有限集合。图1中,∑={0,1}。字符1抽象表示满足一定的条件,0表示不满足该条件。
(5) δ 是状态转移函数。
在此模型中,当输入字符为0时,即该阶段的鼠标行为特征向量不匹配时,则当前状态直接转移到终态集中的异常状态,判断出当前用户行为是异常的。只有每次输入的抽象字符是1,即每个阶段的鼠标行为特征向量都匹配时,才能最终转移到终态集中的正常状态,判断出当前用户的行为是正常的。综上所述,检测异常行为的过程就是运行该“类自动机”的过程。
运行上述“类自动机”过程中,最重要的环节是判断每个阶段的输入符号为1还是0,即每个阶段的鼠标行为特征向量是否匹配,具体地可以这样操作:利用该阶段时用户的鼠标行为数据,通过数学运算得到鼠标行为特征值,并利用基于欧式距离的K-Means聚类算法生成当前用户鼠标行为特征向量,并与之前根据训练阶段所采集的鼠标行为数据分析生成的正常用户行为特征向量,进行匹配,超过一定的阈值,则可以判断出当前行为属于异常行为,否则为正常行为。整个过程如图2所示。
2.2 鼠标行为特征向量定义和匹配
考虑到在一般的电商网站中,很少或基本不会进行双击操作,所以主要采集鼠标单击和移动两种操作产生的数据。单击时采集数据项有:网站页面序号, X、Y轴坐标值,时间戳,其中网站页面序号这个数据项代表了用户购物的状态,表示用户进行到登录、浏览、下单等几个阶段中哪一步。使用上述数据项,通过数学计算可得到单击时间间隔,单击范围分布等。在采集移动鼠标数据时,需要预先设定一个采样率[6]。移动时采集数据项包括:网站页面序号,X、Y轴坐标值,时间戳。通过这几项数据,后续可以计算出移动速度,加速度,移动角度值等特征属性。
K-Means聚类算法是一种迭代的聚类算法,该算法事先设置K值,算法的结果是将数据划分为K个簇集和相应簇心。每个簇集的簇心就是该簇集中所有数据的均值,物理意义就是簇集中数据的行心[7]。
鼠标行为特征向量的设计,可以利用上述采集到的特征属性值和K-Means聚类算法。考虑到应用环境为电子商务购物网站,在购物过程中每个状态跳转都可以定义独特的特征向量。具体地,如在图1中从“未登录”状态转移时,考虑到每个用户的手速和操作习惯等不同,可以把单击时间间隔均值及其标准差作为特征向量的一部分;另外,单击区域也因人而异,可将采集到的大量单击点坐标,通过基于欧氏距离的K-Means聚类算法,得到最密集簇的簇心坐标作为特征向量的一部分。其余的状态转移时设计的特征向量类似于上述内容,故不再赘述。
特征向量的匹配,则需要计算特征向量间的距离。考虑到特征向量中的各个特征分量的数量级和单位不同,可以先对特征向量中的各个特征分量做归一化处理,然后求特征向量之间欧式距离。若该距离超过一定的阈值,则可以判断出待测的特征向量异常,检测流程直接跳转至异常状态,拒绝该用户的后续操作。具体如图3所示。
3 实验结果分析
实验有6名用户参与,采集这些用户在购物网站中产生的鼠标行为数据,生成行为特征向量,使用上节所述的检测方法进行用户身份的识别。实验中采用Failed Acceptance Rate (FAR,漏检率)和Failed Rejection Rate (FRR,误检率)[8]两个指标进行效果分析。最终实验结果如表1所示,从表中数据可以得出:该方法的平均FAR为10.50%,FRR为9.72%,说明系统可以较好地识别用户,检测出异常的用户行为。
4 结论
本文针对电子商务中频繁的用户身份冒用现象,给出了利用用户鼠标行为特征进行用户身份认证,进行用户行为异常检测的方法。该方法不需要额外的硬件辅助,只需要在购物网站中嵌入代码采集用户鼠标数据就可以对用户身份进行识别。同时用户鼠标行为特征信息区别于传统的用户名密码信息,具有独特性、不易模仿性和不易盗取性,运用到电子商务用户身份认证领域,具有一定的实用价值。
参考文献:
[1] 胡伟雄. 电子商务安全与认证[M]. 北京: 高等教育出版社, 2010.
[2] 中国互联网络信息中心. 第31次中国互联网络发展状况统计报告[DB/OL]. (2013-01). http://news.xinhuanet.com/tech/2013-01/15/c_124233840.htm.
[3] 朱玲玲. 网络安全中的用户身份认证机制[J]. 中国科技信息, 2006, 1(1): 46-47.
[4] 吴胜兵. Web 数据挖掘的应用与研究[M]. 南昌大学, 2007.
[5] Hopcroft J E, 霍普克罗夫特, Motwani R, et al. 自动机理论, 语言和计算导论[M]. 机械工业出版社, 2004.
[6] Pusara M, Brodley C E. User re-authentication via mouse movements[C]//Proceedings of the 2004 ACM workshop on Visualization and data mining for computer security. ACM, 2004: 1-8.
[7] Machine learning: An artificial intelligence approach[M]. Springer Science & Business Media, 2013.
[8] Hand D J. Measuring classifier performance: a coherent alternative to the area under the ROC curve[J]. Machine learning, 2009, 77(1): 103-123.