CS 259D An Examination of User Behavior for Re-Authentication

作者:Leo

  • 背景信息和启发
    • 再认证
    • 生物行为信息 (再)认证
  • 用户再认证系统的目标
  • 多模态数据分析
  • 样本采集
    • 数据集 I
    • 数据集 II
    • 数据集 III
  • 数据处理和特征提取
    • 鼠标
      • 鼠标数据
      • 鼠标数据层次结构
      • 鼠标数据特征
    • 按键
      • 按键数据
      • 按键特征层次结构
      • 按键数据特征
    • GUI
      • GUI 数据
      • GUI 特征层次结构
      • GUI 数据特征
    • 特征空间总结
  • 实施方案
  • 实验
  • 参考资料

大多数事故(83%)属于祸起萧墙,且发生在工作时间。

几乎所有的银行金融业发生法的内部事故都会使机构蒙受经济损失: 30%的案件财务损失超过了50万美元。 许多机构的诸多方面都受到了损害。

美国特勤局国家威胁评估中心(NTAC),内部威胁研究(2004)

背景信息和启发

再认证

  • 在用户的会话进行期间持续对用户进行身份验证
  • 当前用户是否与验证的身份相同
  • 证书、凭据被盗
  • 方法
    • 间接:分析操作系统和应用程序
      • 系统调用、调用堆栈数据操作、程序跟踪分析
    • 直接:分析有效的用户
      • 命令行输入数据、按键、鼠标活动、GUI 事件
  • 处理过程
    • 从每个用户收集干净的数据
    • 建立每个用户正常行为的配置文件
    • 使用配置文件来比较当前用户的行为与有效用户的行为
    • 标记任何显着的行为差异

生物行为信息 (再)认证

  • 攻击者逃避传统的 IDS
  • 部署方案
    • 开放环境
      • 公共图书馆,网吧
      • 无监督学习
      • 只有来自有效用户的数据可用于分析
    • 封闭环境
      • 公司办公室,政府大楼
      • 可以收集所有用户的数据
      • 监督学习

用户再认证系统的目标

  • 计算机安全目标
    • 设计并实现一个线上可扩展的用户再认证系统。该系统收集来自鼠标和键盘的用户输入数据,以及来自 GUI 事件的数据,并以此检测攻击者。
  • 机器学习目标
    • 在每名用户数据量有限的情况下,利用高维时间序列数据,设计出一个准确的分类系统,以此检测入侵者。
  • 目标
    1. 检测内部人员冒充其他内部人员;
    2. 检测外部人员冒充内部人员;
    3. 成对检测用户;
    4. 在不同硬件条件下确定用户配置文件的敏感度;
    5. 当用户行为相似时分辨用户;
    6. 确定系统的可扩展性和计算效率;
    7. 以分别和组合的方式,确定每个数据源(例如,鼠标、按键和GUI)的强度;
    8. 利用数据的粒度得到综合特征空间;
    9. 将候选特征空间减少到一个最具预判性的子集;
    10. 在每个用户数据集的数据量有限的情况下,提高精度。

多模态数据分析

  • 多数据来源
  • 合并数据来源依照以下级别
    • 数据级别
      • 可能会错过特征
    • 特征级别
      • 分类器使用的特征被打包在一起
    • 分类器级别
      • 每个数据源都有单独的分类器
      • 投票确定最终决策

样本采集

数据集 I

  • 61名志愿者
    • 任务1:
      • 阅读任务
      • 20道关于任务的题目
    • 任务2:
      • 浏览一组网页
      • 另一组问题
    • 平均数据收集4个小时
      • 平均92K个数据点,每个用户4.5MB数据

数据集 II

  • 一个用户,五个不同的计算机和输入输出配置
  • 和数据集 I 的任务相同

数据集 III

  • 73名志愿者执行相同的任务
  • 和数据集 I 相比
    • 没有暂停时间
    • I/O 事件体积更小,也更紧密

数据处理和特征提取

  • 直接配置有效的用户
  • 按键
  • 鼠标移动
  • GUI事件
  • 数据点(格式)
    • 事件ID(由操作系统分配)
    • 屏幕坐标 X
    • 屏幕坐标 Y
    • 系统时间
    • 应用程序
      • 不算做特征

鼠标

鼠标数据

  • 所有 Windows 鼠标事件

鼠标数据层次结构

  • 鼠标
    • 非客户移动
    • 鼠标事件
      • 点击
        • 单击
        • 双击
      • 滚轮
    • 鼠标移动
  • 用户区域:菜单和工具栏下面的应用程序窗口区域
  • 用户区域鼠标移动的速率
    • 每秒有几百个动作
    • 数据太多,没有收集全部数据
    • 如果光标位置改变,则每隔100 ms记录一次
  • 单击和双击
    • 最不常见的鼠标事件
    • 更高的精度没有帮助
    • 没有记录按压持续时间

鼠标数据特征

  • 鼠标事件特征
    • 一个窗口 W 个数据点
      • 每个鼠标事件类别和子类别的事件数量
        • 从两个后续事件或由K个数据点(相同类别或子类别的事件)分隔的两个事件提取的其他特征
          • 为每个用户和事件类型提供一个参数 k
    • 特征:以下信息的,均值,标准差,偏斜度
      • 距离
      • 速度 = 距离(P,Q)/时间(P,Q)
      • 方位角度
      • X 坐标
      • Y 坐标
      • N-graph 持续时间 (n取值从1到8)
        • 第一个和第N个数据点之间的经过时间
    • 共200个特征
  • 鼠标移动特征
    • 非用户移动特征
      • 类似于事件特征
      • 计算距离,速度,角度等
        • 在两个后续的非用户移动之间
        • 两个非用户移动被K个数据点相隔
      • 共40个特征
    • 用户区域移动
      • 类似于非用户移动特征
      • 共40个特征

按键

按键数据

  • Windows 中有两种按键类型
    • WM_KEYDOWN
    • WM_KEYUP
    • 按键信息有唯一的 ID 表示

按键特征层次结构

  • 按键
    • 功能键
      • 例如:F1-F12
    • 控制键
      • 例如:Control,Alt,Delete
    • 打字键
      • 子母
      • 数字
    • 编辑键
      • 例如:Page Up/Down,Tab,方向键
    • 其他
      • 例如:标点,Pause/Break,PrtSc/SysRq

按键数据特征

  • 一个窗口 W 个数据点
    • 每个类别和子类别的事件数量
    • 每个字母和每个数字的出现次数
      • 26个字母特征,10个数字特征
    • 以下信息的,均值,标准差,偏斜度
      • N-graph 持续时间 (n取值从1到8)
    • 共236个特征

GUI

GUI 数据

  • 由138个 GUI 事件引发的数据
  • 根据特征分为等级

GUI 特征层次结构

  • GUI
    • 空间上
      • 窗口
        • 滚动条、最小化、最大化、还原、移动等
      • 控制
        • 应用程序、进程控制、打开/关闭等
      • 菜单
        • 打开、选择、导航、关闭等
      • 项目
        • 列表、按钮等
    • 时间上
      • 图标
      • 对话
      • 查询
      • 组合框
        • 打开/关闭、选择、移动、调整大小等
      • 杂项
        • 通电/断电、语言更改、背景颜色更改等

GUI 数据特征

  • 空间特征
    • 一个窗口 W 个数据点
      • 每个空间类别的事件数量
      • 后续的空间事件或由K个数据点分隔的空间事件
        • 均值,标准差,偏斜度
        • 距离
        • 速度
        • 方位角
        • X坐标
        • Y坐标
        • N-graph 持续时间 (n取值从1到8)
      • 共200个特征
  • 时间特征
    • 一个窗口 W 个数据点
      • 每个时间类别的事件数量
      • 后续的时间事件或由K个数据点分隔的时间事件
        • 均值,标准差,偏斜度
        • N-graph 持续时间 (n取值从1到8)
      • 共240个特征

特征空间总结

  • 每个用户,窗口大小 W
    • 尝试:100,300,500,1000
    • 选择:500
  • 每个用户每个子类别,频率 K
    • 尝试:1,5,10,15,20
    • 选择:频繁事件为8,否则为1
      • 频繁程度:大于十次每秒
      • 频繁事件
        • 所有鼠标事件
        • 鼠标移动
        • 鼠标滚轮事件
        • 非用户鼠标移动
        • 所有 GUI 时间
        • 空间+时间
        • 时间
        • 窗口
        • 对话框
  • 候选特征空间维度:956
  • 分层可以提高性能
    • 从较低级别的鼠标层次结构中删除特征,使得分类器的性能降低

实施方案

  • 两个方案
    • 一次分类一个特征向量实例
      • C4.5
      • 如果实例匹配正常配置文件,则服务其请求
      • 否则,通知系统管理员,要求重新验证或关闭会话
      • 可能导致高误报率
    • 平滑
      • 查看n(n介于1到11)个特征向量实例的一个窗口
      • 如果m(m介于1到n)个实例匹配正常配置文件,则服务其请求
      • 重叠滑动窗口
      • W-s 个旧数据点, s 个新数据
      • 如果 s = 50,相当于间隔5秒
      • 减少发出报警时间
  • 假警铃率
    • 警铃(bell),在没有终端的正常窗口中,连续的警报序列
    • 假警铃率(false bell rate) = 假警铃数 / 警报数
  • 验证
    • 10-fold CV

实验

  • 两两辨识
    • 辨别正常用户
  • 异常检测
    • 检测内部人员冒充其他内部人员
  • 检测看不见的用户
    • 检测冒充内部人员的冒充者
  • 跟踪合法用户
    • 在不同的硬件设备上识别同一的合法用户

参考资料

  • An examination of user behavior for re- authentication (M. Pusara’s PhD thesis, 2007)
  • CS 259D Lecture 4

发表评论

电子邮件地址不会被公开。 必填项已用*标注