论文部分内容阅读
近年来,随着互联网的快速发展和普及,互联网用户及终端设备数量呈现爆发式的增长。同时,互联网也成为了网络犯罪的温床,各类犯罪事件频繁发生,因此加强对网络的监管势在必行。在此背景下,如何基于网络流量分析实时识别网络用户成为研究的热点。目前大多数研究工作将对用户的识别等同于对终端的识别,当用户拥有多个终端设备,或者终端设备被多个用户共享使用时,其识别准确率会显著降低。这些终端设备识别技术或是利用物理信号区分硬件设备的细微差异,其识别能力较弱;或是利用协议栈的相关参数识别操作系统,其识别粒度不够。而现有的基于网络流量分析的用户识别技术,往往仅利用Web访问记录识别用户,其提取的特征太少、周期太长,无法有效地在线识别网络用户。此外,传统集中式计算技术无法满足高速网络流量数据实时分析与处理的需求。针对上述问题,本论文研究了基于分布式处理的网络用户在线识别技术,并实现了一套原型系统。主要工作包含以下三个方面:1.研究了基于分布式计算的高速网络流量分析技术。利用PFQ内核模块在高速网络环境下抓取数据包,再由分布式消息队列Kafka将数据包传递至分布式处理模块,在完成对报文内容的解析与过滤、应用协议识别、应用程序识别、User-Agent检测以及DNS解析等任务后,提取应用程序、操作系统、User-Agent、DNS域名以及Web访问记录等信息,保存至分布式数据库HBase中。2.研究了网络用户在线识别技术。针对用户终端的运行环境,选择应用程序、操作系统以及User-Agent字段生成设备指纹,共包含961个特征列,并以多种分类算法训练和验证离线分类模型,最后选择逻辑回归模型以滑动窗口方式在线识别用户终端。针对用户的网络行为习惯,选择Web访问记录、DNS域名以及User-Agent字段生成行为指纹,共包含57593个特征列,以多种分类算法训练并验证离线分类模型,最后选择多项式朴素贝叶斯模型以滑动窗口方式在线识别网络用户。网络用户的在线识别准确率可以达到79.51%,同时网络用户的在线识别所需时间可以缩短至5分钟。3.整合基于分布式计算的高速网络流量分析技术和网络用户在线识别技术,设计并实现了网络用户在线识别原型系统,可以在线识别网络用户。综上所述,本论文研究并实现了网络用户在线识别技术,利用PFQ内核模块高速抓取数据包,并分布式地完成对高速网络流量的分析与处理,在此基础上研究网络用户在线识别方法,最终实现了一个网络用户在线识别原型系统,可以有效地在线识别网络用户。