Continuous Authentication for Mouse Dynamics: A Pattern-Growth Approach
背景知识
- 用户验证机制
- 鼠标动力学
- 内在行为变量
- 缺乏恶意用户的数据
- 没用公开的鼠标动力学数据
- 鼠标行为模式
- 猜想
- 观察到
- 从行为模式中提取的测量方法比用整体的行为中提取的要好
- 假设
- 固定重复的行为模式
- 提供了更加稳定可以区分的特征和测量方法
- 允许更精确地从鼠标行为的可辨别组分中提取特征
- 单一分类
- 只有合法用户模式可以获得
- 同时使用合法用户和伪装用户训练分类器并不现实
论文目标和贡献
- 使用基于模式增长的数据挖掘方法来提取固定重复的鼠标行为模式
- 单一分类器
- 建立一个鼠标行为数据集
- 开发一个简单高效的用户持续验证方法
数据(鼠标行为数据)
数据来源
- 设定实验环境
- 相同的电脑配置
- 所有的用户都是大学生(有些人的专业是计算机科学)
- 28 名参与者
- 每用户大约90,000个鼠标动作
- 30 次会话
- 每次30分钟
- 上网冲浪,文字处理,在线聊天,编程,在线游戏
- 每个参与者记录30-60天
- 数据记录
- 事件类型(例如,鼠标移动/点击),位置,时间戳,应用程序信息
鼠标行为分析
- 鼠标事件
- 系统消息发送到接收应用程序
- 类型
Mouse Down
Mouse Up
Mouse Wheel
Mouse Move
- 鼠标动作
- 把鼠标动作记录为鼠标操作
- 鼠标操作
- 记录元组:
<action-type, application-type, screen-area, window-position, timestamp>
- 鼠标行为模式:固定重复的鼠标行为模式
- 细微习惯行为模式
- 有计划的任务中的行为模式
- 特定应用程序的操作习惯(例如,使用应用程序的特定功能)
鼠标行为模式挖掘
标记定义
- I={i1,i2,...,in}, 所有鼠标操作的集合
- operation-set: 一个鼠标操作集
- 例如:{(1,3,4,0),(2,1,4,0),(3,1,4,0)}
- s,按照用户 ID 和时间戳排序的序列
- s={s1,s2,...,sk},其中每个 sj
- 一个 operation-set (I 的子集), sj⊂I,其中 1≤j≤l
- 被称为序列 s 的一个元素
- sj=⟨x1,x2,...,xm⟩,其中每个 xk 是一个鼠标操作
- 例如:
- s={⟨(1,3,4,0)⟩,⟨(1,3,4,0),(2,1,4,0),(3,1,4,0)⟩,⟨(2,1,2,1)⟩}
- length(s)=5
- α,s 的一个子序列
- 例如:
- {⟨(1,3,4,0),(2,1,4,0),(3,1,4,0)⟩} 的一个子序列是 {⟨(1,3,4,0)⟩}
- L,序列长度:鼠标操作实例的个数
- L-sequence:长度为 L 的序列
- S,鼠标操作序列数据库
- 元组 ⟨ID,sid,s⟩ 的集合
- ID,用户 ID
- sid,ID 的序列
- s, 序列
- SupportS(α) = 数据集 S 中包含 α 的元组的数量
- SupportS≥ξ 可被称为序列模型
- 问题陈述
数据挖掘方法
- PrefixSpan
- Mining Sequential Patterns by Pattern Growth: The PrefixSpan Approach (2004)
- 将数据库映射到一组较小的数据库中
- 在每个已映射的数据空中挖掘本地重复模式
行为模式参考的生成与匹配
- 创建“基线”,由正常行为模式生成
- 对于每个用户
- 从每次会话中挖掘行为模式
- 收集所有模式作为行为模式参考
- 模式匹配
行为模式分析
- 设置最小 support 值为 8%
- 以此权衡最小 support 和真是有效的行为模式
特征
从挖掘到的模式中构造特征
- 点击时间
- 用户执行点击操作花费的时间
- 单击:总时间的平均值,标准差
- 双击:总时间,以及三个间隔的平均值,标准差
- 运动速度
- 不同类型的鼠标移动的平均速度
- 24种类型:8个方向,3个距离范围
- 运动加速度
- 最大速度在速度曲线上的相对位置
- 总共92个特征
- 20个点击相关的特征
- 24个运动相关的特征
- 24个加速度相关的特征
- 24个最大速度相关的特征
特征实例研究
- 行为模式特征的稳定性
- 特征的偏斜可能来自
- 例子
- 核密度估计
- 计算每个特征的概率密度函数,特征来自
- 从行为模式中判别特征
- 从行为模式中提取出的特征确实优于整体行为中提取的特征
- 特征跨项目的统计分布
实施检测
- 邻近算法
- k=3
- 异常分数
- 训练和测试特征向量之间的 Mahalanobis 距离
- 神经网络
- 单一隐藏层
- 输入神经元,p
- 隐藏神经元,⌊2p/3⌋
- 输出神经元,1
- 用每一个输入特征向量训练检测器使得输出为1.0
- 测试向量输入神经网络,输出值大约为 1.0 或 -1.0
- 单分类 SVM
局限性
- 样品仅采样自特定的机构(大学)
- 没有攻击者的样本
- 每次部署都需要收集数据和训练模型
参考资料
- Continuous Authentication for Mouse Dynamics: A Pattern-Growth Approach (C. Shen et al., 2012)
- CS 259D Lecture 5