1、 年月第 卷第期计算机工程与设计 基于大数据平台的网络日志机器行为分析陈涵,张仰森,何梓源,祁浩家,黄改娟,(北京信息科技大学 智能信息处理研究所,北京 ;北京交通大学 国家经济安全预警工程北京实验室,北京 )摘要:为从海量日志中分析并提取可能存在的机器行为日志,应用概率统计和 算法对网络日志进行分析,提出基于多阶段层次化判别的 模型,共包含两部分内容,分别为基于特征规则和阈值匹配的机器行为判定模型与基于 的机器行为识别模型。应用 批处理框架,对所提模型进行算法实现,构建以一小时为单位的分布式网络日志批处理分析平台。在万和千万级别规模的数据上,对构建的大数据日志分析处理平台进行测试,验证了所提
2、模型的有效性。关键词:网络日志;超文本传输协议;机器行为识别;数据分析与挖掘;深度学习;分布式存储技术;大数据计算技术中图法分类号:文献标识号:文章编号:():收稿日期:;修订日期:基金项目:国家自然科学基金项目()作者简介:陈涵(),男,北京人,硕士研究生,研究方向为网络空间安全;通讯作者:张仰森(),男,山西运城人,博士,教授,杰出会员,研究方向为人工智能、自然语言处理、网络内容安全;何梓源(),男,北京人,硕士研究生,研究方向为自然语言处理;祁浩家(),男,河北沧州人,硕士研究生,研究方向为网络空间安全;黄改娟(),女,山西运城人,高级实验师,研究方向为自然语言处理。:,(,;,):,:
3、;引言访问互联网会产生大量的日志信息,如使用 协议访 问 网 站 会 途 经 解 析、连 接、连 接、请求等多个步骤,每一步都会产生网络日志,且其中每一个环节都可能存在失败重连规则,从而叠加产生海量的网络日志,这对日志的收集、处理、存储等都提出了非常高的要求。单机环境存储网络日志已经无法满足需求,必须进行分布式的网络日志收集。同时,由于处理大量的结构化数据也具有挑战性,采用单机模式处理日志数据也不能满足需求,也要进行分布式批处理。为应对日志分析处理遇到的困难,本文将构建以 计算框架为核心的具有高效且高稳定性的大数据日志分析处理平台,提升网络日志数据分析的科学性、合理性,更第 卷第期陈涵,张仰森
4、,何梓源,等:基于大数据平台的网络日志机器行为分析加全面深入的理解网络日志行为发起者的目的,提升精细化识别网络日志中机器行为的能力,应对网络日志量激增导致的服务器拥塞等问题。同时,创新性地提出了基于多阶段层次化判别的 模型,此模型分为两个部分,分别是基于特征规则和阈值匹配的机器行为判定模型与基于 的机器行为识别模型。前者的判定模型速度较快,作为数据初筛,确定机器行为并降低数据规模。后者的识别模型用于识别前者无法准确判定的网络日志,值和准确率较高,但是耗时较长。两者协同配合,从而达到快速、准确且细粒度地识别机器行为的目的。相关工作在网络日志的分析领域,已经取得了很多成果,主要分为以下个方向:()
5、针对恶意 的识别在文伟平等发表的基于流量特征分类的异常 识别系统的设计与实现中详细阐述了识别 数据集种不同恶意 的方法。王靖云等研究了基于相对密度的 请求数据流源 异常检测算法。刘云等通过寻找恶意 簇来对恶意 进行异常识别。()针对恶意 的识别在恶意 检测方面,等通过集成学习的方法对恶意 进行分类和预测,吴森焱等通过研究页面内容、函数参数和 会话流程个方面定制了 个特征用于识别恶意。等通过关联规则构建分类器识别恶意。()其它的网络攻防行为的识别程希等研究的基于信息携带的 注入攻击检测方法,对 注入攻击的检测提出了解决方法。贾婧等阐述了应用注意力机制检测 攻击方法。上述方法虽然都对网络攻击、网络
6、恶意请求等行为识别做出了很大的贡献,但是其本质都是二分类问题,即分为正常的行为和异常的行为。而在真实的访问场景中,可能存在大量的跨域访问请求、自动化获取页面文本数据请求以及域名连通性测试请求等,当此类请求的数量不大时,可能会被视为正常的请求,在请求量过大时会变为恶意请求。但本文认为上述的请求本身并非由用户正常访问触发,而是机器触发,如果将此类网络日志归纳到正常或异常行为的网络日志中,都存在一定问题。基于上述分析,本文在正常和异常行为之间的模糊区域中划定了第三个区域,即机器行为区域。目前,大多数的研究基于公开数据集,而非真实的网络环境。在真实的网络环境中可能存在模型的识别效果与公开数据集不一致的
7、情况。另一方面,真实场景的识别对时效性有较高的要求,一小时内的网络日志数量超过亿条,处理时间在 分钟。因此,大多数研究成果可能存在耗时过高问题。而在利用大数据平台处理日志方面,本文使用的 框架具有高效性、通用性以及兼容性的特点,能够很好接入 数据。并且是很多大型互联网公司的批处理任务首选。因此可以应对当前的时间需求。机器行为识别模型及系统构建网络日志中包含着各种不同的网络安全信息。对网络日志进行分析,识别出机器行为将会使得异常行为和正常行为的分类更加清晰。系统的整体构建过程分为如下几个部分,即机器行为分析、特征提取、机器行为判定模型建立、深度学习模型建立、系统构建。系统构建流程如图所示。图机器
8、行为分析系统构建过程 基于概率统计和 的机器行为分析机器行为判定模型构建前,首先需要进行数据分析,同时,需要多维度的特征支持,本文的网络日志数据包含的数据字段及解释如表网络日志字段表所示。表网络日志数据信息字段名称字段含义字段类型 时间戳 源 源端口 源 位置 目标 目标端口 目标 位置 资源定位符 请求行 用户代理 计算机工程与设计 年本文设立以为单位的时间窗口,结合上述的多维度字段特征进行了基于概率统计和 算法的机器行为特征分析算法,目的是挖掘出可能存在机器行为的访问时段和具体的网络日志。分析算法的步骤如算法所示。算法:基于概率统计和 算法的机器行为分析算法输入:存储的网络日志中的所有数据
9、字段输出:可能存在机器行为日志的分类步骤使用 接入 外部数据库的日志,取出一天时间段内的数据,判断接入数据是否有数据缺失,如果缺失字段信息则进行过滤。步骤根据 字段,以为单位划分时间窗口,将 小时数据划分为 段数据。分别计算每段内的访问量,其中第秒内的访问量记为。根据箱线图原理,对 段数据的访问量进行排序,求得上四分位数数值记为。步骤若,则将第秒内数据放入 集中。步骤使用正则匹配处理 集中的每一条日志 数 据,提 取 出 的 域 名 部 分、资 源 定 位 符、参数部分。步骤对提取后的结果进行细筛,设定值,应用 方法进行聚类。分析可能存在的机器行为群体。步骤更改不同的值,重复步骤。步骤结束。使
10、用相似的方法,对字段数据进行相似操作。发掘可能存在的机器行为。下一步进行词向量化,并使用 算法将数据进行细筛,化为不 同 的个 簇。算 法步 骤 如 算 法所示。算法:算法输入:向量化的样本数据输出:个聚类后的结果步骤选择初始化的个样本作为初始聚类中心,。步骤针对数据集中每个样本计算它到个聚类中心的距离并将其分到距离最小的聚类中心所对应的类。步骤针对每个类别,应用式()重新计算它的聚类中心()步骤重复上面步骤、步骤两步操作,直到达到某个中止条件。应用上述算法,在海量的数据中采集到了使用多种值聚类后的结果。对结果进行分析,并结合 文档、文献以及协议规范等方法,总结出机器行为特征。基于规则的机器行
11、为特征提取 爬虫行为在聚类后的 中,存在大量的以 、等字样的用户代理信息。同时,计算 与网段的匹配信息,确定为大型搜索平台为满足用户搜索服务进行的页面预缓存的爬虫类日志。此类日志不同于用户正常访问网站而产生的日志信息。故认定为机器行为。爬虫行为特征见表。表爬虫特征字段特征含义 访问域名路径下的 访问爬虫权限文件 ,如:特定爬虫 ,如:特定爬虫 特定爬虫 源 互联网公司网段信息源 网段归属地 节点通信行为在 字段进行聚类后,存在大量的参数中包含 等关键词的信息特征 信息。通过检索各类 文档和文献可知,这是自 年提出的协议,即 协议,也称为 式文件分发协议。它通过 识别并传输数据。在 平台的优势在
12、于当同一个文件被多个下载者同时下载时,下载者之间可以互相分享数据,降低服务器的负载。由于 节点和 节点数据传输以及请求发送完全由机器负责。因此此类网络日志属于机器行为。参数特征及含义见表。表 节点通信行为特征字段名称特征含义 参数 种子的 值 参数 随机标识符 参数 主机监听端口号 参数 当前上传总量 参数 当前下载总量 参数 剩余下载量 参数 服务器反馈 方式 参数 主机的下载状态 参数 主机 地址 参数 服务器反馈 数量 参数 随机标识符 下载软件标识 类播放器 流量埋点统计行为统计网络访问量、分析网站用户的留存情况以及定制用户画像等研究工作一直延续至今。从地震网站的流量统第 卷第期陈涵,
13、张仰森,何梓源,等:基于大数据平台的网络日志机器行为分析计行为分析 到 网站流量统计系统的构建 均离不开对于用户访问时的操作统计。此类统计的技术分为两种,第一种是自有网站的流量及访问统计,应用 技术进行前端与后端的非跨域数据传输。第二种是专业网站的统计,如百度、等专业的流量统计网站。网站运营者出于提升在百度搜索排名的目的或者是认为第三方的统计更加专业,就会将这部分统计流量请求发送到第三方网站,也就是跨域请求。以上的两种网络日志虽然建立在正常的用户请求上,但是由于用户在点击的过程中实际需要发送两个请求,一个为正常的访问请求,第二个为 脚本发出的统计请求。因此,第二个请求产生的网络日志属于机器行为
14、日志。同时,当第二种类型的跨域请求用于恶意攻击时,就会导致 攻击。由于,其中的特征不具有明显的规则,只具有描述性的意义,如:上一跳地址、网站地址、访问时间戳等信息。使用规则难以实现对于此类行为的识别。因此引入基于层次分析法,设置模糊类特征权重的手段进行阈值判定来识别此类行为。同时,针对上述识别方法的 值不高的问题,本文使用了基于 的模型解决了这个问题。又因为深度学习模型在实际应用的时效性上无法满足需求。为了满足时效性和准确率需求,结合两者的优势,提出了 模型,将前种方法作为初筛,用来大规模降低需要识别的数据总量。将后一种方法作为细筛,处理无法准确判定的数据。描述性 参数特征见表。其中处涉及隐私
15、问题,隐去了部分数据。表流量埋点统计行为特征及示例特征示例上一跳地址 :所在网站 :时间戳 地址且与 一致 信息且与字段一致 ()()系统名称 屏幕信息 用户动作 网站在统计网站的 测试行为测试行为是互联网中常见的行为,目的是确认客户端和服务器的连通性。也用来确认服务器是否正常工作。此类行为大多由脚本、内核程序编写指令发出,因此属于机器行为。本文对测试行为进行了分析,得到了以下关于机器行为结论:代理服务器连接测试行为、谷歌浏览器内核测试行为、服务商 测试行为。()代理服务器连接测试行为在官方文档 中,协议中新增了 请求,这种请求是将 协议升级到 协议的请求。此类请求一般用于建立代理。其中包括了
16、正向代理和反向代理。经过分析对应的 字段可知,此种行为在正向代理连接过程产生。以上所述为正常的正向代理过程,而在真实的数据中,使用 和 与 字段相结合分析可知,在短时间内存在大量相似的网络日志。同时,字段存在多个不同的端口号。因此,此类请求的发送者存在失败重传机制,虽然并不会造成恶意攻击的效果,但是,此类行为也应属于机器行为。()谷歌浏览器内核测试行为谷歌公司会进行一些隐私收集工作,包括浏览器版本信息、设备信息等。在经过聚合后的数据中,存在一部分 信息包括了以 、等开始的 的 信息。这些数据也存在单位时间量下出现次数较多的特征。因此,此类行为也属于机器行为。()服务商 测试行为在中存在 以及相似的信息。通过查阅进行关联查询可知,此行为是大型的 服务提供商进行的 连接测试以确保与域名对应的 服务器可以正常运行。基于特征规则、阈值匹配的识别模型构建基于特征规则和阈值匹配的机器行为识别模型设计分为两个部分:首先,对于确定性的规则,如:测试行为识别、爬虫行为识别以及 节点通信行为识别应用特征规则匹配的识别方法。其次,对于非确定性的规则,如:流量埋点统计行为识别,由于特征规则不够明确,借助层次分