CN110535888A - 端口扫描攻击检测方法及相关装置 - Google Patents

端口扫描攻击检测方法及相关装置 Download PDF

Info

Publication number
CN110535888A
CN110535888A CN201910969569.1A CN201910969569A CN110535888A CN 110535888 A CN110535888 A CN 110535888A CN 201910969569 A CN201910969569 A CN 201910969569A CN 110535888 A CN110535888 A CN 110535888A
Authority
CN
China
Prior art keywords
message
entropy
communication
address
sampling
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
Application number
CN201910969569.1A
Other languages
English (en)
Other versions
CN110535888B (zh
Inventor
温振环
曾浩
张阳
陈明勇
姚景柏
郑波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Vcmy Technology Co Ltd
Original Assignee
Guangzhou Vcmy Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Vcmy Technology Co Ltd filed Critical Guangzhou Vcmy Technology Co Ltd
Priority to CN201910969569.1A priority Critical patent/CN110535888B/zh
Publication of CN110535888A publication Critical patent/CN110535888A/zh
Application granted granted Critical
Publication of CN110535888B publication Critical patent/CN110535888B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/146Tracing the source of attacks

Abstract

本发明实施例涉及SDN技术领域,提供的一种端口扫描攻击检测方法及相关装置,所述方法包括:接收SDN交换机发送的多个采样报文;计算特征字段的熵值及熵值阈值;依据熵值及熵值阈值,判断是否存在网络异常;当存在网络异常时,确定多个采样报文中至少一对端到端通信的通信报文及通信报文数量;当端到端通信的通信报文数量小于预设统计阈值时,确定存在端口扫描攻击;当存在端口扫描攻击时,依据至少一对端到端通信的通信报文,从多个主机中确定发起端口扫描攻击的攻击主机。由于当存在网络异常时再对采样报文进行详细分析,从中确定发起端口扫描攻击的攻击主机,由此可以避免不必要的详细分析带来的时间消耗,提高了检测效率。

Description

端口扫描攻击检测方法及相关装置
技术领域
本发明涉及SDN技术领域,具体而言,涉及一种端口扫描攻击检测方法及相关装置。
背景技术
软件定义网络SDN(Software-Defined Network,SDN)是一种新型网络架构,其主要特点为控制与转发平面分离、逻辑上集中控制、可编程。SDN网络的特点使得其能够方便地收集网络信息、灵活地改变网络特征、控制网络流量,因此能够顺利地进行端口扫描行为检测和拦截。
由于采集的采样数据量非常大,确定攻击主机需要对采样数据进行详细分析,因而需要耗费大量的时间,导致检测效率低下。
发明内容
有鉴于此,本发明的目的在于提供一种端口扫描攻击检测方法及相关装置。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供一种端口扫描攻击检测方法,应用于服务器,服务器与软件定义网络SDN交换机通信连接,SDN交换机与多个主机通信连接,所述方法包括:接收SDN交换机发送的多个采样报文,其中,多个采样报文为任意两个主机之间通过SDN交换机转发的通信报文,每个采样报文包括特征字段;计算特征字段的熵值及熵值阈值;依据熵值及熵值阈值,判断是否存在网络异常;当存在网络异常时,确定多个采样报文中至少一对端到端通信的通信报文及通信报文数量,其中,每一对端到端通信的每一端均对应一个主机;当端到端通信的通信报文数量小于预设统计阈值时,确定存在端口扫描攻击;当存在端口扫描攻击时,依据至少一对端到端通信的通信报文,从多个主机中确定发起端口扫描攻击的攻击主机。
第二方面,本发明实施例提供一种端口扫描攻击检测装置,应用于服务器,服务器与软件定义网络SDN交换机通信连接,SDN交换机与多个主机通信连接,所述装置包括接收模块、计算模块、异常判断模块、处理模块、攻击判断模块及识别模块。其中,接收模块用于接收SDN交换机发送的多个采样报文,其中,多个采样报文为任意两个主机之间通过SDN交换机转发的通信报文,每个采样报文包括特征字段;计算模块用于计算特征字段的熵值及熵值阈值;异常判断模块用于依据熵值及熵值阈值,判断是否存在网络异常;处理模块用于当存在网络异常时,确定所述多个采样报文中至少一对端到端通信的通信报文及通信报文数量,其中,每一对所述端到端通信的每一端均对应一个主机;攻击判断模块,用于当端到端通信的通信报文数量小于预设统计阈值时,确定存在端口扫描攻击;识别模块用于当存在端口扫描攻击时,依据至少一对端到端通信的通信报文,从多个主机中确定发起端口扫描攻击的攻击主机。
第三方面,本发明实施例提供一种服务器,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现上述的端口扫描攻击检测方法。
第四方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的端口扫描攻击检测方法。
相对于现有技术,本发明实施例提供一种端口扫描攻击检测方法及相关装置,首先通过计算采样报文中特征字段的熵值及熵值阈值,根据熵值和熵值阈值判断是否存在网络异常,当存在网络异常时,再确定是否存在端口扫描攻击,当存在端口扫描攻击时,再最终确定发起端口扫描攻击的攻击主机,由此可以避免不必要的详细分析带来的时间消耗,提高了检测效率。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的应用场景示意图。
图2示出了本发明实施例提供的端口扫描攻击检测方法流程图。
图3示出了本发明实施例提供的端口扫描攻击检测装置的方框示意图。
图4示出了本发明实施例提供的服务器的方框示意图。
图标:10-服务器;101-存储器;102-通信接口;103-处理器;104-总线;20-SDN交换机;30-SDN控制器;40-主机;200-端口扫描攻击检测装置;201-接收模块;202-计算模块;203-异常判断模块;204-处理模块;205-攻击判断模块;206-识别模块;207-拦截模块。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
请参照图1,图1示出了本发明实施例提供的应用场景示意图,图1中,服务器10与至少一个SDN交换机20通信连接,每个SDN交换机20与多个主机40通信连接,服务器10还与SDN控制器30通信连接,SDN控制器30与至少一个SDN交换机20通信连接。SDN交换机20负责采集与自身连接的任意两个主机40之间通信报文,并将采样报文上报给服务器10,服务器10计算采样报文中特征字段的熵值及熵值阈值,根据熵值及熵值阈值,判断是否存在网络异常,当存在网络异常时,确定多个采样报文中至少一对端到端通信的通信报文及通信报文数量,当端到端通信的通信报文数量小于预设统计阈值时,确定存在端口扫描攻击,当存在端口扫描攻击时,在确定发起端口扫描攻击的攻击主机,当确定攻击主机后,服务器10还会生成针对攻击主机拦截的流表项,通过SDN控制器30将该流表项发送至负责转发来自攻击主机的数据包的SDN交换机20,以使该SDN交换机20将攻击主机发送的数据包进行拦截。
请参照图2,图2示出了本发明实施例提供的端口扫描攻击检测方法流程图,该方法包括以下步骤:
步骤S101,接收SDN交换机发送的多个采样报文,其中,多个采样报文为任意两个主机之间通过SDN交换机转发的通信报文,每个采样报文包括特征字段。
在本实施例中,可以采用sFlow网络监测对报文进行采样,具体实现方式为:SDN交换机20上运行sFlow代理模块,负责周期性地对SDN交换机20转发的通信报文进行采样,服务器10上运行有sFlow收集模块,负责接收SDN交换机20上报的采样报文,服务器10通过sFlow收集模块提供的REST API函数获取采样报文。当然,也可以采用其他的网络监视的软件对报文进行采样,例如NetFlow网络监视软件,本发明不对具体的报文采样方式予以限定。
在本实施例中,报文是网络传输的单位,传输过程中会不断地封装成分组、包、帧来传输,封装的方式就是添加一些信息段,报文头以一定格式组织,例如,IP报文格式中包括版本、服务类型、源IP地址、目的IP地址等字段,TCP报文格式中包括IP首部、源端口号、目的端口号等字段。特征字段为采样报文的报文头中分布情况受通信状况影响较大的字段,依据特征字段的分布特征情况可以判断当前是否存在端口扫描攻击。在本发明实施例中,特征字段可以是源IP地址、目的IP地址及目的端口。
步骤S102,计算特征字段的熵值及熵值阈值。
在本实施例中,特征字段的熵值用于反映特征字段的分布特征,特征字段的熵值阈值用于界定特征字段的分布特征满足预设条件的临界值。
在本实施例中,按照采样周期对SDN交换机20转发的通信报文进行采样,特征字段的熵值是对当前采样周期内采样得到的采样报文中的特征字段进行熵值计算得到的,特征字段的熵值阈值是根据历史采样周期内采样得到的采样报文中特征字段的历史熵值计算得到的。
在本实施例中,特征字段包括源IP地址、目的IP地址及目的端口,因此,每一字段均有一个的熵值及各自对应的熵值阈值,即源IP地址的熵值对应源IP地址的熵值阈值,目的IP地址的熵值对应目的IP地址的熵值阈值,目的端口的阈值对应目的端口的熵值阈值。
在本实施例中,可以采样如下方式计算特征字段的熵值:
依据多个采样报文的总数及特征字段的每一取值在多个采样报文中的次数,计算特征字段的熵值。
例如,采样报文共有5个,其目的端口分别为:21、23、8080、8080、21,则目的端口共有3种取值,分别为:21、23和8080,目的端口的取值21在采样报文中的频数为2,目的端口的取值23在采样报文中的次数为1,目的端口的取值8080在采样报文中的次数为2。
作为一种具体实施方式,一个采样周期内采样的采样报文中特征字段的熵值可以采用如下公式计算得到:
其中,X为任一特征字段,可以是源IP地址、目标IP地址或者目的端口中的任意一个,H(X)为特征字段X的熵值,N为特征字段X总的取值个数,S为采样报文的总数,ni为特征字段X第i个取值出现的次数。
在本实施例中,对于每一个特征字段,均采样类似的方式得到对应特征字段的熵值:
依据多个采样报文的总数及源IP地址的每一取值在多个采样报文中的次数,计算源IP地址的熵值。
依据多个采样报文的总数及目的IP地址的每一取值在多个采样报文中的次数,计算目的IP地址的熵值。
依据多个采样报文的总数及目的端口的每一取值在多个采样报文中的次数,计算目的端口的熵值。
具体公式此处不再赘述。
在本实施例中,可以采样如下方式计算特征字段的熵值阈值:
首先,计算历史采样周期内采样得到历史采样报文中特征字段的历史熵值,其中,历史采样周期为当前采样周期的开始时刻之前的预设个数的采样周期。
在本实施例中,作为一种最优的实施方式,历史采样周期为当前采样周期的开始时刻之前的连续的预设个数的采样周期,其中的预设个数可以依据实际场景的需要进行设定。例如,采样周期为1分钟,当前采样周期的开始时刻为10:00,预设个数为5,则历史采样周期包括:9:59~10:00的采样周期、9:58~9:59的采样周期、9:57~9:58的采样周期、9:56~9:57的采样周期及9:55~9:56的采样周期。
在本发明实施例中,计算历史采样周期中每一采样周期内采样得到的历史采样报文中特征字段的历史熵值,计算方式与当前采样周期内采样得到的采样报文中特征字段的熵值一样,此处不再赘述。
其次,依据历史采样报文中特征字段的历史熵值计算特征字段的熵值阈值。
在本发明实施例中,可以采样一次指数平滑法,依据历史采样报文中特征字段的历史熵值计算当前采样周期内的采样报文中特征字段的熵值的预测值及标准差,再依据该预测值及标准差计算得到当前采样周期内的采样报文中特征字段的熵值阈值。
作为一种具体实现方式,计算特征字段的熵值预测值的公式为:
其中,为第t个采样周期内采样报文中特征字段的熵值的预测值,Ht-1为第(t-1)个采样周期内采样报文中特征字段的历史熵值,a为预测参数,k为历史采样周期的个数,为第(t-k)个采样周期内采样报文中特征字段的熵值的预测值。
计算特征字段的熵值标准差的公式为:
其中,σt为第t个周期熵值的标准差,Hj为第j个采样周期内历史采样报文中特征字段的历史熵值,为第j个采样周期内采样报文中特征字段的熵值的预测值。
计算特征字段的熵值阈值的公式为:
其中,Tt为第t个周期内采样报文中特征字段的熵值阈值。
在本实施例中,对于每一个特征字段,均采样类似的方式得到对应特征字段的熵值阈值:
依据历史采样报文中源IP地址的历史熵值计算源IP地址的熵值阈值。
依据历史采样报文中目的IP地址的历史熵值计算目的IP地址的熵值阈值。
依据历史采样报文中目的端口的历史熵值计算目的端口的熵值阈值。
具体公式此处不再赘述。
步骤S103,依据熵值及熵值阈值,判断是否存在网络异常。
在本实施例中,网络异常可能是蠕虫攻击、分布式拒绝服务DDoS(DistributedDenial of Service,DDoS)攻击、也可能是端口扫描攻击。
在本实施例中,作为一种实施方式,判断是否存在网络异常的方法可以是:
当源IP地址的熵值小于源IP地址熵值阈值且目的IP地址的熵值小于目的IP地址的熵值阈值、或者当源IP地址的熵值小于源IP地址熵值阈值且目的端口的熵值小于目的端口的熵值阈值时,判定存在网络异常。
需要说明的是,当判定存在网络异常时,当前采样周期内的采样报文中特征字段的熵值及熵值阈值不再作为下一次计算熵值的预测值的历史熵值及历史熵值阈值,由此保证后续熵值的预测值的准确性,避免由此导致的网络异常的误报,最终导致端口扫描攻击的误报。
步骤S104,当存在网络异常时,确定多个采样报文中至少一对端到端通信的通信报文及通信报文数量,其中,每一对端到端通信的每一端均对应一个主机。
在本实施例中,端到端通信的每一端对应一个套接字,一个套接字包括IP地址和端口,可以表示为:IP地址:端口,IP地址可以表征该端对应的主机40,端到端通信的通信报文数量是端到端中其中一端和另外一端之间通信报文数量之和,例如,端到端通信的两端分别是:端1为192.168.10.111:20、端2为192.168.10.120:20,端1向端2发送的通信报文数量为10,端2向端1发送的通信报文数量为20,则该端到端通信的通信报文数量为:10+20=30。
作为一种具体实施方式,确定多个采样报文中至少一对端到端通信的通信报文及通信报文数量的方法可以是:
首先,将第一套接字作为一对端到端通信的第一端,将第二套接字作为该端到端通信的第二端。
在本实施例中,每一采样报文还包括源IP地址、源端口、目的IP地址及目的端口,可以将源IP地址、源端口、目的IP地址、目的端口均相同的采样报文作为第一端集合,将目的IP地址、目的端口分别与第一端集合中源IP地址、源端口相同、并且源IP地址、源端口分别与第一端集合中目的IP地址、目的端口相同的采样报文作为第二端集合,将第一端集合中的源IP地址和源端口组成第一套接字,将第一套接字作为端到端通信的第一端,将第一端集合中的目的IP地址和目的端口组成第二套接字,将第二套接字作为端到端通信的第二端。例如,采样报文有5个,分别为采样报文1~采样报文5,其源IP地址、源端口、目的IP地址、目的端口如表1所示:
表1
表1中,采样报文1和采样报文3属于一对端到端通信(为了便于描述,称为1#端到端通信)的第一端集合,采样报文2属于1#端到端通信的第二端集合,1#端到端通信的第一套接字为:192.168.1.11:23,即1#端到端通信的第一端,第二套接字为:192.168.1.22:23,即1#端到端通信的第二端。同理,采样报文4属于另一对端到端通信(为了便于描述,称为2#端到端通信)的第一端集合,采样报文5属于2#端到端通信的第二端集合,2#端到端通信的第一套接字为192.168.2.11:20,即2#端到端通信的第一端,2#端到端通信的第二套接字为192.168.2.22:20,即2#端到端通信的第二端。
其次,将从第一端至第二端的采样报文作为第一通信报文,并将从第二端至第一端的采样报文作为第二通信报文。
例如,在表1中,对于1#端到端通信来说,第一通信报文为采样报文1和采样报文3,第二通信报文为采样报文2。
最后,将第一通信报文的报文数量及第二通信报文的报文数量之和作为一对端到端通信的通信报文数量。
例如,在表1中,对于1#端到端通信来说,第一通信报文的报文数量为2,第二通信报文的报文数量为1,则1#端到端通信的通信报文数量为3。
步骤S105,当端到端通信的通信报文数量小于预设统计阈值时,确定存在端口扫描攻击。
在本实施例中,在存在网络异常的情况下,如果端到端通信的双方之间交互的通信报文数量比较少,小于预设统计阈值时,则认为该端到端通信的发起主机可能是恶意发起端口扫描攻击。其中,预设统计阈值可以由用户根据实际应用环境进行设置。
步骤S106,当存在端口扫描攻击时,依据至少一对端到端通信的通信报文,从多个主机中确定发起端口扫描攻击的攻击主机。
在本实施例中,采样报文包括通信相关的字段,例如序号字段和确认序号字段,确定存在端口扫描攻击后,可以根据采样报文中通信相关的字段确定通信发起主机,在多个通信发起主机进一步确定发起端口扫描攻击的攻击主机。
作为一种具体实施方式,从多个主机中确定发起端口扫描攻击的攻击主机的方法可以是:
首先,将端到端通信的通信报文中序号字段为预设值的通信报文确定为通信发起报文。
在本实施例中,以采样报文为TCP/IP报文格式为例,第一采样报文的序号字段即SYN字段,当该字段被置为1时,该第一采样报文中源IP地址对应的主机40为通信发起主机,第二采样报文的确认序号字段即ACK字段,当该字段被置为1时,且第二采样报文中目的IP地址与第一采样报文中源IP地址相同时,则判定第一采样报文中源IP地址对应的主机40向第二采样报文中源IP地址对应的主机40发起了通信连接请求,则第一采样报文中源IP地址对应的主机40为本次通信的通信发起主机,第二采样报文中源IP地址对应的主机40为本次通信的通信接收主机。
其次,将通信发起报文中源IP地址对应的主机确定为端到端通信的通信发起主机,并将该主机IP的危险值加1。
在本实施例中,主机IP的危险值用于衡量该主机为攻击主机的可能性,危险值越大,则该主机及为攻击主机的可能性越大,当危险值达到预设危险阈值时,则认为该主机为攻击主机。
最后,将危险值大于预设危险阈值的通信发起主机确定为发起端口扫描攻击的攻击主机。
在本实施例中,预设危险阈值可以依据具体的应用场景进行设置,例如,预设危险阈值可以设置为2。
在本实施例中,为了不再让发起端口扫描攻击的攻击主机继续进行攻击,在识别出攻击主机后,还需要对攻击主机发出的数据包进行拦截,因此,本实施例还包括步骤S107。
步骤S107,生成针对攻击主机拦截的流表项,并通过SDN控制器将流表项发送至SDN交换机,以使SDN交换机将攻击主机发送的数据包进行拦截。
在本实施例中,服务器10通过调用SDN控制器30的北向接口(northbound API)将生成的流表项下发至与攻击主机对应的SDN交换机20,以实现SDN交换机20对接收到的来自攻击主机的数据包进行拦截。
与现有技术相比,本发明实施例具有以下有益效果:
首先,本发明实施例首先通过统计所得的熵值和熵值阈值判断是否存在端口扫描攻击,当存在网络异常时再对采样报文进行详细分析,从中确定发起端口扫描攻击的攻击主机,由此可以避免不必要的详细分析带来的时间消耗,提高了检测效率。
其次,本发明实施例在当判定存在网络异常时,当前采样周期内的采样报文的特征字段的熵值及熵值阈值不再作为下一次计算熵值的预测值的历史熵值及历史熵值阈值,由此保证后续熵值的预测值的准确性,避免由此导致的端口扫描攻击的误报。
最后,在确定攻击主机后,生成对攻击主机的数据包进行拦截的流表项,并将该流表项发送至对应的SDN交换机20,以使SDN交换机20及时地对攻击主机的数据包进行拦截,避免攻击主机继续进行端口扫描攻击对网络造成的危害。
基于同一发明思路,本发明实施例还提供了一种端口扫描攻击检测装置,请参照图3,图3示出了本发明实施例提供的端口扫描攻击检测装置200的方框示意图。端口扫描攻击检测装置200包括接收模块201、计算模块202、异常判断模块203、处理模块204、攻击判断模块205、识别模块206及拦截模块207。
接收模块201,用于接收SDN交换机发送的多个采样报文,其中,多个采样报文为任意两个主机之间通过SDN交换机转发的通信报文,每个采样报文包括特征字段。
计算模块202,用于计算特征字段的熵值及熵值阈值。
作为一种实施方式,多个采样报文是在当前采样周期内采样得到的,计算模块202具体用于:依据多个采样报文的总数及特征字段的每一取值在多个采样报文中的次数,计算特征字段的熵值;计算历史采样周期内采样得到历史采样报文中特征字段的历史熵值,其中,历史采样周期为当前采样周期的开始时刻之前的预设个数的采样周期;依据历史采样报文中特征字段的历史熵值计算特征字段的熵值阈值。
作为另一种实施方式,特征字段包括源IP地址、目的IP地址及目的端口,计算模块202用于依据所述多个采样报文的总数及所述特征字段的每一取值在所述多个采样报文中的次数,计算所述特征字段的熵值时,具体用于:依据多个采样报文的总数及源IP地址的每一取值在多个采样报文中的次数,计算源IP地址的熵值;依据多个采样报文的总数及目的IP地址的每一取值在多个采样报文中的次数,计算目的IP地址的熵值;依据多个采样报文的总数及目的端口的每一取值在多个采样报文中的次数,计算目的端口的熵值;计算模块202用于依据所述历史采样报文中特征字段的历史熵值计算所述特征字段的熵值阈值时,具体用于:依据历史采样报文中源IP地址的历史熵值计算源IP地址的熵值阈值;依据历史采样报文中目的IP地址的历史熵值计算目的IP地址的熵值阈值;依据历史采样报文中目的端口的历史熵值计算目的端口的熵值阈值。
异常判断模块203,用于依据熵值及熵值阈值,判断是否存在网络异常。
作为一种实施方式,异常判断模块203具体用于当源IP地址的熵值小于源IP地址熵值阈值且目的IP地址的熵值小于目的IP地址的熵值阈值、或者当源IP地址的熵值小于源IP地址熵值阈值且目的端口的熵值小于目的端口的熵值阈值时,判定存在端口扫描攻击。
处理模块204,用于当存在网络异常时,确定多个采样报文中至少一对端到端通信的通信报文及通信报文数量。
作为一种实施方式,每一采样报文还包括源IP地址、源端口、目的IP地址及目的端口,所述源IP地址和源端口组成第一套接字,所述目的IP地址和目的端口组成第二套接字,处理模块204具体用于:将第一套接字作为一对端到端通信的第一端,将第二套接字作为该端到端通信的第二端;将从第一端至第二端的采样报文作为第一通信报文,并将从第二端至第一端的采样报文作为第二通信报文;将第一通信报文的报文数量及第二通信报文的报文数量之和作为一对端到端通信的通信报文数量。
攻击判断模块205,用于当端到端通信的通信报文数量小于预设统计阈值时,确定存在端口扫描攻击。
识别模块206,用于当存在端口扫描攻击时,依据至少一对端到端通信的通信报文,从多个主机中确定发起端口扫描攻击的攻击主机。
作为一种实施方式,识别模块206具体用于:将端到端通信的通信报文中序号字段为预设值的通信报文确定为通信发起报文;将通信发起报文中源IP地址对应的主机确定为端到端通信的通信发起主机,并将该主机IP的危险值加1;将危险值大于预设危险阈值的通信发起主机确定为发起端口扫描攻击的攻击主机。
拦截模块207,用于生成针对攻击主机拦截的流表项,并通过SDN控制器将流表项发送至SDN交换机,以使SDN交换机将攻击主机发送的数据包进行拦截。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的端口扫描攻击检测装置200的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
请参照图4,图4示出了本发明实施例提供的服务器10的方框示意图。所述服务器10包括存储器101、通信接口102、处理器103和总线104,所述存储器101、通信接口102和处理器103通过总线104连接,处理器103用于执行存储器101中存储的可执行模块,例如计算机程序。
其中,存储器101可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口102(可以是有线或者无线)实现该服务器10与至少一个SDN交换机20或者SDN控制器30之间的通信连接。
总线104可以是ISA总线、PCI总线或EISA总线等。图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器101用于存储程序,例如图3所示的端口扫描攻击检测装置200。端口扫描攻击检测装置200包括至少一个可以软件或固件(firmware)的形式存储于所述存储器101中或固化在所述服务器10的操作系统(operating system,OS)中的软件功能模块。所述处理器103在接收到执行指令后,执行所述程序以实现本发明上述实施例揭示的端口扫描攻击检测方法。
处理器103可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器103中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器103可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例还包括一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器103执行时实现上述实施例揭示的应用于服务器10的端口扫描攻击检测方法。
综上所述,本发明实施例提供的一种端口扫描攻击检测方法,应用于服务器,服务器与软件定义网络SDN交换机通信连接,SDN交换机与多个主机通信连接,所述方法包括:接收SDN交换机发送的多个采样报文,其中,多个采样报文为任意两个主机之间通过SDN交换机转发的通信报文,每个采样报文包括特征字段;计算特征字段的熵值及熵值阈值;依据熵值及熵值阈值,判断是否存在网络异常;当存在网络异常时,确定多个采样报文中至少一对端到端通信的通信报文及通信报文数量,其中,每一对端到端通信的每一端均对应一个主机;当端到端通信的通信报文数量小于预设统计阈值时,确定存在端口扫描攻击;当存在端口扫描攻击时,依据至少一对端到端通信的通信报文,从多个主机中确定发起端口扫描攻击的攻击主机。由于先通过统计所得的熵值和熵值阈值判断是否存在网络异常,当存在网络异常时再判断是否存在端口扫描攻击,当存在端口扫描攻击时,再对采样报文进行详细分析,确定端口扫描攻击的攻击主机,由此可以避免不必要的详细分析带来的时间消耗,提高了检测效率。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种端口扫描攻击检测方法,其特征在于,应用于服务器,所述服务器与软件定义网络SDN交换机通信连接,所述SDN交换机与多个主机通信连接,所述方法包括:
接收所述SDN交换机发送的多个采样报文,其中,所述多个采样报文为任意两个主机之间通过所述SDN交换机转发的通信报文,每个所述采样报文包括特征字段;
计算所述特征字段的熵值及熵值阈值;
依据所述熵值及所述熵值阈值,判断是否存在网络异常;
当存在网络异常时,确定所述多个采样报文中至少一对端到端通信的通信报文及通信报文数量,其中,每一对所述端到端通信的每一端均对应一个主机;
当所述端到端通信的通信报文数量小于预设统计阈值时,确定存在端口扫描攻击;
当存在所述端口扫描攻击时,依据所述至少一对所述端到端通信的通信报文,从多个所述主机中确定发起端口扫描攻击的攻击主机。
2.根据权利要求1所述的端口扫描攻击检测方法,其特征在于,所述多个采样报文是在当前采样周期内采样得到的,所述计算所述特征字段的熵值及熵值阈值的步骤,包括:
依据所述多个采样报文的总数及所述特征字段的每一取值在所述多个采样报文中的次数,计算所述特征字段的熵值;
计算历史采样周期内采样得到历史采样报文中特征字段的历史熵值,其中,所述历史采样周期为当前采样周期的开始时刻之前的预设个数的采样周期;
依据所述历史采样报文中特征字段的历史熵值计算所述特征字段的熵值阈值。
3.根据权利要求2所述的端口扫描攻击检测方法,其特征在于,所述特征字段包括源IP地址、目的IP地址及目的端口;
所述依据所述多个采样报文的总数及所述特征字段的每一取值在所述多个采样报文中的次数,计算所述特征字段的熵值的步骤,包括:
依据所述多个采样报文的总数及所述源IP地址的每一取值在所述多个采样报文中的次数,计算所述源IP地址的熵值;
依据所述多个采样报文的总数及所述目的IP地址的每一取值在所述多个采样报文中的次数,计算所述目的IP地址的熵值;
依据所述多个采样报文的总数及所述目的端口的每一取值在所述多个采样报文中的次数,计算所述目的端口的熵值;
所述依据所述历史采样报文中特征字段的历史熵值计算所述特征字段的熵值阈值的步骤,包括:
依据所述历史采样报文中源IP地址的历史熵值计算所述源IP地址的熵值阈值;
依据所述历史采样报文中目的IP地址的历史熵值计算所述目的IP地址的熵值阈值;
依据所述历史采样报文中目的端口的历史熵值计算所述目的端口的熵值阈值。
4.根据权利要求3所述的端口扫描攻击检测方法,其特征在于,所述依据所述熵值及熵值阈值,判断是否存在网络异常的步骤,包括:
当所述源IP地址的熵值小于源IP地址熵值阈值且目的IP地址的熵值小于目的IP地址的熵值阈值、或者当所述源IP地址的熵值小于源IP地址熵值阈值且目的端口的熵值小于目的端口的熵值阈值时,判定存在网络异常。
5.根据权利要求1所述的端口扫描攻击检测方法,其特征在于,每一所述采样报文还包括源IP地址、源端口、目的IP地址及目的端口,所述源IP地址和源端口组成第一套接字,所述目的IP地址和目的端口组成第二套接字,所述当存在网络异常时,确定所述多个采样报文中至少一对端到端通信的通信报文及通信报文数量的步骤包括:
将所述第一套接字作为一对端到端通信的第一端,将所述第二套接字作为该端到端通信的第二端;
将从所述第一端至所述第二端的采样报文作为第一通信报文,并将从所述第二端至所述第一端的采样报文作为第二通信报文;
将所述第一通信报文的报文数量及第二通信报文的报文数量之和作为一对端到端通信的通信报文数量。
6.根据权利要求5所述的端口扫描攻击检测方法,其特征在于,每一所述采样报文还包括序号字段,所述依据所述至少一对所述端到端通信的通信报文,从所述多个主机中确定发起端口扫描攻击的攻击主机的步骤,包括:
将所述端到端通信的通信报文中序号字段为预设值的通信报文确定为通信发起报文;
将所述通信发起报文中源IP地址对应的主机确定为所述端到端通信的通信发起主机,并将该主机IP的危险值加1;
将所述危险值大于预设危险阈值的通信发起主机确定为发起端口扫描攻击的攻击主机。
7.根据权利要求1所述的端口扫描攻击检测方法,其特征在于,所述服务器与SDN控制器通信连接,所述SDN控制器与所述SDN交换机通信连接,所述方法还包括:
生成针对所述攻击主机拦截的流表项,并通过所述SDN控制器将所述流表项发送至所述SDN交换机,以使所述SDN交换机将所述攻击主机发送的数据包进行拦截。
8.一种端口扫描攻击检测装置,其特征在于,应用于服务器,所述服务器与软件定义网络SDN交换机通信连接,所述SDN交换机与多个主机通信连接,所述装置包括:
接收模块,用于接收所述SDN交换机发送的多个采样报文,其中,所述多个采样报文为任意两个主机之间通过所述SDN交换机转发的通信报文,每个所述采样报文包括特征字段;
计算模块,用于计算所述特征字段的熵值及熵值阈值;
异常判断模块,用于依据所述熵值及所述熵值阈值,判断是否存在网络异常;
处理模块,用于当存在网络异常时,确定所述多个采样报文中至少一对端到端通信的通信报文及通信报文数量,其中,每一对所述端到端通信的每一端均对应一个主机;
攻击判断模块,用于当所述端到端通信的通信报文数量小于预设统计阈值时,确定存在端口扫描攻击;
识别模块,用于当存在所述端口扫描攻击时,依据所述至少一对所述端到端通信的通信报文,从多个所述主机中确定发起端口扫描攻击的攻击主机。
9.一种服务器,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现权利要求1-7任一所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的方法。
CN201910969569.1A 2019-10-12 2019-10-12 端口扫描攻击检测方法及相关装置 Active CN110535888B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910969569.1A CN110535888B (zh) 2019-10-12 2019-10-12 端口扫描攻击检测方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910969569.1A CN110535888B (zh) 2019-10-12 2019-10-12 端口扫描攻击检测方法及相关装置

Publications (2)

Publication Number Publication Date
CN110535888A true CN110535888A (zh) 2019-12-03
CN110535888B CN110535888B (zh) 2022-03-29

Family

ID=68671792

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910969569.1A Active CN110535888B (zh) 2019-10-12 2019-10-12 端口扫描攻击检测方法及相关装置

Country Status (1)

Country Link
CN (1) CN110535888B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111885092A (zh) * 2020-09-10 2020-11-03 中国联合网络通信集团有限公司 一种边缘节点的DDoS攻击检测方法、处理方法及SDN
CN113225342A (zh) * 2021-05-08 2021-08-06 四川英得赛克科技有限公司 一种通信异常检测方法、装置、电子设备及存储介质
CN113595995A (zh) * 2021-07-12 2021-11-02 中国联合网络通信集团有限公司 一种容器零信任安全防护方法及系统
CN113691432A (zh) * 2021-08-10 2021-11-23 一汽解放汽车有限公司 汽车can网络报文监测方法、装置、计算机设备和存储介质
CN114244632A (zh) * 2022-02-24 2022-03-25 上海观安信息技术股份有限公司 检测icmp网络扫描网络攻击行为的方法、装置、电子设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104580173A (zh) * 2014-12-25 2015-04-29 广东顺德中山大学卡内基梅隆大学国际联合研究院 一种sdn异常检测与阻截方法及系统
US20180309786A1 (en) * 2017-04-24 2018-10-25 Caligo Systems Ltd. MOVING TARGET DEFENSE FOR SECURING INTERNET OF THINGS (IoT)
CN109005157A (zh) * 2018-07-09 2018-12-14 华中科技大学 一种软件定义网络中DDoS攻击检测与防御方法与系统
CN109495428A (zh) * 2017-09-12 2019-03-19 蓝盾信息安全技术股份有限公司 一种基于流量特征和随机森林的端口扫描检测方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104580173A (zh) * 2014-12-25 2015-04-29 广东顺德中山大学卡内基梅隆大学国际联合研究院 一种sdn异常检测与阻截方法及系统
US20180309786A1 (en) * 2017-04-24 2018-10-25 Caligo Systems Ltd. MOVING TARGET DEFENSE FOR SECURING INTERNET OF THINGS (IoT)
CN109495428A (zh) * 2017-09-12 2019-03-19 蓝盾信息安全技术股份有限公司 一种基于流量特征和随机森林的端口扫描检测方法
CN109005157A (zh) * 2018-07-09 2018-12-14 华中科技大学 一种软件定义网络中DDoS攻击检测与防御方法与系统

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111885092A (zh) * 2020-09-10 2020-11-03 中国联合网络通信集团有限公司 一种边缘节点的DDoS攻击检测方法、处理方法及SDN
CN113225342A (zh) * 2021-05-08 2021-08-06 四川英得赛克科技有限公司 一种通信异常检测方法、装置、电子设备及存储介质
CN113225342B (zh) * 2021-05-08 2023-06-30 四川英得赛克科技有限公司 一种通信异常检测方法、装置、电子设备及存储介质
CN113595995A (zh) * 2021-07-12 2021-11-02 中国联合网络通信集团有限公司 一种容器零信任安全防护方法及系统
CN113691432A (zh) * 2021-08-10 2021-11-23 一汽解放汽车有限公司 汽车can网络报文监测方法、装置、计算机设备和存储介质
CN114244632A (zh) * 2022-02-24 2022-03-25 上海观安信息技术股份有限公司 检测icmp网络扫描网络攻击行为的方法、装置、电子设备及介质
CN114244632B (zh) * 2022-02-24 2022-05-03 上海观安信息技术股份有限公司 检测icmp网络扫描网络攻击行为的方法、装置、电子设备及介质

Also Published As

Publication number Publication date
CN110535888B (zh) 2022-03-29

Similar Documents

Publication Publication Date Title
US11700275B2 (en) Detection of malware and malicious applications
CN110535888A (zh) 端口扫描攻击检测方法及相关装置
CN104506482B (zh) 网络攻击检测方法及装置
US7609625B2 (en) Systems and methods for detecting and preventing flooding attacks in a network environment
Kühlewind et al. On the State of ECN and TCP Options on the Internet
CN104936170B (zh) 检测中间人攻击的方法与装置
JP5673805B2 (ja) ネットワーク装置、通信システム、異常トラヒックの検出方法およびプログラム
CN108667853A (zh) 恶意攻击的检测方法和装置
EP2833574A1 (en) Method and apparatus for ethernet performance measurement
JP6691268B2 (ja) 監視装置、監視方法および監視プログラム
CN107547430A (zh) 一种报文发送方法及装置
CN106656665A (zh) 一种测试局域网网速的方法和装置
CN108512816B (zh) 一种流量劫持的检测方法及装置
US20110141899A1 (en) Network access apparatus and method for monitoring and controlling traffic using operation, administration, and maintenance (oam) packet in internet protocol (ip) network
US11895146B2 (en) Infection-spreading attack detection system and method, and program
CN112367311B (zh) DDoS攻击检测方法、装置、设备及存储介质
CN108521413A (zh) 一种未来信息战争的网络抵抗和防御方法及系统
US20220393987A1 (en) Method, system, and conversion apparatus
JP6459645B2 (ja) スループット計測プログラム、スループット計測方法及びスループット計測装置
CN114567455A (zh) 一种确定数据流信息的方法、装置及系统
Zhanikeev et al. Modelling network performance of end hosts
Bai et al. Research on influence of sampling methodologies on the metrics of identifying elephant flows by using sample and hold algorithm
Lipovac et al. Testing TCP traffic congestion by distributed protocol analysis and statistical modelling

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
CB03 Change of inventor or designer information

Inventor after: Lu Yiqin

Inventor after: Zhan Shuhang

Inventor after: Cheng Zhe

Inventor after: Tan Jiancheng

Inventor after: Wen Zhenhuan

Inventor after: Zeng Hao

Inventor after: Zhang Yang

Inventor after: Chen Mingyong

Inventor before: Wen Zhenhuan

Inventor before: Zeng Hao

Inventor before: Zhang Yang

Inventor before: Chen Mingyong

Inventor before: Yao Jingbai

Inventor before: Zheng Bo

CB03 Change of inventor or designer information
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Port Scan Attack Detection Method and Related Devices

Effective date of registration: 20230609

Granted publication date: 20220329

Pledgee: China Construction Bank Corporation Guangzhou Development Zone Branch

Pledgor: GUANGZHOU VCMY TECHNOLOGY Co.,Ltd.

Registration number: Y2023980043386

PE01 Entry into force of the registration of the contract for pledge of patent right