CN115150182A - 基于流量分析的信息系统网络攻击检测方法 - Google Patents
基于流量分析的信息系统网络攻击检测方法 Download PDFInfo
- Publication number
- CN115150182A CN115150182A CN202210877610.4A CN202210877610A CN115150182A CN 115150182 A CN115150182 A CN 115150182A CN 202210877610 A CN202210877610 A CN 202210877610A CN 115150182 A CN115150182 A CN 115150182A
- Authority
- CN
- China
- Prior art keywords
- parameter
- value
- parameters
- session
- information system
- 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.)
- Granted
Links
Images
Classifications
-
- 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
-
- 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/1416—Event detection, e.g. attack signature detection
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于流量分析的信息系统网络攻击检测方法,包括获取信息系统的历史网络流量数据;进行日志提取;进行日志过滤;进行会话标识提取;进行参数解析;进行特征提取;建立基线模型并进行训练;采用训练后的模型进行实时的信息系统网络攻击检测。本发明提供的这种基于流量分析的信息系统网络攻击检测方法,通过对信息系统流量的分析,提取用户的请求参数特征与会话行为特征,建立各类特征所对应的基线模型,从而能够有效识别各类型攻击行为,有效弥补现有安全设备信息系统渗透攻击监测能力不足的问题,可靠性高、实用性好且适用范围广。
Description
技术领域
本发明属于网络安全技术领域,具体涉及一种基于流量分析的信息系统网络攻击检测方法。
背景技术
随着经济技术的发展和人们生活水平的提高,人们对于网络安全的重视程度也越来越高。
目前,大型企业信息系统网络攻击安全监测主要以部署安全设备为主,包括WAF、IPS及态势感知类设备等。传统的网络安全设备监测主要依赖已有攻击的特征库检测模型,对于传统网络攻击行为监测效果较好。但是,这类基于规则检测的安全监测设备存在难以监测针对性渗透攻击、业务逻辑渗透攻击的问题。在针对性的渗透攻击过程中,攻击者往往采取攻击payload编码等绕过特征库的手段进行攻击,导致传统安全设备难以监测。而对业务逻辑渗透而言,攻击人员在渗透过程中提交的请求包经常与正常请求类似,难以触发安全设备规则。尤其在系统存在顶层设计缺陷、业务逻辑不严谨的情形下,业务逻辑类漏洞风险突出,传统安全防护设备难以依据其行为特征及时预警,无法进一步提取其共性攻击特征,具有不可预见性的特点。
当前国内外也开展了许多基于统计方法及机器学习技术的攻击监测研究,但以研究传统攻击行为监测为主,如SQL注入、XSS、命令执行等,缺乏根据针对性渗透攻击、业务逻辑渗透攻击特性,监测其攻击行为的方法。特别是许多渗透攻击的攻击载荷体现在其请求的参数中,而目前缺乏根据信息系统网络流量中请求的参数进行分析的方法,对于针对性渗透攻击、业务逻辑渗透攻击发现能力较差。
发明内容
本发明的目的在于提供一种可靠性高、实用性好且适用范围广的基于流量分析的信息系统网络攻击检测方法。
本发明提供的这种基于流量分析的信息系统网络攻击检测方法,包括如下步骤:
S1.获取信息系统的历史网络流量数据;
S2.根据步骤S1获取的数据,进行日志提取;
S3.对步骤S2得到的日志数据,进行日志过滤;
S4.结合专家规则,根据步骤S3获取的数据进行会话标识提取;
S5.根据步骤S3获取的数据进行参数解析;
S6.根据步骤S4和步骤S5得到的数据结果,进行特征提取;
S7.根据步骤S6提取得到的特征,建立基线模型并进行训练;
S8.采用步骤S7得到的训练后的模型,进行实时的信息系统网络攻击检测。
步骤S2所述的根据步骤S1获取的数据,进行日志提取,具体包括如下步骤:
对信息系统的访问流量进行镜像,得到信息系统的流量日志,并提取HTTP协议数据;
对于采用HTTPS协议的信息系统,则在网络链路中HTTPS解密后的位置进行流量镜像,获得HTTP协议的流量数据。
步骤S3所述的对步骤S2得到的日志数据,进行日志过滤,具体包括如下步骤:
将请求的URL后缀为设定值的HTTP流量日志进行过滤;所述的设定值包括js、css、png和gif等静态页面;
然后,将触发安全设备告警的流量日志、异常访问日志和爬虫行为的流量日志进行过滤。
步骤S4所述的结合专家规则,根据步骤S3获取的数据进行会话标识提取,具体包括如下步骤:
获取能够唯一标记会话的会话标识;
结合专家规则,判断HTTP流量cookie中是否包含用户标识字段:
若包含用户标识字段,则直接获取会话标识;
若不包含用户标识字段,则将IP地址作为会话标识;
步骤S5所述的根据步骤S3获取的数据进行参数解析,具体包括如下步骤:
HTTP协议的URL中包括协议部分、域名部分、端口部分、路径名部分、参数部分和锚部分;对于POST请求而言,还包括采用x-www-form-urlencode格式的请求体的内容;
URL的参数部分以及x-www-form-urlencode格式的请求体,以问号开始并符合name=value的样式;若存在多个URL参数,则各个参数之间用符号&隔开;
对每条HTTP流量日志进行解析,提取得到参数为“参数名:参数值”的键值对集合。
步骤S6所述的根据步骤S4和步骤S5得到的数据结果,进行特征提取,具体包括如下步骤:
提取得到的参数特征为{Argk},其中Argi为提取得到的第i个参数特征,且i=1,2,...,K,K为提取的参数特征的总和;
Argi的组成为Argi=[Session_idi,Arg_namei,Arg_valuei],Session_idi为第i个参数特征的会话标识,Arg_namei为第i个参数特征的参数名,Arg_valuei为第i个参数特征的参数值;
参数特征包括参数字符特征与会话行为特征:参数字符特征为参数名与参数值字符的统计、集合等特征;会话行为特征为会话标识相同时参数值集合{Arg_namei,Arg_valuei}满足的规律特征;
参数字符特征包括参数名、固定类参数值、参数值长度和参数值类型;会话行为特征包括单个会话内参数请求次数、单个会话内用户绑定类参数值个数、单个会话内参数请求占比和单个会话内参数个数;
用户绑定类参数指与信息系统用户存在一一对应关系的参数,即正常用户访问时,通常其值不会变的参数;
参数名为信息系统正常请求时的参数名集合;
固定类参数值为对于同一个参数名,所对应的去重后的参数值所得到的集合{Arg_valuek},其中k=1,2,...,K,K为小于设定的固定常数α的参数;
参数值长度为参数值字符串的长度;
参数值类型:采用如下公式进行编码:
type=ccap*16+clow*8+cnum*4+csym*2+coth
式中type为编码后的参数值类型;ccap为二值变量,用于表示是否包含大写字符,且若包含大写字符则ccap=1,否则ccap=0;clow为二值变量,用于表示是否包含小写字符,且若包含小写字符则clow=1,否则clow=0;cnum为二值变量,用于表示是否包含数字,且若包含数字则cnum=1,否则cnum=0;csym为二值变量,用于表示是否包含符号,且若包含符号则csym=1,否则csym=0;coth为二值变量,用于表示是否包含特殊字符,且若包含特殊字符则coth=1,否则coth=0;
单个会话内参数请求次数为单个会话内,请求参数名的总次数;
单个会话内用户绑定类参数值个数为单个会话内,请求用户绑定类参数,出现的参数值去重后的个数;
单个会话内参数请求占比为单个会话内,请求参数名的HTTP流量日志占会话总HTTP流量日志的比重;
单个会话内参数个数为单个会话内,出现的参数名去重后的个数。
步骤S7所述的根据步骤S6提取得到的特征,建立基线模型并进行训练,具体包括如下步骤:
建立的基线模型包括:
参数名基线模型:训练过程中将出现过的参数名作为白名单保存在基线中;
固定类参数值基线模型:训练时,首先判断参数是否为固定类参数:若为固定类参数,则在训练过程中将固定类参数的出现次数、参数值及出现概率作为已知知识,构建固定类参数分布概率字典,并作为特征输入到基线模型;
参数值长度基线模型:训练时,首先判断为固定长度参数还是可变长度参数;对于固定长度参数,建立固定长度白名单基线模型;对于可变长度参数,采用DBSCAN聚类算法,在训练过程中对各参数的参数值长度序列利用DBSCAN算法进行聚类,保存每个可变参数对应的BSCAN算法核心点、Epsilon值为基线模型;
参数值类型基线模型:针对编码后的参数值类型,在训练过程中将参数值类型出现的次数、参数值和出现概率作为已知知识,构建分布概率字典,并作为特征输入到基线模型中;
单个会话内参数请求次数基线模型:采用箱型图判断某个请求次数是否为异常;具体实施时,箱型图利用四分位距对异常值进行检测,首先计算第一四分位数Q1和第三四分位数Q3,随后再计算IQR值为IQR=Q3-Q1,最后训练得到正常区间为[Q1-1.5IQR,Q3+1.5IQR];
单个会话内用户绑定类参数值个数基线模型:训练过程为识别参数是否为用户绑定类参数:若在单个会话中,目标参数的值保持不变,则目标参数为用户绑定类参数;
单个会话内参数请求占比基线模型:采用箱型图判断某个请求占比是否为异常;具体实施时,箱型图利用四分位距对异常值进行检测,首先计算第一四分位数Q1和第三四分位数Q3,随后再计算IQR值为IQR=Q3-Q1,最后训练得到正常区间为[Q1-1.5IQR,Q3+1.5IQR];
单个会话内参数个数基线模型:采用箱型图判断某个参数个数是否为异常;具体实施时,箱型图利用四分位距对异常值进行检测,首先计算第一四分位数Q1和第三四分位数Q3,随后再计算IQR值为IQR=Q3-Q1,最后训练得到正常区间为[Q1-1.5IQR,Q3+1.5IQR];
参数基线聚合基线模型:将参数名、固定类参数值、参数值长度和参数值类型作为输入,采用CART决策树算法进行训练,训练完成后形成二分类决策树,作为基线模型;
会话行为基线聚合基线模型:将单个会话内参数请求次数、单个会话内用户绑定类参数值个数、单个会话内参数请求占比和单个会话内参数个数作为输入,采用孤立森林算法进行训练,训练完成后得到能够判断正常和异常的孤立森林模型,作为基线模型。
步骤S8所述的采用步骤S7得到的训练后的模型,进行实时的信息系统网络攻击检测,具体包括如下步骤:
采用步骤S7训练后的10个基线模型,进行实时的信息系统网络攻击检测,当任意一个基线模型检测到异常时,认定此时发生访问异常;
具体实施时:
参数名基线模型:判断出现的参数名字符串是否在白名单中;若不在白名单中,则认定访问异常;若在白名单中,则认定访问正常;
固定类参数值基线模型:监测过程中计算HTTP流量中每个参数值出现的概率,若出现概率小于设定的阈值,则认定出现访问异常;
参数值长度基线模型:对于固定长度参数,监测过程中判断是否在白名单中:若不在白名单中,则认定访问异常;若在白名单中,则认定访问正常;对于可变长度参数,监测过程中获取各个参数值长度,判断与对应参数保存的核心点距离,若与核心点距离均大于设定值则为异常;
参数值类型基线模型:监测过程中计算每个参数值类型出现的概率,若出现概率小于设定的阈值,则认定出现访问异常;
单个会话内参数请求次数基线模型:监测过程中,判断特征值是否在经训练得到的正常区间内:若在区间内,则访问正常;如不在区间内,则访问异常;
单个会话内用户绑定类参数值个数基线模型:监测过程中,统计用户绑定类参数的参数值去重后的个数,若出现多个参数值,则认定访问异常;
单个会话内参数请求占比基线模型:监测过程中,判断特征值是否在经训练得到的正常区间内:若在区间内,则访问正常;如不在区间内,则访问异常;
单个会话内参数个数基线模型:监测过程中,判断特征值是否在经训练得到的正常区间内:若在区间内,则访问正常;如不在区间内,则访问异常;
参数基线聚合基线模型:根据输入的特征,采用训练好的决策树模型进行异常判定;
会话行为基线聚合基线模型:根据输入的特征,采用训练好的孤立森林模型进行异常判定。
本发明提供的这种基于流量分析的信息系统网络攻击检测方法,通过对信息系统流量的分析,提取用户的请求参数特征与会话行为特征,建立各类特征所对应的基线模型,从而能够有效识别各类型攻击行为,有效弥补现有安全设备信息系统渗透攻击监测能力不足的问题,可靠性高、实用性好且适用范围广。
附图说明
图1为本发明的方法流程示意图。
具体实施方式
如图1所示为本发明的方法流程示意图:本发明提供的这种基于流量分析的信息系统网络攻击检测方法,包括如下步骤:
S1.获取信息系统的历史网络流量数据;
S2.根据步骤S1获取的数据,进行日志提取;具体包括如下步骤:
对信息系统的访问流量进行镜像,得到信息系统的流量日志,并提取HTTP协议数据;
对于采用HTTPS协议的信息系统,则在网络链路中HTTPS解密后的位置进行流量镜像,获得HTTP协议的流量数据;
S3.对步骤S2得到的日志数据,进行日志过滤;具体包括如下步骤:
将请求的URL后缀为设定值的HTTP流量日志进行过滤;所述的设定值包括js、css、png和gif等;这些日志通常为访问信息系统时自动加载的一些静态资源或前端脚本,需要过滤;
然后,将触发安全设备告警的流量日志、异常访问日志和爬虫行为等的流量日志进行过滤;
S4.结合专家规则,根据步骤S3获取的数据进行会话标识提取;具体包括如下步骤:
获取能够唯一标记会话的会话标识;
判断HTTP流量cookie中是否包含用户标识字段:如Token、SessionID等;
若包含用户标识字段,则直接获取到会话标识;
若不包含用户标识字段,则将IP地址作为会话标识;
S5.根据步骤S3获取的数据进行参数解析;具体包括如下步骤:
HTTP协议的URL中包括协议部分、域名部分、端口部分、路径名部分、参数部分和锚部分;对于POST请求而言,还包括采用x-www-form-urlencode格式的请求体的内容;
URL的参数部分以及x-www-form-urlencode格式的请求体,以问号开始并符合name=value的样式;若存在多个URL参数,则各个参数之间用符号&隔开;
对每条HTTP流量日志进行解析,提取得到参数为“参数名:参数值”的键值对集合;
例如,一条HTTP流量日志URL为:
/mws/mwsMain_getMwsAdList.do?openid=ohYmw0thgZi1GxID&noncestr=ac53fab4×tamp=1652198079
请求体为:
{sign=dc60425}
解析后提取参数为键值对集合:
{‘openid’:’ohYmw0thgZi1GxID’,’noncestr’:’ac53fab4’,’timestamp’:’1652198079’,’sign’:’dc60425’};
S6.根据步骤S4和步骤S5得到的数据结果,进行特征提取;具体包括如下步骤:
提取得到的参数特征为{Argk},其中Argi为提取得到的第i个参数特征,且i=1,2,...,K,K为提取的参数特征的总和;
Argi的组成为Argi=[Session_idi,Arg_namei,Arg_valuei],Session_idi为第i个参数特征的会话标识,Arg_namei为第i个参数特征的参数名,Arg_valuei为第i个参数特征的参数值;
参数特征包括参数字符特征与会话行为特征:参数字符特征为参数名与参数值字符的统计、集合等特征;会话行为特征为会话标识相同时参数值集合{Arg_namei,Arg_valuei}满足的规律特征;
参数字符特征包括参数名、固定类参数值、参数值长度和参数值类型;会话行为特征包括单个会话内参数请求次数、单个会话内用户绑定类参数值个数、单个会话内参数请求占比和单个会话内参数个数;
参数名为信息系统正常请求时的参数名集合;
固定类参数值为对于同一个参数名,所对应的去重后的参数值所得到的集合{Arg_valuek},其中k=1,2,...,K,K为小于设定的固定常数α的参数;固定类参数通常为信息系统前端自动提交的参数,如type=1,2,3分别表示三种类型;
参数值长度为参数值字符串的长度;对于同一个参数名,其对应的参数值长度可能为一个恒定的值,如参数telephone=137****7653,其参数值长度恒定为11位,该类为固定长度参数;也有部分参数长度位于个区间,比如,以下参数为进行了加密后URL编码再提交的数据:bdxm=djcXH6psWdElwAlA%2BpHxhMlnRO5sP3FkhKvdbPe4qeK9eC%3D,其长度受原始值、加密编码算法影响,并不固定,该类为可变长度参数;
参数值类型:采用如下公式进行编码:
type=ccap*16+clow*8+cnum*4+csym*2+coth
式中type为编码后的参数值类型;ccap为二值变量,用于表示是否包含大写字符,且若包含大写字符则ccap=1,否则ccap=0;clow为二值变量,用于表示是否包含小写字符,且若包含小写字符则clow=1,否则clow=0;cnum为二值变量,用于表示是否包含数字,且若包含数字则cnum=1,否则cnum=0;csym为二值变量,用于表示是否包含符号,且若包含符号则csym=1,否则csym=0;coth为二值变量,用于表示是否包含特殊字符,且若包含特殊字符则coth=1,否则coth=0;
单个会话内参数请求次数为单个会话内,请求参数名的总次数;
单个会话内用户绑定类参数值个数为单个会话内,请求用户绑定类参数,出现的参数值去重后的个数;用户绑定类参数指与信息系统用户存在一一对应关系的参数,即正常用户访问时,通常其值不会变的参数;这类参数通常和用户认证信息、用户身份信息相关,如用户id、手机号、身份证号等;
单个会话内参数请求占比为单个会话内,请求参数名的HTTP流量日志占会话总HTTP流量日志的比重;
单个会话内参数个数为单个会话内,出现的参数名去重后的个数;
S7.根据步骤S6提取得到的特征,建立基线模型并进行训练;具体包括如下步骤:
建立的基线模型包括:
参数名基线模型:训练过程中将出现过的参数名作为白名单保存在基线中;因白名单的方式对训练集敏感,在实际应用中,必须保证训练集中无异常会话,同时本发明还提供白名单调整反馈机制,对白名单进行实时更新;
固定类参数值基线模型:训练时,首先判断参数是否为固定类参数:若为固定类参数,则在训练过程中将固定类参数的出现次数、参数值及出现概率作为已知知识,构建固定类参数分布概率字典,并作为特征输入到基线模型;
参数值长度基线模型:训练时,首先判断为固定长度参数还是可变长度参数;对于固定长度参数,建立固定长度白名单基线模型;对于可变长度参数,采用DBSCAN聚类算法,在训练过程中对各参数的参数值长度序列利用DBSCAN算法进行聚类,保存每个可变参数对应的BSCAN算法核心点、Epsilon值为基线模型;DBSCAN算法是一种典型的基于密度的聚类方法,该算法是根据密度将紧密相连区域的样本聚集成簇,将不属于任何一簇的样本标记为异常样本,DBSCAN聚类算法可以发现各种形状的簇,不需要预先设置簇的个数,异常会话值作为离群点对聚成簇几乎没有影响;
参数值类型基线模型:针对编码后的参数值类型,在训练过程中将参数值类型出现的次数、参数值和出现概率作为已知知识,构建分布概率字典,并作为特征输入到基线模型中;
单个会话内参数请求次数基线模型:采用箱型图判断某个请求占比是否为异常;具体实施时,箱型图利用四分位距对异常值进行检测,首先计算第一四分位数Q1和第三四分位数Q3,随后再计算IQR值为IQR=Q3-Q1,最后训练得到正常区间为[Q1-1.5IQR,Q3+1.5IQR];
单个会话内用户绑定类参数值个数基线模型:训练过程为识别参数是否为用户绑定类参数:若在单个会话中,目标参数的值保持不变,则目标参数为用户绑定类参数;
单个会话内参数请求占比基线模型:采用箱型图判断某个参数个数是否为异常;具体实施时,箱型图利用四分位距对异常值进行检测,首先计算第一四分位数Q1和第三四分位数Q3,随后再计算IQR值为IQR=Q3-Q1,最后训练得到正常区间为[Q1-1.5IQR,Q3+1.5IQR];
单个会话内参数个数基线模型:采用箱型图判断某个请求次数是否为异常;具体实施时,箱型图利用四分位距对异常值进行检测,首先计算第一四分位数Q1和第三四分位数Q3,随后再计算IQR值为IQR=Q3-Q1,最后训练得到正常区间为[Q1-1.5IQR,Q3+1.5IQR];
参数基线聚合基线模型:将参数名、固定类参数值、参数值长度和参数值类型作为输入,采用CART决策树算法进行训练,训练完成后形成二分类决策树,作为基线模型;
会话行为基线聚合基线模型:将单个会话内参数请求次数、单个会话内用户绑定类参数值个数、单个会话内参数请求占比和单个会话内参数个数作为输入,采用孤立森林算法进行训练,训练完成后得到能够判断正常和异常的孤立森林模型,作为基线模型;
S8.采用步骤S7得到的训练后的模型,进行实时的信息系统网络攻击检测;具体包括如下步骤:
采用步骤S7训练后的10个基线模型,进行实时的信息系统网络攻击检测,当任意一个基线模型检测到异常时,认定此时发生访问异常;
具体实施时:
参数名基线模型:判断出现的参数名字符串是否在白名单中;若不在白名单中,则认定访问异常;若在白名单中,则认定访问正常;
固定类参数值基线模型:监测过程中计算HTTP流量中每个参数值出现的概率,若出现概率小于设定的阈值,则认定出现访问异常;
参数值长度基线模型:对于固定长度参数,监测过程中判断是否在白名单中:若不在白名单中,则认定访问异常;若在白名单中,则认定访问正常;对于可变长度参数,监测过程中获取各个参数值长度,判断与对应参数保存的核心点距离,若与核心点距离均大于设定值则为异常;
参数值类型基线模型:监测过程中计算每个参数值类型出现的概率,若出现概率小于设定的阈值,则认定出现访问异常;
单个会话内参数请求次数基线模型:监测过程中,判断特征值是否在经训练得到的正常区间内:若在区间内,则访问正常;如不在区间内,则访问异常;
单个会话内用户绑定类参数值个数基线模型:监测过程中,统计用户绑定类参数的参数值去重后的个数,若出现多个参数值,则认定访问异常;
单个会话内参数请求占比基线模型:监测过程中,判断特征值是否在经训练得到的正常区间内:若在区间内,则访问正常;如不在区间内,则访问异常;
单个会话内参数个数基线模型:监测过程中,判断特征值是否在经训练得到的正常区间内:若在区间内,则访问正常;如不在区间内,则访问异常;
参数基线聚合基线模型:根据输入的特征,采用训练好的决策树模型进行异常判定;
会话行为基线聚合基线模型:根据输入的特征,采用训练好的孤立森林模型进行异常判定。
以下结合一个实施例,对本发明方法进行进一步说明:
为了验证基于信息系统参数特征分析方法的安全监测效果,本申请选取了某企业的传统业务(WEB1)、微信公众号业务(WEB2)。对其正常时期的10万条WEB流量日志进行训练,并对其正常时期、攻防演练时期的各100万条WEB访问日志进行测试。在攻防演练期间,由攻击人员针对性开展渗透测试。因为WAF、IPS等安全设备通常会对其监测的攻击进行阻断,训练集采用的为安全设备之后的日志,测试集采用的为安全设备之前的日志。训练数据集如表1所示:
表1数据集描述示意表
通过表2所示的4个评价指标来评估本发明实施结果,其中TP表示异常会话被正确标记为异常,TN表示正常会话被正确标记为正常,FN表示异常会话被错误标记为正常,FP则表示正常会话被错误标记为异常。
表2评价指标示意表
指标 | 缩写 | 定义 |
准确率 | Acc | (TP+TN)/(TP+TN+FP+FN) |
误报率 | FPR | FP/(FP+TN) |
漏报率 | FNR | FN/(TP+FN) |
对上述数据集进行测试结果如表3所示。
表3验证结果示意表
从表中的准确率、误报率、漏报率等指标可知,本申请采用的监测方法准确率高,并且正常会话被判断为异常的数量很少,误报率低。
Claims (8)
1.一种基于流量分析的信息系统网络攻击检测方法,包括如下步骤:
S1.获取信息系统的历史网络流量数据;
S2.根据步骤S1获取的数据,进行日志提取;
S3.对步骤S2得到的日志数据,进行日志过滤;
S4.结合专家规则,根据步骤S3获取的数据进行会话标识提取;
S5.根据步骤S3获取的数据进行参数解析;
S6.根据步骤S4和步骤S5得到的数据结果,进行特征提取;
S7.根据步骤S6提取得到的特征,建立基线模型并进行训练;
S8.采用步骤S7得到的训练后的模型,进行实时的信息系统网络攻击检测。
2.根据权利要求1所述的基于流量分析的信息系统网络攻击检测方法,其特征在于步骤S2所述的根据步骤S1获取的数据,进行日志提取,具体包括如下步骤:
对信息系统的访问流量进行镜像,得到信息系统的流量日志,并提取HTTP协议数据;
对于采用HTTPS协议的信息系统,则在网络链路中HTTPS解密后的位置进行流量镜像,获得HTTP协议的流量数据。
3.根据权利要求2所述的基于流量分析的信息系统网络攻击检测方法,其特征在于步骤S3所述的对步骤S2得到的日志数据,进行日志过滤,具体包括如下步骤:
将请求的URL后缀为设定值的HTTP流量日志进行过滤;所述的设定值包括js、css、png和gif;
然后,将触发安全设备告警的流量日志、异常访问日志和爬虫行为的流量日志进行过滤。
4.根据权利要求3所述的基于流量分析的信息系统网络攻击检测方法,其特征在于步骤S4所述的结合专家规则,根据步骤S3获取的数据进行会话标识提取,具体包括如下步骤:
获取能够唯一标记会话的会话标识;
结合专家规则,判断HTTP流量cookie中是否包含用户标识字段:
若包含用户标识字段,则直接获取会话标识;
若不包含用户标识字段,则将IP地址作为会话标识。
5.根据权利要求4所述的基于流量分析的信息系统网络攻击检测方法,其特征在于步骤S5所述的根据步骤S3获取的数据进行参数解析,具体包括如下步骤:
HTTP协议的URL中包括协议部分、域名部分、端口部分、路径名部分、参数部分和锚部分;对于POST请求而言,还包括采用x-www-form-urlencode格式的请求体的内容;
URL的参数部分以及x-www-form-urlencode格式的请求体,以问号开始并符合name=value的样式;若存在多个URL参数,则各个参数之间用符号&隔开;
对每条HTTP流量日志进行解析,提取得到参数为“参数名:参数值”的键值对集合。
6.根据权利要求5所述的基于流量分析的信息系统网络攻击检测方法,其特征在于步骤S6所述的根据步骤S4和步骤S5得到的数据结果,进行特征提取,具体包括如下步骤:
提取得到的参数特征为{Argk},其中Argi为提取得到的第i个参数特征,且i=1,2,...,K,K为提取的参数特征的总和;
Argi的组成为Argi=[Session_idi,Arg_namei,Arg_valuei],Session_idi为第i个参数特征的会话标识,Arg_namei为第i个参数特征的参数名,Arg_valuei为第i个参数特征的参数值;
参数特征包括参数字符特征与会话行为特征:参数字符特征为参数名与参数值字符的统计、集合等特征;会话行为特征为会话标识相同时参数值集合{Arg_namei,Arg_valuei}满足的规律特征;
参数字符特征包括参数名、固定类参数值、参数值长度和参数值类型;会话行为特征包括单个会话内参数请求次数、单个会话内用户绑定类参数值个数、单个会话内参数请求占比和单个会话内参数个数;
参数名为信息系统正常请求时的参数名集合;
固定类参数值为对于同一个参数名,所对应的去重后的参数值所得到的集合{Arg_valuek},其中k=1,2,...,K,K为小于设定的固定常数α的参数;
参数值长度为参数值字符串的长度;
参数值类型:采用如下公式进行编码:
type=ccap*16+clow*8+cnum*4+csym*2+coth
式中type为编码后的参数值类型;ccap为二值变量,用于表示是否包含大写字符,且若包含大写字符则ccap=1,否则ccap=0;clow为二值变量,用于表示是否包含小写字符,且若包含小写字符则clow=1,否则clow=0;cnum为二值变量,用于表示是否包含数字,且若包含数字则cnum=1,否则cnum=0;csym为二值变量,用于表示是否包含符号,且若包含符号则csym=1,否则csym=0;coth为二值变量,用于表示是否包含特殊字符,且若包含特殊字符则coth=1,否则coth=0;
单个会话内参数请求次数为单个会话内,请求参数名的总次数;
单个会话内用户绑定类参数值个数为单个会话内,请求用户绑定类参数,出现的参数值去重后的个数;
单个会话内参数请求占比为单个会话内,请求参数名的HTTP流量日志占会话总HTTP流量日志的比重;
单个会话内参数个数为单个会话内,出现的参数名去重后的个数。
7.根据权利要求6所述的基于流量分析的信息系统网络攻击检测方法,其特征在于步骤S7所述的根据步骤S6提取得到的特征,建立基线模型并进行训练,具体包括如下步骤:
建立的基线模型包括:
参数名基线模型:训练过程中将出现过的参数名作为白名单保存在基线中;
固定类参数值基线模型:训练时,首先判断参数是否为固定类参数:若为固定类参数,则在训练过程中将固定类参数的出现次数、参数值及出现概率作为已知知识,构建固定类参数分布概率字典,并作为特征输入到基线模型;
参数值长度基线模型:训练时,首先判断为固定长度参数还是可变长度参数;对于固定长度参数,建立固定长度白名单基线模型;对于可变长度参数,采用DBSCAN聚类算法,在训练过程中对各参数的参数值长度序列利用DBSCAN算法进行聚类,保存每个可变参数对应的BSCAN算法核心点、Epsilon值为基线模型;
参数值类型基线模型:针对编码后的参数值类型,在训练过程中将参数值类型出现的次数、参数值和出现概率作为已知知识,构建分布概率字典,并作为特征输入到基线模型中;
单个会话内参数请求次数基线模型:采用箱型图判断某个请求次数是否为异常;具体实施时,箱型图利用四分位距对异常值进行检测,首先计算第一四分位数Q1和第三四分位数Q3,随后再计算IQR值为IQR=Q3-Q1,最后训练得到正常区间为[Q1-1.5IQR,Q3+1.5IQR];
单个会话内用户绑定类参数值个数基线模型:训练过程为识别参数是否为用户绑定类参数:若在单个会话中,目标参数的值保持不变,则目标参数为用户绑定类参数;
单个会话内参数请求占比基线模型:采用箱型图判断某个请求占比是否为异常;具体实施时,箱型图利用四分位距对异常值进行检测,首先计算第一四分位数Q1和第三四分位数Q3,随后再计算IQR值为IQR=Q3-Q1,最后训练得到正常区间为[Q1-1.5IQR,Q3+1.5IQR];
单个会话内参数个数基线模型:采用箱型图判断某个参数个数是否为异常;具体实施时,箱型图利用四分位距对异常值进行检测,首先计算第一四分位数Q1和第三四分位数Q3,随后再计算IQR值为IQR=Q3-Q1,最后训练得到正常区间为[Q1-1.5IQR,Q3+1.5IQR];
参数基线聚合基线模型:将参数名、固定类参数值、参数值长度和参数值类型作为输入,采用CART决策树算法进行训练,训练完成后形成二分类决策树,作为基线模型;
会话行为基线聚合基线模型:将单个会话内参数请求次数、单个会话内用户绑定类参数值个数、单个会话内参数请求占比和单个会话内参数个数作为输入,采用孤立森林算法进行训练,训练完成后得到能够判断正常和异常的孤立森林模型,作为基线模型。
8.根据权利要求7所述的基于流量分析的信息系统网络攻击检测方法,其特征在于步骤S8所述的采用步骤S7得到的训练后的模型,进行实时的信息系统网络攻击检测,具体包括如下步骤:
采用步骤S7训练后的10个基线模型,进行实时的信息系统网络攻击检测,当任意一个基线模型检测到异常时,认定此时发生访问异常;
具体实施时:
参数名基线模型:判断出现的参数名字符串是否在白名单中;若不在白名单中,则认定访问异常;若在白名单中,则认定访问正常;
固定类参数值基线模型:监测过程中计算HTTP流量中每个参数值出现的概率,若出现概率小于设定的阈值,则认定出现访问异常;
参数值长度基线模型:对于固定长度参数,监测过程中判断是否在白名单中:若不在白名单中,则认定访问异常;若在白名单中,则认定访问正常;对于可变长度参数,监测过程中获取各个参数值长度,判断与对应参数保存的核心点距离,若与核心点距离均大于设定值则为异常;
参数值类型基线模型:监测过程中计算每个参数值类型出现的概率,若出现概率小于设定的阈值,则认定出现访问异常;
单个会话内参数请求次数基线模型:监测过程中,判断特征值是否在经训练得到的正常区间内:若在区间内,则访问正常;如不在区间内,则访问异常;
单个会话内用户绑定类参数值个数基线模型:监测过程中,统计用户绑定类参数的参数值去重后的个数,若出现多个参数值,则认定访问异常;
单个会话内参数请求占比基线模型:监测过程中,判断特征值是否在经训练得到的正常区间内:若在区间内,则访问正常;如不在区间内,则访问异常;
单个会话内参数个数基线模型:监测过程中,判断特征值是否在经训练得到的正常区间内:若在区间内,则访问正常;如不在区间内,则访问异常;
参数基线聚合基线模型:根据输入的特征,采用训练好的决策树模型进行异常判定;
会话行为基线聚合基线模型:根据输入的特征,采用训练好的孤立森林模型进行异常判定。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210877610.4A CN115150182B (zh) | 2022-07-25 | 2022-07-25 | 基于流量分析的信息系统网络攻击检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210877610.4A CN115150182B (zh) | 2022-07-25 | 2022-07-25 | 基于流量分析的信息系统网络攻击检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115150182A true CN115150182A (zh) | 2022-10-04 |
CN115150182B CN115150182B (zh) | 2023-07-25 |
Family
ID=83413429
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210877610.4A Active CN115150182B (zh) | 2022-07-25 | 2022-07-25 | 基于流量分析的信息系统网络攻击检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115150182B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115567503A (zh) * | 2022-12-07 | 2023-01-03 | 华信咨询设计研究院有限公司 | 一种基于流量分析的https协议分析方法 |
CN116389166A (zh) * | 2023-05-29 | 2023-07-04 | 天翼云科技有限公司 | 一种恶意dos流量的检测方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106027559A (zh) * | 2016-07-05 | 2016-10-12 | 国家计算机网络与信息安全管理中心 | 基于网络会话统计特征的大规模网络扫描检测方法 |
CN107948172A (zh) * | 2017-11-30 | 2018-04-20 | 恒安嘉新(北京)科技股份公司 | 一种基于人工智能行为分析的车联网入侵攻击检测方法和系统 |
CN109951500A (zh) * | 2019-04-29 | 2019-06-28 | 宜人恒业科技发展(北京)有限公司 | 网络攻击检测方法及装置 |
US10764313B1 (en) * | 2017-01-24 | 2020-09-01 | SlashNext, Inc. | Method and system for protection against network-based cyber threats |
CN112565270A (zh) * | 2020-12-08 | 2021-03-26 | 国网湖南省电力有限公司 | Http会话异常检测方法及检测系统 |
CN112866185A (zh) * | 2019-11-28 | 2021-05-28 | 海信集团有限公司 | 网络流量监控设备和异常流量检测方法 |
-
2022
- 2022-07-25 CN CN202210877610.4A patent/CN115150182B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106027559A (zh) * | 2016-07-05 | 2016-10-12 | 国家计算机网络与信息安全管理中心 | 基于网络会话统计特征的大规模网络扫描检测方法 |
US10764313B1 (en) * | 2017-01-24 | 2020-09-01 | SlashNext, Inc. | Method and system for protection against network-based cyber threats |
CN107948172A (zh) * | 2017-11-30 | 2018-04-20 | 恒安嘉新(北京)科技股份公司 | 一种基于人工智能行为分析的车联网入侵攻击检测方法和系统 |
CN109951500A (zh) * | 2019-04-29 | 2019-06-28 | 宜人恒业科技发展(北京)有限公司 | 网络攻击检测方法及装置 |
CN112866185A (zh) * | 2019-11-28 | 2021-05-28 | 海信集团有限公司 | 网络流量监控设备和异常流量检测方法 |
CN112565270A (zh) * | 2020-12-08 | 2021-03-26 | 国网湖南省电力有限公司 | Http会话异常检测方法及检测系统 |
Non-Patent Citations (2)
Title |
---|
杨瑞朋;屈丹;朱少卫;钱叶魁;唐永旺;: "基于改进时间卷积网络的日志序列异常检测", 计算机工程, no. 08, pages 56 - 63 * |
袁梁;林金芳;: "基于文档分层表示的恶意网页快速检测方法", 计算机系统应用, no. 12, pages 230 - 235 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115567503A (zh) * | 2022-12-07 | 2023-01-03 | 华信咨询设计研究院有限公司 | 一种基于流量分析的https协议分析方法 |
CN116389166A (zh) * | 2023-05-29 | 2023-07-04 | 天翼云科技有限公司 | 一种恶意dos流量的检测方法、装置、电子设备及存储介质 |
CN116389166B (zh) * | 2023-05-29 | 2023-08-04 | 天翼云科技有限公司 | 一种恶意dos流量的检测方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115150182B (zh) | 2023-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115150182B (zh) | 基于流量分析的信息系统网络攻击检测方法 | |
CN107302547B (zh) | 一种web业务异常检测方法及装置 | |
CN105260628B (zh) | 分类器训练方法和装置、身份验证方法和系统 | |
CN110222525B (zh) | 数据库操作审计方法、装置、电子设备及存储介质 | |
Kuznetsov et al. | The statistical analysis of a network traffic for the intrusion detection and prevention systems | |
CN109167754A (zh) | 一种网络应用层安全防护系统 | |
WO2009037333A2 (en) | Intrusion detection method and system | |
CN109257393A (zh) | 基于机器学习的xss攻击防御方法及装置 | |
CN112114995A (zh) | 基于进程的终端异常分析方法、装置、设备及存储介质 | |
CN114021040A (zh) | 基于业务访问的恶意事件的告警及防护方法和系统 | |
CN113704328B (zh) | 基于人工智能的用户行为大数据挖掘方法及系统 | |
CN116016198B (zh) | 一种工控网络拓扑安全评估方法、装置及计算机设备 | |
CN107911232B (zh) | 一种确定业务操作规则的方法及装置 | |
CN107209834A (zh) | 恶意通信模式提取装置、恶意通信模式提取系统、恶意通信模式提取方法及恶意通信模式提取程序 | |
CN113486343A (zh) | 一种攻击行为的检测方法、装置、设备和介质 | |
CN112787984B (zh) | 一种基于相关分析的车载网络异常检测方法及系统 | |
CN117336055A (zh) | 一种网络异常行为检测方法、装置、电子设备及存储介质 | |
CN116915515B (zh) | 用于工控网络的访问安全控制方法及系统 | |
CN114070641B (zh) | 一种网络入侵检测方法、装置、设备和存储介质 | |
CN112528325B (zh) | 一种数据信息的安全处理方法及系统 | |
CN111371727A (zh) | 一种针对ntp协议隐蔽通信的检测方法 | |
Xu | Research on network intrusion detection method based on machine learning | |
CN112231479B (zh) | 一种安全审计方法及装置 | |
CN112073362B (zh) | 一种基于流量特征的apt组织流量识别方法 | |
CN110753053B (zh) | 一种基于大数据分析的流量异常预判方法 |
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 |