郑 航 廖闻剑 唐楚俏
(1.武汉邮电科学研究院 武汉 430074)(2.南京烽火软件科技有限公司 南京 210019)(3.黄冈师范学院 黄冈 438000)
随着国内互联网的高速发展与普及,人们的日常生活在不断的改变,其已经深入到社会发展的各个方面。据第39次中国互联网发展状况统计报告,截止2016年底,中国互联网普及率达到53.2%,网民人数达到7.31亿,与欧洲人口总量相当。但是,互联网的开放性和隐蔽性也逐渐成为滋长诈骗犯罪的沃土[1~2]。据2017年上半年网络诈骗数据研究报告,全国共收到举报1万多起,金额高达1.2亿多元,其中身份冒充为主要诈骗方式之一,并有逐渐增长的趋势。犯罪分子常利用SNS(网络社交服务),如邮件、QQ、微信等方式实行诈骗[3]。由此,为防止身份被冒用带来的信息泄露或金钱损失,本文提出一种基于键盘和鼠标的双指标击键行为识别方法来有效预防此类现象的发生。
在生物特征识别研究的发展下,用户击键行为特征以实施简单、不易丢失、用户接受程度高等特点,已逐渐成为当下国内外学者研究的课题之一[4]。20世纪末,文献[5]在身份识别中首次采用击键行为特征,利用假设校验的方法进行识别,虽然实现简单,运行成本低,但效果不佳,可信度较低,不过为击键行为特征运用在身份识别中提供了新的研究方向。文献[6]采用统计学原理研究击键行为特征,将8个最常用的连音字母作为特征数据,但非法通过率较高,识别正确率低。文献[7]利用快、中、慢三种击键速度产生的击键行为特征,通过模糊数学的方法进行分析,但设计过程中选取的特征不够充分,导致分类效果不佳。随后,人们提出了不同种类的神经网络方法对击键特征进行身份识别。如文献[8]通过改变隐含层节点数来设置阈值,从而获得不同的收敛速度,得到平均错误率2.2%。同样文献[9]对17个测试用户的击键特征时间信息进行了研究,也得到了平均错误率为2.46%的结果。虽然神经网络的方法取得了不错的效果,但用于分类和预测花费的时间较长。
本文将加权贝叶斯和欧式距离算法结合的基础上,采用用户键盘和鼠标的双指标击键行为特征。该方法即可以弥补用户单一键盘击键特征或鼠标击键特征带来的不稳定性,也可提高身份认证的准确性和安全性,同时算法实现简单,具有较好的测试结果。
对于用户的击键行为,主要是通过两个时间点来决定其击键时序特征:即一个键的按下时间点和一个键的释放时间点。通过对用户各击键时间点的选取,组合成用户击键时间序列[10~11]。常见的击键时序特征[12~13]:
1)第一个键按下到第一个键释放的时间间隔,即单键(Single Key)时延TS;
2)第一个键释放到第二个键按下的时间间隔,即R-P(Release-Press)时延TRP;
3)第一个键按下到第二个键释放的时间间隔,即P-R(Press-Release)时延TPR;
4)第一个键按下到第二个键按下的时间间隔,即P-P(Press-Press)时延TPP;
5)第一个键释放到第二个键弹起的时间间隔,即R-R(Release-Release)时延TRR。
以上击键时序特征既可以是键盘的按键时序特征,也可以是鼠标的按键时序特征,如按鼠标左键、中键及右键。大多数文献中,若不特别强调,击键特征一般均泛指键盘击键时序特征。在用户击键过程中,其键盘或鼠标的击键时序特征与其他人有着显著不同,若将键盘和鼠标的击键特征相组合,共同选取为用户的击键时序特征,可以更好地反映各用户之间的行为差异,从而达到身份识别的需求[14]。
图1 击键时延特征
根据前期实验发现,每个人的键盘鼠标单键时延差异较大,且随着时间的推移,稳定性最好,改变最小,这与Robinson等人的研究结果一致[15],单键时延在击键行为特征研究中比其他键与键之间的时间间隔信息更为重要,更能表现出用户的击键行为,如图2、3所示。
图2 部分人单键时延特征
图3 dq七天单键时延的平均按键时间
由于用户在击键过程中,会出现按下键盘某个键不放或长按鼠标左键对聊天窗口进行拖拽等操作,其会产生单键时延较长,此类数据会对身份识别结果产生影响。为提高用户身份识别的准确度,在数据预处理阶段会将单键时延超过0.1s的数据进行过滤。
在用户身份识别的设计中,常用两个重要的指标来作为身份认证系统稳定性的评估标准,即错误接受率FAR(False Accept Rate)和错误拒绝率FRR(False Reject Rate)[16]。其中错误接受率是指系统误把入侵者识别成合法用户的比率,错误拒绝率是指系统误把合法用户识别成入侵者的比率,错误接受率FAR和错误拒绝率FRR公式如下:
错误接受率FAR和错误拒绝率FRR会随着身份识别系统设置的阈值变化而变化,当阈值越大,错误接受率FAR会随着阈值增大而增大,表明认证系统性能较低,容易将入侵者划分为合法用户,系统不安全;当阈值越小,错误拒绝率FRR会随着阈值减小而增大,表明认证系统校验严格,容易将合法用户识别成入侵者,这种情况往往设置在安全性能要求高的场合中。
用户身份识别的研究中,首先采用朴素贝叶斯分类理论进行用户身份识别,其步骤如下:
1)设x={t1,t2,…,td}为一个待分类用户,其表示每个待分类用户x,均存在d个特征属性,即ti;
2)系统用户集合为U={U1,U2,…,Un},其表示每个用户U,均存在u1、u2、…、ud的特征属性;
3)利用公式分别计算出x属于每个用户Ui的概率P(Ui|x);
4)P(Uk|x)=max{P(U1|x),P(U2|x),…,P(Un|x)},即该用户被分入到系统其中的一个用户中。
朴素贝叶斯分类理论是根据类变量和属性集的概率关系进行建模的方法。其算法是以贝叶斯定理为基础,计算待分类对象属于系统中每一个对象的概率,然后选择具有最大后验概率的类作为该对象所属的类,即通过某对象的先验概率,利用贝叶斯公式计算出其后验概率[17]。
其中,贝叶斯定理是计算两个对象之间的条件概率,即在一个事件发生的情况下,另一个事件发生的概率,公式如下:
其中P(X)、P(Y)分别称为X、Y的先验概率,P(X|Y)和P(Y|X)分别为在X发生的情况下Y发生的可能性和在Y发生的情况下X发生的可能性。
对于用户身份识别,Y即代表系统中的某一用户Ui,X代表待分类用户,公式如下:
在估计类条件概率时,朴素贝叶斯分类理论均假设用户中各特征属性之间相互条件独立,其形式化的表述如下:
其中属性集X包含d个属性,即{t1,t2,…,td}。由于P(X)和P(Uk)对于待分类用户均为固定,即对于确定最大的P(Uk|x),只需找出max{P(x|U1),P(x|U2),P(x|U3),…,P(x|Uk)}。假设样本用户击键特征每个单键时延是连续的且服从高斯分布,则用户每个单键时延的概率密度为
公式中,待分类用户x存在d个单键时延特征属性,即{t1,t2,…,td};用户Ui在相同单键时延ti的情况下,均值为μi,标准差为σi。
在估计条件概率时,朴素贝叶斯均假设用户各个击键特征属性相互独立,且服从高斯分布,事实上,在实际实验中,各个击键特征属性对身份识别的“重要程度”是不一样的,若将其统一而论,会产生较差的分类结果。
本文在朴素贝叶斯的基础上进行改进,提出一种加权贝叶斯方法,即利用权值对每一个击键特征属性进行加权,其可以直接影响最终的分类结果,提高分类的准确度。
在概率论中,反映一组数据集中趋势的指标有很多,均值就是其中之一。若特征属性与其均值之间相差越大,则说明该属性偏离程度越大,其特征属性越不稳定,对身份识别结果的“重要程度”越小;反之,对身份识别结果的“重要程度”越大。本文将均值与特征属性之差作为单键时延概率密度的权重系数,得到以下加权贝叶斯分类模型:
公式中,ai为用户Uk的单键时延ti的权值,即反映该单键时延的“重要程度”。
加权贝叶斯在面对孤立的噪声点和无关属性时,可以利用条件概率进行平均化,但它只是对已有的用户进行识别分类,如果在没有更新系统用户集合的情况下,有新用户进行击键行为操作,则其无法较好地对新用户进行识别。
欧式距离恰好能解决上述问题,其既可以对新用户识别提供支撑,也可以对加权贝叶斯分类结果进行验证。欧式距离是指多维空间中两个属性之间的真实距离,它能体现出个体数值特征的绝对差异[18]。当待分类用户被加权贝叶斯分类算法划分到系统中的一个用户时,利用欧式距离计算两者的相关度:
其中,u1、u2、…、ud为系统中用户的特征属性,t1、t2、…、td为待分类用户的特征属性。当计算结果小于一个给定的阈值P,则x属于用户Uk,反之则x不属于系统中现有用户。若需要添加新的确认用户,只需将该用户的特征数据加入到系统用户集合中即可。
为减少其他外界因素给身份识别结果带来的影响,实验前,志愿者们均采用统一采购的键盘和鼠标进行击键操作。特征采集阶段,本文采用HOOK技术,利用全局键盘和鼠标钩子编写Java监控程序,对Mplus(一种SNS聊天软件)进行监控,采集用户在聊天过程中键盘和鼠标的单键时延特征数据[19]。
实验阶段共采集32名志愿者160组单键击键特征数据(每组均包括了键盘和鼠标的单键击键特征数据),通过加权贝叶斯分类算法和欧式距离算法的结合,来调整阈值P的大小。
表1 FAR和FRR关于阈值P的大小
表2 朴素贝叶斯与本文算法性能测试结果
由表1可以看出,随着阈值P的减小,错误接受率FAR也在不断减小,错误拒绝率FRR在不断增大,此时身份识别系统校验越为严格。实验结果表明,当阈值P=0.07±0.005时,身份识别效果较好,错误接受率FAR为2.64%,错误拒绝率FRR为3.38%。
由表2可知,键盘和鼠标的双指标击键特征相比单一键盘击键特征,错误接受率FAR和错误拒绝率FRR都有所减小。此实验说明,双指标复合身份认证,可以在一定程度上提高系统身份认证的准确率。同时本文提出的加权贝叶斯分类算法和欧氏距离算法结合的方法,显著优于朴素贝叶斯分类算法,有效地将错误接受率FAR和错误拒绝率FRR降低到2.64%和3.38%。
本文提出一种基于键盘和鼠标击键行为身份识别方法,该方法将朴素贝叶斯分类算法进行改进,对击键特征的条件概率加入一定的权值,再和欧式距离算法结合,利用键盘和鼠标的双指标击键特征,得到了2.64%的错误接受率和3.38%的错误拒绝率。该算法易于实现,且具有较好的测试结果。但本文也存在不足之处,即可以考虑更多的击键时序特征以及控制外界环境因素的干扰,以此进一步增加用户身份识别的覆盖面和准确性。