CN113608946B - 基于特征工程和表示学习的机器行为识别方法 - Google Patents
基于特征工程和表示学习的机器行为识别方法 Download PDFInfo
- Publication number
- CN113608946B CN113608946B CN202110910834.6A CN202110910834A CN113608946B CN 113608946 B CN113608946 B CN 113608946B CN 202110910834 A CN202110910834 A CN 202110910834A CN 113608946 B CN113608946 B CN 113608946B
- Authority
- CN
- China
- Prior art keywords
- behavior
- machine
- behaviors
- url
- recognition
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/261—Functional testing by simulating additional hardware, e.g. fault simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
基于特征工程和表示学习的机器行为识别方法,由三个步骤构成:步骤一,对大数据进行分析,通过时间、频次等多维度的信息,建立3σ模型,用于确定机器行为的访问时间频段,在机器行为的访问时间频段下,通过分组聚合等方式,归纳总结提取出基于机器行为的特征;步骤二,并通过查阅API文档、软件模拟复现、官方的RFC文档等方式对行为进行定义和命名,整合成一组完备的机器行为特征,完成基于特征工程机器行为识别工作;步骤三,对识别效果不佳的模型加入与其他行为存在交集的特征,去排除其他行为,以提高准确率。
Description
技术领域
本发明涉及HTTP协议中机器行为识别领域,特别涉及基于特征工程和表示学习的机器行为识别方法。
背景技术
随者互联网技术的发展,大型软件、门户网站以及小程序的数量不断增加。由于上述程序软件大多数业务的网络数据交换基于HTTP协议,因此,基于HTTP协议的URL请求日志也呈现爆发式增长。同时,手机、平板电脑等新兴移动终端的增加也促使网络访问不再受限于传统的计算机终端,而是呈现出客户端的多元化趋势,这一改变也加速了多网络下HTTP协议的URL日志请求数量激增。由于终端性能逐渐增强,诸如自动化获取文本,统计记录及测试连接等机器行为也越发增长,因此,随之而来的请求日志数量也越来越大。就目前而言,该领域的分析多集中在URL的恶意攻击上,如DDOS攻击,SQL注入攻击等行为,对于本文所研究的机器行为分析还是空白。因此,为筛选出用户正常的点击访问网页行为,并对其进行下钻分析,本文提出一种方法,用来识别上述的机器行为。
在URL的机器行为分析领域,目前大部分的分析都是基于攻击行为发起的。人们通过计算单一时间粒度下的IP访问URL频次或者是通过查询D段下的IP数量访问URL的频次等设置阈值的方法来判定是否是DDOS攻击行为,而对于SQL攻击等行为,则是根据一些样本数据集通过特征工程的方法或者是表示学习的方法对样本进行标注,最终实现对于以上攻击行为的判定。并不存在一种方法去判定是否存在本文所述的机器行为。
发明内容
为解决上述现有技术存在的问题,本发明的目的在于提供基于特征工程和表示学习的机器行为识别方法。
为达到上述目的,本发明的技术方案为:
基于特征工程和表示学习的机器行为识别方法,由三个步骤构成:
步骤一,对大数据进行分析,通过时间、频次等多维度的信息,建立3σ模型,用于确定机器行为的访问时间频段,在机器行为的访问时间频段下,通过分组聚合等方式,归纳总结提取出基于机器行为的特征;
步骤二,并通过查阅API文档、软件模拟复现、官方的RFC文档等方式对行为进行定义和命名,整合成一组完备的机器行为特征,完成基于特征工程机器行为识别工作;
步骤三,对识别效果不佳的模型加入与其他行为存在交集的特征,去排除其他行为,以提高准确率。
进一步的,所述步骤一中,基于机器行为的特征具体包括:1、爬虫行为;2、Track-Peer服务器通信行为的URL参数特征;3、流量/埋点统计行为包含的URL参数特征;4、暴力域名解析行为包括的域名特征;5、测试行为特征。
进一步的,所述的五个行为及其所包含的特征组成了一个完备的知识库;其中对于流量/埋点统计行为的规则中包含了Track-Peer服务器通信行为导致的效果不佳问题,加入了对于排除Track-Peer服务器通信行为参数的限制规则。
进一步的,所述爬虫行为具体包括:URL特征、源IP特征、UA特征。
进一步的,所述测试行为特征具体为URL特征。
进一步的,所述步骤一具体为:在海量的数据中,依靠spark等计算工具统计在以时间粒度为1秒的情况下单一IP的URL访问次数,并通过3σ模型分析在以时间粒度为1秒的情况下出现单一IP访问URL可能出现的机器行为日志时间段。将这部分日志进行多维度的统计,即通过URL、UserAgent、RequestLine、源IP、目标IP、源IP地理位置、目标IP地理位置、源IP端口号、目标IP端口号这部分数据进行分析;具体步骤如下:
设X为数据集、i为第i秒段、Xi为第i秒段下URL的访问次数;μ为E(X)即每秒URL访问量的数学期望,σ为D(X)即在每秒URL访问量的方差;通过公式(1)计算
由此得到关于时间-频次分布图;根据单侧置信区间公式,对于服从正态分布的秒段数据集X即X~N(μ,σ)对其中大于3σ的秒段认定可能存在机器行为;
对机器行为可能存在的X1、X2、X3......Xn秒段进行下一步分析,分别对X1、X2、X3......Xn秒段内的源IP、URL、UserAgent等数据进行数据聚合,由于数据量过于庞大,一般的数据分析软件如Python单机下内存受到限制,故无法处理上述超过100GB的数据;需应用Spark的Yarn-Cluster进行数据分析,如应用GroupByKey算子、ReduceByKey算子、SortBy算子对数据进行多维度分析;
应用数理统计的基本原理及基础的分析可知,单一源IP(即一位用户)无法在一秒内访问过多的目的URL;由此定位到机器行为可能出现的源IP,并通过UserAgent、URL字段进行统计和查询,对其中的共性特征进行下一步的下钻分析;得出以下关于机器行为的特征;
通过以上的分析步骤分析一批拦截日志得到以下的机器行为可能存在的区域并通过查阅API文档、软件模拟复现、检索官方的RFC文档等方式,提取到了以下几种机器行为的特征;
爬虫行为
大型搜索平台为满足用户搜索服务进行的页面预缓存行为;特征包括
a)访问域名下的robots.txt爬虫配置文件;
b)UserAgent标注{CompanyName}+{Spider/Bot/Crawl}+{CompanyURL};
c)源IP字段为特定的搜索引擎公司网段;
d)计算IP的活跃时长,对活跃IP进行判断;
Track-Peer服务器通信行为
一种用于P2P服务器通信的约定格式用于数据Track与Peer、Peer与Peer的消息传递;特征包括
a)参数info_hash:种子文件对应的hash值(20字节)
b)参数peer_id:随机标识符,表示自身的请求(20字节)
c)参数port:主机监听端口号,用与同其他peer的连接请求
d)参数uploaded:当前上传总量
e)参数downloaded:当前下载总量
f)参数left:剩余下载量,即总量-已下载量
g)参数compact:Track服务器反馈当前peer的方式
h)参数event:主机的下载状态
i)参数ip:可选,主机ip地址
j)参数numwant:可选,Track服务器反馈peer的数量
k)参数key:可选,随机标识符
l)UserAgent包含torrent、player字样
流量/埋点统计行为
一种为实现用户行为统计、数据分析等为目的的第三方网站统计行为;特征包括
a)参数含有上一跳地址
b)参数含有目标域名的URL
c)参数含有时间戳
d)参数含有IP地址
e)参数含有UserAgent字段
f)参数含有系统名称
g)参数含有屏幕尺寸
h)参数含有用户动作
i)参数含有目标域名在统计网站的编码ID
j)URL存在特定的统计网站域名
暴力域名解析行为
以获取某一域名下的子域名,或某一级域名为目的的域名检索行为;多存在于DNS解析过程而少部分存在于URL表中;特征包括
a)同一时间粒度下源IP访问次数多
b)同一源IP访问了同一域名下的不同子域名
测试行为
测试行为包括了特定软件的测试行为以及服务器的测试行为,由于测试行为是由机器触发并存在失败重连规则,因此会导致日志量的激增;
测试行为包括代理服务器连接测试、谷歌浏览器内核测试行为、DNS服务商IP测试行为、服务器测试行为;
①代理服务器连接测试行为
通过HTTP协议进行的正向代理的行为,特征包括
a)请求方式为CONNECT
b)同一源IP在一秒时间段内多次访问同一URL
②谷歌浏览器内核测试行为
由谷歌浏览器内核触发的网络连接测试行为,特征包括
a)访问URL为www.google.com/gen_204或clients[*].google.com,其中[*]为任意数字
b)请求方式为GET
③DNS服务商IP测试行为
由DNS服务提供商进行的IP连接测试以确保与域名对应的IP服务器可以正常运行,特征包括
a)DNS服务商提供的部分IP表
b)UserAgent为DNS Pod、DNS-Monitor等标识符
④服务器测试行为
对服务器进行测试访问特定的端口号或特征的请求方式进行测试的行为;特征如下
a)端口号为7、9
b)请求方式为TRACE。
进一步的,所述步骤二具体为:
机器行为识别模型的特征规则
根据分析所得特征,构建URL机器行为特征的思维导图并据此建立机器行为识别模型;
机器行为识别模型构建
模型设计分为两个个部分:首先,对于确定性的规则,如:测试行为识别、爬虫行为识别、暴力域名解析行为识别以及Track-Peer服务器通信行为识别方法应用模式匹配和特定的识别算法;其次,对于非确定性的规则,如:流量/埋点统计行为识别,文本在工程中提出了基于层次分析法的识别模型并建立基于深度学习的识别模型以提升模型识别准确率;
①确定性机器行为的识别
测试行为识别、爬虫行为识别以及Track-Peer服务器通信行为识别方法根据上文所述的规则进行模式匹配;
②不确定性机器行为的识别
由于流量/埋点统计行为的规则特征不明确,多为描述式的语言;并且流量统计行为的第三方网站数量众多没有统一的规则规范;为实现描述性特征的量化评价到行为识别;引用运筹学家Saaty提出的一种解决复杂的多因素决策问题层次分析法;它将目标问题拆分为多个子问题,建立多要素、多层次的评估模型,该方法采用定性与定量相结合的方法,通过定性信息定量化的途径,使得复杂的评价问题可定量计算;文本构建的识别流量/埋点统计行为的识别评估模型,采用层次化的分层结构,将行为特征评估目标分解为参数类特征、时间类特征、域名类特征3个类别进行定量的计算问题;
测试行为包括了特定软件的测试行为以及服务器的测试行为,由于测试行为是由机器触发并存在失败重连规则,因此会导致日志量的激增
第一步给出评估模型的总体计算公式
Score(xi)=w1β1+w2β2+w1β3 (4)
其中,设置数据集为X,第i条数据为Xi;α1、α2、α3...αn为流量/埋点统计行为的基本特征规则,αj的评价值由公式(2)计算得到;
β1、β2、β3为分类特征,分别是:β1类为参数类特征,β2类为时间类特征,β3类为域名类特征;αj∈βk类,m为βk类存在的特征总数,类别k∈{1,2,3};βk类的评价值根据公式(3)计算得到;
Score(xi)为最后评估模型给出的对于该条日志的评价值,设权重向量为W=[w1,w2,w3]T,获取权重向量的具体方法及权重向量值将在下面几步给出;Score(xi)的数值根据公式(4)计算得到;
第二步为获得权重向量值,需给出判定矩阵Ajm,其中的元素aij表示特征i比特征j对评价目标影响重要程度的倍数;在三类特征中,β1类即参数类特征最能体现行为特点,其次是β3类即域名类特征,最后是β2类即时间类特征;为了表征各个元素的重要性,本文引入数字1~9及其倒数作为度量;基于以上分析本文建立出判定矩阵Ajm如公式(5)
第三步求得列向量归一化结果(6)、权重矩阵的W值(7)、λmax值(8).
λmax=3.0387 (8)
第四步进行一致性检验
①计算一致性指标CI(Consistency Index)
判断一致性指标CI度量了判断矩阵的平均偏离一致性,当CI=0是矩阵一致性的充要条件,而且当CI越小时,判断矩阵偏离一致性程度就越小;CI的计算如公式(9)所示;
其中,n为矩阵阶数本文中n=3
②确定平均随机一致性指标RI(Random Index)
平均随机一致性指标RI是一致性指标CI的期望,表示CI的集中程度,Saaty已经通过实验给出,查表即可;当n=3时,RI=0.58.
③计算一致性比率CR(Consistency Ratio)
一致性比率CR是CI与CR的比值,如公式(10)所示,若CR<0.1则符合一致性检验,否则需要调整矩阵参数,再进行迭代计算;
将λmax=3.0387代入公式(9),并将CI、RI代入公式(10)可得,本文构建的判断矩阵Ajm的一致性比率CR=0.0334,小于0.1,符合一致性检验结果;
第五步将权重向量W代入公式(4),求得Xi的评估值Score(xi)后与阈值F进行比较判定是否为此类行为;
其中阈值F根据实验效果给出。
相对于现有技术,本发明的有益效果为:本发明基于特征工程和表示学习的机器行为识别方法,在原有异常行为描述的基础上,提高了异常行为的识别粒度,可以更加精确地捕捉异常行为。更加快速的发现异常行为并进行归类判定。首次完成了对于非网络攻防机器行为的识别工作。节省了人工识别消耗的时间。
附图说明
图1为URL机器行为图;
图2为确定性机器行为的识别方法图;
图3为暴力域名解析行为的识别图;
图4为阈值F折线图;
图5为1万条日志的统计结果图;
图6为一小时日志的统计结果。
具体实施方式
下面结合附图和具体实施方式对本发明技术方案做进一步详细描述:
如图1所示,基于特征工程和表示学习的机器行为识别方法,由三个步骤构成,第一步,对大数据进行分析,通过时间、频次等多维度的信息,建立3σ模型,用于确定机器行为的访问时间频段,在机器行为的访问时间频段下,通过分组聚合等方式,归纳总结提取出基于机器行为的特征,第二步,并通过查阅API文档、软件模拟复现、官方的RFC文档等方式对行为进行定义和命名,整合成一组完备的机器行为特征,完成基于特征工程机器行为识别工作。第三步,对识别效果不佳的模型加入其他限制规则,以提高准确率。
2.1基于3σ模型的机器行为特征分析与发现
在海量的数据中,依靠spark等计算工具统计在以时间粒度为1秒的情况下单一IP的URL访问次数,并通过3σ模型分析在以时间粒度为1秒的情况下出现单一IP访问URL可能出现的机器行为日志时间段。将这部分日志进行多维度的统计,即通过URL、UserAgent、RequestLine、源IP、目标IP、源IP地理位置、目标IP地理位置、源IP端口号、目标IP端口号这部分数据进行分析。具体步骤如下:
设X为数据集、i为第i秒段、Xi为第i秒段下URL的访问次数。μ为E(X)即每秒URL访问量的数学期望,σ为D(X)即在每秒URL访问量的方差。通过公式(1)计算
由此得到关于时间-频次分布图。根据单侧置信区间公式,对于服从正态分布的秒段数据集X即X~N(μ,σ)对其中大于3σ的秒段认定可能存在机器行为。
对机器行为可能存在的X1、X2、X3......Xn秒段进行下一步分析,分别对X1、X2、X3......Xn秒段内的源IP、URL、UserAgent等数据进行数据聚合,由于数据量过于庞大,一般的数据分析软件如Python单机下内存受到限制,故无法处理上述超过100GB的数据。需应用Spark的Yarn-Cluster进行数据分析,如应用GroupByKey算子、ReduceByKey算子、SortBy算子对数据进行多维度分析。
应用数理统计的基本原理及基础的分析可知,单一源IP(即一位用户)无法在一秒内访问过多的目的URL。由此定位到机器行为可能出现的源IP,并通过UserAgent、URL字段进行统计和查询,对其中的共性特征进行下一步的下钻分析。得出以下关于机器行为的特征。
通过以上的分析步骤分析一批拦截日志得到以下的机器行为可能存在的区域并通过查阅API文档、软件模拟复现、检索官方的RFC文档等方式,提取到了以下几种机器行为的特征。
2.1.1爬虫行为
大型搜索平台为满足用户搜索服务进行的页面预缓存行为。特征包括
a)访问域名下的robots.txt爬虫配置文件。
b)UserAgent标注{CompanyName}+{Spider/Bot/Crawl}+{CompanyURL}。
c)源IP字段为特定的搜索引擎公司网段。
d)计算IP的活跃时长,对活跃IP进行判断。
2.1.2Track-Peer服务器通信行为
一种用于P2P服务器通信的约定格式用于数据Track与Peer、Peer与Peer的消息传递。特征包括
a)参数info_hash:种子文件对应的hash值(20字节)
b)参数peer_id:随机标识符,表示自身的请求(20字节)
c)参数port:主机监听端口号,用与同其他peer的连接请求
d)参数uploaded:当前上传总量
e)参数downloaded:当前下载总量
f)参数left:剩余下载量,即总量-已下载量
g)参数compact:Track服务器反馈当前peer的方式
h)参数event:主机的下载状态
i)参数ip:可选,主机ip地址
j)参数numwant:可选,Track服务器反馈peer的数量
k)参数key:可选,随机标识符
l)UserAgent包含torrent、player字样
2.1.3流量/埋点统计行为
一种为实现用户行为统计、数据分析等为目的的第三方网站统计行为。特征包括
a)参数含有上一跳地址
b)参数含有目标域名的URL
c)参数含有时间戳
d)参数含有IP地址
e)参数含有UserAgent字段
f)参数含有系统名称
g)参数含有屏幕尺寸
h)参数含有用户动作
i)参数含有目标域名在统计网站的编码ID
j)URL存在特定的统计网站域名
2.1.4暴力域名解析行为
以获取某一域名下的子域名,或某一级域名为目的的域名检索行为。多存在于DNS解析过程而少部分存在于URL表中。特征包括
a)同一时间粒度下源IP访问次数多
b)同一源IP访问了同一域名下的不同子域名
2.1.5测试行为
测试行为包括了特定软件的测试行为以及服务器的测试行为,由于测试行为是由机器触发并存在失败重连规则,因此会导致日志量的激增。
测试行为包括代理服务器连接测试、谷歌浏览器内核测试行为、DNS服务商IP测试行为、服务器测试行为。
①代理服务器连接测试行为
通过HTTP协议进行的正向代理的行为,特征包括
a)请求方式为CONNECT
b)同一源IP在一秒时间段内多次访问同一URL
②谷歌浏览器内核测试行为
由谷歌浏览器内核触发的网络连接测试行为,特征包括
a)访问URL为www.google.com/gen_204或clients[*].google.com,其中[*]为任意数字
b)请求方式为GET
③DNS服务商IP测试行为
由DNS服务提供商进行的IP连接测试以确保与域名对应的IP服务器可以正常运行,特征包括
a)DNS服务商提供的部分IP表
b)UserAgent为DNS Pod、DNS-Monitor等标识符
④服务器测试行为
对服务器进行测试访问特定的端口号或特征的请求方式进行测试的行为。特征如下
a)端口号为7、9
b)请求方式为TRACE。
2.2基于规则的机器行为识别模型构建
2.2.1机器行为识别模型的特征规则
根据3.1节分析所得特征,本文构建URL机器行为特征的思维导图并据此建立机器行为识别模型。如图1URL机器行为特征分析
2.2.2机器行为识别模型构建
模型设计分为两个个部分:首先,对于确定性的规则,如:测试行为识别、爬虫行为识别、暴力域名解析行为识别以及Track-Peer服务器通信行为识别方法应用模式匹配和特定的识别算法。其次,对于非确定性的规则,如:流量/埋点统计行为识别,文本在工程中提出了基于层次分析法的识别模型并建立基于深度学习的识别模型以提升模型识别准确率。
①确定性机器行为的识别
测试行为识别、爬虫行为识别以及Track-Peer服务器通信行为识别方法根据上文所述的规则进行模式匹配。识别流程如图2确定性机器行为的识别所示:
暴力域名解析行为识别算法流程图如图3暴力域名解析行为的识别所示:
②不确定性机器行为的识别
由于流量/埋点统计行为的规则特征不明确,多为描述式的语言。并且流量统计行为的第三方网站数量众多没有统一的规则规范。为实现描述性特征的量化评价到行为识别。本文引用运筹学家Saaty提出的一种解决复杂的多因素决策问题层次分析法(Analytical Hierarchy Process,简称AHP)。它将目标问题拆分为多个子问题,建立多要素、多层次的评估模型,该方法采用定性与定量相结合的方法,通过定性信息定量化的途径,使得复杂的评价问题可定量计算。文本构建的识别流量/埋点统计行为的识别评估模型,采用层次化的分层结构,将行为特征评估目标分解为参数类特征、时间类特征、域名类特征3个类别进行定量的计算问题。
测试行为包括了特定软件的测试行为以及服务器的测试行为,由于测试行为是由机器触发并存在失败重连规则,因此会导致日志量的激增
第一步给出评估模型的总体计算公式
Score(xi)=w1β1+w2β2+w1β3 (15)
其中,设置数据集为X,第i条数据为Xi。α1、α2、α3...αn为流量/埋点统计行为的基本特征规则,αj的评价值由公式(13)计算得到。
β1、β2、β3为分类特征,分别是:β1类为参数类特征,β2类为时间类特征,β3类为域名类特征。αj∈βk类,m为βk类存在的特征总数,类别k∈{1,2,3}。βk类的评价值根据公式(14)计算得到。
Score(xi)为最后评估模型给出的对于该条日志的评价值,设权重向量为W=[w1,w2,w3]T,获取权重向量的具体方法及权重向量值将在下面几步给出。Score(xi)的数值根据公式(15)计算得到。
第二步为获得权重向量值,需给出判定矩阵Ajm,其中的元素aij表示特征i比特征j对评价目标影响重要程度的倍数。本文认为在三类特征中,β1类即参数类特征最能体现行为特点,其次是β3类即域名类特征,最后是β2类即时间类特征。为了表征各个元素的重要性,本文引入数字1~9及其倒数作为度量。基于以上分析本文建立出判定矩阵Ajm如公式(5)
第三步求得列向量归一化结果(6)、权重矩阵的W值(7)、λmax值(8).
λmax=3.0387 (19)
第四步进行一致性检验
①计算一致性指标CI(Consistency Index)
判断一致性指标CI度量了判断矩阵的平均偏离一致性,当CI=0是矩阵一致性的充要条件,而且当CI越小时,判断矩阵偏离一致性程度就越小。CI的计算如公式(9)所示。
其中,n为矩阵阶数本文中n=3
②确定平均随机一致性指标RI(Random Index)
平均随机一致性指标RI是一致性指标CI的期望,表示CI的集中程度,Saaty已经通过实验给出,查表即可。当n=3时,RI=0.58.
③计算一致性比率CR(Consistency Ratio)
一致性比率CR是CI与CR的比值,如公式(10)所示,若CR<0.1则符合一致性检验,否则需要调整矩阵参数,再进行迭代计算。
将λmax=3.0387代入公式(20),并将CI、RI代入公式(21)可得,本文构建的判断矩阵Ajm的一致性比率CR=0.0334,小于0.1,符合一致性检验结果。
第五步将权重向量W代入公式(15),求得Xi的评估值Score(xi)后与阈值F进行比较判定是否为此类行为。
其中阈值F根据实验效果给出。
3实验结果
3.2.1实验数据
本文的实验数据来源于国内某科研机构提供的全量网络访问日志,每小时日志量在亿级左右,日均日志量在20亿左右,其中URL日志量为每小时千万量级,日均URL日志量过亿。
为了确定2.2节流量/埋点统计行为的阈值F,本文随机选取在时间戳1605239688到1605242544中30分钟下的共计10000条日志作为实验数据。并使用第2章所述方法进行实验,将识别结果通过人工校对以计算识别行为平均准确率P,平均召回率R与平均F1值(如公式(12)、(13)、(14)所示)
其中,TP表示正类预测为正类数目,FP表示将负类预测为正类数目,FN表示将正类预测为负类数。
对于2.2节中流量/埋点统计行为的特征中参数类特征m数为7、时间类特征m数为2、域名类特征m数为4。由图4,从图4可知,阈值0.15对应的F1值最大,因此根据实验结果选取F为0.15。
表1阈值F对应的评价值
在确定阈值F并对识别错误数据进行分析后,本文对流量/埋点统计行为与其他行为存在交集的部分加入限制规则并构建机器行为分析系统,分别在10000条日志数据集和一小时共计11480000条日志数据集上进行实验。得到如图5、图6的统计结果。
通过上述实验表明,数据在1万份数据的实验集与1000万份数据的实验集上分布比例相同,可以验证模型的相对准确性。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何不经过创造性劳动想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书所限定的保护范围为准。
Claims (1)
1.基于特征工程和表示学习的机器行为识别方法,其特征在于,由三个步骤构成:
步骤一,对大数据进行分析,通过时间、频次多维度的信息,建立3σ模型,用于确定机器行为的访问时间频段,在机器行为的访问时间频段下,通过分组聚合方式,归纳总结提取出基于机器行为的特征;
步骤二,并通过查阅API文档、软件模拟复现、官方的RFC文档方式对行为进行定义和命名,整合成一组完备的机器行为特征,完成基于特征工程机器行为识别工作;
步骤三,对识别效果不佳的模型加入与其他行为存在交集的特征,去排除其他行为,以提高准确率;
所述步骤一中,基于机器行为的特征具体包括:(1)、爬虫行为;(2)、Track-Peer服务器通信行为的URL参数特征;(3)、流量/埋点统计行为包含的URL参数特征;(4)、暴力域名解析行为包括的域名特征;(5)、测试行为特征;
所述的五个行为及其所包含的特征组成了一个完备的知识库;其中对于流量/埋点统计行为的规则中包含了Track-Peer服务器通信行为导致的效果不佳问题,加入了对于排除Track-Peer服务器通信行为参数的限制规则;
所述爬虫行为具体包括:URL特征、源IP特征、UA特征;
所述测试行为特征具体为URL特征;
所述步骤一具体为:在海量的数据中,依靠spark计算工具统计在以时间粒度为1秒的情况下单一IP的URL访问次数,并通过3σ模型分析在以时间粒度为1秒的情况下出现单一IP访问URL可能出现的机器行为日志时间段;将这部分日志进行多维度的统计,即通过URL、UserAgent、RequestLine、源IP、目标IP、源IP地理位置、目标IP地理位置、源IP端口号、目标IP端口号这部分数据进行分析;具体步骤如下:
设X为数据集、i为第i秒段、Xi为第i秒段下URL的访问次数;μ为E(X)即每秒URL访问量的数学期望,σ为D(X)即在每秒URL访问量的方差;通过公式计算
由此得到关于时间-频次分布图;根据单侧置信区间公式,对于服从正态分布的秒段数据集X即X~N(μ,σ)对其中大于3σ的秒段认定可能存在机器行为;
对机器行为可能存在的X1、X2、X3......Xn秒段进行下一步分析,分别对X1、X2、X3......Xn秒段内的源IP、URL、UserAgent数据进行数据聚合,由于数据量过于庞大,一般的数据分析软件如Python单机下内存受到限制,故无法处理超过100GB的数据;需应用Spark的Yarn-Cluster进行数据分析,如应用GroupByKey算子、ReduceByKey算子、SortBy算子对数据进行多维度分析;
应用数理统计的基本原理及基础的分析可知,单一源IP无法在一秒内访问过多的目的URL;由此定位到机器行为可能出现的源IP,并通过UserAgent、URL字段进行统计和查询,对其中的共性特征进行下一步的下钻分析;得出以下关于机器行为的特征;
通过以上的分析步骤分析一批拦截日志得到以下的机器行为可能存在的区域并通过查阅API文档、软件模拟复现、检索官方的RFC文档方式,提取到了以下几种机器行为的特征;
爬虫行为大型搜索平台为满足用户搜索服务进行的页面预缓存行为;特征包括
a)访问域名下的robots.txt爬虫配置文件;
b)UserAgent标注{CompanyName}+{Spider/Bot/Crawl}+{CompanyURL};
c)源IP字段为特定的搜索引擎公司网段;
d)计算IP的活跃时长,对活跃IP进行判断;
Track-Peer服务器通信行为一种用于P2P服务器通信的约定格式用于数据Track与Peer、Peer与Peer的消息传递;特征包括
a)参数info_hash:种子文件对应的hash值
b)参数peer_id:随机标识符,表示自身的请求
c)参数port:主机监听端口号,用与同其他peer的连接请求
d)参数uploaded:当前上传总量
e)参数downloaded:当前下载总量
f)参数left:剩余下载量,即总量-已下载量
g)参数compact:Track服务器反馈当前peer的方式
h)参数event:主机的下载状态
i)参数ip:可选,主机ip地址
j)参数numwant:可选,Track服务器反馈peer的数量
k)参数key:可选,随机标识符
l)UserAgent包含torrent、player字样
流量/埋点统计行为一种为实现用户行为统计、数据分析为目的的第三方网站统计行为;特征包括
a)参数含有上一跳地址
b)参数含有目标域名的URL
c)参数含有时间戳
d)参数含有IP地址
e)参数含有UserAgent字段
f)参数含有系统名称
g)参数含有屏幕尺寸
h)参数含有用户动作
i)参数含有目标域名在统计网站的编码ID
j)URL存在特定的统计网站域名
暴力域名解析行为以获取某一域名下的子域名,或某一级域名为目的的域名检索行为;多存在于DNS解析过程而少部分存在于URL表中;特征包括
a)同一时间粒度下源IP访问次数多
b)同一源IP访问了同一域名下的不同子域名测试行为测试行为包括了特定软件的测试行为以及服务器的测试行为,由于测试行为是由机器触发并存在失败重连规则,因此会导致日志量的激增;
测试行为包括代理服务器连接测试、谷歌浏览器内核测试行为、DNS服务商IP测试行为、服务器测试行为;
①代理服务器连接测试行为通过HTTP协议进行的正向代理的行为,特征包括
a)请求方式为CONNECT
b)同一源IP在一秒时间段内多次访问同一URL
②谷歌浏览器内核测试行为由谷歌浏览器内核触发的网络连接测试行为,特征包括
a)访问URL为www.google.com/gen_204或clients[*].google.com,其中[*]为任意数字
b)请求方式为GET
③DNS服务商IP测试行为由DNS服务提供商进行的IP连接测试以确保与域名对应的IP服务器可以正常运行,特征包括
a)DNS服务商提供的部分IP表
b)UserAgent为DNS Pod、DNS-Monitor标识符
④服务器测试行为对服务器进行测试访问特定的端口号或特征的请求方式进行测试的行为;特征如下
a)端口号为7、9
b)请求方式为TRACE;
所述步骤二具体为:
机器行为识别模型的特征规则
根据分析所得特征,构建URL机器行为特征的思维导图并据此建立机器行为识别模型;
机器行为识别模型构建
模型设计分为两个部分:首先,对于确定性的规则,测试行为识别、爬虫行为识别、暴力域名解析行为识别以及Track-Peer服务器通信行为识别方法应用模式匹配和特定的识别算法;其次,对于非确定性的规则,流量/埋点统计行为识别,在工程中提出了基于层次分析法的识别模型并建立基于深度学习的识别模型以提升模型识别准确率;
①确定性机器行为的识别
测试行为识别、爬虫行为识别以及Track-Peer服务器通信行为识别方法根据上述的规则进行模式匹配;
②不确定性机器行为的识别
由于流量/埋点统计行为的规则特征不明确,多为描述式的语言;并且流量统计行为的第三方网站数量众多没有统一的规则规范;为实现描述性特征的量化评价到行为识别;引用运筹学家Saaty提出的一种解决复杂的多因素决策问题层次分析法;它将目标问题拆分为多个子问题,建立多要素、多层次的评估模型,该方法采用定性与定量相结合的方法,通过定性信息定量化的途径,使得复杂的评价问题可定量计算;构建的识别流量/埋点统计行为的识别评估模型,采用层次化的分层结构,将行为特征评估目标分解为参数类特征、时间类特征、域名类特征3个类别进行定量的计算问题;
测试行为包括了特定软件的测试行为以及服务器的测试行为,由于测试行为是由机器触发并存在失败重连规则,因此会导致日志量的激增;
第一步 给出评估模型的总体计算公式
Score(xi)=w1β1+w2β2+w1β3 (4)
其中,设置数据集为X,第i条数据为Xi;α1、α2、α3...αn为流量/埋点统计行为的基本特征规则,αj的评价值由公式计算得到;
β1、β2、β3为分类特征,分别是:β1类为参数类特征,β2类为时间类特征,β3类为域名类特征;αj∈βk类,m为βk类存在的特征总数,类别k∈{1,2,3};βk类的评价值根据公式计算得到;
Score(xi)为最后评估模型给出的对于该条日志的评价值,设权重向量为W=[w1,w2,w3]T,获取权重向量的具体方法及权重向量值将在下面几步给出;Score(xi)的数值根据公式计算得到;
第二步 为获得权重向量值,需给出判定矩阵Ajm,其中的元素aij表示特征i比特征j对评价目标影响重要程度的倍数;在三类特征中,β1类即参数类特征最能体现行为特点,其次是β3类即域名类特征,最后是β2类即时间类特征;为了表征各个元素的重要性,引入数字1~9及其倒数作为度量;基于以上分析建立出判定矩阵Ajm如公式
第三步求得列向量归一化结果、权重矩阵的W值、λmax值.
λmax=3.0387 (8)
第四步 进行一致性检验
①计算一致性指标CI(Consistency Index)
判断一致性指标CI度量了判断矩阵的平均偏离一致性,当CI=0是矩阵一致性的充要条件,而且当CI越小时,判断矩阵偏离一致性程度就越小;CI的计算如公式所示;
其中,n为矩阵阶数中n=3
②确定平均随机一致性指标RI(Random Index)
平均随机一致性指标RI是一致性指标CI的期望,表示CI的集中程度,Saaty已经通过实验给出,查表即可;当n=3时,RI=0.58.
③计算一致性比率CR(Consistency Ratio)
一致性比率CR是CI与RI的比值,如公式所示,若CR<0.1则符合一致性检验,否则需要调整矩阵参数,再进行迭代计算;
将λmax=3.0387代入公式,并将CI、RI代入公式可得,构建的判断矩阵Ajm的一致性比率CR=0.0334,小于0.1,符合一致性检验结果;第五步将权重向量W代入公式,求得Xi的评估值Score(xi)后与阈值F进行比较判定是否为此类行为;
其中阈值F根据实验效果给出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110910834.6A CN113608946B (zh) | 2021-08-10 | 2021-08-10 | 基于特征工程和表示学习的机器行为识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110910834.6A CN113608946B (zh) | 2021-08-10 | 2021-08-10 | 基于特征工程和表示学习的机器行为识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113608946A CN113608946A (zh) | 2021-11-05 |
CN113608946B true CN113608946B (zh) | 2023-09-12 |
Family
ID=78307812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110910834.6A Active CN113608946B (zh) | 2021-08-10 | 2021-08-10 | 基于特征工程和表示学习的机器行为识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113608946B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116781431A (zh) * | 2023-08-24 | 2023-09-19 | 华南理工大学 | 一种基于流量特征的api接口异常行为监测方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105354721A (zh) * | 2015-09-29 | 2016-02-24 | 北京金山安全软件有限公司 | 一种识别机器操作行为的方法及装置 |
CN106101191A (zh) * | 2016-05-31 | 2016-11-09 | 乐视控股(北京)有限公司 | 一种网页访问方法、客户端及服务端 |
CN109522692A (zh) * | 2018-11-19 | 2019-03-26 | 第四范式(北京)技术有限公司 | 网页机器行为检测方法及系统 |
WO2019204104A1 (en) * | 2018-04-19 | 2019-10-24 | Raytheon Bbn Technologies Corp. | Network security system and methods for encoding network connectivity for activity classification |
CN110602045A (zh) * | 2019-08-13 | 2019-12-20 | 南京邮电大学 | 一种基于特征融合和机器学习的恶意网页识别方法 |
CN110609937A (zh) * | 2019-08-15 | 2019-12-24 | 平安科技(深圳)有限公司 | 一种爬虫识别方法及装置 |
CN112052891A (zh) * | 2020-08-28 | 2020-12-08 | 平安科技(深圳)有限公司 | 机器行为识别方法、装置、设备及计算机可读存储介质 |
CN112434732A (zh) * | 2020-11-17 | 2021-03-02 | 西安交通大学 | 一种基于特征筛选的深度学习分类方法 |
CN112866023A (zh) * | 2021-01-13 | 2021-05-28 | 恒安嘉新(北京)科技股份公司 | 网络检测、模型训练方法、装置、设备及存储介质 |
CN112929390A (zh) * | 2021-03-12 | 2021-06-08 | 厦门帝恩思科技股份有限公司 | 一种基于多策略融合的网络智能监控方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11568305B2 (en) * | 2019-04-09 | 2023-01-31 | Genesys Telecommunications Laboratories, Inc. | System and method for customer journey event representation learning and outcome prediction using neural sequence models |
-
2021
- 2021-08-10 CN CN202110910834.6A patent/CN113608946B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105354721A (zh) * | 2015-09-29 | 2016-02-24 | 北京金山安全软件有限公司 | 一种识别机器操作行为的方法及装置 |
CN106101191A (zh) * | 2016-05-31 | 2016-11-09 | 乐视控股(北京)有限公司 | 一种网页访问方法、客户端及服务端 |
WO2019204104A1 (en) * | 2018-04-19 | 2019-10-24 | Raytheon Bbn Technologies Corp. | Network security system and methods for encoding network connectivity for activity classification |
CN109522692A (zh) * | 2018-11-19 | 2019-03-26 | 第四范式(北京)技术有限公司 | 网页机器行为检测方法及系统 |
CN110602045A (zh) * | 2019-08-13 | 2019-12-20 | 南京邮电大学 | 一种基于特征融合和机器学习的恶意网页识别方法 |
CN110609937A (zh) * | 2019-08-15 | 2019-12-24 | 平安科技(深圳)有限公司 | 一种爬虫识别方法及装置 |
CN112052891A (zh) * | 2020-08-28 | 2020-12-08 | 平安科技(深圳)有限公司 | 机器行为识别方法、装置、设备及计算机可读存储介质 |
CN112434732A (zh) * | 2020-11-17 | 2021-03-02 | 西安交通大学 | 一种基于特征筛选的深度学习分类方法 |
CN112866023A (zh) * | 2021-01-13 | 2021-05-28 | 恒安嘉新(北京)科技股份公司 | 网络检测、模型训练方法、装置、设备及存储介质 |
CN112929390A (zh) * | 2021-03-12 | 2021-06-08 | 厦门帝恩思科技股份有限公司 | 一种基于多策略融合的网络智能监控方法 |
Non-Patent Citations (1)
Title |
---|
基于梯度提升决策树的鼠标轨迹识别方法与研究;张志腾;刘琳岚;;信息通信(第09期);17-19 * |
Also Published As
Publication number | Publication date |
---|---|
CN113608946A (zh) | 2021-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107888571B (zh) | 一种基于HTTP日志的多维度webshell入侵检测方法及检测系统 | |
CN108156131B (zh) | Webshell检测方法、电子设备和计算机存储介质 | |
US9183214B2 (en) | Method and apparatus for data storage and downloading | |
CN106209488B (zh) | 用于检测网站攻击的方法和设备 | |
CN111277570A (zh) | 数据的安全监测方法和装置、电子设备、可读介质 | |
CN109905288B (zh) | 一种应用服务分类方法及装置 | |
CN111371778B (zh) | 攻击团伙的识别方法、装置、计算设备以及介质 | |
CN110691080A (zh) | 自动溯源方法、装置、设备及介质 | |
Deußer et al. | Browsing unicity: On the limits of anonymizing web tracking data | |
CN114422211B (zh) | 基于图注意力网络的http恶意流量检测方法及装置 | |
CN113378899A (zh) | 非正常账号识别方法、装置、设备和存储介质 | |
CN113608946B (zh) | 基于特征工程和表示学习的机器行为识别方法 | |
CN114338064A (zh) | 识别网络流量类型的方法、装置、设备和存储介质 | |
CN110225009B (zh) | 一种基于通信行为画像的代理使用者检测方法 | |
Tang et al. | HSLF: HTTP header sequence based lsh fingerprints for application traffic classification | |
Bai et al. | Application behavior identification in DNS tunnels based on spatial-temporal information | |
CN111541687B (zh) | 一种网络攻击检测方法及装置 | |
He et al. | Identifying mobile applications for encrypted network traffic | |
CN114500122B (zh) | 一种基于多源数据融合的特定网络行为分析方法和系统 | |
WO2016173327A1 (zh) | 用于检测网站攻击的方法和设备 | |
CN114793204A (zh) | 一种网络资产探测方法 | |
CN111181756B (zh) | 一种域名安全性判定方法、装置、设备及介质 | |
CN113783920A (zh) | 用于识别web访问入口的方法和装置 | |
CN113821754A (zh) | 一种敏感数据接口爬虫识别方法及装置 | |
Hoßfeld et al. | Measurement of BitTorrent swarms and their AS topologies |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |