学习人类鼠标移动行为以检测机器人
学习人类鼠标移动行为以检测机器人
原文:Learning Human Behavior for Bot Detection: A Perspective on Mouse Movement
摘要
由于机器人检测对人类用户的日常生活有重大影响,其问题引起了研究人员越来越多的关注。研究人员从不同角度提出了各种检测方法来识别恶意机器人。作为回应,机器人开发人员努力通过将类似人类的行为融入他们的机器人中来逃避现有的检测机制。为了推动机器人检测领域的研究,这项工作引入了 MouseAgent,这是一种基于对抗性生成网络的方法,它通过学习人类用户行为来生成类似人类的鼠标动作。MouseAgent 提供了两个关键优势:首先,与现有的基于函数的生成方法相比,它在准确模仿正常用户的鼠标动作方面表现出更好的相似性和逃避能力。其次,一旦生成器模型被训练出来,它就可以很容易地用来生成大量不受限制的样本。实验结果验证了 MouseAgent 在生成鼠标运动方面的有效性,展示了其能够轻松逃避为基于功能的机器人样本生成而设计的现有检测模型的能力。所提出的使用对抗网络的鼠标运动轨迹生成方法为进一步研究基于鼠标运动的机器人检测提出了新的挑战,并激发了机器人检测技术的发展。
1. 简介
机器人是指能够执行任务的自动化脚本,通常占网站流量的很大一部分。
机器人是把双刃剑,一方面,有些机器人被用于良性目的,而有些机器人则出于恶意,可能导致点击欺诈和拒绝服务攻击,极大地影响了人们的生活。人工智能虽然给人类带来了便利,但这项技术,特别是生成虚假数据的技术,也带来了巨大的网络安全风险,值得认真考虑。
因此,如何有效地检测机器人是维护计算机系统安全的关键。许多检测方法被提出从多个角度呈现,如网页端、流量端等。作为攻击者,为了逃避被检测,作为机器人的创建者,他会试图尽可能地逃避目标系统的检测。例如,通过模仿人类用户的行为,产生与人类高度相似的行为,从而欺骗检测系统。因此,为了更好地保护计算机系统,系统防御者需要对近期的攻击技术有所了解。
前期工作表明,有攻击者通过模拟正常用户的鼠标操作行为来规避系统检测。这背后的背景是,对于攻击者来说,为了降低攻击成本,很多攻击者考虑直接发送数据包的方法,但这很容易被计算机系统通过基于规则的方法确定。然而,随着机器人生成技术的发展,生成具有一定拟人化程度的鼠标行为已经变得很容易,上述方法可能会失败。根据我们的研究,目前的鼠标生成方法仍然是基于函数的方法[1]来生成简单的鼠标行为,例如,有工作使用贝塞尔曲线方法生成不同的鼠标移动轨迹,然而,该方法生成的虚假鼠标移动规则与正常用户存在较大差距。因此,这种基于轨迹的方法生成的机器人样本无法构建更强的检测模型,因此有必要设计更先进的类人机器人,然后构建更强大的检测模型。特别是最近,以对抗性生成网络(GAN)[8]为代表的生成技术在计算机视觉、音频和自然语言领域获得了巨大的发展势头。这些技术可以用来生成在鼠标移动轨迹形状方面具有更逼真的类人行为的机器人。这项工作介绍了一种通过利用生成对抗性网络(GAN)来增强类人机器人真实感的新方法。具体来说,我们建议将原始鼠标移动轨迹序列转换为相应的鼠标移动轨迹图像。通过利用 GAN 网络强大的图像学习能力,我们旨在模拟人类用户所展示的轨迹形状的分布,从而生成高度复杂且逼真的鼠标移动轨迹。
我们的主要贡献可以概括如下:
我们提出了 MouseAgent,这是一种基于对抗性生成网络的方法,它通过向人类用户学习来生成更像人类的鼠标动作。
MouseAgent 显示出两个优点:首先,与现有的基于函数的生成方法相比,它在准确模仿正常用户的鼠标动作方面表现出更好的相似性和逃避能力。
其次,一旦生成器模型经过训练,它就可以轻松用于生成大量样本。
实验结果验证了 MouseAgent 在生成鼠标动作方面的有效性,证明了它能够轻松削弱现有检测模型的安全性。
所提出的使用对抗网络的生成方法为进一步研究基于鼠标移动的机器人检测提供了一条有希望的途径,从而促进了改进的机器人检测技术的进步。
本文的其余部分组织如下。第二节介绍了机器人检测的相关工作。第三节描述了所提出的 MouseAgent。第四节介绍了实验和分析。最后,第五部分总结了我们的工作并提出了未来的工作。
2. 相关研究
本节简要概述了机器人检测的先前工作以及涉及输入行为数据(例如计算机鼠标活动)的相关研究。
A. 传统的机器人检测
为了检测机器人,已经提出了各种方法。由于其在大多数网站应用中的流行,以 CAPTCHA 为代表的检测方法成为攻击者的理想目标。然而,随着人工智能(AI)技术的发展 [19],CAPTCHA 遇到了巨大的挑战。此外,对于机器人检测,先前的工作 [5],[17] 中还从内容端、流量端和服务器端提出了方法。然而,它们中的大多数利用从特定应用场景中提取的特征并将特征发送到浅层机器学习模型以区分新样本与人类用户或机器人,这非常耗时,并且需要相应任务的专业知识。用于机器人检测。
B. 鼠标行为研究
对鼠标运动的初步认识
一条鼠标运动轨迹被定义为带有时间戳的二维点序列(x0,y0,t0),(x1,y1,t1)...(xn,yn,tn),如图1所示。近年来,鼠标动态在学术界和工业界得到了广泛的应用。研究人员根据行为差异将人类与机器人区分开来。
[7]介绍了一种基于人类观察证明(HOP)的非交互式方法,用于连续机器人检测。
具体来说,该方法被动地监视用户的输入动作以区分人类和机器人。基于行为的检测方法可以在不影响用户体验的情况下实现更高的机器人检测检测准确率。
[17]利用观察到的模式来区分机器人和人类。 [15] 强调了机器人和人类行为特征之间的相似点和不同点,说明了机器人能力的现状。[4] 提出通过分析用户的鼠标操作行为来区分人类和机器人,并在检测机器人方面取得了 99% 以上的准确率。
先前的研究表明,这种基于行为的方法是机器人检测的一种有前途的方法。
C. 生成对抗网络 (GAN)
GAN (生成对抗网络) 是一种深度学习模型,由生成器和鉴别器组成,通过对抗学习进行训练 [8]。生成器的作用是生成与训练数据分布非常相似的新数据样本,例如图像或文本。它旨在通过生成与真实数据无法区分的样本来欺骗鉴别器。另一方面,鉴别器充当分类器,区分训练集中的真实数据和生成器生成的数据。它致力于准确地将输入分类为真实或虚假两种类型。GAN 已获得广泛关注,并成为深度学习领域的一种重要方法。
在类似游戏的场景中,生成器和鉴别器参与竞争过程,生成器不断提高其生成逼真样本的能力以欺骗鉴别器,而鉴别器则增强其鉴别能力以正确分类真实数据和生成的数据。这种对抗性相互作用推动了学习过程,从而完善了两个网络。 GAN 在各种应用中都表现出色,包括图像合成、文本生成和数据增强。它们提供了一个强大的框架来捕获复杂的数据分布并生成高质量的样本。Isola 等人引入了条件对抗网络 (cGAN) 用于图像到图像的翻译任务,通过学习输入和输出之间的条件关系实现语义保留转换 [10]。2017 年,Zhang 等人提出了 StackGAN,这是一种堆叠生成对抗网络方法,用于从文本描述合成照片般逼真的图像,通过逐步生成图像来实现质量和多样性的提高 [20]。 Karras 等人 (2018) 提出了渐进式生成对抗网络 (PGGAN),该网络逐步提高网络的分辨率,从而生成更高质量、更稳定、更多样化的图像 [11]。
Zhu 等人 (2017) 介绍了 CycleGAN,这是一个用于不同域之间无监督图像转换的框架,在对抗性训练设置中使用两个生成器和两个鉴别器,无需配对训练数据即可实现域到域的图像转换 [21]。
本研究以鼠标运动为研究对象,基于生成网络的思想提出了一种新的鼠标运动生成方法,以改善现有检测模型的准确性。
3. MOUSEAGENT
本研究提出了一种基于对抗生成网络的鼠标轨迹生成方法MouseAgent,由序列到图像、DCGAN和假轨迹评估三个模块组成,如图2所示。
轨迹归一化
此部分用于将原始鼠标移动序列转换为归一化轨迹图像。根据我们的统计数据,我们将所有轨迹图像归一化为统一的512*512像素大小,以满足CNN对输入固定大小图像的要求。
DCGAN
我们提出了一种定制的深度卷积生成对抗网络(DCGAN)[16],其网络结构包含一个生成器和一个鉴别器。
生成器通过使用逆卷积层(转置卷积)将输入的随机噪声向量逐渐上采样为高分辨率合成图像。生成器的目标是生成逼真的图像样本,以混淆鉴别器的鉴别能力。而鉴别器则通过一系列卷积层对输入图像样本进行特征提取,并输出一个概率值,该概率值将真实图像样本与生成器生成的伪造图像样本区分开来。
定制的DCGAN网络结构采用一系列卷积层和逆卷积层,并结合批量归一化和激活函数(例如ReLU和Sigmoid)等操作来提高模型的表征能力和稳定性。此外,网络结构中的LeakyReLU激活函数在提供非线性特性的同时,避免了梯度消失的问题。生成器的最后一层使用Tanh激活函数将生成的图像像素值的范围限制在[-1,1]之间,以匹配真实图像值的范围。
假轨迹评估
在该模块中,我们首先将MouseAgent生成的轨迹图像转换为典型的鼠标移动序列(x0,y0),(x1,y1)...(xn,yn),并通过拟合正常用户的时间间隔分布生成相应鼠标移动序列的时间戳。之后,我们将鼠标移动轨迹点和时间戳融合成标准的鼠标移动轨迹序列(x0,y0,t0),(x1,y1,t1)...(xn,yn,tn)。然后将生成的虚假鼠标移动轨迹传递给检测模型,以评估这些生成轨迹的可逃避性。
4. 实验
A. 数据集
我们选择了[13]中100个用户,总共6913个有效的鼠标轨迹样本作为我们的人类数据来训练所提出的MouseAgent。然后,基于训练后的模型,我们生成了7000个假鼠标移动轨迹样本,作为我们生成的假鼠标移动轨迹数据BotDCGAN。
基线数据集在这项工作中,我们使用[18]设计的基于函数的方法作为我们的基线数据集Bot-function。
具体来说,它包含3000条半直线、2000条直线和1000条2阶贝塞尔曲线[2]。´
B. 评估方法
评估指标
在本研究中,我们采用真阳性率(TPR)、真阴性率(TNR)和准确率作为我们的评估指标。
• TPR:它表示正确分类的人类样本与测试人类样本总数的比例。
• TNR:它衡量正确分类的机器人样本与测试机器人样本总数的比例。
• 准确率:它量化正确分类的样本与测试样本总数的比例。
分类器:
基于不同原理的四种常见机器学习分类器,SVM [14],CART [12],感知器 [3] 和逻辑回归 [9],用于参与我们的评估实验。
训练和测试
我们采用 5 倍交叉验证 [6] 方法对训练和测试数据集进行划分,以训练旨在识别机器人的二元分类器。在这种方法中,我们将正样本和负样本数据分成 5 个相等的子集。在每次迭代中,我们利用四个子集进行训练,并保留剩余的子集进行测试。
此外,测试数据进一步平均分为测试集和验证集。通过进行一轮 5 倍交叉验证,我们评估分类器在所有迭代中的性能,并得出平均性能作为结果。这种方法确保对分类器在机器人检测中的有效性进行稳健的评估。根据我们的观察,我们从时间、速度和形状三个角度提取了不同的运动特征,如表 I 所示。
在已知机器人上的准确率
此实验旨在比较基于函数生成的假轨迹样本与我们的 MouseAgent 生成的假轨迹样本的相似程度。我们使用 100 个用户的 6913 个有效轨迹样本作为正样本。Bot-DCGAN 和 Bot-function 分别用作负样本。使用 5 倍交叉验证方法进行训练和测试。表 II 显示了比较性能。
对已知检测机器人的攻击准确率
此实验旨在评估我们生成的假鼠标移动轨迹是否具有规避现有检测模型的能力。在本实验中,我们利用由我们的 MouseAgent 生成的 Bot-DCGAN 鼠标移动轨迹样本,使用基于函数的生成方法攻击在 Bot-function 上训练的检测模型。具体来说,我们使用来自 Bot-function 的 7000 个鼠标移动轨迹样本和 100 个用户的 6913 个样本来训练已知的检测器。然后使用 MouseAgent 生成的 7000 个鼠标移动来攻击上述检测器。结果如表 III 所示
从表三可以看出,基于函数的伪轨迹样本构建的检测模型几乎难以区分基于MouseAgent生成的轨迹样本。即使是性能最好的SVM模型,对于基于我们的方法生成的轨迹,检测准确率也只有3.99%。最差的检测是由逻辑回归模型获得的,检测准确率只有0.73%。
实验结果表明,我们提出的基于GAN的伪轨迹生成样本对目前的检测模型来说非常具有挑战性。
总而言之,我们提出的基于GAN的生成伪样本明显优于基于函数的生成伪样本,可以作为伪鼠标移动轨迹的有效补充,这对建立更鲁棒的检测模型有很大的帮助。
5. 结论
本研究的目标是通过生成更复杂的攻击样本来增强现有检测模型的防护能力。为了实现这一目标,我们引入了一种名为 MouseAgent 的新方法,该方法利用了 GAN(生成对抗网络)在人类用户行为中的强大学习能力。该方法涉及通过轨迹规范化将原始鼠标移动序列转换为标准化的鼠标轨迹图像。随后,我们设计了一个定制的 DCGAN 网络,名为 MouseAgent,以方便生成假鼠标轨迹图像样本。最后,将生成的图像转换为带有来自人类样本的时间戳的标准鼠标移动序列。
实验结果证明了我们提出的 MouseAgent 在生成与真实人类样本非常相似的合成轨迹样本方面的有效性。此外,这些生成的样本有效地逃避了现有的检测模型,这些模型主要基于使用贝塞尔曲线方法的基于功能的机器人样本。这凸显了我们的生成方法作为其他虚假鼠标移动轨迹生成技术的宝贵补充的潜力。
在未来的努力中,我们旨在探索这种基于生成模型的方法如何有助于开发更强大的检测模型,以对抗不断发展的机器人攻击。
本研究得到国家重点研发计划(批准号:2018AAA0101501)、国家自然科学基金(批准号:62102308)、国家博士后资助计划(批准号:BX2021243)、中国博士后科学基金(批准号:2021M702627)和国家电网公司科技项目“电网调度与控制的人机混合增强智能基础理论”的支持。
参考文献
[1] Acien, A., Morales, A., Fierrez, J., Vera-Rodriguez, R.: Becaptchamouse: Synthetic mouse trajectories and improved bot detection. Pattern Recognition 127, 108643 (2022)
[2] Bezier, P.: Essai de definition num ´ erique des courbes et des surfaces ´ experimentales. These d’Etat, Universit ´ e Paris ´ 6 (1977)
[3] Bishop, C.M., Nasrabadi, N.M.: Pattern recognition and machine learning, vol. 4. Springer (2006)
[4] Chu, Z., Gianvecchio, S., Wang, H.: Bot or human? a behavior-based online bot detection system. In: From Database to Cyber Security, pp. 432–449. Springer (2018)
[5] Feng, Y., Li, J., Jiao, L., Wu, X.: Towards learning-based, contentagnostic detection of social bot traffic. IEEE Transactions on Dependable and Secure Computing 18 (5), 2149–2163 (2020)
[6] Fushiki, T.: Estimation of prediction error by using k-fold crossvalidation. Statistics and Computing 21, 137–146 (2011)
[7] Gianvecchio, S., Xie, M., Wu, Z., Wang, H.: Measurement and classification of humans and bots in internet chat. In: USENIX security symposium. pp. 155–170 (2008)
[8] Goodfellow, I., Pouget-Abadie, J., Mirza, M., Xu, B., Warde-Farley, D.,Ozair, S., Courville, A., Bengio, Y.: Generative adversarial networks. Communications of the ACM 63 (11), 139–144 (2020)
[9] Hosmer Jr, D.W., Lemeshow, S., Sturdivant, R.X.: Applied logistic regression, vol. 398. John Wiley & Sons (2013)
[10] Isola, P., Zhu, J.Y., Zhou, T., Efros, A.A.: Image-to-image translation with conditional adversarial networks. In: Proceedings of the IEEE conference on computer vision and pattern recognition. pp. 1125–1134 (2017)
[11] Karras, T., Aila, T., Laine, S., Lehtinen, J.: Progressive growing of gans for improved quality, stability, and variation. arXiv preprint arXiv:1710.10196 (2017)
[12] Loh, W.Y.: Classification and regression trees. Wiley interdisciplinary reviews: data mining and knowledge discovery 1 (1), 14–23 (2011)
[13] Niu, H., Wei, A., Song, Y., Cai, Z.: Exploring visual representations of computer mouse movements for bot detection using deep learning approaches. Expert Systems with Applications 229, 120225 (2023)
[14] Noble, W.S.: What is a support vector machine? Nature biotechnology 24 (12), 1565–1567 (2006)
[15] Pozzana, I., Ferrara, E.: Measuring bot and human behavioral dynamics. Frontiers in Physics p. 125 (2020)
[16] Radford, A., Metz, L., Chintala, S.: Unsupervised representation learning with deep convolutional generative adversarial networks. arXiv preprint arXiv:1511.06434 (2015)
[17] Tao, J., Xu, J., Gong, L., Li, Y., Fan, C., Zhao, Z.: Nguard: a game bot detection framework for netease mmorpgs. In: Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. pp. 811–820 (2018)
[18] Wei, A., Zhao, Y., Cai, Z.: A deep learning approach to web bot detection using mouse behavioral biometrics. In: Chinese Conference on Biometric Recognition. pp. 388–395. Springer (2019)
[19] Winston, P.H.: Artificial intelligence. Addison-Wesley Longman Publishing Co., Inc. (1984)
[20] Zhang, H., Xu, T., Li, H., Zhang, S., Wang, X., Huang, X., Metaxas, D.N.: Stackgan: Text to photo-realistic image synthesis with stacked generative adversarial networks. In: Proceedings of the IEEE international conference on computer vision. pp. 5907–5915 (2017)
[21] Zhu, J.Y., Park, T., Isola, P., Efros, A.A.: Unpaired image-to-image translation using cycle-consistent adversarial networks. In: Proceedings of the IEEE international conference on computer vision. pp. 2223–2232 (2017)