CN114124509A - 基于Spark的网络异常流量检测的方法及系统 - Google Patents
基于Spark的网络异常流量检测的方法及系统 Download PDFInfo
- Publication number
- CN114124509A CN114124509A CN202111359514.2A CN202111359514A CN114124509A CN 114124509 A CN114124509 A CN 114124509A CN 202111359514 A CN202111359514 A CN 202111359514A CN 114124509 A CN114124509 A CN 114124509A
- Authority
- CN
- China
- Prior art keywords
- data
- spark
- log
- logistic regression
- abnormal
- 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.)
- Pending
Links
- 230000002159 abnormal effect Effects 0.000 title claims abstract description 51
- 238000001514 detection method Methods 0.000 title claims description 18
- 238000012545 processing Methods 0.000 claims abstract description 54
- 238000007477 logistic regression Methods 0.000 claims abstract description 46
- 238000000034 method Methods 0.000 claims abstract description 39
- 238000000605 extraction Methods 0.000 claims abstract description 18
- 238000004458 analytical method Methods 0.000 claims abstract description 14
- 238000013500 data storage Methods 0.000 claims abstract description 7
- 230000006870 function Effects 0.000 claims description 25
- 239000013598 vector Substances 0.000 claims description 18
- 238000007781 pre-processing Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 11
- 238000012360 testing method Methods 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000013507 mapping Methods 0.000 claims description 7
- 241000282326 Felis catus Species 0.000 claims description 6
- 238000012549 training Methods 0.000 claims description 5
- 238000001914 filtration Methods 0.000 claims description 4
- 230000004931 aggregating effect Effects 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000005259 measurement Methods 0.000 claims 2
- 238000012423 maintenance Methods 0.000 abstract description 5
- 238000009826 distribution Methods 0.000 abstract description 4
- 230000008859 change Effects 0.000 abstract description 3
- 230000006399 behavior Effects 0.000 description 6
- 238000003672 processing method Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010223 real-time analysis Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013079 data visualisation Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
- H04L63/1416—Event detection, e.g. attack signature detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
- G06F16/353—Clustering; Classification into predefined classes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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
- 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/1441—Countermeasures against malicious traffic
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Medical Informatics (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Library & Information Science (AREA)
- Probability & Statistics with Applications (AREA)
- Debugging And Monitoring (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了基于Spark的网络异常流量检测的方法及系统,属于分布式计算框架Spark及大数据存储框架HDFS技术领域,本发明要解决的技术问题为如何迅速地根据实时记录改变安全策略,减轻运维人员的工作压力,实现更快速地识别出异常攻击识别与分布,采用的技术方案为:该方法是由Flume NG汇聚节点所收集到的日志数据经过Kafka集群,基于Spark对日志数据进行特征采集分析,并通过训练好的逻辑回归模型进行日志数据识别,最终将SparkStreaming实时计算程序处理结果显示输出给用户。该系统包括定义模块、载入模块、提取模块及获取模块。
Description
技术领域
本发明涉及分布式计算框架Spark及大数据存储框架HDFS技术领域,具体地说是一种基于Spark的网络异常流量检测的方法及系统。
背景技术
目前电子证据的法律地位已经明确,因此将日志作为电子证据使用是具有法律依据的。计算机取证的证据收集过程主要在主机系统、网络系统和其它数字设备中进行。其中从主机系统中获取系统日志、安全日志和应用程序日志以及一些数据文件和临时文件。从网络系统中获取交换机、路由器的日志,防火墙、入侵检测等安全设备的日志和接入系统、网络的所有相关的日志记录。其他数字文件则是一些计算机辅助或控制设备所产生的数据文档,如影像、视频、聊天记录等信息。这些相互独立的日志源从不同方向出发证明同一事件是否发生,各数据源之间相互印证,相互补充,这样组成的证据链更有说服力。
传统的Hadoop具有速度慢、算子少等缺点,而Spark是一种用于处理海量数据的通用高速分布式计算框架。同时,Spark计算框架附带了机器学习库,可以为后续用户行为、日志挖掘分析提供技术支持。每次数据插入或者更新的数据是实时进行的,导致运维人员需要不间断的进行观察与维护。故如何迅速地根据实时记录改变安全策略,减轻运维人员的工作压力,实现更快速地识别出异常攻击识别与分布是目前亟待解决的技术问题。
发明内容
本发明的技术任务是提供一种基于Spark的网络异常流量检测的方法及系统,来解决如何迅速地根据实时记录改变安全策略,减轻运维人员的工作压力,实现更快速地识别出异常攻击识别与分布的问题。
本发明的技术任务是按以下方式实现的,一种基于Spark的网络异常流量检测的方法,该方法是由Flume NG汇聚节点所收集到的日志数据经过Kafka集群,基于Spark对日志数据进行特征采集分析,并通过训练好的逻辑回归模型进行日志数据识别,最终将SparkStreaming实时计算程序处理结果显示输出给用户;具体如下:
定义Spark从日志文件中读取当前系统的日志数据访问流程,从Log日志文件中获取到请求总数、访客数、资源流量大小及日志大小的参数,Spark根据实时状态码比例preProcessing获取当前访问的状态码的方法,将访问记录信息进行数据预处理并添加标记;
Spark载入处理后的日志数据进行处理,得到ngram序列;
Spark载入数据并通过TF-IDF对数据进行特征提取,在进行哈希词频统计和区分程度估算,使用分类器进行逻辑回归运算,获取到label,feature列,对于已备注label与features标签的数据进行逻辑回归,利用数据集进行训练得到逻辑回归模型;其中,label表示数据的标签,feature表示URL数据中的各个特征;
加载训练好的逻辑回归模型进行入侵加测,在去空值处理后,带入逻辑回归模型获取处理结果。
作为优选,Spark载入处理后的日志数据进行处理,得到ngram序列具体如下:
载入数据集,对数据集添加标记,正常数据标为0,异常数据标为1;
将正常数据、异常数据与合并后的数据集转为DataFrame,载入处理后的数据;
打散为单字符序列,得到ngram序列。
作为优选,Spark载入数据并通过TF-IDF(TF表示词频;IDF表示逆向文档频率)对数据进行特征提取具体如下:
HashingTF与CountVectorizer用于生成词频TF向量;其中,HashingTF是一个特征词集的转换器(Transformer),将集合转换成固定长度的特征向量;
HashingTF利用hashingtrick,原始特征通过应用哈希函数映射到索引中;
根据哈希函数映射的索引计算词频;
IDFModel获取特征向量并缩放每列;
提取URL数据的请求IP、身份统计、时间戳、请求方式及状态码的特征值。
更优地,入侵加测采用Spark MLlib,入侵加测具体为:对于得到的为止URL数据进行特征提取,使用逻辑回归模型将未知数据进行分类,得到逻辑回归模型对于未知数据识别的结果;
去空值处理是指对指定的列进行填充。
作为优选,日志数据处理方式包括:
①、实时日志数据的处理:日志数据被传输至Kafka消息队列系统中,SparkStreaming实时计算程序通过拉取Kafka中的日志信息进行处理,实时输出日志处理信息,并将处理结果存储至HBase中,用户通过对HBase操作进行日志查询);
②、离线日志数据的处理:日志数据被持久化到HDFS中,HDFS中保存的是最近一周的原始日志数据,通过Spark离线分析程序对这些日志进行分析处理,输出处理结果;
其中,日志数据存储使用HDFS与Redis。
作为优选,基于Spark对日志数据进行特征采集分析具体如下:
用户使用Spark将日志数据中访问记录元数据过滤出来;
通过Apache Flume将实时日志数据进行聚合处理;同时,Apache Flume获取到当前日志文件的所有内容,并记录每一个文件大小及存储位置;
Spark按照Apache Kafka的方法进行日志数据的分发;
Spark根据bad_count进行数据特征识别,同时根据bad_count选择合并访问量并将异常访问单独计数;其中,合并小文件的方式包括基于表名和基于路径;
Spark根据实时入侵分类计数url_cate_count_timeline方法提供了基于异常IP和异常访问地址两种方式入侵识别计数的功能,并根据url_cate_count_timeline生成异常访问的并集并且生成时间戳,同时根据地理位置与IP地址实时显示在地图中。
一种基于Spark的网络异常流量检测的系统,该系统包括,
定义模块,用于定义Spark从日志文件中读取当前系统的日志数据访问流程,从Log日志文件中获取到请求总数、访客数、资源流量大小及日志大小的参数,Spark根据实时状态码比例preProcessing获取当前访问的状态码的方法,将访问记录信息进行数据预处理并添加标记;
载入模块,用于Spark载入处理后的日志数据进行处理,得到ngram序列;
提取模块,用于Spark载入数据并通过TF-IDF对数据进行特征提取,在进行哈希词频统计和区分程度估算,使用分类器进行逻辑回归运算,获取到label,feature列,对于已备注label与features标签的数据进行逻辑回归,利用数据集进行训练得到逻辑回归模型;其中,label表示数据的标签,feature表示URL数据中的各个特征;
获取模块,用于加载训练好的逻辑回归模型进行入侵加测,在去空值处理后,带入逻辑回归模型获取处理结果。
作为优选,所述载入模块包括,
标记子模块,用于载入数据集,对数据集添加标记,正常数据标为0,异常数据标为1;
转化模块,用于将正常数据、异常数据与合并后的数据集转为DataFrame,载入处理后的数据;
打散模块,用于打散为单字符序列,得到ngram序列;
所述提取模块包括,
生成子模块,用于通过HashingTF与CountVectorizer生成词频TF向量;其中,HashingTF是一个特征词集的转换器(Transformer),将集合转换成固定长度的特征向量;
映射子模块,用于HashingTF利用hashingtrick,将原始特征通过应用哈希函数映射到索引中;
计算子模块,用于根据哈希函数映射的索引计算词频;
缩放模块,用于IDFModel获取特征向量并缩放每列;
提取子模块,用于提取URL数据的请求IP、身份统计、时间戳、请求方式及状态码的特征值。
一种电子设备,包括:存储器和至少一个处理器;
其中,所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上述的基于Spark的网络异常流量检测的方法。
一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行时,实现如上述的基于Spark的网络异常流量检测的方法。
本发明的基于Spark的网络异常流量检测的方法及系统具有以下优点:
(一)本发明迅速地根据实时记录改变安全策略,以减轻运维人员的工作压力,并更快速地识别出异常攻击识别与分布的方法,以解决在大数据存储与计算中,由于异常流量数据访问带来得管理压力,以及网络入侵时,实时修改网络安全策略带来的问题;同时充分利用Spark可以对文件数据重新合并分析的能力,利用机器学习建模进行数据处理的优势,优化网络安全环境;
(二)本发明的日志文件对各个系统中时刻发生的各种类型事件都按照时间顺序进行了详细的记录,最直观地反映了系统曾经经历过的操作步骤和行为流程,安全管理员发现入侵行为和攻击操作往往都是从分析日志开始的,并基于Spark的设计实现了用户会话行为分析总体架构和实时流计算分析功能,同时系统具有高效获取实时数据、对采集的数据进行离线分析和实时分析等功能。,主要针对日志服务器采集到的用户行为日志进行统计分析,从中获得用户行为规律,能够自定义供用户选择的功能;
(三)本发明提供了使用Spark读取整合了web日志聚合、分发、实时分析、入侵检测、数据存储与可视化的日志分析解决方案,由Flume NG汇聚节点所收集到的日志数据经过Kafka集群,由Spark Streaming实时计算程序获取,解决了数据接口两端各个子系统之间的交互问题,降低系统组网和编程的复杂度,同时支持消息的实时和离线数据处理;Spark Streaming输入数据流以时间片为单位拆分成块,然后以类似批处理的方式处理每个时间片内的数据,并对日志进行一定的过滤、匹配,根据分析策略进入相应的处理流程,根据实际的需求直接对特定的历史日志进行计算、统计和查询等操作,最终将模块处理结果显示输出给用户,实现了从原始日志收集到计算分析存储全流程的核心功能,同时系统具有较好的稳定性和可靠性,可以有效地提升运维人员的效率,对于大数据时代的运维管理具有重大的意义。
附图说明
下面结合附图对本发明进一步说明。
附图1为日志数据处理方式的示意图。
具体实施方式
参照说明书附图和具体实施例对本发明的基于Spark的网络异常流量检测的方法及系统作以下详细地说明。
实施例1:
本发明的基于Spark的网络异常流量检测的方法,该方法是由Flume NG汇聚节点所收集到的日志数据经过Kafka集群,基于Spark对日志数据进行特征采集分析,并通过训练好的逻辑回归模型进行日志数据识别,最终将Spark Streaming实时计算程序处理结果显示输出给用户;具体如下:
S1、定义Spark从日志文件中读取当前系统的日志数据访问流程,从Log日志文件中获取到请求总数、访客数、资源流量大小及日志大小的参数,Spark根据实时状态码比例preProcessing获取当前访问的状态码的方法,将访问记录信息进行数据预处理并添加标记;
S2、Spark载入处理后的日志数据进行处理,得到ngram序列;
S3、Spark载入数据并通过TF-IDF对数据进行特征提取,在进行哈希词频统计和区分程度估算,使用分类器进行逻辑回归运算,获取到label,feature列,对于已备注label与features标签的数据进行逻辑回归,利用数据集进行训练得到逻辑回归模型;其中,label表示数据的标签,feature表示URL数据中的各个特征;
S4、加载训练好的逻辑回归模型进行入侵加测,在去空值处理后,带入逻辑回归模型获取处理结果。使用训练集训练逻辑回归模型后,加载测试集,计算出逻辑回归模型的准确率。
本实施例中步骤S2的Spark载入处理后的日志数据进行处理,得到ngram序列具体如下:
S201、载入数据集,对数据集添加标记,正常数据标为0,异常数据标为1;
S202、将正常数据、异常数据与合并后的数据集转为DataFrame,载入处理后的数据;
S203、打散为单字符序列,得到ngram序列。
本实施例中步骤S3的Spark载入数据并通过TF-IDF(TF表示词频;IDF表示逆向文档频率)对数据进行特征提取具体如下:
S301、HashingTF与CountVectorizer用于生成词频TF向量;其中,HashingTF是一个特征词集的转换器(Transformer),将集合转换成固定长度的特征向量;
S302、HashingTF利用hashingtrick,原始特征通过应用哈希函数映射到索引中;
S303、根据哈希函数映射的索引计算词频;
S304、IDFModel获取特征向量并缩放每列;
S305、提取URL数据的请求IP、身份统计、时间戳、请求方式及状态码的特征值。
本实施例中步骤S4的入侵加测采用Spark MLlib,入侵加测具体为:对于得到的为止URL数据进行特征提取,使用逻辑回归模型将未知数据进行分类,得到逻辑回归模型对于未知数据识别的结果;
本实施例中步骤S4的去空值处理是指对指定的列进行填充。
网络系统中的入网设备产生的日志数据通过指定的端口而被统一配置发送到目标服务器中,利用日志管理服务对日志数据进行初步的标准化和规范化处理。规范化的日志数据被发送Flume NG集群中,Flume NG集群根据在线和离线处理分析的不同需求,如附图1所示,本实施例中的日志数据处理方式包括:
①、实时日志数据的处理:日志数据被传输至Kafka消息队列系统中,SparkStreaming实时计算程序通过拉取Kafka中的日志信息进行处理,实时输出日志处理信息,并将处理结果存储至HBase中,用户通过对HBase操作进行日志查询);
②、离线日志数据的处理:日志数据被持久化到HDFS中,HDFS中保存的是最近一周的原始日志数据,通过Spark离线分析程序对这些日志进行分析处理,输出处理结果;
其中,日志数据存储使用HDFS与Redis。
本实施例中的基于Spark对日志数据进行特征采集分析具体如下:
(1)、用户使用Spark将日志数据中访问记录元数据过滤出来;
(2)、通过Apache Flume将实时日志数据进行聚合处理;同时,Apache Flume获取到当前日志文件的所有内容,并记录每一个文件大小及存储位置;
(3)、Spark按照Apache Kafka的方法进行日志数据的分发;
(4)、Spark根据bad_count进行数据特征识别,同时根据bad_count选择合并访问量并将异常访问单独计数;其中,合并小文件的方式包括基于表名和基于路径;
(5)、Spark根据实时入侵分类计数url_cate_count_timeline方法提供了基于异常IP和异常访问地址两种方式入侵识别计数的功能,并根据url_cate_count_timeline生成异常访问的并集并且生成时间戳,同时根据地理位置与IP地址实时显示在地图中。
实施例2:
本实施例中的基于Spark的网络异常流量检测的系统,该系统包括,
定义模块,用于定义Spark从日志文件中读取当前系统的日志数据访问流程,从Log日志文件中获取到请求总数、访客数、资源流量大小及日志大小的参数,Spark根据实时状态码比例preProcessing获取当前访问的状态码的方法,将访问记录信息进行数据预处理并添加标记;
载入模块,用于Spark载入处理后的日志数据进行处理,得到ngram序列;
提取模块,用于Spark载入数据并通过TF-IDF对数据进行特征提取,在进行哈希词频统计和区分程度估算,使用分类器进行逻辑回归运算,获取到label,feature列,对于已备注label与features标签的数据进行逻辑回归,利用数据集进行训练得到逻辑回归模型;其中,label表示数据的标签,feature表示URL数据中的各个特征;
获取模块,用于加载训练好的逻辑回归模型进行入侵加测,在去空值处理后,带入逻辑回归模型获取处理结果。
本实施例中的载入模块包括,
标记子模块,用于载入数据集,对数据集添加标记,正常数据标为0,异常数据标为1;
转化模块,用于将正常数据、异常数据与合并后的数据集转为DataFrame,载入处理后的数据;
打散模块,用于打散为单字符序列,得到ngram序列;
本实施例中的提取模块包括,
生成子模块,用于通过HashingTF与CountVectorizer生成词频TF向量;其中,HashingTF是一个特征词集的转换器(Transformer),将集合转换成固定长度的特征向量;
映射子模块,用于HashingTF利用hashingtrick,将原始特征通过应用哈希函数映射到索引中;
计算子模块,用于根据哈希函数映射的索引计算词频;
缩放模块,用于IDFModel获取特征向量并缩放每列;
提取子模块,用于提取URL数据的请求IP、身份统计、时间戳、请求方式及状态码的特征值。
实施例3:
本发明实施例还提供了一种电子设备,包括:存储器和一个处理器;
其中,所述存储器存储计算机执行指令;
一个处理器执行所述存储器存储的计算机执行指令,使得一个处理器执行本发明任一项所述的基于Spark的网络异常流量检测的方法。
处理器可以是中央处理单元(,CPU),还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通过处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可用于储存计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现电子设备的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器还可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,只能存储卡(SMC),安全数字(SD)卡,闪存卡、至少一个磁盘存储期间、闪存器件、或其他易失性固态存储器件。
实施例4:
本发明实施例还提供了一种计算机可读存储介质,其中存储有多条指令,指令由处理器加载,使处理器执行本发明任一实施例中的基于Spark的网络异常流量检测的方法。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种基于Spark的网络异常流量检测的方法,其特征在于,该方法是由Flume NG汇聚节点所收集到的日志数据经过Kafka集群,基于Spark对日志数据进行特征采集分析,并通过训练好的逻辑回归模型进行日志数据识别,最终将Spark Streaming实时计算程序处理结果显示输出给用户;具体如下:
定义Spark从日志文件中读取当前系统的日志数据访问流程,从Log日志文件中获取到请求总数、访客数、资源流量大小及日志大小的参数,Spark根据实时状态码比例preProcessing获取当前访问的状态码的方法,将访问记录信息进行数据预处理并添加标记;
Spark载入处理后的日志数据进行处理,得到ngram序列;
Spark载入数据并通过TF-IDF对数据进行特征提取,在进行哈希词频统计和区分程度估算,使用分类器进行逻辑回归运算,获取到label,feature列,对于已备注label与features标签的数据进行逻辑回归,利用数据集进行训练得到逻辑回归模型;其中,label表示数据的标签,feature表示URL数据中的各个特征;
加载训练好的逻辑回归模型进行入侵加测,在去空值处理后,带入逻辑回归模型获取处理结果。
2.根据权利要求1所述的基于SparkK的网络异常流量检测的方法,其特征在于,Spark载入处理后的日志数据进行处理,得到ngram序列具体如下:
载入数据集,对数据集添加标记,正常数据标为0,异常数据标为1;
将正常数据、异常数据与合并后的数据集转为DataFrame,载入处理后的数据;
打散为单字符序列,得到ngram序列。
3.根据权利要求1所述的基于Spark的网络异常流量检测的方法,其特征在于,Spark载入数据并通过TF-IDF对数据进行特征提取具体如下:
HashingTF与CountVectorizer用于生成词频TF向量;其中,HashingTF是一个特征词集的转换器,将集合转换成固定长度的特征向量;
HashingTF利用hashingtrick,原始特征通过应用哈希函数映射到索引中;
根据哈希函数映射的索引计算词频;
IDFModel获取特征向量并缩放每列;
提取URL数据的请求IP、身份统计、时间戳、请求方式及状态码的特征值。
4.根据权利要求1-3中任一所述的基于Spark的网络异常流量检测的方法,其特征在于,入侵加测采用Spark MLlib,入侵加测具体为:对于得到的为止URL数据进行特征提取,使用逻辑回归模型将未知数据进行分类,得到逻辑回归模型对于未知数据识别的结果;
去空值处理是指对指定的列进行填充。
5.根据权利要求1所述的基于Spark的网络异常流量检测的方法,其特征在于,日志数据处理方式包括:
①、实时日志数据的处理:日志数据被传输至Kafka消息队列系统中,Spark Streaming实时计算程序通过拉取Kafka中的日志信息进行处理,实时输出日志处理信息,并将处理结果存储至HBase中,用户通过对HBase操作进行日志查询);
②、离线日志数据的处理:日志数据被持久化到HDFS中,HDFS中保存的是最近一周的原始日志数据,通过Spark离线分析程序对这些日志进行分析处理,输出处理结果;
其中,日志数据存储使用HDFS与Redis。
6.根据权利要求1所述的基于Spark的网络异常流量检测的方法,其特征在于,基于Spark对日志数据进行特征采集分析具体如下:
用户使用Spark将日志数据中访问记录元数据过滤出来;
通过Apache Flume将实时日志数据进行聚合处理;同时,Apache Flume获取到当前日志文件的所有内容,并记录每一个文件大小及存储位置;
Spark按照Apache Kafka的方法进行日志数据的分发;
Spark根据bad_count进行数据特征识别,同时根据bad_count选择合并访问量并将异常访问单独计数;其中,合并小文件的方式包括基于表名和基于路径;
Spark根据实时入侵分类计数url_cate_count_timeline方法提供了基于异常IP和异常访问地址两种方式入侵识别计数的功能,并根据url_cate_count_timeline生成异常访问的并集并且生成时间戳,同时根据地理位置与IP地址实时显示在地图中。
7.一种基于Spark的网络异常流量检测的系统,其特征在于,该系统包括,
定义模块,用于定义Spark从日志文件中读取当前系统的日志数据访问流程,从Log日志文件中获取到请求总数、访客数、资源流量大小及日志大小的参数,Spark根据实时状态码比例preProcessing获取当前访问的状态码的方法,将访问记录信息进行数据预处理并添加标记;
载入模块,用于Spark载入处理后的日志数据进行处理,得到ngram序列;
提取模块,用于Spark载入数据并通过TF-IDF对数据进行特征提取,在进行哈希词频统计和区分程度估算,使用分类器进行逻辑回归运算,获取到label,feature列,对于已备注label与features标签的数据进行逻辑回归,利用数据集进行训练得到逻辑回归模型;其中,label表示数据的标签,feature表示URL数据中的各个特征;
获取模块,用于加载训练好的逻辑回归模型进行入侵加测,在去空值处理后,带入逻辑回归模型获取处理结果。
8.根据权利要求7所述的基于Spark的网络异常流量检测的系统,其特征在于,所述载入模块包括,
标记子模块,用于载入数据集,对数据集添加标记,正常数据标为0,异常数据标为1;
转化模块,用于将正常数据、异常数据与合并后的数据集转为DataFrame,载入处理后的数据;
打散模块,用于打散为单字符序列,得到ngram序列;
所述提取模块包括,
生成子模块,用于通过HashingTF与CountVectorizer生成词频TF向量;其中,HashingTF是一个特征词集的转换器,将集合转换成固定长度的特征向量;
映射子模块,用于HashingTF利用hashingtrick,将原始特征通过应用哈希函数映射到索引中;
计算子模块,用于根据哈希函数映射的索引计算词频;
缩放模块,用于IDFModel获取特征向量并缩放每列;
提取子模块,用于提取URL数据的请求IP、身份统计、时间戳、请求方式及状态码的特征值。
9.一种电子设备,其特征在于,包括:存储器和至少一个处理器;
其中,所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1至6任一所述的基于Spark的网络异常流量检测的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行时,实现如权利要求1至6中任一所述的基于Spark的网络异常流量检测的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111359514.2A CN114124509A (zh) | 2021-11-17 | 2021-11-17 | 基于Spark的网络异常流量检测的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111359514.2A CN114124509A (zh) | 2021-11-17 | 2021-11-17 | 基于Spark的网络异常流量检测的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114124509A true CN114124509A (zh) | 2022-03-01 |
Family
ID=80397044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111359514.2A Pending CN114124509A (zh) | 2021-11-17 | 2021-11-17 | 基于Spark的网络异常流量检测的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114124509A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019035765A1 (en) * | 2017-08-14 | 2019-02-21 | Dathena Science Pte. Ltd. | METHODS, AUTOMATIC LEARNING ENGINES AND FILE MANAGEMENT PLATFORM SYSTEMS FOR CONTENT AND DATA CONTEXT-SENSITIVE CLASSIFICATION AND FOR SECURITY MALFUNCTION DETECTION |
CN109960729A (zh) * | 2019-03-28 | 2019-07-02 | 国家计算机网络与信息安全管理中心 | Http恶意流量的检测方法及系统 |
CN110690984A (zh) * | 2018-07-05 | 2020-01-14 | 上海宝信软件股份有限公司 | 基于Spark的大数据网络日志采集分析和预警的方法、系统 |
-
2021
- 2021-11-17 CN CN202111359514.2A patent/CN114124509A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019035765A1 (en) * | 2017-08-14 | 2019-02-21 | Dathena Science Pte. Ltd. | METHODS, AUTOMATIC LEARNING ENGINES AND FILE MANAGEMENT PLATFORM SYSTEMS FOR CONTENT AND DATA CONTEXT-SENSITIVE CLASSIFICATION AND FOR SECURITY MALFUNCTION DETECTION |
CN110690984A (zh) * | 2018-07-05 | 2020-01-14 | 上海宝信软件股份有限公司 | 基于Spark的大数据网络日志采集分析和预警的方法、系统 |
CN109960729A (zh) * | 2019-03-28 | 2019-07-02 | 国家计算机网络与信息安全管理中心 | Http恶意流量的检测方法及系统 |
Non-Patent Citations (1)
Title |
---|
李宗仁: "《基于Spark+技术的入侵检测研究》", CNKI, 31 December 2019 (2019-12-31) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107818150B (zh) | 一种日志审计方法及装置 | |
US20160357807A1 (en) | Horizontal Decision Tree Learning from Very High Rate Data Streams | |
CN108156141B (zh) | 一种实时数据识别方法、装置及电子设备 | |
CN113360554B (zh) | 一种数据抽取、转换和加载etl的方法和设备 | |
CN108600172B (zh) | 撞库攻击检测方法、装置、设备及计算机可读存储介质 | |
CN112084224B (zh) | 一种数据管理方法、系统、设备及介质 | |
US10031901B2 (en) | Narrative generation using pattern recognition | |
CN111294233A (zh) | 网络告警统计分析方法、系统及计算机可读存储介质 | |
CN109005162B (zh) | 工控系统安全审计方法及装置 | |
CN113965389B (zh) | 一种基于防火墙日志的网络安全管理方法、设备及介质 | |
CN110177024B (zh) | 热点设备的监控方法及客户端、服务端、系统 | |
CN113282920B (zh) | 日志异常检测方法、装置、计算机设备和存储介质 | |
US20150199508A1 (en) | Information processing system, information processing device, monitoring device, monitoring method | |
US11897527B2 (en) | Automated positive train control event data extraction and analysis engine and method therefor | |
CN111901199A (zh) | 一种基于海量数据的快速预警匹配实现方法 | |
CN114124509A (zh) | 基于Spark的网络异常流量检测的方法及系统 | |
CN113283677B (zh) | 指标数据处理方法、装置、设备及存储介质 | |
CN115344455A (zh) | 日志处理方法、装置、电子设备及存储介质 | |
CN111737371B (zh) | 可动态预测的数据流量检测分类方法及装置 | |
CN109086196B (zh) | 一种机房设备测试用例管理系统 | |
CN116186019B (zh) | 应用于民机航电系统下的功能一体化智能分析方法及装置 | |
KR102656541B1 (ko) | 로그 타입별 분산 방식을 활용한 대용량 로그 데이터 분석 장치, 방법 및 프로그램 | |
US20230334340A1 (en) | Automated positive train control event data extraction and analysis engine for performing root cause analysis of unstructured data | |
CN114328140A (zh) | 一种操作行为报警方法、装置及相关设备 | |
CN117792727A (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 |