CN113596065A - 一种基于机器学习的ssh协议登录状态检测方法 - Google Patents
一种基于机器学习的ssh协议登录状态检测方法 Download PDFInfo
- Publication number
- CN113596065A CN113596065A CN202111168337.XA CN202111168337A CN113596065A CN 113596065 A CN113596065 A CN 113596065A CN 202111168337 A CN202111168337 A CN 202111168337A CN 113596065 A CN113596065 A CN 113596065A
- Authority
- CN
- China
- Prior art keywords
- ssh
- network flow
- session
- protocol
- login state
- 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
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/147—Network analysis or design for predicting network behaviour
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/18—Protocol analysers
-
- 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/16—Implementing security features at a particular protocol layer
- H04L63/168—Implementing security features at a particular protocol layer above the transport layer
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Medical Informatics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于机器学习的SSH协议登录状态检测方法,属于网络安全技术领域,其特征在于,包括以下步骤:a、构造训练模型所输入的网络流量;b、将登陆成功和登陆失败的流量通过网络流量还原方法进行还原;c、将标记好的SSH特征向量输入SVM算法进行训练,最终建立好SVM预测模型并部署到真实环境中;d、通过网络流量还原方法还原SSH网络流量,抽取真实网络流量中的SSH特征向量,将提取到的SSH特征向量输入到已经训练好的SVM预测模型中得到SSH登录状态识别结果。本发明能够有效的解决由于环境配置的差异和通信行为的不同造成的登陆状态误报和漏报的问题,实现了更精准的SSH登陆状态识别。
Description
技术领域
本发明涉及到网络安全技术领域,尤其涉及一种基于机器学习的SSH协议登录状态检测方法。
背景技术
SSH即安全外壳协议,是一种加密的网络传输协议,通常用作远程管理Linux系统,能够传输命令行界面和远程执行命令。由于该协议使用普及性且重要性很高,在很多网络攻击案件中都会看到SSH使用的痕迹,常见的网络攻击包括SSH暴力破解、弱口令登陆以及账号密码泄露导致的异常SSH登陆。
在防火墙、入侵检测系统和入侵防御系统这些安全监控设备中,通常使用端口识别、深度数据包检测和动态流检测技术来对网络流量中的协议类型和内容进行识别,这些技术针对明文协议通常识别和还原效果都较好,但对于加密协议来说只能识别到大概协议类型。特定于协议来说,由于其本身加密协议的特性,目前还没有能够直接准确识别用户登陆状态的技术手段。只有识别出协议真正登录状态才能对可能存在的系统账号失陷进行最终的定性,协议登陆状态识别对发现SSH暴力破解成功、SSH账号泄密和SSH账号异常网络登录这些网络安全监测方面有着重要的意义。
公开号为CN 109587179A,公开日为2019年04月05日的中国专利文献公开了一种基于旁路网络全流量的协议行为模式识别与告警方法,其特征在于,具体包括以下步骤:步骤一:通过交换机镜像获取网络流量,从中分离得到TCP的流量信息,再通过对TCP流量进行分析获取得到协议相关的数据,最后对协议数据进行清洗和分析,从数据集合中提取关键特征信息;所述获取数据、清洗数据以及提取特征的操作具体包括先通过对交换机进行配置,将镜像流量导出至数据解析器,根据网络报文信息解析获取得到TCP的流量,每次TCP通讯记作一条流量数据;再根据TCP报文中目的端口信息,提取出端口协议的流量信息;再对协议的流量信息进行清洗和分析,从报文信息中提取sip (源地址)、dip (目的地址)的特征信息,并统计本次通讯过程中inpacket (源地址所发出的流量包的数量)、retransmit_in (源地址所发出的流量包的重传数量)、outpacket (目的地址所发出的流量包的数量)、retransmit_out (目的地址所发出的流量包的重传数量)以及记录timeout_state (TCP连接的结束状态),共七个特征信息;步骤二:根据所述步骤一所获取的数据关键特征信息,判断当前集合内的每条流量数据类型是属于登陆成功、暴力破解和扫描过程;步骤三:依据所述步骤二中获得的每条流量数据的判断结果,进行综合考虑和推断当前时间段内的整体行为,根据整体行为执行相应的告警操作;步骤四:依据所述步骤三中的告警操作,进行更新和维护本地黑名单local_bl和本地受攻击名单weak_ip。
该专利文献公开的基于旁路网络全流量的协议行为模式识别与告警方法,虽然基础数据获取简单,避免了传统识别的繁琐。但是,其对登录状态的判断逻辑过于单一,在真实网络环境下,由于网络流量分片的原因,SSH服务器鉴权是公钥验证和键盘交互验证不同鉴权方式,以及SSH在单会话多次尝试登陆的情况都会造成此判断规则判断错误。
发明内容
本发明为了克服上述现有技术的缺陷,提供一种基于机器学习的SSH协议登录状态检测方法,本发明能够有效的解决由于环境配置的差异和通信行为的不同造成的登陆状态误报和漏报的问题,实现了更精准的SSH登陆状态识别。
本发明通过下述技术方案实现:
一种基于机器学习的SSH协议登录状态检测方法,其特征在于,包括以下步骤:
a、构造训练模型所输入的网络流量,通过真实网络环境提取和工具构造来产生SSH网络流量,其中包括基于SSH的SCP协议和SFTP网络流量,分别配置密码鉴权、公钥鉴权和键盘交互鉴权方式的SSH网络流量,通过公开SSH暴力破解工具产出单会话和多会话SSH暴力破解流量,使用SSH工具产生正常网络流量和异常网络流量,使用SFTP和SCP工具产生正常网络流量和异常网络流量;
b、将登陆成功和登陆失败的流量通过网络流量还原方法进行还原,并标识每条SSH会话的登录状态,从每条SSH会话的网络流量中抽取用于模型训练的SSH特征向量,同时打上登陆成功和失败标记,用于训练参数输入;
c、将标记好的SSH特征向量输入SVM算法进行训练,通过网格搜索和交叉验证进行参数调优,最终建立好SVM预测模型并部署到真实环境中;
d、通过网络流量还原方法还原SSH网络流量,抽取真实网络流量中的SSH特征向量,将提取到的SSH特征向量输入到已经训练好的SVM预测模型中得到SSH登录状态识别结果。
所述步骤d中,SSH登陆状态识别通过支持向量机算法实现。
所述步骤d中,SSH登录状态识别结果具体通过以下步骤获得:
步骤1、网络流量采集基于libpcap、pf_ring和DPDK开源网络流量采集框架实现网络流量还原;
步骤2、通过对数据包进行解析,对网络流量中的TCP协议进行流重组;
步骤3、根据SSH的明文特征信息来识别SSH网络流量;
步骤4、抽取SVM预测模型所需要的特征向量;
步骤5、将抽取的特征向量输入到SVM预测模型中,输出SSH登录状态识别结果。
所述步骤1中,网络流量还原是指通过端口镜像获取完整的网络流量,然后网络流量采集框架通过深度包检测识别网络流量中的TCP协议数据包。
所述步骤2中,对网络流量中的TCP协议进行流重组是指根据TCP协议数据包的源ip、源端口、目的ip、目的端口和协议进行会话还原,将每条会话的数据包进行流重组,并记录每条会话的基本信息,抽取TCP协议的应用层负载数据,进行应用层协议解析。
所述会话的基本信息包括会话开始时间、会话结束时间、会话持续时间、会话断开的方向、客户端发送的数据包总数和服务器发送的数据包总数。
所述步骤b中,抽取用于模型训练的SSH特征向量是指抽取SSH的加密通讯阶段的网络流量特征。
所述步骤b中,SSH特征向量包括会话断开方向、连接时长、前十服务器响应包长分段统计计数、首次连续交互数据包个数、服务器首次连续响应包个数、客户端首次连续响应包个数、服务器最大连续小包数、服务器最大连续大包数、客户端最大连续小包数、客户端最大连续大包数、最大连续回显交互数据包个数、加密数据包总数、客户端发包总数和服务器发包总数。
所述前十服务器响应包长分段统计计数是指64、128、512、768和1024。
所述SSH的加密通讯阶段是指版本号协商阶段、密钥及算法协商阶段、认证阶段、会话请求阶段和交互会话阶段,认证阶段、会话请求阶段和交互会话阶段属于加密协议。
本发明所述SCP协议是指安全复制协议。
本发明所述SFTP是指安全文件传送协议。
本发明所述SVM是指支持向量机。
本发明所述libpcap是指linux平台下的网络数据包捕获函数包。
本发明所述pf_ring是指高速数据包处理框架。
本发明所述DPDK是指数据平面开发套件。
本发明的有益效果主要表现在以下方面:
1、本发明,a、构造训练模型所输入的网络流量,通过真实网络环境提取和工具构造来产生SSH网络流量,其中包括基于SSH的SCP协议和SFTP网络流量,分别配置密码鉴权、公钥鉴权和键盘交互鉴权方式的SSH网络流量,通过公开SSH暴力破解工具产出单会话和多会话SSH暴力破解流量,使用SSH工具产生正常网络流量和异常网络流量,使用SFTP和SCP工具产生正常网络流量和异常网络流量;b、将登陆成功和登陆失败的流量通过网络流量还原方法进行还原,并标识每条SSH会话的登录状态,从每条SSH会话的网络流量中抽取用于模型训练的SSH特征向量,同时打上登陆成功和失败标记,用于训练参数输入;c、将标记好的SSH特征向量输入SVM算法进行训练,通过网格搜索和交叉验证进行参数调优,最终建立好SVM预测模型并部署到真实环境中;d、通过网络流量还原方法还原SSH网络流量,抽取真实网络流量中的SSH特征向量,将提取到的SSH特征向量输入到已经训练好的SVM预测模型中得到SSH登录状态识别结果,区别于传统的基于简单的流量统计逻辑,通过SSH登陆状态识别,抽取了更复杂的包长分布统计、包长序列统计和分阶段的包长统计多维度网络流量特征,同时借助SVM支持向量机算法的最优超平面分类实现了更为严格和精准的登陆状态判断,检测效果优于基于经验值得出的基于数据包统计的检测方法,较现有技术而言,能够有效的解决由于环境配置的差异和通信行为的不同造成的登陆状态误报和漏报的问题,实现了更精准的SSH登陆状态识别。
2、本发明,通过TCP流重组实现完整流量还原,规避了一般网络流量还原方案中所遇到的数据包丢包、乱序和重传的问题,有效降低了数据噪声。
3、本发明,区别于一般通过端口识别实现的SSH网络流量判断方法,使用了深度包检测技术实现SSH流量识别,能够识别非22端口的SSH网络流量,能够完整检测网络中所有的SSH网络流量,降低了漏报和误报。
4、本发明,区别于传统通用协议识别的特征抽取方案,根据SSH协议本身网络流量行为特点,针对性的规避了协议握手和协议密钥交互的前期噪声数据,通过提取应用层数据包的大小连续性特征、数据包交互行为特征和网络流量方向行为特征,凸显了登陆成功后的命令回显网络行为特征,凸显了SSH服务器配置的公钥认证和键盘交互认证流程特征,凸显SCP和SFTP网络流量行为特征,进而能够更为准确的实现SSH登录状态识别。
附图说明
下面将结合说明书附图和具体实施方式对本发明作进一步的具体说明:
图1为本发明的逻辑框图;
图2为本发明SSH登陆状态检测逻辑框图。
具体实施方式
实施例1
参见图1,一种基于机器学习的SSH协议登录状态检测方法,包括以下步骤:
a、构造训练模型所输入的网络流量,通过真实网络环境提取和工具构造来产生SSH网络流量,其中包括基于SSH的SCP协议和SFTP网络流量,分别配置密码鉴权、公钥鉴权和键盘交互鉴权方式的SSH网络流量,通过公开SSH暴力破解工具产出单会话和多会话SSH暴力破解流量,使用SSH工具产生正常网络流量和异常网络流量,使用SFTP和SCP工具产生正常网络流量和异常网络流量;
b、将登陆成功和登陆失败的流量通过网络流量还原方法进行还原,并标识每条SSH会话的登录状态,从每条SSH会话的网络流量中抽取用于模型训练的SSH特征向量,同时打上登陆成功和失败标记,用于训练参数输入;
c、将标记好的SSH特征向量输入SVM算法进行训练,通过网格搜索和交叉验证进行参数调优,最终建立好SVM预测模型并部署到真实环境中;
d、通过网络流量还原方法还原SSH网络流量,抽取真实网络流量中的SSH特征向量,将提取到的SSH特征向量输入到已经训练好的SVM预测模型中得到SSH登录状态识别结果。
a、构造训练模型所输入的网络流量,通过真实网络环境提取和工具构造来产生SSH网络流量,其中包括基于SSH的SCP协议和SFTP网络流量,分别配置密码鉴权、公钥鉴权和键盘交互鉴权方式的SSH网络流量,通过公开SSH暴力破解工具产出单会话和多会话SSH暴力破解流量,使用SSH工具产生正常网络流量和异常网络流量,使用SFTP和SCP工具产生正常网络流量和异常网络流量;b、将登陆成功和登陆失败的流量通过网络流量还原方法进行还原,并标识每条SSH会话的登录状态,从每条SSH会话的网络流量中抽取用于模型训练的SSH特征向量,同时打上登陆成功和失败标记,用于训练参数输入;c、将标记好的SSH特征向量输入SVM算法进行训练,通过网格搜索和交叉验证进行参数调优,最终建立好SVM预测模型并部署到真实环境中;d、通过网络流量还原方法还原SSH网络流量,抽取真实网络流量中的SSH特征向量,将提取到的SSH特征向量输入到已经训练好的SVM预测模型中得到SSH登录状态识别结果,区别于传统的基于简单的流量统计逻辑,通过SSH登陆状态识别,抽取了更复杂的包长分布统计、包长序列统计和分阶段的包长统计多维度网络流量特征,同时借助SVM支持向量机算法的最优超平面分类实现了更为严格和精准的登陆状态判断,检测效果优于基于经验值得出的基于数据包统计的检测方法,较现有技术而言,能够有效的解决由于环境配置的差异和通信行为的不同造成的登陆状态误报和漏报的问题,实现了更精准的SSH登陆状态识别。
实施例2
参见图1和图2,一种基于机器学习的SSH协议登录状态检测方法,包括以下步骤:
a、构造训练模型所输入的网络流量,通过真实网络环境提取和工具构造来产生SSH网络流量,其中包括基于SSH的SCP协议和SFTP网络流量,分别配置密码鉴权、公钥鉴权和键盘交互鉴权方式的SSH网络流量,通过公开SSH暴力破解工具产出单会话和多会话SSH暴力破解流量,使用SSH工具产生正常网络流量和异常网络流量,使用SFTP和SCP工具产生正常网络流量和异常网络流量;
b、将登陆成功和登陆失败的流量通过网络流量还原方法进行还原,并标识每条SSH会话的登录状态,从每条SSH会话的网络流量中抽取用于模型训练的SSH特征向量,同时打上登陆成功和失败标记,用于训练参数输入;
c、将标记好的SSH特征向量输入SVM算法进行训练,通过网格搜索和交叉验证进行参数调优,最终建立好SVM预测模型并部署到真实环境中;
d、通过网络流量还原方法还原SSH网络流量,抽取真实网络流量中的SSH特征向量,将提取到的SSH特征向量输入到已经训练好的SVM预测模型中得到SSH登录状态识别结果。
所述步骤d中,SSH登陆状态识别通过支持向量机算法实现。
所述步骤d中,SSH登录状态识别结果具体通过以下步骤获得:
步骤1、网络流量采集基于libpcap、pf_ring和DPDK开源网络流量采集框架实现网络流量还原;
步骤2、通过对数据包进行解析,对网络流量中的TCP协议进行流重组;
步骤3、根据SSH的明文特征信息来识别SSH网络流量;
步骤4、抽取SVM预测模型所需要的特征向量;
步骤5、将抽取的特征向量输入到SVM预测模型中,输出SSH登录状态识别结果。
所述步骤1中,网络流量还原是指通过端口镜像获取完整的网络流量,然后网络流量采集框架通过深度包检测识别网络流量中的TCP协议数据包。
所述步骤2中,对网络流量中的TCP协议进行流重组是指根据TCP协议数据包的源ip、源端口、目的ip、目的端口和协议进行会话还原,将每条会话的数据包进行流重组,并记录每条会话的基本信息,抽取TCP协议的应用层负载数据,进行应用层协议解析。
通过TCP流重组实现完整流量还原,规避了一般网络流量还原方案中所遇到的数据包丢包、乱序和重传的问题,有效降低了数据噪声。
实施例3
参见图1和图2,一种基于机器学习的SSH协议登录状态检测方法,包括以下步骤:
a、构造训练模型所输入的网络流量,通过真实网络环境提取和工具构造来产生SSH网络流量,其中包括基于SSH的SCP协议和SFTP网络流量,分别配置密码鉴权、公钥鉴权和键盘交互鉴权方式的SSH网络流量,通过公开SSH暴力破解工具产出单会话和多会话SSH暴力破解流量,使用SSH工具产生正常网络流量和异常网络流量,使用SFTP和SCP工具产生正常网络流量和异常网络流量;
b、将登陆成功和登陆失败的流量通过网络流量还原方法进行还原,并标识每条SSH会话的登录状态,从每条SSH会话的网络流量中抽取用于模型训练的SSH特征向量,同时打上登陆成功和失败标记,用于训练参数输入;
c、将标记好的SSH特征向量输入SVM算法进行训练,通过网格搜索和交叉验证进行参数调优,最终建立好SVM预测模型并部署到真实环境中;
d、通过网络流量还原方法还原SSH网络流量,抽取真实网络流量中的SSH特征向量,将提取到的SSH特征向量输入到已经训练好的SVM预测模型中得到SSH登录状态识别结果。
所述步骤d中,SSH登陆状态识别通过支持向量机算法实现。
所述步骤d中,SSH登录状态识别结果具体通过以下步骤获得:
步骤1、网络流量采集基于libpcap、pf_ring和DPDK开源网络流量采集框架实现网络流量还原;
步骤2、通过对数据包进行解析,对网络流量中的TCP协议进行流重组;
步骤3、根据SSH的明文特征信息来识别SSH网络流量;
步骤4、抽取SVM预测模型所需要的特征向量;
步骤5、将抽取的特征向量输入到SVM预测模型中,输出SSH登录状态识别结果。
所述步骤1中,网络流量还原是指通过端口镜像获取完整的网络流量,然后网络流量采集框架通过深度包检测识别网络流量中的TCP协议数据包。
所述步骤2中,对网络流量中的TCP协议进行流重组是指根据TCP协议数据包的源ip、源端口、目的ip、目的端口和协议进行会话还原,将每条会话的数据包进行流重组,并记录每条会话的基本信息,抽取TCP协议的应用层负载数据,进行应用层协议解析。
所述会话的基本信息包括会话开始时间、会话结束时间、会话持续时间、会话断开的方向、客户端发送的数据包总数和服务器发送的数据包总数。
所述步骤b中,抽取用于模型训练的SSH特征向量是指抽取SSH的加密通讯阶段的网络流量特征。
区别于一般通过端口识别实现的SSH网络流量判断方法,使用了深度包检测技术实现SSH流量识别,能够识别非22端口的SSH网络流量,能够完整检测网络中所有的SSH网络流量,降低了漏报和误报。
实施例4
参见图1和图2,一种基于机器学习的SSH协议登录状态检测方法,包括以下步骤:
a、构造训练模型所输入的网络流量,通过真实网络环境提取和工具构造来产生SSH网络流量,其中包括基于SSH的SCP协议和SFTP网络流量,分别配置密码鉴权、公钥鉴权和键盘交互鉴权方式的SSH网络流量,通过公开SSH暴力破解工具产出单会话和多会话SSH暴力破解流量,使用SSH工具产生正常网络流量和异常网络流量,使用SFTP和SCP工具产生正常网络流量和异常网络流量;
b、将登陆成功和登陆失败的流量通过网络流量还原方法进行还原,并标识每条SSH会话的登录状态,从每条SSH会话的网络流量中抽取用于模型训练的SSH特征向量,同时打上登陆成功和失败标记,用于训练参数输入;
c、将标记好的SSH特征向量输入SVM算法进行训练,通过网格搜索和交叉验证进行参数调优,最终建立好SVM预测模型并部署到真实环境中;
d、通过网络流量还原方法还原SSH网络流量,抽取真实网络流量中的SSH特征向量,将提取到的SSH特征向量输入到已经训练好的SVM预测模型中得到SSH登录状态识别结果。
所述步骤d中,SSH登陆状态识别通过支持向量机算法实现。
所述步骤d中,SSH登录状态识别结果具体通过以下步骤获得:
步骤1、网络流量采集基于libpcap、pf_ring和DPDK开源网络流量采集框架实现网络流量还原;
步骤2、通过对数据包进行解析,对网络流量中的TCP协议进行流重组;
步骤3、根据SSH的明文特征信息来识别SSH网络流量;
步骤4、抽取SVM预测模型所需要的特征向量;
步骤5、将抽取的特征向量输入到SVM预测模型中,输出SSH登录状态识别结果。
所述步骤1中,网络流量还原是指通过端口镜像获取完整的网络流量,然后网络流量采集框架通过深度包检测识别网络流量中的TCP协议数据包。
所述步骤2中,对网络流量中的TCP协议进行流重组是指根据TCP协议数据包的源ip、源端口、目的ip、目的端口和协议进行会话还原,将每条会话的数据包进行流重组,并记录每条会话的基本信息,抽取TCP协议的应用层负载数据,进行应用层协议解析。
所述会话的基本信息包括会话开始时间、会话结束时间、会话持续时间、会话断开的方向、客户端发送的数据包总数和服务器发送的数据包总数。
所述步骤b中,抽取用于模型训练的SSH特征向量是指抽取SSH的加密通讯阶段的网络流量特征。
所述步骤b中,SSH特征向量包括会话断开方向、连接时长、前十服务器响应包长分段统计计数、首次连续交互数据包个数、服务器首次连续响应包个数、客户端首次连续响应包个数、服务器最大连续小包数、服务器最大连续大包数、客户端最大连续小包数、客户端最大连续大包数、最大连续回显交互数据包个数、加密数据包总数、客户端发包总数和服务器发包总数。
所述前十服务器响应包长分段统计计数是指64、128、512、768和1024。
所述SSH的加密通讯阶段是指版本号协商阶段、密钥及算法协商阶段、认证阶段、会话请求阶段和交互会话阶段,认证阶段、会话请求阶段和交互会话阶段属于加密协议。
区别于传统通用协议识别的特征抽取方案,根据SSH协议本身网络流量行为特点,针对性的规避了协议握手和协议密钥交互的前期噪声数据,通过提取应用层数据包的大小连续性特征、数据包交互行为特征和网络流量方向行为特征,凸显了登陆成功后的命令回显网络行为特征,凸显了SSH服务器配置的公钥认证和键盘交互认证流程特征,凸显SCP和SFTP网络流量行为特征,进而能够更为准确的实现SSH登录状态识别。
Claims (10)
1.一种基于机器学习的SSH协议登录状态检测方法,其特征在于,包括以下步骤:
a、构造训练模型所输入的网络流量,通过真实网络环境提取和工具构造来产生SSH网络流量,其中包括基于SSH的SCP协议和SFTP网络流量,分别配置密码鉴权、公钥鉴权和键盘交互鉴权方式的SSH网络流量,通过公开SSH暴力破解工具产出单会话和多会话SSH暴力破解流量,使用SSH工具产生正常网络流量和异常网络流量,使用SFTP和SCP工具产生正常网络流量和异常网络流量;
b、将登陆成功和登陆失败的流量通过网络流量还原方法进行还原,并标识每条SSH会话的登录状态,从每条SSH会话的网络流量中抽取用于模型训练的SSH特征向量,同时打上登陆成功和失败标记,用于训练参数输入;
c、将标记好的SSH特征向量输入SVM算法进行训练,通过网格搜索和交叉验证进行参数调优,最终建立好SVM预测模型并部署到真实环境中;
d、通过网络流量还原方法还原SSH网络流量,抽取真实网络流量中的SSH特征向量,将提取到的SSH特征向量输入到已经训练好的SVM预测模型中得到SSH登录状态识别结果。
2.根据权利要求1所述的一种基于机器学习的SSH协议登录状态检测方法,其特征在于:所述步骤d中,SSH登陆状态识别通过支持向量机算法实现。
3.根据权利要求1所述的一种基于机器学习的SSH协议登录状态检测方法,其特征在于:所述步骤d中,SSH登录状态识别结果具体通过以下步骤获得:
步骤1、网络流量采集基于libpcap、pf_ring和DPDK开源网络流量采集框架实现网络流量还原;
步骤2、通过对数据包进行解析,对网络流量中的TCP协议进行流重组;
步骤3、根据SSH的明文特征信息来识别SSH网络流量;
步骤4、抽取SVM预测模型所需要的特征向量;
步骤5、将抽取的特征向量输入到SVM预测模型中,输出SSH登录状态识别结果。
4.根据权利要求3所述的一种基于机器学习的SSH协议登录状态检测方法,其特征在于:所述步骤1中,网络流量还原是指通过端口镜像获取完整的网络流量,然后网络流量采集框架通过深度包检测识别网络流量中的TCP协议数据包。
5.根据权利要求3所述的一种基于机器学习的SSH协议登录状态检测方法,其特征在于:所述步骤2中,对网络流量中的TCP协议进行流重组是指根据TCP协议数据包的源ip、源端口、目的ip、目的端口和协议进行会话还原,将每条会话的数据包进行流重组,并记录每条会话的基本信息,抽取TCP协议的应用层负载数据,进行应用层协议解析。
6.根据权利要求5所述的一种基于机器学习的SSH协议登录状态检测方法,其特征在于:所述会话的基本信息包括会话开始时间、会话结束时间、会话持续时间、会话断开的方向、客户端发送的数据包总数和服务器发送的数据包总数。
7.根据权利要求1所述的一种基于机器学习的SSH协议登录状态检测方法,其特征在于:所述步骤b中,抽取用于模型训练的SSH特征向量是指抽取SSH的加密通讯阶段的网络流量特征。
8.根据权利要求1所述的一种基于机器学习的SSH协议登录状态检测方法,其特征在于:所述步骤b中,SSH特征向量包括会话断开方向、连接时长、前十服务器响应包长分段统计计数、首次连续交互数据包个数、服务器首次连续响应包个数、客户端首次连续响应包个数、服务器最大连续小包数、服务器最大连续大包数、客户端最大连续小包数、客户端最大连续大包数、最大连续回显交互数据包个数、加密数据包总数、客户端发包总数和服务器发包总数。
9.根据权利要求8所述的一种基于机器学习的SSH协议登录状态检测方法,其特征在于:所述前十服务器响应包长分段统计计数是指64、128、512、768和1024。
10.根据权利要求7所述的一种基于机器学习的SSH协议登录状态检测方法,其特征在于:所述SSH的加密通讯阶段是指版本号协商阶段、密钥及算法协商阶段、认证阶段、会话请求阶段和交互会话阶段,认证阶段、会话请求阶段和交互会话阶段属于加密协议。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111168337.XA CN113596065B (zh) | 2021-10-08 | 2021-10-08 | 一种基于机器学习的ssh协议登录状态检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111168337.XA CN113596065B (zh) | 2021-10-08 | 2021-10-08 | 一种基于机器学习的ssh协议登录状态检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113596065A true CN113596065A (zh) | 2021-11-02 |
CN113596065B CN113596065B (zh) | 2021-12-07 |
Family
ID=78242925
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111168337.XA Active CN113596065B (zh) | 2021-10-08 | 2021-10-08 | 一种基于机器学习的ssh协议登录状态检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113596065B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116633767A (zh) * | 2023-07-20 | 2023-08-22 | 科大讯飞股份有限公司 | 一种机间通信异常检测方法、装置、设备及存储介质 |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160359887A1 (en) * | 2015-06-04 | 2016-12-08 | Cisco Technology, Inc. | Domain name system (dns) based anomaly detection |
US20170126718A1 (en) * | 2015-10-30 | 2017-05-04 | Citrix Systems, Inc. | Framework for explaining anomalies in accessing web applications |
US20180139141A1 (en) * | 2016-11-17 | 2018-05-17 | Cisco Technology, Inc. | On-box behavior-based traffic classification |
US20180139047A1 (en) * | 2016-08-12 | 2018-05-17 | Venafi, Inc. | Cryptographic key control based on debasing condition likelihood estimation |
CN108809948A (zh) * | 2018-05-21 | 2018-11-13 | 中国科学院信息工程研究所 | 一种基于深度学习的异常网络连接检测方法 |
CN109450842A (zh) * | 2018-09-06 | 2019-03-08 | 南京聚铭网络科技有限公司 | 一种基于神经网络的网络恶意行为识别方法 |
CN109587179A (zh) * | 2019-01-28 | 2019-04-05 | 南京云利来软件科技有限公司 | 一种基于旁路网络全流量的ssh协议行为模式识别与告警方法 |
CN109635564A (zh) * | 2018-12-07 | 2019-04-16 | 深圳市联软科技股份有限公司 | 一种检测暴力破解行为的方法、装置、介质及设备 |
EP3528463A1 (en) * | 2018-02-20 | 2019-08-21 | Darktrace Limited | An artificial intelligence cyber security analyst |
CN110311829A (zh) * | 2019-05-24 | 2019-10-08 | 西安电子科技大学 | 一种基于机器学习加速的网络流量分类方法 |
CN110691073A (zh) * | 2019-09-19 | 2020-01-14 | 中国电子科技网络信息安全有限公司 | 一种基于随机森林的工控网络暴力破解流量检测方法 |
CN111147394A (zh) * | 2019-12-16 | 2020-05-12 | 南京理工大学 | 一种远程桌面协议流量行为的多级分类检测方法 |
CN111552933A (zh) * | 2020-03-30 | 2020-08-18 | 西安交大捷普网络科技有限公司 | 一种账号异常登录的识别方法与装置 |
CN112491867A (zh) * | 2020-11-24 | 2021-03-12 | 北京航空航天大学 | 一种基于会话相似性分析的ssh中间人攻击检测系统 |
CN112751851A (zh) * | 2020-12-29 | 2021-05-04 | 成都科来网络技术有限公司 | 一种ssh登录成功行为判断方法、装置及存储介质 |
CN112839024A (zh) * | 2020-11-05 | 2021-05-25 | 北京工业大学 | 一种基于多尺度特征注意力的网络流量分类方法及系统 |
CN113132406A (zh) * | 2021-04-29 | 2021-07-16 | 山东云天安全技术有限公司 | 一种基于ssh流量发现网络威胁的检测方法、设备及介质 |
-
2021
- 2021-10-08 CN CN202111168337.XA patent/CN113596065B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160359887A1 (en) * | 2015-06-04 | 2016-12-08 | Cisco Technology, Inc. | Domain name system (dns) based anomaly detection |
US20170126718A1 (en) * | 2015-10-30 | 2017-05-04 | Citrix Systems, Inc. | Framework for explaining anomalies in accessing web applications |
US20180139047A1 (en) * | 2016-08-12 | 2018-05-17 | Venafi, Inc. | Cryptographic key control based on debasing condition likelihood estimation |
US20180139141A1 (en) * | 2016-11-17 | 2018-05-17 | Cisco Technology, Inc. | On-box behavior-based traffic classification |
EP3528463A1 (en) * | 2018-02-20 | 2019-08-21 | Darktrace Limited | An artificial intelligence cyber security analyst |
CN108809948A (zh) * | 2018-05-21 | 2018-11-13 | 中国科学院信息工程研究所 | 一种基于深度学习的异常网络连接检测方法 |
CN109450842A (zh) * | 2018-09-06 | 2019-03-08 | 南京聚铭网络科技有限公司 | 一种基于神经网络的网络恶意行为识别方法 |
CN109635564A (zh) * | 2018-12-07 | 2019-04-16 | 深圳市联软科技股份有限公司 | 一种检测暴力破解行为的方法、装置、介质及设备 |
CN109587179A (zh) * | 2019-01-28 | 2019-04-05 | 南京云利来软件科技有限公司 | 一种基于旁路网络全流量的ssh协议行为模式识别与告警方法 |
CN110311829A (zh) * | 2019-05-24 | 2019-10-08 | 西安电子科技大学 | 一种基于机器学习加速的网络流量分类方法 |
CN110691073A (zh) * | 2019-09-19 | 2020-01-14 | 中国电子科技网络信息安全有限公司 | 一种基于随机森林的工控网络暴力破解流量检测方法 |
CN111147394A (zh) * | 2019-12-16 | 2020-05-12 | 南京理工大学 | 一种远程桌面协议流量行为的多级分类检测方法 |
CN111552933A (zh) * | 2020-03-30 | 2020-08-18 | 西安交大捷普网络科技有限公司 | 一种账号异常登录的识别方法与装置 |
CN112839024A (zh) * | 2020-11-05 | 2021-05-25 | 北京工业大学 | 一种基于多尺度特征注意力的网络流量分类方法及系统 |
CN112491867A (zh) * | 2020-11-24 | 2021-03-12 | 北京航空航天大学 | 一种基于会话相似性分析的ssh中间人攻击检测系统 |
CN112751851A (zh) * | 2020-12-29 | 2021-05-04 | 成都科来网络技术有限公司 | 一种ssh登录成功行为判断方法、装置及存储介质 |
CN113132406A (zh) * | 2021-04-29 | 2021-07-16 | 山东云天安全技术有限公司 | 一种基于ssh流量发现网络威胁的检测方法、设备及介质 |
Non-Patent Citations (2)
Title |
---|
MD DELWAR HOSSAIN等: "SSH and FTP brute-force Attacks Detection in Computer Networks: LSTM and Machine Learning Approaches", 《IEEE INTERNATIONAL CONFERENCE ON COMPUTER AND COMMUNICATION SYSTEMS》 * |
熊刚等: "网络流量分类研究进展与展望", 《集成技术》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116633767A (zh) * | 2023-07-20 | 2023-08-22 | 科大讯飞股份有限公司 | 一种机间通信异常检测方法、装置、设备及存储介质 |
CN116633767B (zh) * | 2023-07-20 | 2023-12-01 | 科大讯飞股份有限公司 | 一种机间通信异常检测方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113596065B (zh) | 2021-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111277578B (zh) | 加密流量分析特征提取方法、系统、存储介质、安全设备 | |
CN109587179B (zh) | 一种基于旁路网络全流量的ssh协议行为模式识别与告警方法 | |
CN104506484B (zh) | 一种私有协议分析与识别方法 | |
KR101070614B1 (ko) | 봇넷 정보를 이용한 악성 트래픽 격리 시스템과 봇넷 정보를 이용한 악성 트래픽 격리 방법 | |
US8065722B2 (en) | Semantically-aware network intrusion signature generator | |
CN105227383B (zh) | 一种网络拓扑排查的装置 | |
KR102088299B1 (ko) | 분산 반사 서비스 거부 공격 탐지 장치 및 방법 | |
Garcia | Modelling the network behaviour of malware to block malicious patterns. the stratosphere project: a behavioural ips | |
CN102087631A (zh) | 一种面向状态协议实现软件的模糊测试方法 | |
CN111147394B (zh) | 一种远程桌面协议流量行为的多级分类检测方法 | |
US20110030059A1 (en) | Method for testing the security posture of a system | |
Zargar et al. | Category-based intrusion detection using PCA | |
CN112769623A (zh) | 边缘环境下的物联网设备识别方法 | |
Zulkifli et al. | Live Forensics Method for Analysis Denial of Service (DOS) Attack on Routerboard | |
KR102083028B1 (ko) | 네트워크 침입탐지 시스템 | |
CN114050979A (zh) | 一种工业控制协议安全测试系统及装置 | |
CN113596065B (zh) | 一种基于机器学习的ssh协议登录状态检测方法 | |
CN113268735B (zh) | 分布式拒绝服务攻击检测方法、装置、设备和存储介质 | |
Faisal et al. | Modeling Modbus TCP for intrusion detection | |
CN110912887A (zh) | 一种基于Bro的APT监测系统和方法 | |
CN118233199A (zh) | 一种数据包识别方法、装置、设备及存储介质 | |
Xu et al. | FIoTFuzzer: Response-based black-box fuzzing for IoT devices | |
CN116418567A (zh) | 一种网络协议安全性测试系统 | |
Siffer et al. | Netspot: A simple Intrusion Detection System with statistical learning | |
CN116318779A (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 |