CN104660565B - 恶意攻击的检测方法和装置 - Google Patents

恶意攻击的检测方法和装置 Download PDF

Info

Publication number
CN104660565B
CN104660565B CN201310596661.0A CN201310596661A CN104660565B CN 104660565 B CN104660565 B CN 104660565B CN 201310596661 A CN201310596661 A CN 201310596661A CN 104660565 B CN104660565 B CN 104660565B
Authority
CN
China
Prior art keywords
flow table
interchanger
source host
controller
table item
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310596661.0A
Other languages
English (en)
Other versions
CN104660565A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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
Priority to CN201810712113.2A priority Critical patent/CN108667853B/zh
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310596661.0A priority patent/CN104660565B/zh
Priority to EP19152206.9A priority patent/EP3570516B1/en
Priority to EP14864083.2A priority patent/EP3073700B1/en
Priority to CA2931145A priority patent/CA2931145C/en
Priority to JP2016533066A priority patent/JP6186655B2/ja
Priority to PCT/CN2014/085989 priority patent/WO2015074451A1/zh
Priority to RU2016124770A priority patent/RU2647646C2/ru
Publication of CN104660565A publication Critical patent/CN104660565A/zh
Priority to US15/160,158 priority patent/US10313375B2/en
Application granted granted Critical
Publication of CN104660565B publication Critical patent/CN104660565B/zh
Priority to US16/415,749 priority patent/US11637845B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • 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
    • 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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/24Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using dedicated network management hardware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers
    • 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/1441Countermeasures against malicious traffic
    • 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/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • 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
    • 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/0272Virtual private networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明实施例公开了一种恶意攻击的检测方法及装置,方法包括:控制器接收第一交换机发送的Packet‑in消息,所述Packet‑in消息中包括第一交换机未查找到流表项的数据包的源主机标识和目的主机标识;控制器判断SDN网络中不存在所述目的主机标识指示的主机时,向第一交换机发送异常流表项;所述异常流表项中包括源主机标识;控制器接收第一交换机发送的触发次数;所述触发次数由第一交换机在异常流表项超时后发送,且所述触发次数是所述异常流表项的触发次数;控制器根据所述触发次数判断所述源主机标识指示的源主机是否存在恶意攻击。本发明实施例能够检测主机的恶意攻击,且能够降低控制器的数据处理量,提高控制器性能。

Description

恶意攻击的检测方法和装置
技术领域
本发明涉及通信领域,尤其涉及恶意攻击的检测方法和装置。
背景技术
软件定义网络(SDN,Software Defined Networking)网络的基本思想是实现了控制面和转发面的分离。SDN网络中一般包括控制器(Controller)、交换机(Switch)和主机(Host);其中,控制器用于基于全网视图制定路由策略,将路由策略通过流表项的方式下发交换机,以便交换机将流表项保存至流表,从而控制器通过对交换机中流表的控制实现对整个网络的集中控制;交换机用于根据交换机本地的流表项转发主机的数据包。
SDN网络内,主机通常的通信场景如图1所示,其中,主机A向与其连接的交换机1发送数据包,假设数据包的目的主机为SDN网络内的主机B;交换机1在本地的流表中查找该数据包的流表项,如果交换机1查找到该数据包的流表项,根据该流表项转发该数据包;如果交换机1未查找到该数据包的流表项,向控制器发送Packet-in消息;控制器为该数据包选择转发路径,将转发路径通过流表项的方式下发至转发路径上的所有交换机;交换机1以及转发路径上的交换机根据下发的流表项转发该数据包。
由于控制器已经向转发路径上的所有交换机下发了主机A和主机B之间通信的流表项,则后续主机A发送目的主机为主机B的数据包时,交换机1直接根据流表项转发该数据包即可,交换机1将不会再产生Packet-in消息。
而如果主机发送的数据包的目的主机是SDN网络外的主机C时,通信场景如图2所示,其中,
主机A向与其连接的交换机1发送数据包,假设数据包的目的主机为主机C,且SDN网络中不包括所述主机C;
交换机1在交换机本地的流表中查找该数据包的流表项,由于主机C并不在SDN网络中,则交换机1无法查找到该数据包的流表项,向控制器发送Packet-in消息;
控制器接收所述Packet-in消息,在SDN网络中寻找所述主机C,由于主机C并不在SDN网络中,控制器无法找到主机C,则控制器丢弃该Packet-in消息,不下发该数据包的流表项给交换机1。
如果之后主机A再发送目的主机为主机C的数据包,交换机1和控制器都会重复上述步骤,最终由控制器丢弃Packet-in消息。
基于以上SDN网络中主机的通信方法,可以认为图1所示场景下的Packet-in消息为正常Packet-in消息,而图2所示场景下的Packet-in消息为无效Packet-in消息。如果SDN网络中有主机对控制器进行恶意攻击,发送大量目的主机不在SDN网络中甚至目的主机不存在的数据包,与之连接的交换机会产生大量无效Packet-in消息发送至控制器,控制器需要消耗大量的处理资源处理这些无效Packet-in消息、查找所述不在SDN网络中甚至不存在的目的主机,从而影响控制器对正常Packet-in消息的处理。
为此,需要对SDN网络中主机针对控制器的恶意攻击进行检测,目前对主机恶意攻击的检测方法是:控制器统计单位时间内接收到的每个主机作为源主机时对应产生的Packet-in消息个数,通过所述个数计算每个主机作为源主机产生Packet-in消息的速率,根据所述速率确定每个主机是否对控制器进行恶意攻击。
在这种主机恶意攻击的检测方法中,控制器需要接收各个交换机上报的Packet-in消息并对Packet-in消息进行处理,同时,控制器还需要分别统计单位时间内接收到的每个主机作为源主机时对应产生的Packet-in消息个数,进而确定每个主机是否对控制器进行恶意攻击,控制器的数据处理量大,性能低。
发明内容
本发明实施例中提供了一种恶意攻击的检测方法和装置,能够检测主机的恶意攻击,且能够降低控制器的数据处理量,提高控制器性能。
第一方面,提供一种恶意攻击的检测方法,包括:
控制器接收第一交换机发送的Packet-in消息,所述Packet-in消息中包括第一交换机未查找到流表项的数据包的源主机标识和目的主机标识;
控制器判断SDN网络中不存在所述目的主机标识指示的主机时,向第一交换机发送异常流表项;所述异常流表项中包括源主机标识;
控制器接收第一交换机发送的触发次数;所述触发次数由第一交换机在异常流表项超时后发送,且所述触发次数是所述异常流表项的触发次数;
控制器根据所述触发次数判断所述源主机标识指示的源主机是否存在恶意攻击。
结合第一方面,在第一方面第一种可能的实现方式中,控制器根据所述触发次数判断所述源主机标识指示的源主机是否存在恶意攻击包括:
控制器根据所述触发次数以及所述异常流表项的老化时间计算异常流表项的触发速率;
控制器判断所述触发速率是否大于速率阈值,如果大于,则控制器判断所述源主机存在恶意攻击;否则,控制器判断所述源主机不存在恶意攻击。
结合第一方面,在第一方面第二种可能的实现方式中,控制器根据所述触发次数判断所述源主机标识指示的源主机是否存在恶意攻击包括:
控制器判断所述触发次数是否大于次数阈值,如果大于,则控制器判断所述源主机存在恶意攻击;否则,控制器判断所述源主机不存在恶意攻击。
结合第一方面,和/或第一方面第一种可能的实现方式,和/或第一方面第二种可能的实现方式,在第一方面第三种可能的实现方式中,控制器向第一交换机发送异常流表项之前,还包括:
控制器判断是否已经向第一交换机下发了所述源主机标识指示的源主机的异常流表项;如果否,控制器执行向第一交换机发送异常流表项的步骤。
结合第一方面,和/或第一方面第一种可能的实现方式,和/或第一方面第二种可能的实现方式,和/或第一方面第三种可能的实现方式,在第一方面第四种可能的实现方式中,还包括:
控制器确定第一交换机中最后一张流表是包括源主机标识匹配域的精配表时,向第一交换机发送第一指示,所述第一指示用于指示第一交换机将所述精配表配置为只匹配源主机标识匹配域的精配表,以便第一交换机将所述异常流表项存储在最后一张流表中。
结合第一方面,和/或第一方面第一种可能的实现方式,和/或第一方面第二种可能的实现方式,和/或第一方面第三种可能的实现方式,在第一方面第五种可能的实现方式中,还包括:
控制器确定第一交换机中最后一张流表是精配表,且第一交换机中存在包括源主机标识匹配域的通配表时,向第一交换机发送第二指示,所述第二指示用于指示第一交换机将所述包括源主机标识匹配域的通配表调整为最为一张流表,以便第一交换机将所述异常流表项存储在最后一张流表中。
结合第一方面,和/或第一方面第一种可能的实现方式,和/或第一方面第二种可能的实现方式,和/或第一方面第三种可能的实现方式,和/或第一方面第四种可能的实现方式,和/或第一方面第五种可能的实现方式,在第一方面第六种可能的实现方式中,所述异常流表项的优先级是所述第一交换机中流表项的最低优先级。
结合第一方面,和/或第一方面第一种可能的实现方式,和/或第一方面第二种可能的实现方式,和/或第一方面第三种可能的实现方式,和/或第一方面第四种可能的实现方式,和/或第一方面第五种可能的实现方式,和/或第一方面第六种可能的实现方式,在第一方面第七种可能的实现方式中,还包括:
控制器根据所述触发次数判断所述源主机标识指示的源主机存在恶意攻击时,向第一交换机发送第三指示,所述第三指示用于指示第一交换机抑制来自所述源主机的数据包。
第二方面,提供一种恶意攻击的检测方法,包括:
第一交换机确定未查找到数据包对应的流表项时,向控制器发送Packet-in消息,所述Packet-in消息中包括所述数据包的源主机标识和目的主机标识;
第一交换机接收并保存异常流表项;所述异常流表项在控制器判断SDN网络中不存在所述目的主机标识指示的主机时发送;
第一交换机在所述异常流表项的老化时间内记录所述异常流表项的触发次数,在所述异常流表项超时后将所述触发次数发送给控制器,以便控制器根据所述触发次数判断所述源主机标识指示的源主机是否存在恶意攻击。
结合第二方面,在第二方面第一种可能的实现方式中,还包括:
第一交换机接收控制器发送的第一指示,根据所述第一指示将本地最后一张精配表配置为只匹配源主机标识匹配域的精配表;或者,
第一交换机接收控制器发送的第二指示,根据所述第二指示将包括源主机标识匹配域的通配表调整为最为一张流表。
结合第二方面第一种可能的实现方式,在第二方面第二种可能的实现方式中,第一交换机保存所述异常流表项包括:
第一交换机将所述异常流表项保存至最后一张流表。
结合第二方面,和/或第二方面第一种可能的实现方式,和/或第二方面第二种可能的实现方式,在第二方面第三种可能的实现方式中,还包括:
第一交换机接收控制器发送的第三指示;所述第三指示在控制器根据所述触发次数判断所述源主机标识指示的源主机存在恶意攻击时发送;
第一交换机根据所述第三指示,抑制来自所述源主机的数据包。
第三方面,提供一种恶意攻击的检测装置,包括:
第一接收单元,用于接收第一交换机发送的Packet-in消息,所述Packet-in消息中包括第一交换机未查找到流表项的数据包的源主机标识和目的主机标识;
第一发送单元,用于判断SDN网络中不存在第一接收单元接收到的所述目的主机标识指示的主机时,向第一交换机发送异常流表项;所述异常流表项中包括源主机标识;
所述第一接收单元还用于:接收第一交换机发送的触发次数;所述触发次数由第一交换机在异常流表项超时后发送,且所述触发次数是所述异常流表项的触发次数;
检测单元,用于根据第一接收单元接收到的所述触发次数判断所述源主机标识指示的源主机是否存在恶意攻击。
结合第三方面,在第三方面第一种可能的实现方式中,检测单元具体用于:
根据第一接收单元接收到的所述触发次数以及所述异常流表项的老化时间计算异常流表项的触发速率;
判断所述触发速率是否大于速率阈值,如果大于,则判断所述源主机存在恶意攻击;否则,判断所述源主机不存在恶意攻击。
结合第三方面,在第三方面第二种可能的实现方式中,检测单元具体用于:
判断所述触发次数是否大于次数阈值,如果大于,则控制器判断所述源主机存在恶意攻击;否则,控制器判断所述源主机不存在恶意攻击。
结合第三方面,和/或第三方面第一种可能的实现方式,和/或第三方面第二种可能的实现方式,在第三方面第三种可能的实现方式中,还包括:
判断单元,用于判断是否已经向第一交换机下发了所述源主机标识指示的源主机的异常流表项;如果否,触发发送单元向第一交换机发送异常流表项。
结合第三方面,和/或第三方面第一种可能的实现方式,和/或第三方面第二种可能的实现方式,和/或第三方面第三种可能的实现方式,在第三方面第四种可能的实现方式中,第一发送单元还用于:确定第一交换机中最后一张流表是包括源主机标识匹配域的精配表时,指示第一交换机将该精配表配置为只匹配源主机标识匹配域的精配表,以便第一交换机将所述异常流表项存储在最后一张流表中。
结合第三方面,和/或第三方面第一种可能的实现方式,和/或第三方面第二种可能的实现方式,和/或第三方面第三种可能的实现方式,在第三方面第五种可能的实现方式中,第一发送单元还用于:
确定第一交换机中最后一张流表是精配表,且第一交换机中存在包括源主机标识匹配域的通配表时,向第一交换机发送第二指示,所述第二指示用于指示第一交换机将所述包括源主机标识匹配域的通配表调整为最为一张流表,以便第一交换机将所述异常流表项存储在最后一张流表中。
结合第三方面,和/或第三方面第一种可能的实现方式,和/或第三方面第二种可能的实现方式,和/或第三方面第三种可能的实现方式,和/或第三方面第四种可能的实现方式,和/或第三方面第五种可能的实现方式,在第三方面第六种可能的实现方式中,第一发送单元还用于:
根据所述触发次数判断所述源主机标识指示的源主机存在恶意攻击时,向第一交换机发送第三指示,所述第三指示用于指示第一交换机抑制来自所述源主机的数据包。
第二方面,提供一种恶意攻击的检测装置,包括:
第二发送单元,用于确定未查找到数据包对应的流表项时,向控制器发送Packet-in消息,所述Packet-in消息中包括所述数据包的源主机标识和目的主机标识;
第二接收单元,用于接收异常流表项;所述异常流表项在控制器判断SDN网络中不存在所述目的主机标识指示的主机时发送;
存储单元,用于保存第二接收单元接收的异常流表项;
次数记录单元,用于在存储单元保存的所述异常流表项的老化时间内记录所述异常流表项的触发次数;
第二发送单元还用于:所述存储单元保存的所述异常流表项超时后将次数记录单元记录的所述触发次数发送给控制器,以便控制器根据所述触发次数判断所述源主机标识指示的源主机是否存在恶意攻击。
结合第二方面,在第二方面第一种可能的实现方式中,第二接收单元还用于:接收控制器发送的第一指示;
该装置还包括:配置单元,用于根据所述第一指示将本地最后一张精配表配置为只匹配源主机标识匹配域的精配表;
或者,第二接收单元还用于:接收控制器发送的第二指示;
该装置还包括:配置单元,用于根据所述第二指示将包括源主机标识匹配域的通配表调整为最为一张流表。
结合第二方面第一种可能的实现方式,在第二方面第二种可能的实现方式中,存储单元具体用于:将所述异常流表项保存至最后一张流表。
结合第二方面,和/或第二方面第一种可能的实现方式,和/或第二方面第二种可能的实现方式,在第二方面第三种可能的实现方式中,第二接收单元还用于:接收第一交换机发送的第三指示;
该装置还包括:控制单元,用于抑制来自所述源主机的数据包。
本实施例中,控制器接收第一交换机发送的Packet-in消息,所述Packet-in消息中包括第一交换机未查找到流表项的数据包的源主机标识和目的主机标识;控制器判断SDN网络中不存在所述目的主机标识指示的主机时,向第一交换机发送异常流表项;所述异常流表项中包括源主机标识;控制器接收第一交换机在异常流表项超时后发送的所述异常流表项的触发次数;控制器根据所述触发次数判断所述源主机标识指示的源主机是否存在恶意攻击。本实施例中控制器无需统计每个主机对应的Packet-in消息,而是由第一交换机通过异常流表项的触发次数来进行统计,从而将控制器的消息统计分散至各个交换机来执行,降低了控制器的数据处理量,提高了控制器的性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术SDN网络中主机通信场景一示意图;
图2为现有技术SDN网络中主机通信场景二示意图;
图2A为现有技术交换机中流表结构示意图;
图3为本发明恶意攻击的检测方法第一实施例流程示意图;
图4为本发明恶意攻击的检测方法第二实施例流程示意图;
图5为本发明恶意攻击的检测方法第三实施例流程示意图;
图5A为本发明对最后一张精配表配置前后对比图;
图5B为本发明精配表和通配表位置互换前的结构图;
图5C为本发明精配表和通配表位置互换后的结构图;
图5D为本发明异常流表项实现示意图;
图6为本发明恶意攻击检测装置第一实施例结构示意图;
图7为本发明恶意攻击检测装置第二实施例结构示意图;
图8为本发明控制器结构示意图;
图9为本发明交换机结构示意图。
具体实施方式
首先,对交换机中的流表以及流表结构进行说明。
一般的,交换机中具有至少1张流表,最多255张流表,交换机中具有Pipeline,交换机的流表按顺序排列在Pipeline中。交换机并不一定使用交换机中的所有流表,而可能只使用其中的一部分流表,例如图2A中交换机可能具有10张流表,但是交换机实际只使用了Pipeline中的前7张流表table0~table6,后3张流表table7~table9未在图中示出且未被交换机使用;流表项存储于流表中,用于记录两个主机之间的转发路径。
如图2A所示,当交换机接收到一个数据包时,通过该数据包依次在Pipeline的流表中查找能匹配该数据包的流表项,直到查找到能匹配该数据包的流表项,或者直至最后一个流表也无法查找到能匹配该数据包的流表项。
流表是交换机的转发策略核心,类似于传统路由器的路由表,占据交换机存储资源的绝大部分。流表可分为通配表和精配表两种类型:
精配表中的流表项必须给所有匹配域一个确定的值;在数据包与精配表中的流表项进行匹配时,必须数据包和流表项的所有匹配域的值都对应相等才认为是匹配。例如表1所示,该精配表中包括源互联网协议(Src IP)、目的互联网协议(Dst IP)、源端口(SrcPort)、目的端口(DstPort)、IP协议(IP Protocol)等5个匹配域,写动作(WriteActions)、写元数据(Write Metadata)、转向表(GoToTable)等3个命令(Instructions);表1中所示的流表项中每个匹配域都具有确定的取值;在将某一数据包与该流表项进行匹配时,必须数据包和流表项的Src IP、Dst IP、SrcPort、DstPort、IP Protocol这5个匹配域的取值均对应相等,才能认为数据包与流表项是匹配的。
表1
通配表中的流表项可以只给定部分匹配域的值;在数据包与通配表中的流表项进行匹配时,只要数据包和流表项的所述部分匹配域的值对应相等就认为两者是匹配的。例如表2所示,该精配表中包括Src IP、Dst IP、SrcPort、DstPort、IP Protocol等5个匹配域,Actions、Write Metadata、GoToTable等3个Instructions;表2中所示的流表项中只有DstIP这一匹配域具有确定的取值192.168.20.1;在将某一数据包与该匹配表中的流表项进行匹配时,只要数据包的Dst IP这一匹配域的取值也为192.168.20.1,就认为数据包与表2所示的流表项是匹配的。
表2
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图3,为本发明恶意攻击检测方法第一实施例示意图,该方法包括:
步骤301:控制器接收第一交换机发送的Packet-in消息,所述Packet-in消息中包括第一交换机未查找到流表项的数据包的源主机标识和目的主机标识;
步骤302:控制器判断SDN网络中不存在所述目的主机标识指示的主机时,向第一交换机发送异常流表项;所述异常流表项中包括源主机标识;
步骤303:控制器接收第一交换机发送的触发次数;所述触发次数由第一交换机在异常流表项超时后发送,且所述触发次数是所述异常流表项的触发次数;
步骤304:控制器根据所述触发次数判断所述源主机标识指示的源主机是否存在恶意攻击。
本实施例中,控制器无需统计每个主机对应的Packet-in消息,而是向第一交换机发送异常流表项,由第一交换机统计异常流表项的触发次数并上报至控制器,控制器直接根据所述触发次数判断源主机标识指示的源主机是否存在恶意攻击,从而将控制器的消息统计分散至各个交换机来执行,降低了控制器的数据处理量,提高了控制器的性能。
参见图4,为本发明恶意攻击的检测方法第二实施例示意图,该方法包括:
步骤401:第一交换机确定未查找到数据包对应的流表项时,向控制器发送Packet-in消息,所述Packet-in消息中包括所述数据包的源主机标识和目的主机标识;
步骤402:第一交换机接收并保存控制器发送的异常流表项;所述异常流表项在控制器判断SDN网络中不存在所述目的主机标识指示的主机时发送;
步骤403:第一交换机在所述异常流表项的老化时间内记录所述异常流表项的触发次数,在所述异常流表项超时后将所述触发次数发送给控制器,以便控制器根据所述触发次数判断所述源主机标识指示的源主机是否存在恶意攻击
本实施例中,控制器无需统计每个主机对应的Packet-in消息,而是由第一交换机统计异常流表项的触发次数并上报至控制器,控制器直接根据所述触发次数判断源主机标识指示的源主机是否存在恶意攻击,从而将控制器的消息统计分散至各个交换机来执行,降低了控制器的数据处理量,提高了控制器的性能。
参见图5,为本发明恶意攻击检测方法第三实施例示意图,该方法包括:
步骤501:控制器获取第一交换机中的流表结构,确定第一交换机中最后一张流表是包括源主机标识匹配域的精配表时,向第一交换机发送第一指示,所述第一指示用于指示第一交换机将所述精配表配置为只匹配源主机标识匹配域的精配表。
OpenFlow1.3协议中规定控制器可通过TABLE_FEATURES类型的Multipart消息配置交换机中每张流表的匹配域类型,因此,本步骤中控制器也可以通过这种方式将一张包含源主机标识匹配域的精配表配置成只匹配源主机标识匹配域的精配表。
例如,参照图5A,假设所述源主机标识为源主机MAC地址,源主机标识匹配域通过ETH_SRC匹配域来实现,第一交换机的最后一张流表为具有Eth_type、Eth_src、Eth_dst和In_port四个匹配域的精配表,则控制器可以通过下发表特征(TABLE_FEATURES)类型的Multipart消息指示第一交换机将该精配表配置为只匹配Eth_src匹配域的精配表。
其中,本步骤的目的在于:保证第一交换机中最后一张流表是包括源主机标识匹配域的通配表,或者,只匹配源主机标识匹配域的精配表。因此,步骤501还可以替换为以下步骤:
控制器获取第一交换机中的流表结构,确定第一交换机中最后一张流表是精配表或者不包括源主机标识匹配域的通配表,且第一交换机中存在包括源主机标识匹配域的通配表时,向第一交换机发送第二指示,所述第二指示用于指示第一交换机将所述包括源主机标识匹配域的通配表调整为最为一张流表。
OpenFlow1.2协议以后控制器可以通过自定义消息来指示交换机进行交换机中流表的重新排序,因此,控制器可以通过所述自定义消息来指示交换机将所述包括源主机标识匹配域的通配表调整为最为一张流表。其中,第一交换机可以直接将最后一张精配表与所述通配表的位置进行互换,从而将所述包括源主机标识匹配域的通配表调整为最为一张流表时;或者,第一交换机也可以将第一交换机中的流表重新排序,从而将所述包括源主机标识匹配域的通配表调整为最为一张流表。例如,假设所述源主机标识为源主机MAC地址,源主机标识匹配域通过Eth_src匹配域来实现;参见图5B,假设第一交换机中包括5个流表,流表未调整前Pipeline的Table2是包含Eth_src匹配域的通配表,Table4是一张不含Eth_src匹配域的精配表,则控制器可以指示第一交换机将Table2和Table4的流表进行互换,则调整后的流表结构参见图5C所示,Table2实际是原来Table4的精配表,而Table4则是原来Table2的通配表。
其中,步骤501和上述步骤501的替换步骤可以在第一交换机接入控制器时执行。
步骤502:第一交换机接收源主机发送的数据包,在本地流表中未查找到该数据包的流表项时,生成Packet-in消息,所述Packet-in消息中包括数据包的源主机标识和目的主机标识;
其中,所述源主机标识可以为源主机MAC地址、IP地址、输入接口等,这里并不限制。
其中,当第一交换机在本地流表中查找到该数据包的流表项时,参见图1所示,第一交换机将根据所述流表项进行该数据包的转发,这里不赘述。
步骤503:控制器接收第一交换机发送的Packet-in消息,判断SDN网络中不存在所述目的主机标识指示的主机时,控制器判断是否已经向第一交换机下发了所述源主机标识指示的源主机的异常流表项,如果否,向第一交换机发送异常流表项;所述异常流表项中包括源主机标识,执行步骤504;如果是,则本分支的处理流程结束。
其中,控制器判断SDN网络中存在所述目的主机标识指示的主机时控制器的处理方法请参见图2及其对应描述,这里不赘述。
其中,所述异常流表项的实现可以与正常的流表项相同,这里叫做异常流表项仅用于与控制器发送的正常流表项做区别,用于表示该流表项是在控制器查找不到目的主机时发送。
其中,控制器中可以为每个主机设置异常流表项下发标记,通过不同的标记值例如是、否来标识控制器是否下发了对应主机的异常流表项,则本步骤中控制器可以通过源主机对应的异常流表项下发标记来判断是否已经向第一交换机下发了所述源主机标识指示的源主机的异常流表项。并且,本步骤中控制器向第一交换机发送异常流表项后,需要重置源主机对应的异常流表项下发标记的标记值,例如标记值从否重置为是;在步骤507中控制器接收到所述触发次数后,需要重置源主机对应的异常流表项下发标记的标记值,例如标记值从是重置为否。
步骤504:第一交换机接收所述异常流表项,将该异常流表项存储至最后一张流表中。
在一种可能的实现方式中,所述异常流表项可以包括:ETH_SRC匹配域,用于记录待检测主机的MAC地址,也即源主机的MAC地址;action,用于记录交换机所执行的操作;idle_timeout,用于记录异常流表项的空闲老化时间;hard_timeout,用于记录异常流表项的老化时间;flag,用于记录异常流表项的属性;priority,用于记录异常流表项的优先级。例如图5D中给出的一种异常流表项的实现中,ETH_SRC匹配域的值为11:22:33:44:55:66;action取值为output到Controller;idle_timeout取值为0;hard_timeout取值为1;flag取值为SEND_FLOW_REM+CHECK_OVERLAP,priority取值为最低优先级0。
可选地,控制器下发的所述异常流表项的优先级最好是第一交换机中流表项的最低优先级。
步骤505:第一交换机在所述异常流表项的老化时间内记录所述异常流表项的触发次数;
其中,在实际应用中,当异常流表项被触发时,第一交换机最好如现有技术般继续向控制器上报对应的Packet-in消息。结合异常流表项的优先级最低,且存储至最后一张流表的处理,本发明实施例还将具有如下优点:
假设某一源主机A发送至第一交换机的数据包的目的主机B最初是因为不开机等原因导致控制器无法查找到目的主机B,控制器下发了异常流表项;
如果异常流表项被触发时第一交换机向控制器上报对应的Packet-in消息,那么在异常流表项的老化时间内如果目的主机B开机,那么目的主机B开机后控制器接收到第一交换机发送的携带源主机A标识和目的主机B标识的Packet-in消息时,将能够查找到所述目的主机B,并下发关于源主机A和目的主机B的正常流表项至第一交换机;
这时,由于所述异常流表项的优先级最低,且存储至最后一张流表,则第一交换机再接收到从源主机A到目的主机B的数据包时,将首先匹配到所述正常流表项,并使用正常流表项转发该数据包,而不会触发所述异常流表项。
从而通过本发明实施例的上述处理能够防止第一交换机在这种情况下继续触发异常流表项并统计触发次数,进而防止第一交换机在这种情况下无法正常转发源主机A到目的主机B的数据包,且防止控制器根据第一交换机上报的触发次数错误的判定源主机A在进行恶意攻击,提高本发明实施例恶意攻击检测结果的准确性。
步骤506:第一交换机在所述异常流表项超时后将所述触发次数发送给控制器。
现有技术中,某一流表项超时后交换机会向控制器发送Flow-removed消息通知控制器该流表项过期,本步骤中第一交换机也可以通过Flow-removed消息来发送所述触发次数,具体的,所述触发次数可以携带在Flow-removed消息中的packet-count字段中。
步骤507:控制器接收所述触发次数,根据所述触发次数判断所述源主机标识指示的源主机是否存在恶意攻击。
在一种可能的实现方式中,控制器根据所述触发次数判断所述源主机标识指示的源主机是否存在恶意攻击可以包括:
控制器根据所述触发次数以及所述异常流表项的老化时间计算异常流表项的触发速率;
控制器判断所述触发速率是否大于速率阈值,如果大于,则控制器判断所述源主机存在恶意攻击;否则,控制器判断所述源主机不存在恶意攻击。
在第二种可能的实现方式中,控制器根据所述触发次数判断所述源主机标识指示的源主机是否存在恶意攻击可以包括:
控制器判断所述触发次数是否大于次数阈值,如果大于,则控制器判断所述源主机存在恶意攻击;否则,控制器判断所述源主机不存在恶意攻击。
其中,第二种可能的实现方式一般在控制器下发至不同交换机的异常流表项的老化时间固定的场景下使用。
其中,所述速率阈值和所述次数阈值的具体取值可以根据实际应用环境设置,本发明并不限制,
步骤508:控制器判断所述源主机标识指示的源主机存在恶意攻击时,向第一交换机发送第三指示,所述第三指示用于指示第一交换机抑制来自所述源主机的数据包。
其中,控制器可以通过向第一交换机下发特殊流表项或者访问控制列表(ACL,Access Control List)来抑制来自所述源主机的数据包。
本实施例中,控制器无需统计每个主机对应的Packet-in消息,而是由第一交换机统计异常流表项的触发次数并上报至控制器,控制器直接根据所述触发次数判断源主机标识指示的源主机是否存在恶意攻击,从而将控制器的消息统计分散至各个交换机来执行,降低了控制器的数据处理量,提高了控制器的性能;
另外,异常流表项的优先级最低,且第一交换机将异常流表项存储在最后一张流表中,使得本发明实施例对于恶意攻击检测结果更为准确。
图3~图5所示的恶意攻击检测方法,可以作为交换机和控制器的一个可选功能,在指定时刻对指定主机进行恶意攻击的检测。具体的检测时机可以包括但不限于以下情况:
1、对交换机连接的主机进行持续检测,或者,也可以由用户设置何时对哪些主机进行检测。
2、默认不对主机进行检测,可监控交换机上每个端口造成交换机产生Packet-in消息的速率,如该速率大于预设的上限阈值,则开启对该端口下所有主机的恶意攻击检测。
3、默认不对主机进行检测;OpenFlow1.3协议中定义了Meter来对流的速率进行监控,其中还定义了OFPM_CONTROLLER类型的Meter来监控交换机发送Packet-in消息的速率,如果Packet-in速率大于该Meter的上限速率,则触发对该交换机连接的主机进行恶意攻击检测。
与上述方法相对应的,本发明实施例还提供恶意攻击的检测装置、控制器及交换机。
参见图6,为本发明恶意攻击的检测装置第一实施例示意图,该装置600可以设置于控制器中,该装置600包括:
第一接收单元610,用于接收第一交换机发送的Packet-in消息,所述Packet-in消息中包括第一交换机未查找到流表项的数据包的源主机标识和目的主机标识;
第一发送单元620,用于判断SDN网络中不存在第一接收单元610接收到的所述目的主机标识指示的主机时,向第一交换机发送异常流表项;所述异常流表项中包括源主机标识;
所述第一接收单元610还用于:接收第一交换机发送的触发次数;所述触发次数由第一交换机在异常流表项超时后发送,且所述触发次数是所述异常流表项的触发次数;
检测单元630,用于根据第一接收单元610接收到的所述触发次数判断所述源主机标识指示的源主机是否存在恶意攻击。
在第一种可能的实现方式中,检测单元630具体可以用于:
根据第一接收单元接收到的所述触发次数以及所述异常流表项的老化时间计算异常流表项的触发速率;
判断所述触发速率是否大于速率阈值,如果大于,则判断所述源主机存在恶意攻击;否则,判断所述源主机不存在恶意攻击。
在第二种可能的实现方式中,检测单元630具体可以用于:
判断所述触发次数是否大于次数阈值,如果大于,则控制器判断所述源主机存在恶意攻击;否则,控制器判断所述源主机不存在恶意攻击。
可选地,该装置还可以包括:
判断单元,用于判断是否已经向第一交换机下发了所述源主机标识指示的源主机的异常流表项;如果否,触发发送单元向第一交换机发送异常流表项。
在第一种可能的实现方式中,第一发送单元620还可以用于:确定第一交换机中最后一张流表是包括源主机标识匹配域的精配表时,指示第一交换机将该精配表配置为只匹配源主机标识匹配域的精配表,以便第一交换机将所述异常流表项存储在最后一张流表中。
在第二种可能的实现方式中,第一发送单元620还可以用于:确定第一交换机中最后一张流表是精配表,且第一交换机中存在包括源主机标识匹配域的通配表时,向第一交换机发送第二指示,所述第二指示用于指示第一交换机将所述包括源主机标识匹配域的通配表调整为最为一张流表,以便第一交换机将所述异常流表项存储在最后一张流表中。
可选地,第一发送单元620还可以用于:
根据所述触发次数判断所述源主机标识指示的源主机存在恶意攻击时,向第一交换机发送第三指示,所述第三指示用于指示第一交换机抑制来自所述源主机的数据包。
本实施例中,控制器无需统计每个主机对应的Packet-in消息,而是向第一交换机发送异常流表项,由第一交换机统计异常流表项的触发次数并上报至控制器,控制器直接根据所述触发次数判断源主机标识指示的源主机是否存在恶意攻击,从而将控制器的消息统计分散至各个交换机来执行,降低了控制器的数据处理量,提高了控制器的性能。
参见图7,为本发明恶意攻击的检测装置第二实施例示意图,该装置700可以设置于第一交换机中,该装置700包括:
第二发送单元710,用于确定未查找到数据包对应的流表项时,向控制器发送Packet-in消息,所述Packet-in消息中包括所述数据包的源主机标识和目的主机标识;
第二接收单元720,用于接收所述控制器发送的异常流表项;所述异常流表项在控制器判断SDN网络中不存在所述目的主机标识指示的主机时发送;
存储单元730,用于保存第二接收单元720接收的异常流表项;
次数记录单元740,用于在存储单元730保存的所述异常流表项的老化时间内记录所述异常流表项的触发次数;
第二发送单元710还用于:所述存储单元保存的所述异常流表项超时后将所述触发次数发送给控制器,以便控制器根据所述触发次数判断所述源主机标识指示的源主机是否存在恶意攻击。
可选地,第二接收单元720还可以用于:接收控制器发送的第一指示;
该装置还可以包括:配置单元,用于根据所述第一指示将本地最后一张精配表配置为只匹配源主机标识匹配域的精配表;
或者,第二接收单元720还可以用于:接收控制器发送的第二指示;
该装置还可以包括:配置单元,用于根据所述第二指示将包括源主机标识匹配域的通配表调整为最为一张流表。
可选地,存储单元730具体可以用于:将所述异常流表项保存至最后一张流表。
可选地,第二接收单元720还可以用于:接收第一交换机发送的第三指示;
该装置还可以包括:控制单元,用于抑制来自所述源主机的数据包。
本实施例中,控制器无需统计每个主机对应的Packet-in消息,而是由第一交换机统计异常流表项的触发次数并上报至控制器,控制器直接根据所述触发次数判断源主机标识指示的源主机是否存在恶意攻击,从而将控制器的消息统计分散至各个交换机来执行,降低了控制器的数据处理量,提高了控制器的性能。
参见图8,为本发明实施例控制器结构示意图,控制器800包括:处理器810、存储器820、收发器830和总线840;
处理器810、存储器820、收发器830通过总线840相互连接;总线840可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器820,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器820可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
所述收发器830用于连接其他设备,并与其他设备进行通信。具体的,收发器830用于:接收第一交换机发送的Packet-in消息,所述Packet-in消息中包括第一交换机未查找到流表项的数据包的源主机标识和目的主机标识;向第一交换机发送异常流表项,所述异常流表项中包括源主机标识;接收第一交换机发送的触发次数;所述触发次数由第一交换机在异常流表项超时后发送,且所述触发次数是所述异常流表项的触发次数;
所述处理器810执行所述程序代码,用于判断SDN网络中是否存在所述目的主机标识指示的主机,判断SDN网络中不存在所述目的主机标识指示的主机时,控制收发器830向第一交换机发送异常流表项;还用于根据所述收发器830接收到的所述触发次数判断所述源主机标识指示的源主机是否存在恶意攻击。
可选地,所述处理器810具体可以用于:根据所述触发次数以及所述异常流表项的老化时间计算异常流表项的触发速率;判断所述触发速率是否大于速率阈值,如果大于,判断所述源主机存在恶意攻击;否则,判断所述源主机不存在恶意攻击。
可选地,所述处理器810具体可以用于:判断所述触发次数是否大于次数阈值,如果大于,则控制器判断所述源主机存在恶意攻击;否则,控制器判断所述源主机不存在恶意攻击。
可选地,所述处理器810还可以用于:所述收发器830向第一交换机发送异常流表项之前,判断是否已经向第一交换机下发了所述源主机标识指示的源主机的异常流表项;如果否,执行控制收发器830向第一交换机发送异常流表项的步骤。
可选地,所述处理器810还可以用于:确定第一交换机中最后一张流表是包括源主机标识匹配域的精配表时,控制收发器830向第一交换机发送第一指示,所述第一指示用于指示第一交换机将所述精配表配置为只匹配源主机标识匹配域的精配表,以便第一交换机将所述异常流表项存储在最后一张流表中;
所述收发器830还可以用于:向第一交换机发送第一指示。
可选地,所述处理器810还可以用于:确定第一交换机中最后一张流表是精配表,且第一交换机中存在包括源主机标识匹配域的通配表时,控制收发器830向第一交换机发送第二指示,所述第二指示用于指示第一交换机将所述包括源主机标识匹配域的通配表调整为最为一张流表,以便第一交换机将所述异常流表项存储在最后一张流表中;
所述收发器830还可以用于:向第一交换机发送第二指示。
可选地,所述处理器810还可以用于:根据所述触发次数判断所述源主机标识指示的源主机存在恶意攻击时,控制收发器830向第一交换机发送第三指示,所述第三指示用于指示第一交换机抑制来自所述源主机的数据包;
所述收发器830还可以用于:向第一交换机发送第三指示。
本实施例中,控制器无需统计每个主机对应的Packet-in消息,而是向第一交换机发送异常流表项,由第一交换机统计异常流表项的触发次数并上报至控制器,控制器直接根据所述触发次数判断源主机标识指示的源主机是否存在恶意攻击,从而将控制器的消息统计分散至各个交换机来执行,降低了控制器的数据处理量,提高了控制器的性能。
参见图9,为本发明实施例第一交换机结构示意图,第一交换机900包括:处理器910、存储器920、收发器930和总线940;
处理器910、存储器920、收发器930通过总线940相互连接;总线940可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器920,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器920可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。并且,存储器920还用于存储流表。
所述收发器930用于连接其他设备,并与其他设备进行通信。具体的,收发器930用于:向控制器发送Packet-in消息,所述Packet-in消息中包括所述数据包的源主机标识和目的主机标识;接收控制器判断SDN网络中不存在所述目的主机标识指示的主机时发送的异常流表项;将异常流表项的触发次数发送给控制器,以便控制器根据所述触发次数判断所述源主机标识指示的源主机是否存在恶意攻击;
所述处理器910执行所述程序代码,用于确定未查找到数据包对应的流表项时,控制收发器930向控制器发送Packet-in消息;将收发器930接收到的异常流表项保存至存储器920;所述异常流表项在控制器判断SDN网络中不存在所述目的主机标识指示的主机时发送;在所述异常流表项的老化时间内记录所述异常流表项的触发次数,在所述异常流表项超时后控制收发器930将所述触发次数发送给控制器。
可选地,所述收发器930还可以用于:接收控制器发送的第一指示;
所述处理器910还可以用于:根据收发器930接收到的所述第一指示将本地最后一张精配表配置为只匹配源主机标识匹配域的精配表;
或者,所述收发器930还可以用于:接收控制器发送的第二指示;
所述处理器910还可以用于:根据收发器930接收到的所述第二指示将包括源主机标识匹配域的通配表调整为最为一张流表。
可选地,所述处理器910具体可以用于:将所述异常流表项保存至存储器920中的最后一张流表。
可选地,收发器930还可以用于:接收控制器发送的第三指示;所述第三指示在控制器根据所述触发次数判断所述源主机标识指示的源主机存在恶意攻击时发送;
处理器910还可以用于:根据收发器930接收到的所述第三指示,抑制来自所述源主机的数据包。
本实施例中,控制器无需统计每个主机对应的Packet-in消息,而是由第一交换机统计异常流表项的触发次数并上报至控制器,控制器直接根据所述触发次数判断源主机标识指示的源主机是否存在恶意攻击,从而将控制器的消息统计分散至各个交换机来执行,降低了控制器的数据处理量,提高了控制器的性能。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (23)

1.一种恶意攻击的检测方法,其特征在于,包括:
控制器接收第一交换机发送的Packet-in消息,所述Packet-in消息中包括第一交换机未查找到流表项的数据包的源主机标识和目的主机标识;
控制器判断SDN网络中不存在所述目的主机标识指示的主机时,向第一交换机发送异常流表项;所述异常流表项中包括源主机标识;
控制器接收第一交换机发送的触发次数;所述触发次数由第一交换机在异常流表项超时后发送,且所述触发次数是所述异常流表项的触发次数;
控制器根据所述触发次数判断所述源主机标识指示的源主机是否存在恶意攻击。
2.根据权利要求1所述的方法,其特征在于,控制器根据所述触发次数判断所述源主机标识指示的源主机是否存在恶意攻击包括:
控制器根据所述触发次数以及所述异常流表项的老化时间计算异常流表项的触发速率;
控制器判断所述触发速率是否大于速率阈值,如果大于,则控制器判断所述源主机存在恶意攻击;否则,控制器判断所述源主机不存在恶意攻击。
3.根据权利要求1所述的方法,其特征在于,控制器根据所述触发次数判断所述源主机标识指示的源主机是否存在恶意攻击包括:
控制器判断所述触发次数是否大于次数阈值,如果大于,则控制器判断所述源主机存在恶意攻击;否则,控制器判断所述源主机不存在恶意攻击。
4.根据权利要求1至3任一项所述的方法,其特征在于,控制器向第一交换机发送异常流表项之前,还包括:
控制器判断是否已经向第一交换机下发了所述源主机标识指示的源主机的异常流表项;如果否,控制器执行向第一交换机发送异常流表项的步骤。
5.根据权利要求1所述的方法,其特征在于,还包括:
控制器确定第一交换机中最后一张流表是包括源主机标识匹配域的精配表时,向第一交换机发送第一指示,所述第一指示用于指示第一交换机将所述精配表配置为只匹配源主机标识匹配域的精配表,以便第一交换机将所述异常流表项存储在最后一张流表中。
6.根据权利要求1所述的方法,其特征在于,还包括:
控制器确定第一交换机中最后一张流表是精配表,且第一交换机中存在包括源主机标识匹配域的通配表时,向第一交换机发送第二指示,所述第二指示用于指示第一交换机将所述包括源主机标识匹配域的通配表调整为最为一张流表,以便第一交换机将所述异常流表项存储在最后一张流表中。
7.根据权利要求1所述的方法,其特征在于,所述异常流表项的优先级是所述第一交换机中流表项的最低优先级。
8.根据权利要求1所述的方法,其特征在于,还包括:
控制器根据所述触发次数判断所述源主机标识指示的源主机存在恶意攻击时,向第一交换机发送第三指示,所述第三指示用于指示第一交换机抑制来自所述源主机的数据包。
9.一种恶意攻击的检测方法,其特征在于,包括:
第一交换机确定未查找到数据包对应的流表项时,向控制器发送Packet-in消息,所述Packet-in消息中包括所述数据包的源主机标识和目的主机标识;
第一交换机接收并保存异常流表项;所述异常流表项在控制器判断SDN网络中不存在所述目的主机标识指示的主机时发送;
第一交换机在所述异常流表项的老化时间内记录所述异常流表项的触发次数,在所述异常流表项超时后将所述触发次数发送给控制器,以便控制器根据所述触发次数判断所述源主机标识指示的源主机是否存在恶意攻击。
10.根据权利要求9所述的方法,其特征在于,还包括:
第一交换机接收控制器发送的第一指示,根据所述第一指示将本地最后一张精配表配置为只匹配源主机标识匹配域的精配表;或者,
第一交换机接收控制器发送的第二指示,根据所述第二指示将包括源主机标识匹配域的通配表调整为最为一张流表。
11.根据权利要求10所述的方法,其特征在于,第一交换机保存所述异常流表项包括:
第一交换机将所述异常流表项保存至最后一张流表。
12.根据权利要求9至11任一项所述的方法,其特征在于,还包括:
第一交换机接收控制器发送的第三指示;所述第三指示在控制器根据所述触发次数判断所述源主机标识指示的源主机存在恶意攻击时发送;
第一交换机根据所述第三指示,抑制来自所述源主机的数据包。
13.一种恶意攻击的检测装置,其特征在于,包括:
第一接收单元,用于接收第一交换机发送的Packet-in消息,所述Packet-in消息中包括第一交换机未查找到流表项的数据包的源主机标识和目的主机标识;
第一发送单元,用于判断SDN网络中不存在第一接收单元接收到的所述目的主机标识指示的主机时,向第一交换机发送异常流表项;所述异常流表项中包括源主机标识;
所述第一接收单元还用于:接收第一交换机发送的触发次数;所述触发次数由第一交换机在异常流表项超时后发送,且所述触发次数是所述异常流表项的触发次数;
检测单元,用于根据第一接收单元接收到的所述触发次数判断所述源主机标识指示的源主机是否存在恶意攻击。
14.根据权利要求13所述的装置,其特征在于,检测单元具体用于:
根据第一接收单元接收到的所述触发次数以及所述异常流表项的老化时间计算异常流表项的触发速率;
判断所述触发速率是否大于速率阈值,如果大于,则判断所述源主机存在恶意攻击;否则,判断所述源主机不存在恶意攻击。
15.根据权利要求13所述的装置,其特征在于,检测单元具体用于:
判断所述触发次数是否大于次数阈值,如果大于,则控制器判断所述源主机存在恶意攻击;否则,控制器判断所述源主机不存在恶意攻击。
16.根据权利要求13至15任一项所述的装置,其特征在于,还包括:
判断单元,用于判断是否已经向第一交换机下发了所述源主机标识指示的源主机的异常流表项;如果否,触发发送单元向第一交换机发送异常流表项。
17.根据权利要求13所述的装置,其特征在于,第一发送单元还用于:确定第一交换机中最后一张流表是包括源主机标识匹配域的精配表时,指示第一交换机将该精配表配置为只匹配源主机标识匹配域的精配表,以便第一交换机将所述异常流表项存储在最后一张流表中。
18.根据权利要求13所述的装置,其特征在于,第一发送单元还用于:
确定第一交换机中最后一张流表是精配表,且第一交换机中存在包括源主机标识匹配域的通配表时,向第一交换机发送第二指示,所述第二指示用于指示第一交换机将所述包括源主机标识匹配域的通配表调整为最为一张流表,以便第一交换机将所述异常流表项存储在最后一张流表中。
19.根据权利要求13所述的装置,其特征在于,第一发送单元还用于:
根据所述触发次数判断所述源主机标识指示的源主机存在恶意攻击时,向第一交换机发送第三指示,所述第三指示用于指示第一交换机抑制来自所述源主机的数据包。
20.一种恶意攻击的检测装置,其特征在于,包括:
第二发送单元,用于确定未查找到数据包对应的流表项时,向控制器发送Packet-in消息,所述Packet-in消息中包括所述数据包的源主机标识和目的主机标识;
第二接收单元,用于接收异常流表项;所述异常流表项在控制器判断SDN网络中不存在所述目的主机标识指示的主机时发送;
存储单元,用于保存第二接收单元接收的异常流表项;
次数记录单元,用于在存储单元保存的所述异常流表项的老化时间内记录所述异常流表项的触发次数;
第二发送单元还用于:所述存储单元保存的所述异常流表项超时后将次数记录单元记录的所述触发次数发送给控制器,以便控制器根据所述触发次数判断所述源主机标识指示的源主机是否存在恶意攻击。
21.根据权利要求20所述的装置,其特征在于,第二接收单元还用于:接收控制器发送的第一指示;
该装置还包括:配置单元,用于根据所述第一指示将本地最后一张精配表配置为只匹配源主机标识匹配域的精配表;
或者,第二接收单元还用于:接收控制器发送的第二指示;
该装置还包括:配置单元,用于根据所述第二指示将包括源主机标识匹配域的通配表调整为最为一张流表。
22.根据权利要求21所述的装置,其特征在于,存储单元具体用于:将所述异常流表项保存至最后一张流表。
23.根据权利要求20至22任一项所述的装置,其特征在于,第二接收单元还用于:接收第一交换机发送的第三指示;
该装置还包括:控制单元,用于抑制来自所述源主机的数据包。
CN201310596661.0A 2013-11-22 2013-11-22 恶意攻击的检测方法和装置 Active CN104660565B (zh)

Priority Applications (10)

Application Number Priority Date Filing Date Title
CN201310596661.0A CN104660565B (zh) 2013-11-22 2013-11-22 恶意攻击的检测方法和装置
CN201810712113.2A CN108667853B (zh) 2013-11-22 2013-11-22 恶意攻击的检测方法和装置
EP14864083.2A EP3073700B1 (en) 2013-11-22 2014-09-05 Malicious attack detection method and apparatus
CA2931145A CA2931145C (en) 2013-11-22 2014-09-05 Malicious attack detection method and apparatus
JP2016533066A JP6186655B2 (ja) 2013-11-22 2014-09-05 悪意ある攻撃の検出方法および装置
PCT/CN2014/085989 WO2015074451A1 (zh) 2013-11-22 2014-09-05 恶意攻击的检测方法和装置
EP19152206.9A EP3570516B1 (en) 2013-11-22 2014-09-05 Malicious attack detection method and apparatus
RU2016124770A RU2647646C2 (ru) 2013-11-22 2014-09-05 Способ и устройство детектирования злонамеренной атаки
US15/160,158 US10313375B2 (en) 2013-11-22 2016-05-20 Method and apparatus for malicious attack detection in an SDN network
US16/415,749 US11637845B2 (en) 2013-11-22 2019-05-17 Method and apparatus for malicious attack detection in a software defined network (SDN)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310596661.0A CN104660565B (zh) 2013-11-22 2013-11-22 恶意攻击的检测方法和装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201810712113.2A Division CN108667853B (zh) 2013-11-22 2013-11-22 恶意攻击的检测方法和装置

Publications (2)

Publication Number Publication Date
CN104660565A CN104660565A (zh) 2015-05-27
CN104660565B true CN104660565B (zh) 2018-07-20

Family

ID=53178900

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201310596661.0A Active CN104660565B (zh) 2013-11-22 2013-11-22 恶意攻击的检测方法和装置
CN201810712113.2A Active CN108667853B (zh) 2013-11-22 2013-11-22 恶意攻击的检测方法和装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201810712113.2A Active CN108667853B (zh) 2013-11-22 2013-11-22 恶意攻击的检测方法和装置

Country Status (7)

Country Link
US (2) US10313375B2 (zh)
EP (2) EP3570516B1 (zh)
JP (1) JP6186655B2 (zh)
CN (2) CN104660565B (zh)
CA (1) CA2931145C (zh)
RU (1) RU2647646C2 (zh)
WO (1) WO2015074451A1 (zh)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015192319A1 (zh) 2014-06-17 2015-12-23 华为技术有限公司 软件定义网络中识别攻击流的方法、装置以及设备
TW201605198A (zh) * 2014-07-31 2016-02-01 萬國商業機器公司 智慧網路管理裝置以及管理網路的方法
US9975959B2 (en) * 2014-08-29 2018-05-22 Board Of Regents, The University Of Texas System Administration of kynurenine depleting enzymes for tumor therapy
WO2017000235A1 (zh) * 2015-06-30 2017-01-05 华为技术有限公司 流表老化方法、交换机及控制器
CN106487756B (zh) * 2015-08-28 2019-12-06 华为技术有限公司 一种检测交换机信息泄露的方法及装置
CN105208023B (zh) * 2015-09-14 2018-03-30 北京交通大学 中心控制器保护方法、设备及***
WO2017119246A1 (ja) * 2016-01-08 2017-07-13 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 異常検知方法、異常検知装置及び異常検知システム
CN105554041B (zh) * 2016-03-01 2018-05-25 江苏三棱智慧物联发展股份有限公司 一种检测基于流表超时机制的分布式拒绝服务攻击的方法
WO2017207039A1 (en) 2016-06-01 2017-12-07 Huawei Technologies Co., Ltd. Software defined networking system for distiguishing packet-in messages
KR101900154B1 (ko) * 2016-10-17 2018-11-08 숭실대학교산학협력단 DDoS 공격이 탐지가 가능한 소프트웨어 정의 네트워크 및 이에 포함되는 스위치
CN106506371A (zh) * 2016-11-11 2017-03-15 清华大学 基于OpenFlow协议的ID/Locator分离的IP移动性处理方法及装置
CN107800711B (zh) * 2017-06-16 2020-08-11 南京航空航天大学 一种OpenFlow控制器抵御DDoS攻击的方法
CN107241359B (zh) * 2017-08-03 2020-03-17 安捷光通科技成都有限公司 一种面向软件定义网络的轻量级网络流量异常检测方法
US10581684B2 (en) 2017-12-06 2020-03-03 Schweitzer Engineering Laboratories, Inc. Network management via a secondary communication channel in a software defined network
US10560390B2 (en) * 2018-03-05 2020-02-11 Schweitzer Engineering Laboratories, Inc. Time-based network operation profiles in a software-defined network
CN108650148B (zh) * 2018-04-16 2021-08-13 湖南省星岳天璇科技有限公司 一种SDN数据流flow-statistics低开销采集方法
US11032389B1 (en) * 2018-08-02 2021-06-08 Juniper Networks, Inc. Applying application-based policy rules using a programmable application cache
CN109525495B (zh) * 2018-12-24 2022-03-11 广东浪潮大数据研究有限公司 一种数据处理装置、方法和fpga板卡
CN109831428B (zh) * 2019-01-29 2021-04-20 内蒙古大学 Sdn网络攻击检测及防御的方法和装置
CN109617931B (zh) * 2019-02-20 2020-11-06 电子科技大学 一种SDN控制器的DDoS攻击防御方法及防御***
CN110798442B (zh) * 2019-09-10 2023-01-20 广州西麦科技股份有限公司 数据注入攻击检测方法及相关装置
WO2021107867A1 (en) * 2019-11-26 2021-06-03 National University Of Singapore Method of monitoring a communication network to facilitate network fault analysis, and a communication network thereof
CN111624869B (zh) * 2020-04-25 2023-03-28 中国人民解放军战略支援部队信息工程大学 自动感知攻击行为方法、***及以太网交换机
CN111800383A (zh) * 2020-06-02 2020-10-20 深圳供电局有限公司 一种基于SDN的DDos流量检测方法及装置
CN111970168A (zh) * 2020-08-11 2020-11-20 北京点众科技股份有限公司 全链路服务节点的监控方法、装置和存储介质
WO2022092788A1 (en) 2020-10-29 2022-05-05 Samsung Electronics Co., Ltd. Methods and system for securing a sdn controller from denial of service attack
CN112968861A (zh) * 2020-12-25 2021-06-15 杨世标 一种DDoS攻击封堵判定方法和***
WO2022249451A1 (ja) * 2021-05-28 2022-12-01 日本電信電話株式会社 スイッチ、ネットワークコントローラ、通信制御方法、及び通信制御プログラム
CN114666162B (zh) * 2022-04-29 2023-05-05 北京火山引擎科技有限公司 一种流量检测方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101789905A (zh) * 2010-02-05 2010-07-28 杭州华三通信技术有限公司 防止未知组播攻击cpu的方法和设备
EP2293513A1 (en) * 2009-09-03 2011-03-09 Juniper Networks, Inc. Protecting Against Distributed Network Flood Attacks
CN103250392A (zh) * 2010-12-09 2013-08-14 日本电气株式会社 计算机***、控制器和网络监视方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2418563A (en) 2004-09-23 2006-03-29 Agilent Technologies Inc Monitoring for malicious attacks in a communications network
CN100388684C (zh) * 2005-01-26 2008-05-14 华为技术有限公司 宽带接入网络中防止点到点协议认证攻击的实现方法
JP4512196B2 (ja) * 2005-10-20 2010-07-28 アラクサラネットワークス株式会社 異常トラヒックの検出方法およびパケット中継装置
US8397284B2 (en) * 2006-01-17 2013-03-12 University Of Maryland Detection of distributed denial of service attacks in autonomous system domains
DK2271127T3 (da) * 2006-02-03 2012-03-05 Sigram Schindler Beteiligungs Gmbh Administration af genstande på en teknisk kommunikationsgruppe-platform ved hjælp af sidstnævntes brugere
US20080189769A1 (en) * 2007-02-01 2008-08-07 Martin Casado Secure network switching infrastructure
WO2011081020A1 (ja) * 2010-01-04 2011-07-07 日本電気株式会社 ネットワークシステム、コントローラ、ネットワーク制御方法
EP2634977A4 (en) * 2010-10-28 2015-01-07 Nec Corp NETWORK SYSTEM AND METHOD OF CONTROLLING COMMUNICATION TRAFFIC
CN103262482B (zh) * 2010-12-10 2016-09-07 日本电气株式会社 通信***、控制设备和节点控制方法
KR101574193B1 (ko) * 2010-12-13 2015-12-11 한국전자통신연구원 분산 서비스 거부 공격 탐지 및 방어 장치 및 방법
CN103621028B (zh) 2011-04-15 2016-05-11 日本电气株式会社 控制网络访问策略的计算机***、控制器和方法
CN102195887B (zh) * 2011-05-31 2014-03-12 北京星网锐捷网络技术有限公司 报文处理方法、装置和网络安全设备
KR20130030086A (ko) * 2011-09-16 2013-03-26 한국전자통신연구원 비정상 세션 연결 종료 행위를 통한 분산 서비스 거부 공격 방어 방법 및 장치
JP2013070325A (ja) * 2011-09-26 2013-04-18 Nec Corp 通信システム、通信装置、サーバ、通信方法
US8711860B2 (en) * 2011-12-22 2014-04-29 Telefonaktiebolaget L M Ericsson (Publ) Controller for flexible and extensible flow processing in software-defined networks
JP5966488B2 (ja) * 2012-03-23 2016-08-10 日本電気株式会社 ネットワークシステム、スイッチ、及び通信遅延短縮方法
WO2013150925A1 (ja) * 2012-04-03 2013-10-10 日本電気株式会社 ネットワークシステム、コントローラ、及びパケット認証方法
US9210180B2 (en) * 2012-04-18 2015-12-08 Radware Ltd. Techniques for separating the processing of clients' traffic to different zones in software defined networks
US20150124595A1 (en) * 2012-05-01 2015-05-07 Nec Corporation Communication system, access control apparatus, switch, network control method, and program
US10116696B2 (en) * 2012-05-22 2018-10-30 Sri International Network privilege manager for a dynamically programmable computer network
CN102904975B (zh) * 2012-09-28 2015-06-17 华为技术有限公司 报文处理的方法和相关装置
US9692775B2 (en) * 2013-04-29 2017-06-27 Telefonaktiebolaget Lm Ericsson (Publ) Method and system to dynamically detect traffic anomalies in a network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2293513A1 (en) * 2009-09-03 2011-03-09 Juniper Networks, Inc. Protecting Against Distributed Network Flood Attacks
CN101789905A (zh) * 2010-02-05 2010-07-28 杭州华三通信技术有限公司 防止未知组播攻击cpu的方法和设备
CN103250392A (zh) * 2010-12-09 2013-08-14 日本电气株式会社 计算机***、控制器和网络监视方法

Also Published As

Publication number Publication date
CA2931145A1 (en) 2015-05-28
US10313375B2 (en) 2019-06-04
CN104660565A (zh) 2015-05-27
JP6186655B2 (ja) 2017-08-30
EP3570516A1 (en) 2019-11-20
CN108667853B (zh) 2021-06-01
EP3073700A1 (en) 2016-09-28
US20160269432A1 (en) 2016-09-15
RU2647646C2 (ru) 2018-03-16
EP3570516B1 (en) 2023-08-23
WO2015074451A1 (zh) 2015-05-28
CA2931145C (en) 2018-10-23
US11637845B2 (en) 2023-04-25
EP3073700A4 (en) 2016-09-28
EP3073700B1 (en) 2019-07-24
JP2016537898A (ja) 2016-12-01
CN108667853A (zh) 2018-10-16
RU2016124770A (ru) 2017-12-27
US20190281081A1 (en) 2019-09-12

Similar Documents

Publication Publication Date Title
CN104660565B (zh) 恶意攻击的检测方法和装置
US7609629B2 (en) Network controller and control method with flow analysis and control function
CN108063765B (zh) 适于解决网络安全的sdn***
US9819590B2 (en) Method and apparatus for notifying network abnormality
US20160352761A1 (en) Detection of malware and malicious applications
US7506372B2 (en) Method and apparatus for controlling connection rate of network hosts
CN108028828B (zh) 一种分布式拒绝服务DDoS攻击检测方法及相关设备
CN106657161A (zh) 数据包过滤的实现方法和装置
CN110535888A (zh) 端口扫描攻击检测方法及相关装置
CN109657463A (zh) 一种报文洪泛攻击的防御方法及装置
EP3266174B1 (en) Uplink port oversubscription determination
CN106101088B (zh) 清洗设备、检测设备、路由设备和防范dns攻击的方法
JP5935897B2 (ja) 通信ノード、通信システム、制御装置、パケット転送方法及びプログラム
US10505834B2 (en) Session aware adaptive packet filtering
CN110177060A (zh) 一种面向sdn网络的时序侧信道攻击的主动防御方法
CN107888624B (zh) 一种防护网络安全的方法和装置
JP2016100799A (ja) 監視システムおよび監視方法
US10097515B2 (en) Firewall control device, method and firewall device
KR101707073B1 (ko) Sdn 기반의 에러 탐색 네트워크 시스템
JP2007306531A (ja) 経路終端のルータのipアドレスを評価し異常を判定する方法とこれを利用したシステム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant