基于网络日志的异常流量检测

(整期优先)网络出版时间:2022-04-28
/ 2

基于网络日志的异常流量检测

胡俊杰 纪涛 张振柯 丁佳睿

西安工程大学计算机科学学院


摘要: 网络日志是网站的用户点击信息和其他访问行为的汇总,详细地记录了网站访问行为的相关属性, 因此网络日志成为网络管理者发现并预防攻击者的入侵行为的重要凭据。采用基于时域分析流量异常分析算法和基于多目标模糊分析威胁算法来进一步分析异常流量来判断网络安全状态。首先通过分类方法,将网络日志分为三类,分别是流量日志,审计日志,威胁日志。采用时域分析流量异常算法,得出四种特征值,模糊分析策略。使用时域分析流量得出的 4 种特征值,构建异常流量模型。对比实验表明,该研究方法,准确率较高,能够处理大量网络日志数据。并且开发的有专属的基于网络日志的异常流量检测系统。


关键词: 网络日志;分类算法;时域分析;模糊分析决策;异常流量特征


1.引言

随着科技的飞速发展,互联网的体系日渐庞大。各种各样的网络系统正在不断渗透到我们的生活、工作、 学习、娱乐、社交,成为国民生活必不可少的一部分。随之而来的网络安全问题也日益严峻,计算机病毒、黑客攻击等事件频出,网络安全已上升到国家安全层面。为了做好网络安全防护、防范网络安全风险,网络异常监测是一种行之有效的技术手段。

网络日志是网站的用户点击信息和其他访问行为的汇总,详细地记录了网站访问行为的相关属性,因此网 络日志成为网络管理者发现并预防攻击者的入侵行为的重要凭据。近些年,随着机器学习和人工智能技术的发 展,基于网络日志的网络异常智能分析与检测成为当前学术界研究的热点。

1.1日志获取

源日志通过抓包工具,在一定时间内抓取,从而获取网络日志.

使用抓包工具 figger4,编写自动抓包脚本,保持在一个 txt 文件中然后转化成 exlsx 文件,在通过数据库可视化工具,将 exlsx 文件导入到数据库中,

1.2 日志文件数据分类

日志文件为 csv 格式,先使用 pandas 模块将需要分类的日志文件转换为 xlsx 格式,然后进行读取 excel 操作。python 中的 openpyxl 模块可以读取 excel 表格并对其进行操作。找到易于分类的属性,对日志文件进行数据分类:


2. 核心算法

核心的算法主要有以下两个:1.基于时域分析流量异常分析算法;2.基于多目标模糊分析威胁算法。流量的大小会随着用户行为发生变化。对于大部分的服务器,白天的访问流量较高,深夜的访问流量较低。这使得流量阈值值存在上下文相关性,白天高,夜晚低,不断波动变化。这就需要算法能够区分流量的正常波动变化与异常波动变化,准确的检测异常流量。基于片时间流量数量分析算法,通过提取某一段时间内所有抓包得到的网络日志,通过定位该网络日志特征,采用计数原则,通过该时间片内相同源地址访问相同目标地址获取相同原地址访问相同目标地址所有次数,将不同原地址的数量累加,求出一个平均值。该平均值即就是该段时间,片内流量正常的一个标准.通过大量数据分析异常流量,是超过阈值的 1.5 倍,当相同原地址访问相同的目标地址。的次数超过阈值的 1.5 倍,其越接近异常阈值。基于模糊分析的威胁方法,主要是通过 Python 工具包,鉴别出受攻击地址,和攻击地址。分别有三个标准,安全,警告,危险。当有地址受到攻击后,网络日志中会保留受攻击地址和攻击地址,并且会显示危险级别。我们通过模糊分析,以危险等级为划分,设计威胁算法。抽取其特征值危险等级,攻击地址,被攻击地址,建立矩阵, 获取特征值和特征向量。建立威胁检测模型。

2.1 核心算法的理论基础

( 1) 时域分析算法.指控制系统在一定的输入下,根据输出量的时域表达式,分析系统的稳定性、瞬态和稳态性能。由于时域分析是直接在时间域中对系统进行分析的方法,所以时域分析具有直观和准确的优点。系统输出量的时域表示可由微分方程得到,也可由传递函数得到。 在初值为零时,一般都利用传递函数进行研究,用传递函数间接的评价系统的性能指标。具体是根据闭环系统传递函数的极点和零点来分析系统的性能,此时也称为复频域分析。线性微分方程的解是时域分析以线性定常微分方程的解来讨论系统的特性和性能指 标。设微分方程如下:x(t)为输入流量数量,y(t)为输出异常。对于稳定的系统,当时间趋于无穷大时,通解趋于零。所以根据通解或特征方程的根可以分析系统的稳定性。一般来说,当时间趋于无穷大时特解趋于一个稳态的函数。

2.2 多目标模糊分析法

(2)多目标模糊分析法 模糊数学中有一个研究的热点问题就是“模糊决策”,它就是研究在模糊环境下或者 模糊系统中进行决策的数学理论和方法。模糊决策的目标是把决策论域中的对象在模糊 环境下进行排序,或按某些模糊限制条件从决策域中选择出最优对象。通过抽取特征值,对网络日志数据建立模糊决 策模型,该模型及就是网络日志异常模型。

2.3 网络日志的获取

(3)网络日志的内容通常可用产生时间、请求方式、源地址、端口号、目标地址,内容等 6 个指 标进行评价, 等级分为安全、异常、威胁。我们需要建立对应的检测矩阵,而矩阵中的元素需要利用时域分析流量异常分析算法实现的具体程序来获取。

3. 异常流量分析

(1)如果在规定的一段时间中,某源地址在该时间范围内,产生了多次请求,并且产生了大量的网络日志,那么 在该时间段里,我们可以获取其产生时间是否在规定时间范围内的次数 A;如果在获取的所有网络日志中相同源地址访问相同的目标地址,如果次数过多,那么异常的概率非常大,我们需要获取其出现次数 T,网络协议中请求他们方式有详情。



(2)在实际的使用过程中,用户一般请求方式大多是 GET 和 POST,如果某用户源地址请求多次除 GET 和 POST 请求,那么该用户可能是专业人员,那么其访问的越频繁,那么产生的日志就需要异常检测。我们记录, 相同源地址对相同目的地址的除GET 和POST 请求次数为 H,通过获取相同源地址攻击相同地址的次数 K。

通过多次实验总结:我们不难发现,审计日志的异常数据量和流量异常占比相当,从而说明流量日志出现日常,该网络日志的审计日志也会发生异常。

(3)我们通过模糊决策,检查出该日志是否是威胁日志,其主要特征属性是受攻击地址和攻击地址,如果攻击地址和被攻击地址多次出现,那么被攻击地址就会存在不安全问题, 系统会显示安全级别为 warning,如果该日志出现在异常流量日志和异常审计日志中,那么该日志一定是异常日志。

(4)通过多次实验结果对比,随着样本数量的增加,评估用户性格与行为预测的准确率逐渐增加.本研究采用模糊决策分析法的不足之处在于, 分析是根据时域分析流量异常分析算法建立异常日志模型,而非从大量日志数据分析特征值类型,因此对网络日志描述存在偏差,如果时域分析出现错误,那么模糊决策就会产生误差。因此,后续研究的问题就是解决模糊决策是否可以校正时域分析的误差。


4 结束语


安全领域所面临的威胁正逐渐从一般的纯技术攻击向结合社会工程学的智能化攻击转 变. 由于这种危险行为具有隐蔽性的特点,运用通常意义上的安全防范技术很难将其发现并防御. 但运用网络大数据用户行 为预测分析技术可以有效地做到准确分析、安全预警. 综上所述,基于网络日志的异常流量检测, 可以让我们更快掌握系统安全状况, 也有效的避免网络安全问题。




参考文献:

1.基于网络日志的用户行为刻画与预测研究_康海燕;

2.模糊决策分析方法 模糊决策分析方法_冷月无声的博客-CSDN 博客_模糊决策

3.基于网络日志的入侵检测算法研究 董传成