CN112422481B - 网络威胁的诱捕方法、系统和转发设备 - Google Patents

网络威胁的诱捕方法、系统和转发设备 Download PDF

Info

Publication number
CN112422481B
CN112422481B CN201910780575.2A CN201910780575A CN112422481B CN 112422481 B CN112422481 B CN 112422481B CN 201910780575 A CN201910780575 A CN 201910780575A CN 112422481 B CN112422481 B CN 112422481B
Authority
CN
China
Prior art keywords
address
message
trapping
packet
arp
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
CN201910780575.2A
Other languages
English (en)
Other versions
CN112422481A (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
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201910780575.2A priority Critical patent/CN112422481B/zh
Priority to PCT/CN2020/110656 priority patent/WO2021032207A1/zh
Priority to EP20855435.2A priority patent/EP3923551A4/en
Publication of CN112422481A publication Critical patent/CN112422481A/zh
Priority to US17/369,057 priority patent/US20210344714A1/en
Application granted granted Critical
Publication of CN112422481B publication Critical patent/CN112422481B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/66Layer 2 routing, e.g. in Ethernet based MAN's
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • 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/1491Countermeasures against malicious traffic using deception as countermeasure, e.g. honeypots, honeynets, decoys or entrapment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2521Translation architectures other than single NAT servers
    • H04L61/2528Translation at a proxy

Landscapes

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

Abstract

本申请公开了一种网络威胁的诱捕方法、转发设备和系统。转发设备获得诱捕目标集合,诱捕目标集合中包括诱捕目标,诱捕目标包括未使用的网际协议IP地址、或者已使用的IP地址上未开放的端口号。转发设备接收来自于主机的IP报文,确定IP报文请求访问的目的方是否属于诱捕目标集合。如果IP报文请求访问的目的方属于诱捕目标集合,转发设备向蜜罐管理服务器发送IP报文。转发设备接收蜜罐管理服务器返回的对应IP报文的响应报文;转发设备向主机发送响应报文。这样,主机后续能够与模拟出的请求访问的目的方进行通信,转发设备欺骗主机使其认为网络中存在其请求访问的目的方,该方法降低现有诱捕系统部署代价。

Description

网络威胁的诱捕方法、系统和转发设备
技术领域
本申请涉及计算机网络安全技术领域,尤其涉及一种网络威胁的诱捕方法、装置、系统和转发设备。
背景技术
随着以高级长期威胁(advanced persistent threat,APT)、勒索病毒为例的下一代威胁的出现,传统的基于特征的安全防御手段难以取得满意的效果。例如,传统的基于特征的安全防御手段无法识别网络中传播的未知恶意软件(例如蠕虫、病毒等等)、攻击者利用社会工程学方式进行的攻击行为、以及利用一个企业、学校或政府的内部网络中的多台主机之间多次跳转实现的攻击行为。
为应对以上问题,有研究提出了基于蜜罐(honeypot)的诱捕系统。蜜罐是对攻击方进行欺骗的技术。蜜罐布置一个或一组作为诱饵的计算机,计算机上开启了一些网络服务或者伪装成存储有高价值数据,从而吸引黑客攻击。蜜罐中还可能装有监控软件,用以监视、捕获恶意软件或黑客入侵作为蜜罐后的行为,以供研究者进行分析或破解。蜜罐可以通过单独的服务器、虚拟机实现,也可以通过软件实现。
为了提高蜜罐的实施效果,诱捕系统在单个蜜罐的基础上增加了网络报文的引流点。典型的诱捕系统逻辑上由一个或多个蜜罐、用于管理蜜罐的蜜罐管理服务器、以及一个或多个代理三部分组成。一个或多个蜜罐可以由虚拟机实现。蜜罐管理服务器用于对一个或多个蜜罐进行管理、以及向代理提供使用蜜罐业务的接口。蜜罐和蜜罐管理服务器可以由同一个计算机实现。代理通常由软件程序实现,代理运行在内部网络的多个主机上,用于将访问该代理所在主机的全部报文、或者访问该代理所在主机指定端口的报文发送给蜜罐管理服务器。
在上述诱捕系统中,需要在大量主机上安装用于实现代理功能的软件程序,部署和维护代价较高。
发明内容
本申请实施例提供一种网络威胁诱捕方法,用以降低现有诱捕系统部署代价。
第一方面,提供了一种网络诱捕方法。在该方法中,转发设备获得诱捕目标集合,所述诱捕目标集合中包括至少一个诱捕目标,所述至少一个诱捕目标包括未使用的网际协议(Internet Protocol,IP)地址、或者已使用的IP地址上未开放的端口号。转发设备接收来自于第一主机的第一IP报文,所述转发设备确定所述第一IP报文请求访问的目的方是否属于所述诱捕目标集合。如果所述第一IP报文请求访问的目的方属于所述诱捕目标集合,所述转发设备向蜜罐管理服务器发送所述第一IP报文。所述转发设备接收所述蜜罐管理服务器返回的第二IP报文,所述第二IP报文是所述第一IP报文的响应报文,并向所述第一主机发送所述第二IP报文。
在本申请实施例提供的威胁诱捕方案中,一方面,转发设备基于实际网络环境,利用转发设备连接的子网中未使用的地址或端口号,模拟出大量的蜜罐。另一方面,在转发设备上实现诱捕引流点。换句话说,转发设备作为诱捕方案的引流点,在一个主机(潜在的可能被黑客或者恶意软件控制的主机)发起对蜜罐的访问过程中,转发设备创建诱捕目标集合。此后转发设备将请求访问诱捕目标的报文发送给蜜罐管理服务器,并将蜜罐服务器对应返回的报文发送给上述请求的发起方。这样,发起访问的主机后续能够与模拟出的请求访问的目的方进行正常通信,转发设备从而欺骗发起方使其认为网络中存在其请求访问的目的方,并在后续能够与请求访问的目的方进行正常通信。由于内部网络中转发设备的数量通常远小于主机的数量,并且本申请提供的威胁捕获方案无需在内部网络中的主机上安装实现代理功能的软件程序,与在单个真实主机上实现引流的威胁诱捕方案相比,降低了诱捕系统的部署和维护代价。
可选地,转发设备采用一种或多种方法相结合来获得上述诱捕目标集合。在第一方面的一种可能的实现方式中,转发设备在地址解析协议(Address ResolutionProtocol,ARP)请求处理过程中获得未使用IP地址,并将未使用IP地址作为诱捕目标加入诱捕目标集合。转发设备接收第一ARP报文,所述第一ARP报文是ARP请求报文。转发设备根据IP地址状态表,确定所述第一ARP报文的目的IP地址的在线状态,所述IP地址状态表用于指示所述转发设备连接的子网范围内的多个IP地址分别对应的在线状态,所述在线状态为在线或不在线。如果所述第一ARP报文的目的IP地址的在线状态为不在线,则将所述第一ARP请求报文的目的IP地址作为未使用的IP地址加入所述诱捕目标集合。
上述转发设备在ARP请求处理过程中获得的诱捕目标集合用于转发设备后续接收到IP报文时,将目的方属于所述诱捕目标集合的IP报文发送至蜜罐管理服务器,并将蜜罐管理服务器返回的报文发送给发送上述IP报文的主机,从而实现引流点功能。
可以理解的是,第一ARP请求报文的请求方使用的IP地址可以认为是在线的。因此,可选地,在第一方面的另一种可能的实现方式中,转发设备接收第一ARP报文之后,还包括:所述转发设备将所述IP地址状态表中所述第一ARP报文的源IP地址对应的在线状态设置为在线。
可选地,诱捕目标集合中的未使用IP地址有可能后续被分配给内部网络中的主机使用。为了保证主机的正常通信,在此情况下适时更新诱捕目标集合,避免该IP相关的报文被作为诱捕对象而被转发至蜜罐关联服务器。针对这种情况,在第一方面的另一种可能的实现方式中,所述方法还包括:转发设备接收第二ARP报文,所述第二ARP报文是ARP应答报文或者免费ARP报文。所述转发设备判断所述诱捕目标集合中是否包含所述第二ARP报文的源IP地址。如果所述诱捕目标集合中包含所述第二ARP报文的源IP地址,则从所述诱捕目标集合中删除作为未使用的IP地址的所述第二ARP报文的源IP地址。
可选地,与第一ARP报文类似,转发设备接收到第二ARP报文后也可以更新IP地址状态表。在第一方面的另一种可能的实现方式中,所述转发设备接收所述第二ARP报文之后,还包括:所述转发设备将IP地址状态表中所述第二ARP报文的源IP地址对应的在线状态设置为在线。通过这种方式转发设备可以适时更新IP地址状态表。
可选地,在第一方面的另一种可能的实现方式中,转发设备在IP报文处理过程中获得未使用IP地址,并将未使用IP地址作为诱捕目标加入诱捕目标集合。例如,转发设备在IP报文转发流程中查询路由表、查询ARP表等多个时机在诱捕目标集合中加入诱捕目标。
可选地,在查询路由表的过程中获得诱捕目标包括:转发设备接收第三IP报文,根据所述第三IP报文的目的IP地址,在所述转发设备的路由表中查询所述第三IP报文对应的下一跳IP地址。如果所述路由表中不存在所述第三IP报文对应的下一跳IP地址,则转发设备将所述第三IP报文的目的IP地址作为未使用的IP地址加入所述诱捕目标集合。
可选地,如果在查询路由表的过程中转发设备确定所述第三IP报文的目的方为诱捕目标,则转发设备向蜜罐管理服务器发送第三IP报文从而对第三IP报文进行诱捕,以便于达到诱骗第三IP报文的发送方的目的。转发设备向所述蜜罐管理服务器发送所述第三IP报文,接收来自于所述蜜罐管理服务器的针对所述第三IP报文的响应报文,并转发所述响应报文。
可选地,转发设备在查询ARP表的过程中获得诱捕目标包括:如果所述路由表中存在所述第三IP报文对应的下一跳IP地址,则所述转发设备在ARP表中查询所述下一跳IP地址对应的媒体访问控制(media access control,MAC)地址。如果所述ARP表中不存在所述下一跳IP地址对应的MAC地址,则所述转发设备根据IP地址状态表,确定所述第三IP报文的目的IP的在线状态,所述IP地址状态表用于指示所述转发设备连接的至少一个子网范围内的多个IP地址分别对应的在线状态,所述在线状态为在线或不在线。如果所述ARP表中不存在所述下一跳IP地址对应的MAC地址、且所述第三IP报文的目的IP地址的在线状态为不在线,则所述转发设备将所述第三IP报文的目的IP地址作为未使用的IP地址加入所述诱捕目标集合。
可选地,如果在查询ARP表的过程中转发设备确定所述第三IP报文的目的方为诱捕目标,则转发设备向蜜罐管理服务器发送第三IP报文从而对第三IP报文进行诱捕,以便于达到诱骗第三IP报文的发送方的目的。转发设备向所述蜜罐管理服务器发送所述第三IP报文,接收来自于所述蜜罐管理服务器的针对所述第三IP报文的响应报文,并转发所述响应报文。
上述转发设备在IP报文处理过程中获得的诱捕目标集合用于转发设备后续接收到IP报文时,将目的方属于所述诱捕目标集合的IP报文发送至蜜罐管理服务器,并将蜜罐管理服务器返回的报文发送给发送上述IP报文的主机,从而实现引流点功能。
可选地,转发设备不仅在上述ARP请求、IP报文的处理过程确定以未使用的IP地址为例的诱捕目标从而获得诱捕目标集合,也可以在处理第一预定类型(连接重置(RST)报文)的IP报文的过程中获得以已使用的IP地址上的未使用的端口号为例的诱捕目标从而获得诱捕目标集合。因此,在第一方面的另一种可能的实现方式中,转发设备接收第四IP报文,所述第四IP报文为RST报文。转发设备判断第四IP报文是否满足诱捕条件,所述诱捕条件包括:在接收到第四IP报文之前,接收到至少一个与所述第四IP报文对应的连接建立(SYN)报文,所述第四IP报文对应的SYN报文的目的IP地址与所述第四IP报文的源IP地址相同、且目的端口号与所述第四IP报文的源端口号相同。如果所述第四IP报文满足诱捕条件,则所述转发设备将所述第四IP报文的源IP地址作为已使用的IP地址,将所述第四IP报文的源端口号作为所述第四IP报文的源IP地址指示的IP地址上未开放的端口号加入诱捕目标集。
可选地,在第四IP报文为RST报文的情况下,设置更为严格的诱捕条件以提高确定诱捕目标的准确性。在第一方面的另一种可能的实现方式中,诱捕条件包括:判断所述第四IP报文是否满足诱捕条件,所述诱捕条件包括:在接收到第四IP报文之前的预定时间段之前接收到至少一个与所述第四IP报文对应的SYN报文、且在所述预定时间段内接收到的与所述第四IP报文具有相同源IP地址和源端口号的其他报文均为RST报文,所述第四IP报文对应的SYN报文的目的IP地址与所述第四IP报文的源IP地址相同、且目的端口号与所述第四IP报文的源端口号相同。如果所述第四IP报文满足诱捕条件,则所述转发设备将所述第四IP报文的源IP地址作为已使用的IP地址,将所述第四IP报文的源端口号作为所述第四IP报文的源IP地址指示的IP地址上未开放的端口号加入诱捕目标集。
可选地,在指示请求访问的目的方不可达方面,对于用户数据报协议(UserDatagram Protocol,UDP)而言,Internet控制报文协议(Internet Control MessageProtocol,ICMP)不可达报文与上述RST报文具有类似的功能。在第一方面的另一种可能的实现方式中,所述转发设备接收第四IP报文,所述第四IP报文为ICMP不可达报文。判断所述第四IP报文是否满足诱捕条件,所述诱捕条件包括:在接收到第四IP报文之前,接收到至少一个与所述第四IP报文对应的UDP报文,所述第四IP报文对应的UDP报文的目的IP地址与所述第四IP报文的源IP地址相同、且目的端口号与所述第四IP报文的源端口号相同。如果所述第四IP报文满足诱捕条件,则所述转发设备将所述第四IP报文的源IP地址作为已使用的IP地址,将所述第四IP报文的源端口号作为所述第四IP报文的源IP地址指示的IP地址上未开放的端口号加入诱捕目标集。
可选地,在第四IP报文为ICMP不可达报文的情况下,设置更为严格的诱捕条件以提高确定诱捕目标的准确性。在第一方面的另一种可能的实现方式中,诱捕条件包括:判断所述第四IP报文是否满足诱捕条件,所述诱捕条件包括:在接收到第四IP报文之前的预定时间段之前接收到至少一个与所述第四IP报文对应的UDP报文、且在所述预定时间段内接收到的与所述第四IP报文具有相同源IP地址和源端口号的其他报文均为ICMP不可达报文,所述第四IP报文对应的UDP报文的目的IP地址与所述第四IP报文的源IP地址相同、且目的端口号与所述第四IP报文的源端口号相同。如果所述第四IP报文满足诱捕条件,则所述转发设备将所述第四IP报文的源IP地址作为已使用的IP地址,将所述第四IP报文的源端口号作为所述第四IP报文的源IP地址指示的IP地址上未开放的端口号加入诱捕目标集。
可选地,在第一方面的另一种可能的实现方式中,在第四IP报文为RST报文的情况下,如果转发设备确定所述第四IP报文的目的方为诱捕目标,则转发设备向蜜罐管理服务器发送第四IP报文从而对第四IP报文进行诱捕,以便于达到诱骗第四IP报文的发送方的目的。转发设备向所述蜜罐管理服务器发送所述第四IP报文,接收来自于所述蜜罐管理服务器的针对所述第四IP报文的响应报文,并转发所述响应报文。
可选地,在第一方面的另一种可能的实现方式中,上述各种获得诱捕目标的方法可以单独使用,也可以结合使用,例如第二种和第三种获得诱捕目标的方法可以结合使用。例如在第四IP报文为RST报文时,转发设备按照第三种方式处理第四IP报文时,如果所述第四IP报文不满足诱捕条件,再继续按照第二种方式处理第四IP报文。具体地,如果所述第四IP报文不满足诱捕条件,所述方法还包括:转发设备根据所述第四IP报文的目的IP地址,在所述转发设备的路由表中查询所述第四IP报文对应的下一跳IP地址。如果所述路由表中不存在所述第四IP报文对应的下一跳IP地址,则将所述第四IP报文的目的IP地址作为未使用的IP地址加入所述诱捕目标集合。
可选地,如果所述路由表中不存在所述第四IP报文对应的下一跳IP地址,所述还包括:向所述蜜罐管理服务器发送所述第四IP报文。转发设备接收来自于所述蜜罐管理服务器的所述第四IP报文的响应报文,并向所述第一主机转发所述第四IP报文的响应报文。
可选地,如果所述路由表中存在所述第四IP报文对应的下一跳IP地址,则在ARP表中查询所述下一跳IP地址对应的MAC地址。如果所述ARP表中不存在所述下一跳IP地址对应的MAC地址,则转发设备根据IP地址状态表,确定所述第四IP报文的目的IP的在线状态。如果所述ARP表中不存在所述下一跳IP地址对应的MAC地址、且所述第四IP报文的目的IP地址的在线状态为不在线,则所述转发设备将所述第四IP报文的目的IP地址作为未使用的IP地址加入所述诱捕目标集合。
如果所述ARP表中不存在所述下一跳IP地址对应的MAC地址、且所述第四IP报文的目的IP地址的在线状态为不在线,所述方法还包括:转发设备向所述蜜罐管理服务器发送与所述第四IP报文。接收来自于所述蜜罐管理服务器的针对所述第四IP报文的响应报文,并向所述第一主机转发所述针对所述第四IP报文的响应报文。
上述转发设备在RST报文处理过程中获得的诱捕目标集合用于转发设备后续接收到IP报文时,将目的方属于所述诱捕目标集合的IP报文发送至蜜罐管理服务器,并将蜜罐管理服务器返回的报文发送给发送上述IP报文的主机,从而实现引流点功能。
可选地,在第四IP报文为以连接建立确认(SYN_ACK)报文为例的第二预定类型的IP报文的情况下,转发设备根据第四IP报文的源地址信息确认是否删除诱捕目标集合中的诱捕目标,从而达到更新诱捕目标集合的目的。对应地,在第一方面的另一种可能的实现方式中,上述方法还包括:转发设备接收第四IP报文,所述第四IP报文为SYN-ACK报文。转发设备判断所述诱捕目标集合中是否包括待删除诱捕目标,所述待删除诱捕目标为已使用的IP地址上未开放的端口号,其中,已使用的IP地址为所述第四IP报文的源IP地址、所述未开放的端口号为所述第四IP报文的源端口号指示的端口号。如果所述诱捕目标集合中包括待删除诱捕目标,则所述转发设备从所述诱捕目标集合中删除所述待删除诱捕目标。
可选地,在第一方面的另一种可能的实现方式中,在第四IP报文为SYN-ACK报文的情况下,转发设备根据第四IP报文的源地址信息更新诱捕目标集合后,仍然可以按照上述获得诱捕目标的第二种方法确定SYN-ACK报文的目的方是否为诱捕目标。在第四IP报文为SYN-ACK报文的情况下,转发设备接收第四IP报文之后,所述方法还包括:所述转发设备根据所述第四IP报文的目的IP地址,在所述转发设备的路由表中查询所述第四IP报文对应的下一跳IP地址。如果所述路由表中不存在所述第四IP报文对应的下一跳IP地址,则将所述第四IP报文的目的IP地址作为未使用的IP地址加入所述诱捕目标集合。
可选地,在第四IP报文为SYN-ACK报文的情况下,如果所述路由表中不存在所述第四IP报文对应的下一跳IP地址,所述方法还包括:向所述蜜罐管理服务器发送所述第四IP报文。接收来自于所述蜜罐管理服务器的所述第四IP报文的响应报文,并向所述第一主机转发所述第四IP报文的响应报文。如果所述路由表中存在所述第四IP报文对应的下一跳IP地址,则在ARP表中查询所述下一跳IP地址对应的MAC地址。如果所述ARP表中不存在所述下一跳IP地址对应的MAC地址,则转发设备根据IP地址状态表,确定所述第四IP报文的目的IP的在线状态,所述IP地址状态表用于指示所述转发设备连接的至少一个子网范围内的多个IP地址分别对应的在线状态,所述在线状态为在线或不在线。如果所述ARP表中不存在所述下一跳IP地址对应的MAC地址、且所述第四IP报文的目的IP地址的在线状态为不在线,则所述转发设备将所述第四IP报文的目的IP地址作为未使用的IP地址加入所述诱捕目标集合。
可选地,在第四IP报文为SYN-ACK报文的情况下,如果转发设备根据第二种方式处理第四IP报文的过程中确定所述第四IP报文的目的方为诱捕目标,则转发设备向蜜罐管理服务器发送第四IP报文从而对第四IP报文进行诱捕,以便于达到诱骗第四IP报文的发送方的目的。即,如果所述ARP表中不存在所述下一跳IP地址对应的MAC地址、且所述第四IP报文的目的IP地址的在线状态为不在线,转发设备向所述蜜罐管理服务器发送所述第四IP报文,接收来自于所述蜜罐管理服务器的针对所述第四IP报文的响应报文,并转发所述响应报文。
上述转发设备在SYN-ACK报文处理过程中更新诱捕目标集合,能够提高后续基于诱捕目标集合实现IP报文诱捕的准确性,避免在原有诱捕目标集合中的IP地址被分配给一个主机使用后,影响该主机的正常通信。
可选地,在第一方面的另一种可能的实现方式中,转发设备利用ARP探测,确定子网访问内各个IP地址分别对应的在线状态,从而形成IP地址状态表。即,转发设备针对所述转发设备连接的子网范围内的多个IP地址中的每个IP地址分别发送ARP请求报文。转发设备未接收到针对第一IP地址的ARP响应报文,将所述第一IP地址添加到所述IP地址状态表中,所述第一IP地址为所述多个IP地址中的IP地址;并将所述第一IP地址的状态设置为不在线。转发设备接收到针对第二IP地址的ARP响应报文,所述第二IP地址为所述多个IP地址中的IP地址;将所述第二IP地址添加到所述IP地址状态表中;并将所述第二IP地址的状态设置为在线。通过这种方式,转发设备可以维护一个IP地址状态表,以便于基于该IP地址状态表确定捕获目标集合。
可选地,在第一方面的另一种可能的实现方式中,转发设备转发域名系统(DomainNameSystem,DNS)域名请求。所述转发设备截获并停止转发第一DNS响应报文,所述第一DNS响应报文是针对所述DNS域名请求的响应报文,所述第一响应报文指示所述DNS域名请求所查询的域名不存在。所述转发设备生成第二DNS响应报文,所述第二DNS响应报文包括所述DNS域名请求所查询的域名对应的IP地址,所述域名对应的IP地址为所述诱捕目标集合中的一个未使用的IP地址。所述转发设备发送所述第二DNS响应报文。转发设备通过对潜在的攻击者的DNS探测行为进行诱捕,有助于达到更佳的诱捕效果。
可选地,在上述第一方面、或第一方面的任意一种可能的实现方式中,所述诱捕目标集合表示为诱捕目标表,所述诱捕目标表中包括至少一个表项,所述至少一个表项中的每个表项用于指示一个所述诱捕目标,所述每个表项包括一个IP地址用以指示未使用的IP地址、或者包括一个IP地址与端口号的组合用以指示已使用的IP地址上未开放的端口号。转发设备确定所述第一IP报文请求访问的目的方是否属于诱捕目标集合,包括:所述转发设备确定所述诱捕目标表中是否存在一个表项包括所述第一IP报文的目的IP地址、或者包括所述第一IP报文的目的IP地址与目的端口号的组合。如果所述诱捕目标表存在一个表项包括所述第一IP报文的目的IP地址、或者包括所述第一IP报文的目的IP地址与目的端口号的组合,则确定所述第一IP报文请求访问的目的方属于所述诱捕目标集合。如果所述诱捕目标表不存在一个表项包括所述第一IP报文的目的IP地址、并且不存在一个表项包括所述第一IP报文的目的IP地址与目的端口号的组合,则确定所述第一IP报文请求访问的目的方不属于所述诱捕目标集合。
转发设备以诱捕目标表的方式保存诱捕目标集合,有助于后续接收到IP报文后,基于该诱捕目标表确定IP报文请求访问的目的方是否属于所述诱捕目标集合,提高捕获效率。
第二方面,提供了一种网络威胁诱捕装置,该网络威胁诱捕装置具有实现上述第一方面、或上述第一方面的任意一种可能的实现方式所述方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
第三方面,提供了一种转发设备,该转发设备包括网络接口和至少一个处理器。所述网络接口用于接收或发送报文。所述至少一个处理器与网络接口连接,执行上述第一方面或第一方面的任意一种可能的实现方式中的方法,具体参见上面的详细描述,此处不再赘述。
第四方面,提供了一种网络威胁诱捕系统,包括蜜罐管理服务器以及至少一个转发设备。所述至少一个转发设备中的每个转发设备执行上述第一方面或第一方面的任意一种可能的实现方式中的方法,具体参见上面的详细描述,此处不再赘述。
第五方面,提供了一种计算机可读存储介质,用于储存为上述转发设备所用的计算机软件指令,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面的任意一种可能的实现方式中所述的方法。
第六方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面的任意一种可能的实现方式中所述的方法。
第七方面,本申请实施例提供了一种芯片,包括存储器和处理器,存储器用于存储计算机指令,处理器用于从存储器中调用并运行该计算机指令,以执行上述第一方面及其第一方面任意可能的实现方式中的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为是本申请实施例提供的网络威胁的诱捕系统的应用场景示意图;
图2为本申请实施例提供的威胁的诱捕方法的原理流程图;
图3A为本申请实施例提供的一种创建诱捕目标集合的方法的流程图;
图3B为本申请实施例提供的一种获得IP地址状态表的方法流程图;
图4为本申请实施例提供的另一种创建诱捕目标集合的方法的流程图;
图5为本申请实施例提供的另一种创建诱捕目标集合的方法的流程图;
图6为本申请实施例提供的一种在DNS解析的过程中实施诱捕的方案的流程图;
图7为本申请实施例提供的一种转发设备的结构示意图;
图8为本申请实施例提供的一种网络威胁的诱捕装置的结构示意图。
具体实施方式
有的诱捕系统需要在内部网络的主机上安装用以实现代理功能的软件程序。代理作为蜜罐的引流点,将访问该代理所属主机指定端口的报文发送给蜜罐管理服务器。一方面,当代理数目过少时,蜜罐能实现的诱捕效果有限。另一方面,在大量主机上安装软件程序这一方式的部署和维护代价很高。
本申请实施例提供了一种网络威胁诱捕系统,该系统包括转发设备和蜜罐管理服务器。该系统在诱捕对象和引流点这两方面相对于现有技术有重要改进。一方面,内部网络中的转发设备(在后续实施例中为了简明起见,简称为“转发设备”)首先基于实际网络环境,利用内部网络中未使用的地址或未开放的端口,模拟出大量的蜜罐(这里的“蜜罐”意指不存在的、请求访问的目的方地址资源)。另一方面,转发设备实现引流点,即转发设备将请求访问被模拟出的蜜罐的报文发送给蜜罐管理服务器,并将蜜罐服务器对应返回的IP报文发送给上述请求的发起方,从而实现对于网络威胁的捕获过程。由于内部网络中转发设备的数量通常远小于主机的数量,并且本申请提供的威胁捕获方案无需在内部网络中的主机上安装实现代理功能的软件程序,与在单个真实主机上实现引流的威胁诱捕方案相比,降低了诱捕系统的部署和维护代价。
下面结合各个附图对本申请实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细的阐述,方法实施例中的具体操作方法也可以应用于装置实施例或系统实施例中。
附图1是本申请实施例提供的网络威胁诱捕系统的应用场景示意图。网络威胁诱捕系统应用于内部网络。在本申请实施例中内部网络包括公司、学校、政府部门等组织的局域网,或者一个组织内部通过虚拟专用网(Virtual Private Network,VPN)连接的多个局域网。内部网络中包含多个主机,如主机101和主机102、一个蜜罐服务器120和至少一个转发设备,如转发设备110和转发设备111。
图1中的主机101和主机102可以是个人计算机、笔记本电脑等等。主机101的IP地址是1.1.1.101,主机102的IP地址是1.1.1.102,主机101和主机102属于同一子网中1.1.1.1-1.1.1.255。
主机101和主机102通过转发设备110连接。可选地,转发设备110是三层交换机。三层交换机是一个带有第三层(网络层)路由功能和第二层(数据链路层)交换功能的交换机。三层交换机基于MAC表对二层流量进行转发。三层交换机基于路由表对三层流量实现“一次查表(路由表),多次转发”。三层交换机基于IP地址对来自于不同子网的两个主机之间的第一个数据包进行三层路由后,通过ARP学习机制获得目的主机的MAC地址,并产生一个MAC地址与IP地址的映射关系,并在地址解析协议(Address Resolution Protocol,ARP)表中存储该映射关系。转发设备110也可以是路由器或网关设备,在这里不进行具体限定。
转发设备110连接有至少一个子网。如果主机101和主机102属于同一子网,则主机101和主机102之间的报文可以进行二层交换。如果主机101和主机102属于不同子网,则二者之间的报文需要通过三层路由进行转发。
可选地,转发设备110与蜜罐服务器120之间建立隧道,例如用户数据报协议(UserDatagram Protocol,UDP)隧道、可扩展虚拟局域网(Virtual eXtensible LAN,VXLAN)隧道、通用路由封装(Generic Routing Encapsulation,GRE)隧道等。例如,转发设备110使用IP地址2.2.2.1、端口号1234与蜜罐管理服务器120建立隧道,蜜罐管理服务器120使用IP地址2.2.2.2、端口号1234与转发设备110建立隧道。
转发设备110通过隧道封装,将请求方发送的、目的方为捕获目标的报文发送给蜜罐管理服务器,对应地,转发设备110通过隧道接收蜜罐管理服务器返回的报文,对接收到的报文解封装得到其中封装的蜜罐主机回应的报文,将解封装得到的报文发送给请求方。通过这种方式,转发设备110和蜜罐服务器120进行协作,以便于蜜罐主机模拟捕获目标与报文的请求方进行交互。
蜜罐管理服务器120用于对一个或多个蜜罐(蜜罐主机)进行管理、以及向蜜罐业务的客户提供使用蜜罐业务的接口。蜜罐管理服务器120还用于对蜜罐业务进行管理。可选地,蜜罐管理服务器120管理至少一个蜜罐主机。随着蜜罐服务需求量的增长、以及为了满足越来越高的对服务质量的需求,蜜罐管理服务器120管理多个蜜罐主机,多个蜜罐主机可以互为备份、以及实现负载均衡。图1为例,蜜罐管理服务器120管理有3个蜜罐主机,即蜜罐主机1、蜜罐主机2和蜜罐主机3。可选地,由多个虚拟机分别实现3个蜜罐主机。每个蜜罐主机都有相应的IP地址,例如,蜜罐主机1的IP地址是172.1.1.1,蜜罐主机2的IP地址是172.1.1.2,蜜罐主机3的IP地址是172.1.1.3。
蜜罐管理服务器120根据预定算法,将通过隧道接收到的报文(即隧道报文中封装的内层报文)的目的IP地址和目的端口号映射到3个蜜罐主机中的一个蜜罐主机;根据映射结果执行第一次替换,即将通过隧道接收的报文的目的IP地址和目的端口号替换为映射的蜜罐主机的IP地址和映射的蜜罐主机的端口号;并将替换生成的报文发送给映射的蜜罐主机。例如,捕获目标包括内部网络中子网中的未使用IP地址1.1.1.105。转发设备110将主机101访问IP地址1.1.1.105上端口号80的报文(记为message 1)经隧道封装后发送蜜罐服务器。蜜罐服务器根据端口号80映射到蜜罐主机1。蜜罐管理服务器将message 1的目的IP地址替换为蜜罐主机1的IP地址是172.1.1.1,目的端口号仍然为80,从而生成报文message1’。蜜罐管理服务器将替换生成的报文message 1’发送给蜜罐主机1。在本实施例中以蜜罐服务器120仅对通过隧道接收到的报文的目的IP地址进行了替换为例进行说明。除此之外,蜜罐服务器120还可以对通过隧道接收到的报文的目的IP地址和端口号均进行替换,原理与仅替换目的IP地址基本类似,在这里不再进行举例说明。
在相反的方向上,蜜罐管理服务器120接收到蜜罐主机返回的报文后,根据映射结果执行第二次替换,即将蜜罐主机返回的报文的源IP地址和源端口号替换为第一次替换之前隧道接收到的报文的目的IP地址和目的端口号。并将第二次替换生成的报文通过隧道发送给转发设备。仍然参考上面的例子,蜜罐管理服务器120接收蜜罐主机1针对message 1返回的报文(记为message 2),将message 2的源IP地址替换为1.1.1.105,源端口号仍然为80。将替换生成的报文message 2’通过隧道发送给转发设备110。
可选地,上述映射和替换的功能可以如上所述集中在蜜罐管理服务器执行,也可以由多个转发设备分布式地执行。即,上述对message 1的目的地址和目的端口号进行映射,以及根据映射结果对message 1和message 2执行地址和端口号的替换的功能也可以由转发设备来执行。具体地,转发设备110对message 1执行替换后将替换生成的报文message1’通过隧道发送给蜜罐管理服务器,并对蜜罐服务器通过隧道发送的message 2执行地址和端口的替换后,将替换生成的报文message 2’发送给主机101。
在实际应用中,由于蜜罐管理服务器可能同时与多个转发设备建立隧道,并提供蜜罐服务,因此由蜜罐管理服务器集中执行上述映射和替换的功能更有优势。这样便于蜜罐管理服务集中实施,例如增加或者减少蜜罐主机的数目,以及更新用于将报文的目的IP地址和目的端口号映射到其中一个蜜罐主机的算法等等。然而在另一方面,由多个转发设备分布式执行上述映射和替换的功能的方式能避免蜜罐管理服务器成为性能瓶颈。因此集中式和分布式执行映射和替换的功能的这两种方式各有优势,网络管理人员可以根据实际情况选择性实施。
下面将结合附图1所示的应用场景,对本申请实施例提供的网络威胁诱捕方法进行说明。附图2是本申请实施例提供的威胁诱捕方法的原理流程图。附图2主要从转发设备的角度对本申请实施例提供的网络威胁诱捕方法进行说明。可选地,附图2中的转发设备可以是附图1中的转发设备110。
步骤201,转发设备获得诱捕目标集合。诱捕目标集合中包括至少一个诱捕目标,至少一个诱捕目标包括未使用的IP地址、或者已使用的IP地址上未开放的端口号。也就是说,至少一个诱捕目标中既可以全部是未使用的IP地址、全部是已使用的IP地址上未开放的端口号,也可以部分为未使用的IP地址、且其余部分为已使用的IP地址上未开放的端口号。诱捕目标所涉及的IP地址是转发设备连接的至少一个子网范围内的IP地址。
在本申请实施例中,未使用的IP地址是相对于已使用的IP地址而言的,未使用的IP地址是指未被配置给内部网络中任何一台主机的IP地址。已使用的IP地址是指已被配置给一台主机的IP地址。诱捕目标中涉及的端口号是指计算机设备上的逻辑端口号。未开放的端口号是指主机未使用该端口号向网络中的其他主机提供服务。
可选地,为了便于信息存储、查找和匹配,诱捕目标集合用诱捕目标表来表示。诱捕目标表中包括至少一个表项,所述至少一个表项中的每个表项用于指示一个诱捕目标,所述每个表项包括一个IP地址、或者一个IP地址与端口号的组合。表1是诱捕目标表的示例,表1所示的诱捕目标表中包含2个表项。表项1指示的诱捕目标为IP地址1.1.1.103上未开放的端口80,表项2指示的诱捕目标为未使用的IP地址1.1.1.105。
表1
表项序号 诱捕目标
1 1.1.1.103:80
2 1.1.1.105
获得诱捕目标集合的具体方式可以有多种。可选地,当内部网络使用静态配置的方式分配IP地址时,转发设备通过输入接口接收网络管理员输入的未使用的IP地址,转发设备的输入接口与以键盘为例的输入设备连接。当内部网络使用动态地址分配方案时,动态主机设置协议(英语:Dynamic Host Configuration Protocol,DHCP)服务器为网络中的主机分配IP地址,转发设备从DHCP服务器获得未使用的IP地址。
可选地,本申请实施例还提供了多种转发设备通过主动学习的方式获得诱捕目标集合的实施例,将在后面的实施例中结合附图进行详细说明。
步骤202,转发设备接收第一IP报文,第一IP报文来自于第一主机。以转发设备是附图1中的转发设备110为例来举例说明。第一主机是附图1中的主机101。第一报文的源IP地址为主机101的IP地址1.1.1.101。
步骤203,转发设备确定第一IP报文请求访问的目的方是否属于诱捕目标集合。请求访问的目的方用目的IP地址、或目的IP地址和目的端口号的组合来指示。具体地,转发设备对第一IP报文进行IP头解析,从而获得第一IP报文的目的IP地址、或者第一IP报文的目的IP地址和目的端口号的组合。转发设备将获得的第一IP报文的目的IP地址、或者第一IP报文的目的IP地址和目的端口号的组合分别与表1所示的诱捕目标表中的表项进行比较,如果与其中一个表项内容相同,则确定第一IP报文请求访问的目的方属于诱捕目标集合,执行步骤204。如果与其中任何一个表项内容均不相同,则确定第一IP报文请求访问的目的方不属于诱捕目标,按照第一报文的目的IP地址查询路由表、或者查询ARP表和路由表找到对应的接口号,用对应的接口将第一报文发送出去。根据路由表转发报文的过程为现有交换机功能,在这里不再详述。
步骤204,转发设备向蜜罐管理服务器发送所述第一IP报文。可选地,转发设备通过转发设备与蜜罐管理服务器之间的隧道,向蜜罐管理服务器发送所述第一IP报文。具体地,通过隧道发送第一IP报文是指基于预先建立的隧道的参数和隧道协议类型对第一IP报文进行封装。即转发设备将第一IP报文作为隧道报文的载荷部分,对第一IP报文添加隧道协议报文头,从而生成第一隧道报文,向蜜罐管理服务器发送第一隧道报文。
可选地,转发设备和蜜罐管理服务器基于多种不同协议建立二者之间的隧道,转发设备和蜜罐管理服务器之间的隧道包括但不限于UDP隧道、VXLAN隧道、GRE隧道等。
步骤205,转发设备接收蜜罐管理服务器返回的第二IP报文。可选地,转发设备通过上述隧道接收第二IP报文,所述第二IP报文是蜜罐管理服务器返回的所述第一IP报文的响应报文。具体地,通过隧道接收第二IP报文是指基于隧道的参数和隧道协议类型对蜜罐服务器返回的第二隧道报文进行解封装,获取第二隧道报文载荷部分中包括的第二IP报文。
步骤206,转发设备向第一主机发送第二IP报文。
以附图1中的主机101为例,假定主机101被黑客控制或者被网络病毒感染后,以主机101作为跳板对内部网络中的其他主机进行探测或攻击。例如利用主机101对内部网络中的其他主机进行扫描,尝试获取另一主机的信息,进而试图登录另一主机,从而达到获取另一主机上保存的敏感信息或者利用另一主机上的漏洞达到其他攻击目的。主机101向同一子网中的另一IP地址1.1.1.103发送IP报文(记为message 1)。message 1的源IP地址为主机101的IP地址1.1.1.101,端口号为1000,目的IP地址为1.1.1.103,目的端口号为80。
转发设备110接收到message 1后,根据message 1的目的IP地址和目的端口号查找表1所示的诱捕目标表,确定message 1的目的IP地址和目的端口号的组合与表项1的内容相同,因此message 1请求访问的目的方属于诱捕目标。
转发设备110通过与蜜罐管理服务器120之间的隧道对message 1进行封装,添加隧道协议报文头,从而生成一个隧道报文(记为message 1X),message 1被携带在message1X的载荷部分。message 1X隧道协议报文头中的源IP地址为交换机110的IP地址2.2.2.1,源端口号为交换机110上的端口号1234,message 1X隧道协议报文头中的目的IP地址为蜜罐管理服务器120的IP地址2.2.2.2,目的端口号为蜜罐管理服务器120的端口号1234。
蜜罐管理服务器120中保存有预定的算法。预定的算法的作用是分配一个蜜罐主机用以处理message 1。可选地,在本实施例中,预定的算法是根据预先设置的端口号和蜜罐主机标识的对应关系,将访问端口号80的报文分配给蜜罐主机1进行处理。
蜜罐管理服务器120接收到message 1X后,对message 1X解封装,获得message 1X载荷部分中的message 1。蜜罐管理服务器120根据预定的算法,根据message 1的目的端口号80映射到蜜罐主机1。蜜罐管理服务器120将message 1的目的IP地址替换为蜜罐主机1的IP地址是172.1.1.1,生成替换后的报文,记为message 1’。蜜罐管理服务器120记录替换前的目的IP地址1.1.1.101与替换后的目的IP地址172.1.1.1的对应关系,目的端口号保持不变。蜜罐管理服务器120将message 1’发送给蜜罐主机1。
蜜罐管理服务器120接收蜜罐主机1针对message 1’返回的响应报文message 2。message 2的源地址是蜜罐主机1的IP地址是172.1.1.1、源端口号为80。蜜罐管理服务器120根据此前记录的对应关系,将message 2的源IP地址由172.1.1.1替换为1.1.1.103,从而生成替换后的报文,记为message 2’。蜜罐管理服务器120通过与转发设备110之间的隧道对message 2’进行封装,添加隧道协议报文头,从而生成一个隧道报文(记为message2X),message 2’被携带在message 2X的载荷部分。message 2X隧道协议报文头中的目的IP地址为转发设备110的IP地址2.2.2.1,目的端口号为转发设备110上的端口号1234,message 2X隧道协议报文头中的源IP地址为蜜罐管理服务器120的IP地址2.2.2.2,源端口号为蜜罐管理服务器120的端口号1234。
转发设备110接收到message 2X后,对message 2X解封装,获得message 2X载荷部分中的message 2’。交换机根据message 2’的目的IP地址1.1.1.101向主机101发送message 2’。这样,从主机101的角度来看,可以与蜜罐主机1虚拟出具有IP地址1.1.1.103和开放了端口80的主机正常通信。
根据本申请实施例提供的威胁诱捕方案,内部网络中以交换机为例的转发设备基于实际网络环境,利用转发设备连接的子网中未使用的地址或端口,模拟出大量的蜜罐。转发设备作为诱捕方案的引流点,当内部网络中的一个主机(潜在的可能被黑客或者恶意软件控制的主机)发起对蜜罐的访问时,转发设备创建诱捕目标集合。此后转发设备将请求访问诱捕目标的报文发送给蜜罐管理服务器,并将蜜罐服务器对应返回的报文发送给上述请求的发起方。这样诱捕系统欺骗发起方使其认为网络中存在其请求访问的目的方,并在后续能够与请求访问的目的方进行正常通信,以便于诱捕系统在通信过程中获取黑客或恶意软件的行为,一方面供研究者进行分析或破解,另一方面延缓对内部网络其他主机的入侵,从而实现对于网络威胁的捕获过程。
本申请实施例提供的威胁诱捕方案主要由转发设备实施,无需在内部网络的主机中设置代理,因此降低了诱捕系统的部署和维护代价。另一方面,申请实施例提供的威胁诱捕方案利用实际网络中空闲地址资源实现蜜罐,避免对内部网络中正常业务的造成影响。
下面将结合几个不同的实施例,对转发设备根据实际网络环境,创建诱捕目标集合、以及维护诱捕目标的具体方式进行说明。这些实施例所示的方式可以相互结合、或者部分步骤进行等同替换,而获得更多的实施例。需要说明的是,转发设备根据实际网络环境创建诱捕目标集合的方式包括但不限于以下几种。
本申请实施例主要介绍三种转发设备根据实际网络环境创建诱捕目标集合的方式。第一种方式是转发设备在处理通信请求方发起的ARP请求过程中,获取诱捕目标并将诱捕目标加入诱捕目标集合。第二种方式是转发设备在执行IP报文转发流程中,获取诱捕目标并将诱捕目标加入诱捕目标集合。第三种方式是转发设备在处理通信请求方在建立IP会话阶段的第一预定类型报文过程中,获取诱捕目标并将诱捕目标加入诱捕目标集合。第一预定类型报文包括RST报文或者ICMP不可达报文。除此之外,可选地,转发设备还可以在处理第二预定类型报文时删除诱捕目标集合中的诱捕目标,以达到更新诱捕目标集合的目的,第二预定类型的报文为SYN-ACK报文。
可选地,转发设备在创建诱捕目标集合时,可以选择使用一种创建诱捕目标集合的方式来创建创建诱捕目标集合,也可以选择性将多种创建诱捕目标集合的方式结合使用来创建创建诱捕目标集合、也选择是否与上述更新诱捕目标集合的方式结合使用来创建创建诱捕目标集合。网络管理员可以根据实际网络需求以及多因素考虑来配置创建诱捕目标集合时采用的具体方案。
附图3A是本申请实施例提供的一种创建诱捕目标集合的方法的流程图。附图3A主要对上述第一种根据实际网络环境创建诱捕目标集合的方式进行描述,即转发设备在处理通信请求方发起的ARP请求过程中获取诱捕目标并将诱捕目标加入诱捕目标集合。
步骤300,转发设备接收一个ARP报文。
ARP是将IP地址解析为MAC地址(或称为物理地址)的协议。在局域网中,当主机或其他网络设备有数据要发送给另一个主机时,数据发送方需要同时知晓数据接收方的IP地址和MAC地址,将IP报文封装成二层以太帧才能通过以太网传输。ARP用于实现IP地址到MAC地址的映射。
ARP报文的长度为42字节,前14字节为二层(以太网)报文头,携带有源MAC地址、目的MA地址和帧类型。后28字节中的操作类型(op)字段用于识别一个ARP报文是ARP请求报文还是ARP响应报文。具体地,op字段内容1为ARP请求,2为ARP响应,3为RARP请求,4为RARP响应。
ARP请求报文和ARP响应报文的作用是学习通信对端对应的ARP表项。如果两台主机(主机A和主机B)处于同一子网,主机A向主机B发送信息的过程包括以下步骤。主机A根据主机B的IP地址查找主机A上的ARP表,确定主机A上的ARP表中是否包含主机B对应的ARP表项,主机B对应的ARP表项中包括主机B的IP地址和主机B的MAC地址。如果查找到主机B的对应的ARP表项,则从查找到的表项中得到主机B的MAC地址。将主机B的MAC地址作为目的MAC地址,将IP报文封装成以太帧后发送给主机B。如果查找不到主机B的对应的ARP表项,则以广播方式发送一个ARP请求报文。ARP请求报文中的源IP地址和源MAC地址分别是主机A的IP地址和主机A的MAC地址。目的IP地址和目的MAC地址分别是主机B的IP地址和全F的MAC地址(FFFF.FFFF.FFFF.FFFF)。子网中的所有主机都会接收到ARP请求报文。主机B比较自身的IP地址和ARP请求报文中的目的IP地址相同,则一方面将ARP请求报文的源IP地址和源MAC地址存入自身的ARP表中,另一方面生成ARP响应报文,ARP响应报文中包含主机B的MAC地址,以单播方式向主机A发送ARP响应报文。
如果主机A和主机B处于不同子网,则需要通过网关来发送报文。主机A先将报文发送给网关,再经由网关将报文发送给主机B。如果网关保存的ARP表中不存在主机B的ARP表项,则会广播目的IP地址为主机B的IP地址的ARP请求报文,并从对应的ARP响应报文中得到主机B的MAC地址。
可见无论主机A和主机B是否处于同一子网,当主机B最初作为请求访问的目的方时,主机A或网关均会发送目的IP地址为主机B的IP地址的ARP请求报文。
免费ARP报文是指报文中的源IP地址和目的IP地址相同的报文。免费ARP报文主要有两个用途:一是发送该免费ARP报文的设备向周边其他设备通告本设备的ARP信息,使其他设备学习到包含本设备的的IP地址和MAC地址的ARP表项,以便于后续发送信息时,不用重新请求ARP;二是检测IP地址冲突,如果发送该免费ARP报文的设备收到了针对免费ARP报文的响应报文,说明本设备的IP地址被其他设备占用了。一个主机可以在MAC地址变更或者IP地址变更时发送免费ARP报文。
步骤301,转发设备判断该ARP报文的类型是ARP请求报文、ARP响应报文、还是免费ARP报文。如果是ARP请求报文,则执行步骤302。如果是ARP响应报文、或是免费ARP报文,则执行步骤306。
转发设备根据ARP报文的op字段可以识别出ARP报文是ARP请求报文、还是ARP响应报文。通过比较ARP报文的源IP地址和目的IP地址是否相同可以确定ARP报文是否是免费ARP报文。如果ARP报文的源IP地址和目的IP地址相同,则确认是免费ARP报文。
步骤302,转发设备根据IP地址状态表,确定所述ARP报文的目的IP地址的在线状态。所述IP地址状态表用于指示所述转发设备连接的至少一个子网范围内的多个IP地址的在线状态,所述在线状态为在线或不在线。
可选地,IP地址状态表可以仅保存在线状态为不在线的IP地址,也可以同时保存在线状态为在线的IP地址以及在线状态为不在线的IP地址。如果IP地址状态表可以仅保存在线状态为不在线的IP地址,则IP地址状态表可以仅保存IP地址,默认IP状态表中包含的IP地址的状态为不在线。如果IP地址状态表同时保存在线状态为在线的IP地址以及在线状态为不在线的IP地址,在IP地址状态表需要保存IP地址、以及每个IP地址对应的在线状态。
可选地,以两个IP地址为例,对IP地址状态表的获取过程进行描述。第一IP地址和第二IP地址分别为转发设备连接的子网中的多个IP地址中的两个IP地址。IP地址状态表通过以下步骤获得:转发设备针对所述转发设备连接的子网范围内的多个IP地址中的每个IP地址分别发送ARP请求报文;转发设备如果未接收到针对第一IP地址的ARP响应报文,将所述第一IP地址添加到所述IP地址状态表中,所述第一IP地址为所述多个IP地址中的IP地址;并将所述第一IP地址的状态设置为不在线。可选地,在IP地址状态表同时保存在线状态为在线的IP地址以及在线状态为不在线的IP地址的情况下,转发设备如果接收到针对第二IP地址的ARP响应报文,将第二IP地址添加到所述IP地址状态表中,所述第二IP地址为所述多个IP地址中的IP地址;并将所述第二IP地址的状态设置为在线。
在实际网络场景下,主机可能因临时故障而无法及时响应ARP请求报文。可选地,为了在这种场景下避免错误地将临时性偶发故障的主机使用的IP地址加入捕获目标集合,转发可以多次向一个IP地址发送ARP请求报文,在满足预定条件(例如预定时长、或者预定连续数量的发送周期等等)未收到对应的ARP响应报文时,才将所请求的IP地址加入捕获目标集合。如图3B所示,IP地址状态表通过步骤3021~步骤3025获得。
转发设备连接有至少一个子网,每个子网都包含多个IP地址。转发设备对这些子网范围内的一个IP地址,执行步骤3021~步骤3025,从而获得这个IP地址的在线状态。转发设备对子网范围内的多个IP地址,均执行类似的过程,从而获得指示多个IP地址的在线状态的IP地址状态表。
为了便于描述,本申请实施例以获得一个IP地址(即选择出的IP地址)对应的状态为例进行说明。可选地,转发设备根据子网类型,构建一个子网对应的IP地址空间表,IP地址空间表中包括子网中每个IP地址。针对IP地址空间表中的每个IP地址均执行类似的步骤以获得在线状态。在实施过程中,转发设备可以定期(例如,每天0:00-1:00)从IP地址空间表中顺序读取每个IP地址,对读取的每个IP地址执行广播ARP请求报文,基于ARP响应报文确定在线状态,也可以以其他方式读取每个IP地址,只要保证对每个IP地址执行步骤3021~步骤3025获得对应的在线状态即可。
转发设备针对连接的至少一个子网范围内的至少一个IP地址中选择一个IP地址,对选择出的IP地址执行以下处理,直到对所述至少一个IP地址均执行以下操作为止。
步骤3021,转发设备在预定探测周期到达时发送ARP请求报文,所述ARP请求报文的目的IP地址为所述选择出的IP地址。可选地,转发设备通过一个计时器实现按照预定周期广播ARP请求报文。可选地,探测周期可以设置为1秒或者0.1秒等等。显然探测周期不宜设置过长,应远小于上述1小时为例的检测时段。
步骤3022,转发设备在本周期结束之前记录是否接收到针对所述ARP请求报文的响应报文。
转发设备针对每个周期,记录是否接收到对应的ARP响应报文。假定在一个周期中,如果转发设备在本周期结束之前接收到针对所述ARP请求报文的响应报文,则执行步骤3023,如果在本周期结束之前未接收到针对所述ARP请求报文的响应报文,执行步骤3024。
步骤3023,转发设备在IP状态表中将所述选择出的IP地址的状态设置为在线。返回步骤3021。
步骤3024,转发设备根据记录的各周期中是否接收到ARP响应报文的情况,判断未接收到针对所述ARP请求报文的响应报文的连续周期的数目(例如10个周期)是否超过预定值。如果未接收到针对所述ARP请求报文的响应报文的连续周期的数目未超过预定值,则执行步骤3023,暂时将选择出的IP地址的状态设置为在线,如果未接收到针对所述ARP请求报文的响应报文的连续周期的数目已超过预定值,执行步骤3025。
步骤3025,转发设备在IP状态表中将所述选择出的IP地址的状态设置为不在线,并返回步骤3021。
基于步骤3021~步骤3025生成的IP地址状态表,转发设备如果确定ARP报文的目的IP地址的在线状态为在线,则按照已有ARP报文转发流程,对该ARP报文进行转发。如果确定该ARP报文的目的IP地址的在线状态为不在线,则执行步骤303。
步骤303,如果步骤300接收的ARP报文的目的IP地址的在线状态为不在线,则转发设备将所述ARP请求报文的目的IP地址作为未使用的IP地址加入诱捕目标集合。
可选地,在使用表1所示的诱捕目标表存储诱捕目标集合的情况下,转发设备创建一个表项。所创建的表项中包含所述ARP请求报文的目的IP地址。转发设备进一步将所创建的表项加入诱捕目标表。
在本申请实施例中,转发设备通过一个包含的目的IP地址为未使用的IP地址的ARP请求报文,发现内部网络中的一个主机进行探测的企图,该主机可能是被黑客或恶意软件控制的主机,从而在此时机确定后续蜜罐系统所需要模拟的对象,即诱捕目标。
为了让可能被控制的主机能够与诱捕目标进行后续通信,在步骤302确定ARP报文的目的IP地址的在线状态为不在线之后,步骤303将ARP报文的目的IP地址加入诱捕目标集合之前,还包括步骤305,转发设备返回ARP响应,ARP响应中携带伪造的MAC地址,伪造的MAC地址作为具有ARP请求报文的目的IP地址的主机的MAC地址。在使用表1所示的诱捕目标表存储诱捕目标集合的情况下,转发设备也可以在步骤303创建的表项中保存伪造的MAC地址。
可选地,如果转发设备每次接收到ARP请求报文时都需要执行附图3所示的流程,将会增加转发设备的处理负担。为了节约转发设备的处理能力,在转发设备上设置白名单,白名单中包括已知的被合法用户使用的主机的IP地址、或MAC地址。当在上述步骤300之后、步骤301之前,转发设备接收到一个ARP报文后,首先查询白名单。如果该ARP报文的源IP地址、源MAC地址、目的IP地址或目的MAC地址属于白名单,则直接按照现有ARP报文转发流程转发该ARP报文即可。转发设备省略执行附图3B中的步骤301~303。
可选地,在步骤300转发设备接收到ARP报文之后,发送该ARP报文的主机使用的IP地址可以认为处于在线状态,转发设备根据ARP报文的源IP地址更新IP状态表,将该IP状态表中该ARP报文的源IP地址对应的在线状态更新为在线。
可选地,在步骤301中,如果转发设备确定该ARP报文的类型是ARP响应报文、或是免费ARP报文,说明发送该ARP响应报文、或免费ARP报文的主机是正常在线的主机,而不是蜜罐系统虚拟出的主机。如前所述,如果请求访问的目的方是未使用的IP地址(不在线的IP地址),那么ARP响应报文是转发设备主动伪造的,而不会是转发设备接收到的。类似地,免费ARP报文发送方使用的IP地址可以认为是在线的IP地址。因此,如果转发设备确定该ARP报文的类型是ARP响应报文、或是免费ARP报文,执行步骤306。相当于增加了更新IP地址状态表的时机。
步骤306,转发设备判断诱捕目标集合中是否存在包含ARP报文的源IP地址。如果诱捕目标集合中存在包含ARP报文的源IP地址的表项,执行步骤307。
步骤307,从诱捕目标集合中删除作为未使用的IP地址的ARP报文的源IP地址。可选地,在使用表1所示的诱捕目标表存储诱捕目标集合的情况下,转发设备删除包含ARP报文的源IP地址的表项。
如果步骤306确定诱捕目标集合中不存在ARP报文的源IP地址,或者在步骤307中从诱捕目标集合中删除ARP报文的源IP地址之后,对ARP报文进行转发。
通过步骤306和步骤307,可以更新诱捕目标集合,避免将内部网络中进行正常业务的主机使用的IP地址作为诱捕目标,避免影响内部网络中正常业务。
可选地,采用步骤300~307获得诱捕目标集合之后,如果接收到一个IP报文,该IP报文的源地址为发送该IP报文的主机使用的IP地址。显然该IP报文的源地址是已被使用的IP地址,而不是未使用的IP地址。因此,如果诱捕目标集合中包含该IP报文的源地址,则应将该IP报文的源地址从诱捕目标集合中删除,以免发送该IP报文的主机后续无法与其他主机通信。
本实施例详细描述了转发设备确定所连接的子网中未使用的IP地址作为诱捕目标的过程。转发设备采用该方法构建诱捕目标集合后,后续转发设备根据诱捕目标集合实现引流。
附图4是本申请实施例提供的另一种创建诱捕目标集合的方法的流程图。附图4主要对上述第二种根据实际网络环境创建诱捕目标集合的方式进行描述,即转发设备在执行IP报文转发流程中,获取诱捕目标并将诱捕目标加入诱捕目标集合。
步骤400,转发设备接收一个IP报文。附图4所示的流程可以单独实施,也可以与附图2或附图3所示的流程结合应用。为了在附图4所示的流程与附图2或附图3所示的流程结合应用时与附图2所示流程中的第二IP报文相区分,将附图4中步骤400接收到的报文称为第三IP报文。需要指出的是第三IP报文不是附图2中的第二IP报文。第三IP报文可以是附图2中的第一IP报文,也可以是不同于第一IP报文和第二IP报文的另一IP报文。
步骤401,转发设备根据第三IP报文的目的IP地址,在转发设备的路由表中查询所述第三IP报文对应的下一跳IP地址。如果路由表中存在第三IP报文对应的下一跳IP地址,执行步骤420;如果路由表中不存在第三IP报文对应的下一跳IP地址,执行步骤430。
步骤420,转发设备在ARP表中查询下一跳IP地址对应的MAC地址。如果ARP表中不存在所述下一跳IP地址对应的MAC地址,则执行步骤421。如果ARP表中存在所述下一跳IP地址对应的MAC地址,则执行步骤423。
步骤421,转发设备根据IP地址状态表,确定第三IP报文的目的IP的在线状态。IP地址状态表的获取方式请参照前面实施例中的描述,在这里不再重复。
如果第三IP报文的目的IP的在线状态为在线,则执行步骤422。如果第三IP报文的目的IP的在线状态为不在线,则执行步骤430。
步骤422,转发设备发起ARP学习过程,根据后续学习到的目的MAC地址,对第三IP报文进行转发。即执行步骤423。
步骤423,转发设备按照已有IP报文转发流程,对该第三IP报文进行转发。
步骤430,转发设备将所述第三IP报文的目的IP地址作为未使用的IP地址加入所述诱捕目标集合。可选地,在使用表1所示的诱捕目标表存储诱捕目标集合的情况下,转发设备创建一个表项。所创建的表项中包含第三IP报文的目的IP地址。转发设备进一步将所创建的表项加入诱捕目标表。
可选地,转发设备采用附图4所示的流程获得诱捕目标表之后,还可以对第三IP报文进行诱捕,即执行步骤440~442。
步骤440,转发设备向所述蜜罐管理服务器发送所述第三IP报文。
步骤441,转发设备接收来自于蜜罐管理服务器的针对所述第三IP报文的响应报文。
步骤442,转发设备转发所述响应报文。
由于步骤440~442所述的诱捕过程与前面实施例描述类似,如附图2中的步骤204~206中的描述,在这里不再重复描述。
附图5是本申请实施例提供的另一种创建诱捕目标集合的具体方式的流程图。附图5主要对上述第三种根据实际网络环境创建诱捕目标集合的方式进行描述,即转发设备在处理第一预定类型报文(即通信请求方在建立IP会话阶段的RST报文或者ICMP不可达报文)的过程中,获取诱捕目标并将诱捕目标加入诱捕目标集合。附图5所示的流程可以单独实施,也可以与附图2、3A或4所示的流程结合应用。为了在附图5所示的流程与附图2或附图3所示的流程结合应用时与附图2所示流程中的第二IP报文相区分,将附图5中步骤501接收到的报文称为第四IP报文。需要指出的是第四IP报文不是附图2中的第二IP报文。第四IP报文可以是附图2中的第一IP报文,也可以是附图4中的第三IP报文,也可以是不同于第一IP报文、第二IP报文和第三IP报文的另一IP报文。
附图5所示的方法主要描述了确定子网访问内已使用的IP地址上未开放的端口作为诱捕目标的过程。附图5所示的流程描述了基于已知的包含子网中未使用的IP地址的诱捕目标集合,如何在诱捕目标集合中增加已使用的IP地址上未开放的端口的过程。在单独确定包含已使用的IP地址上未开放的端口的诱捕目标集合的过程包括附图4中的步骤503~513组成的子流程。附图5所示的方法在TCP会话建立阶段创建诱捕目标集合。
步骤501,转发设备接收到第四IP报文。以附图1中转发设备110为例的转发设备通过多个接口分别与子网中的若干主机连接、与蜜罐管理服务器120连接。可选地,转发设备还有可能通过其中的某些接口与其他转发设备,例如网关、或者其他交换机连接。
以转发设备110为例的转发设备中保存有转发表,转发表中保存有多个转发表项,每个转发表项包含一个交换机上的一个接口的接口标识,以及该接口连接的其他设备的MAC地址的对应关系。
步骤502,转发设备确定接收到的第四IP报文是否来自于蜜罐管理服务器。可选地,由于转发设备已知蜜罐管理服务器的IP地址和MAC地址,因此如果接收到第四IP报文的接口对应的MAC地址与蜜罐管理服务器的MAC地址相同,则转发设备可以确定第四IP报文来自于蜜罐管理服务器。反之,如果接收到第四IP报文的接口对应的MAC地址与蜜罐管理服务器的MAC地址不同,则转发设备可以确定第四IP报文不是来自于蜜罐管理服务器。
如果接收到的第四IP报文来自于蜜罐管理服务器,则该第四IP报文是通过转发设备和蜜罐管理服务器之间的隧道发送的,转发设备对第四IP报文进行解封装,获得上述第四IP报文的载荷中携带的报文,并对获得的报文进行转发,即执行步骤520。
如果接收到的IP报文不是来自于蜜罐管理服务器,则执行步骤503。
步骤503,转发设备判断所述第四IP报文是否为SYN报文、SYN_ACK报文、或RST报文。
TCP报文头中包括6个分别为1bit的标志位(flag),分别是URG、ACK、PSH、RST、SYN和FIN。当TCP报文头中的这几个标志位分别被置1时,表示该标志位代表的含义当前是有效的。这里简单介绍这几个标志位分别代表的含义。其中,URG指示TCP报文头中的紧急指针(Urgent pointer)字段是有意义的。ACK指示确认(Acknowledgment)字段是有意义的,即表示该TCP报文是一个响应报文。PSH表示推动(push)功能,请求将缓存的数据推入接收应用,即表示有数据传输。RST表示重置连接。SYN表示同步序列号,即建立连接。FIN表示该TCP报文是来自于发送方的最后一个报文,即表示关闭连接。
6个标志位中仅标志位SYN置1的报文被称为SYN报文,标志位SYN和ACK同时被置1的报文被称为SYN_ACK报文、标志位RST被置1的报文被称为RST报文。
具体地,TCP协议连接建立过程中的报文包括SYN、SYN_ACK、和RST报文。其中SYN、SYN_ACK属于三次握手过程中的报文,所述三次握手用于建立通信双方之间的TCP连接。RST(复位)报文用于异常地关闭连接。主机上的TCP协议栈处理程序会在自身认为的异常时刻发送RST包。例如,主机A向主机B发起连接,但主机B之上并未开放监听主机A请求建立连接的端口,这时主机B上的TCP协议栈处理程序发送RST报文。
如果所述第四IP报文不属于TCP协议连接建立过程中的报文,而是属于TCP连接建立之后发送的用于传输业务数据的IP报文,则转发设备执行步骤504。如果所述第四IP报文为SYN报文,则转发设备执行步骤507。如果所述第四IP报文为SYN_ACK报文,则转发设备执行步骤508。如果所述第四IP报文为RST报文,则转发设备执行步骤512。
IP协议除了包含上述TCP协议之外,还包含UDP协议。对于UDP协议处理过程而言,一个主机如果收到一个UDP数据报而该UDP数据报的目的端口号与本主机上正在使用的进程对应的端口号不相符,那么该主机返回一个ICMP不可达报文。因此ICMP不可达报文与RST报文具有类似的功能,即指示请求访问的端口号未开放。因此后续实施例将ICMP不可达报文与RST报文一并进行描述。
可选地,如果转发设备每次接收到ARP请求报文时都需要执行附图5所示的流程,将会增加转发设备的处理负担。为了节约转发设备的处理能力,在转发设备上设置白名单,白名单中包括已知的被合法用户使用的主机的IP地址、或MAC地址。当在上述步骤501之后、步骤503之前,转发设备接收到一个IP报文后,首先查询白名单,如果该IP报文的源IP地址、源MAC地址、目的IP地址或目的MAC地址属于白名单,则直接按照现有IP报文转发流程转发该IP报文即可。转发设备则无需识别该IP报文是SYN、SYN_ACK、或RST报文以及后续流程,即省略执行步骤503以及后续其他步骤。
步骤504,转发设备确定第四IP报文请求访问的目的方是否属于已有的诱捕目标,即第四IP报文是否应被诱捕。该步骤的具体实现细节请参考附图2步骤203中的描述,在这里不再重复。如果所述第四IP报文请求访问的目的方属于已有诱捕目标,则执行步骤505。如果所述第四IP报文请求访问的目的方不属于已有诱捕目标,则执行步骤506。
步骤505,转发设备通过转发设备与蜜罐管理服务器之间的隧道,将所述第四IP报文发送给蜜罐管理服务器。该步骤的具体实现细节请参考附图2步骤204中的描述,在这里不再重复。
步骤506,转发设备根据MAC表对所述第四IP报文进行转发、或者根据路由表结合ARP表对所述第四IP报文进行转发。具体地,如果转发设备的MAC表保存有该IP报文的目的MAC地址对应的接口号,转发设备根据MAC表查找到该IP报文的目的MAC地址对应的接口,并通过对应的接口将所述IP报文发送出去。如果转发设备的MAC表未保存有该IP报文的目的MAC地址对应的接口号,转发设备根据路由表和ARP表对所述IP报文进行转发。
可选地,当附图4所示的流程与附图5所示的流程结合使用时,转发设备对进入步骤506的第四IP报文执行如附图4所述的处理流程。换句话说,附图4中步骤400接收到的报文是附图1中转发设备110从任意一个接口接收到的IP报文,也可以是附图5中输入步骤506中的第四IP报文。
如前面实施例所提及的,诱捕目标还包括一个已使用的IP地址上未开放的端口。如果第四IP报文满足以下诱捕条件,则说明第四IP报文的目的方是一个已使用的IP地址上未开放的端口。诱捕条件为:在接收到第四IP报文之前,接收到至少一个与所述第四IP报文对应的SYN报文,所述第四IP报文对应的SYN报文的目的IP地址与所述第四IP报文的源IP地址相同、且目的端口号与所述第四IP报文的源端口号相同。如果所述第四IP报文满足诱捕条件,则所述转发设备将所述第四IP报文的源IP地址作为已使用的IP地址,将所述第四IP报文的源端口号作为所述第四IP报文的源IP地址指示的IP地址上未开放的端口号加入诱捕目标集。
在实际应用中,转发设备可以采用更为严格的诱捕条件以提高确定诱捕目标的准确性。例如诱捕条件为:在接收到第四IP报文之前的预定时间段之前接收到至少一个与所述第四IP报文对应的SYN报文、且在所述预定时间段内接收到的与所述第四IP报文具有相同源IP地址和源端口号的其他报文均为RST报文,所述第四IP报文对应的SYN报文的目的IP地址与所述第四IP报文的源IP地址相同、且目的端口号与所述第四IP报文的源端口号相同。
在指示请求访问的目的方不可达方面,对于UDP协议而言,ICMP不可达报文与上述RST报文具有类似的功能。如果第四IP报文为ICMP不可达报文。则对应的诱捕条件包括:在接收到第四IP报文之前,接收到至少一个与所述第四IP报文对应的UDP报文,所述第四IP报文对应的UDP报文的目的IP地址与所述第四IP报文的源IP地址相同、且目的端口号与所述第四IP报文的源端口号相同。如果所述第四IP报文满足诱捕条件,则所述转发设备将所述第四IP报文的源IP地址作为已使用的IP地址,将所述第四IP报文的源端口号作为所述第四IP报文的源IP地址指示的IP地址上未开放的端口号加入诱捕目标集。
类似地,在第四IP报文为ICMP不可达报文的情况下,更为严格的诱捕条件包括:在接收到第四IP报文之前的预定时间段之前接收到至少一个与所述第四IP报文对应的UDP报文、且在所述预定时间段内接收到的与所述第四IP报文具有相同源IP地址和源端口号的其他报文均为ICMP不可达报文,所述第四IP报文对应的UDP报文的目的IP地址与所述第四IP报文的源IP地址相同、且目的端口号与所述第四IP报文的源端口号相同。如果所述第四IP报文满足诱捕条件,则所述转发设备将所述第四IP报文的源IP地址作为已使用的IP地址,将所述第四IP报文的源端口号作为所述第四IP报文的源IP地址指示的IP地址上未开放的端口号加入诱捕目标集。
以第四IP报文为RST来举例,转发设备在时刻A接收到源IP地址为1.1.1.103、源端口号为80的RST报文。在时刻A的1分钟之前,转发设备接收到一个目的地址为1.1.1.103、目的端口号为80的SYN报文,且在时刻A之前的1分钟之内,接收到源IP地址为1.1.1.103、源端口号为80的报文均是RST报文,则确定IP地址1.1.1.103上的端口80为诱捕目标。
换句话说,转发设备在接收到目的地址为1.1.1.103,目的端口号为80的SYN报文之后的预定时间段内,接收到的源IP地址为1.1.1.103,源端口号为80的报文均为RST报文,则转发设备确定IP地址1.1.1.103上的端口80为诱捕目标。
基于上述思路,转发设备可以使用多种方式来识别出一个已使用的IP地址上未开放的端口。可选地,转发设备建立一个SYN请求表以识别潜在的诱捕目标,SYN请求表用于记录已接收到SYN报文,但尚未成功建立连接的请求目的方。
SYN请求表中包括一个或多个SYN表项。当转发设备接收到一个SYN报文时,查询SYN请求表中是否存在一个包含该SYN报文的目的IP地址与目的端口号的组合的SYN表项。如果已存在一个包含该SYN报文的目的IP地址与目的端口号的组合的SYN表项,则不对SYN请求表进行更新。如果不存在一个包含该SYN报文的目的IP地址与目的端口号的组合的SYN表项,则创建一个SYN表项,该SYN表项中包括SYN报文的目的IP地址与目的端口号的组合。SYN表项中还包括接收到SYN报文的时间。
可选地,SYN请求表中的每个SYN表项还包括一个计数值,用于记录接收到的RST报文的数量。当转发设备接收到RST报文时,查询SYN请求表中是否存在一个包含该RST报文的源IP地址与源端口号的组合的SYN表项。如果存在已存在一个包含该RST报文的源IP地址与源端口号的组合的SYN表项,则将该SYN表项中的计数值累加1。
下面的步骤507~512以SYN记录表为例,介绍如何识别出已使用的IP地址上未开放的端口。显然,确定一个端口号是否符合以上诱捕条件的方式不仅限于步骤507~512所示的方法。
步骤507,转发设备根据第四IP报文的目的IP地址和目的端口号,查询SYN请求表,如果不存在对应的SYN表项,则创建一个SYN表项,并将该SYN表项加入SYN表。该SYN表项中包括SYN报文的目的IP地址与目的端口号的组合。
例如,建立的SYN请求表如表3所示。
表3
顺序号 IP地址:端口号 时间
1 1.1.1.103:80 2018-1-20 23:12:01.23
…… …… ……
在步骤507之后,转发设备执行步骤506,从而对SYN类型的第四IP报文进行转发。
如果所述第四IP报文是SYN_ACK报文,说明该第四IP报文来源于一个在线的IP地址,且来源于一个在线的IP地址上的一个开放的端口,因此该第四IP报文的源地址、以及源地址和源IP地址的组合均不属于诱捕目标。此时可以更新诱捕目标表、以及SYN请求表。
步骤508,在所述第四IP报文是SYN_ACK报文的情况下,转发设备判断诱捕目标表中是否存在包含所述第四IP报文的源IP地址、或源IP地址和源端口号的组合的表项。如果诱捕目标表中存在包含所述第四IP报文的源IP地址、或源IP地址和源端口号的组合的表项,则执行步骤509。如果诱捕目标表中不存在包含所述IP报文的源IP地址、或源IP地址和源端口号的组合的表项,则执行步骤510。
步骤509,转发设备从诱捕目标表中删除包含所述第四IP报文的源IP地址、或源IP地址和源端口号的组合的表项。
步骤510,转发设备判断SYN请求表中是否存在包含所述第四IP报文的源IP地址和源端口号的组合的表项。如果SYN请求表中存在包含所述第四IP报文的源IP地址和源端口号的组合的表项,则执行步骤511。如果诱捕目标表中不存在包含所述第四IP报文的源IP地址、或源IP地址和源端口号的组合的表项,则执行步骤506。
步骤511,转发设备从SYN表中删除包含所述第四IP报文的源IP地址和源端口号的组合的表项。
在SYN请求表中不存在包含所述第四IP报文的源IP地址和源端口号的组合的表项,或者从SYN表中删除包含所述第四IP报文的源IP地址和源端口号的组合的表项之后,执行步骤506。
如果所述第四IP报文是RST报文,说明该IP报文有可能来源于一个在线的IP地址上的一个未开放的端口,此时应该结合SYN请求表,确认该RST报文的源端口号是否满足诱捕条件。在满足诱捕条件时,将RST报文的源端口加入诱捕目标,如果不满足诱捕条件,则更新SYN请求表中的记录。
步骤512,转发设备根据所述第四IP报文的源IP地址和源端口号,查询SYN请求表。如果SYN请求表中包含一个表项内容与所述IP报文的源IP地址和源端口号相同、且该表项中的时间距离接收到所述IP报文的时间超过设定阈值,则执行步骤513。如果SYN请求表中没有任何一个表项内容与所述IP报文的源IP地址和源端口号相同、或者该表项中的时间距离接收到所述IP报文的时间未超过设定阈值,则执行步骤506。
步骤513,转发设备将所述第四IP报文的源IP地址作为已使用的IP地址,将所述第四IP报文的源端口号作为所述第四IP报文的源IP地址指示的IP地址上未开放的端口号加入诱捕目标集合。在以表1所示的诱捕目标表来表示诱捕目标集合的情况下,转发设备创建一个表项,新创建的表项中包含所述第四IP报文的源IP地址和所述第四IP报文的源端口号的组合,将新创建表项加入所述诱捕目标表。
步骤514,转发设备通过与蜜罐管理服务器之间的隧道向蜜罐管理服务器发送与类型为RST的第四IP报文对应的SYN报文。对应的SYN报文是目的IP地址与所述第四IP报文的源IP地址相同、且目的端口号与所述第四IP报文的源端口号相同的SYN报文。
可选地,转发设备向蜜罐管理服务器发送的SYN报文是转发设备可以临时保存此前接收到的与类型为RST的第四IP报文对应的SYN报文。可替代地,转发设备向蜜罐管理服务器发送的SYN报文也可以是转发设备在判断第四IP报文满足上述诱捕条件的情况下,重新生成与类型为RST的第四IP报文对应的SYN报文。
由于ICMP不可达报文与RST报文在通知请求访问的端口不存在方面存在类似的功能,因此上述对RST报文执行的处理流程也适用于ICMP不可达报文。
附图6是本申请实施例提供的使用诱捕目标集合中的IP地址主动实施诱捕的方法流程图。附图6所示的方法主要描述了在DNS解析的过程中使用诱捕目标集合中的IP地址,对主机的网络访问行为实施诱捕的方案。可选地,附图6所示的方法中使用附图3A或附图5所示的方法获得诱捕目标集合中的IP地址实施诱捕。
可选地,附图6所示的流程在附图2中步骤201之后,步骤202之前执行。
步骤600,转发设备转发一个DNS域名请求。
步骤601,转发设备截获并停止转发第一DNS响应报文,该第一响应报文指示所述DNS域名请求所请求查询的域名不存在。
当一个主机想要访问一个IP地址未知的域名时,根据该主机内部配置的DNS服务器的IP地址,向网络中的DNS服务器发送DNS查询报文。该DNS查询报文中包含要访问的域名,例如http://www.baidu.com/。DNS服务器向主机返回对应的DNS响应报文。如果DNS服务器在DNS数据中查询到所请求的域名http://www.baidu.com/对应的IP地址,则在DNS响应报文中携带查询到的IP地址。如果DNS数据库中不存在请求的域名,则在DNS响应报文中指示域名不存在,例如通过将DNS响应报文消息头中的RCODE字段的值置为3,指示所请求查询的域名不存在。
可选地,转发设备截获第一DNS响应报文后,丢弃第一DNS响应报文。
步骤602,转发设备生成第二DNS响应报文,所述第二DNS响应报文包括所述DNS域名请求所查询的域名对应的IP地址,所述域名对应的IP地址为所述诱捕目标集合中的一个未使用的IP地址。
可选地,转发设备在接收到第一DNS响应报文之前缓存DNS域名请求,在接收到第一DNS响应报文之后,根据DNS域名请求生成第二DNS响应报文。为了节省存储空间,转发设备也可以不缓存DNS域名请求,而是在接收到第一DNS响应报文之后,根据第一DNS响应报文生成第二DNS响应报文,所述第二DNS响应报文的地址信息与所述第一DNS响应报文的地址信息相同、且所述第二DNS响应报文指示所查询的域名对应的IP地址为诱捕目标集合中的一个IP地址。地址信息是指源IP地址、源端口号、目的IP地址和目的端口号。转发设备通过将第一DNS响应报文中的一些字段内容重新设置,从而生成第二DNS响应报文。转发设备将RCODE字段的值置为1,指示查询没有错误,并在第一DNS响应报文中的Answer资源记录的RDATA字段的内容设置为诱捕目标集合中的一个IP地址,从而得到第二DNS响应报文。
步骤603,转发设备发送所述第二DNS响应报文。
此后,接收到第二DNS响应报文的主机后续以第二DNS响应报文中携带的诱捕目标集合中的IP地址作为请求访问的目的方发起访问。转发设备将所述主机后续访问诱捕目标的报文通过隧道向蜜罐管理服务器发送,从而实现对主机网络访问行为的诱捕。
在本申请实施例中转发设备在DNS解析的过程中使用诱捕目标集合中的IP地址,对主机的网络访问行为实施诱捕,从而实现主动地对潜在的攻击者的DNS探测行为进行诱捕,有助于网络威胁诱捕系统达到更佳的诱捕效果。
附图7是本申请实施例提供的一种转发设备的结构示意图。图7所示的转发设备作为图2、图3A、图3B、图4、图5或图6所示流程中的网络设备,以实现图1中的转发设备的功能。转发设备包括至少一个处理器71、和网络接口73。可选地,转发设备还包括存储器72。处理器71、存储器72和网络接73通常通过总线74相互连接,也可以采用其他方式相互连接,例如通过交换网卡相互连接。
至少一个处理器71可以是一个或多个CPU,该CPU可以是单核CPU,也可以是多核CPU。
存储器72包括但不限于是随机存取存储器(random access memory,RAM)、只读存储器(Read only Memory,ROM)、可擦除可编程只读存储器(erasable programmable read-only memory,EPROM或者快闪存储器)、、三态内容可寻址存储器(ternary contentaddressable memory,TCAM)、快闪存储器、或光存储器等。存储器72中保存有操作系统的代码。
网络接口73可以是有线接口,例如光纤分布式数据接口(Fiber DistributedData Interface,FDDI)、千兆以太网(Gigabit Ethernet,GE)接口;网络接口73也可以是无线接口。网络接口73用于接收报文或者发送报文。包括包括但不限于上述实施例提及的ARP报文、IP报文或者ICMP报文等等。
可选地,处理器71通过读取存储器72中保存的程序代码实现上述实施例中的方法,或者,处理器71也可以通过内部存储的指令实现上述实施例中的方法。在处理器71通过读取存储器72中保存的程序代码实现上述实施例中的方法的情况下,存储器72中保存实现本申请上述实施例提供的方法的程序代码。
处理器71用于读取存储器32中存储的程序代码,执行以下操作:获得诱捕目标集合,所述诱捕目标集合中包括至少一个诱捕目标,所述至少一个诱捕目标包括未使用的IP地址、或者已使用的IP地址上未开放的端口号。
所述网络接口73,接收来自于第一主机的第一IP报文。
所述处理器71,还用于确定所述第一IP报文请求访问的目的方是否属于所述诱捕目标集合。
所述网络接口73,还用于如果所述第一IP报文请求访问的目的方属于所述诱捕目标集合,向蜜罐管理服务器发送所述第一IP报文;接收所述蜜罐管理服务器返回的第二IP报文,所述第二IP报文是所述第一IP报文的响应报文;以及向所述第一主机发送所述第二IP报文。
网络接口73或者处理器71实现上述功能的更多细节请参考前面各个方法实施例中的描述,在这里不再重复。
可选地,转发设备还包括输入输出接口75,输入输出接口75用于与输入设备连接,接收用户通过输入设备输入的配置信息。输入设备包括但不限于键盘、触摸屏、麦克风等等。输入输出接口75还用于与输出设备连接,输出处理器71确定出的诱捕目标集合。输出设备包括但不限于显示器、打印机等等。
图8是本申请实施例提供的一种网络威胁的诱捕装置的结构示意图。该网络威胁诱捕装置80包括处理模块81、接收模块82和发送模块83。
处理模块81,用于获得诱捕目标集合,所述诱捕目标集合中包括至少一个诱捕目标,所述至少一个诱捕目标包括未使用的IP地址、或者已使用的IP地址上未开放的端口号;
接收模块82,用于接收来自于第一主机的第一IP报文;
所述处理模块81,还用于确定所述第一IP报文请求访问的目的方是否属于所述诱捕目标集合;
发送模块83,用于如果所述第一IP报文请求访问的目的方属于所述诱捕目标集合,向蜜罐管理服务器发送所述第一IP报文;
所述接收模块82,还用于接收所述蜜罐管理服务器返回的第二IP报文,所述第二IP报文是所述第一IP报文的响应报文;
所述发送模块83,还用于向所述第一主机发送所述第二IP报文。
可选地,接收模块82,还用于接收第一ARP报文,所述第一ARP报文是ARP请求报文。
处理模块81,还用于根据IP地址状态表,确定所述第一ARP报文的目的IP地址的在线状态,所述IP地址状态表用于指示所述网络威胁诱捕装置连接的子网范围内的多个IP地址分别对应的在线状态,所述在线状态为在线或不在线;如果所述第一ARP报文的目的IP地址的在线状态为不在线,则将所述第一ARP请求报文的目的IP地址作为未使用的IP地址加入所述诱捕目标集合。
可选地,接收模块82,还用于接收第二ARP报文,所述第二ARP报文是ARP应答报文或者免费ARP报文。处理模块81,还用于判断所述诱捕目标集合中是否包含所述第二ARP报文的源IP地址.如果所述诱捕目标集合中包含所述第二ARP报文的源IP地址,则从所述诱捕目标集合中删除作为未使用的IP地址的所述第二ARP报文的源IP地址。
可选地,接收模块82,还用于接收第三IP报文。处理模块81,还用于根据所述第三IP报文的目的IP地址,在所述网络威胁诱捕装置的路由表中查询所述第三IP报文对应的下一跳IP地址;如果所述路由表中不存在所述第三IP报文对应的下一跳IP地址,则将所述第三IP报文的目的IP地址作为未使用的IP地址加入所述诱捕目标集合。
可选地,处理模块81,还用于如果所述路由表中存在所述第三IP报文对应的下一跳IP地址,则在ARP表中查询所述下一跳IP地址对应的MAC地址;如果所述ARP表中不存在所述下一跳IP地址对应的MAC地址,则所述根据IP地址状态表,确定所述第三IP报文的目的IP的在线状态,所述IP地址状态表用于指示所述网络威胁诱捕装置连接的至少一个子网范围内的多个IP地址分别对应的在线状态,所述在线状态为在线或不在线;如果所述ARP表中不存在所述下一跳IP地址对应的MAC地址、且所述第三IP报文的目的IP地址的在线状态为不在线,则将所述第三IP报文的目的IP地址作为未使用的IP地址加入所述诱捕目标集合。
可选地,接收模块82,还用于接收第四IP报文,所述第四IP报文为RST报文。处理模块81,还用于判断所述第四IP报文是否满足诱捕条件,所述诱捕条件包括:在接收到第四IP报文之前,接收到至少一个与所述第四IP报文对应的SYN报文,所述第四IP报文对应的SYN报文的目的IP地址与所述第四IP报文的源IP地址相同、且目的端口号与所述第四IP报文的源端口号相同;如果所述第四IP报文满足诱捕条件,则将所述第四IP报文的源IP地址作为已使用的IP地址,将所述第四IP报文的源端口号作为所述第四IP报文的源IP地址指示的IP地址上未开放的端口号加入诱捕目标集。
可选地,接收模块82,还用于接收第四IP报文,所述第四IP报文为ICMP不可达报文。处理模块81,还用于判断所述第四IP报文是否满足诱捕条件,所述诱捕条件包括:在接收到第四IP报文之前,接收到至少一个与所述第四IP报文对应的UDP报文,所述第四IP报文对应的UDP报文的目的IP地址与所述第四IP报文的源IP地址相同、且目的端口号与所述第四IP报文的源端口号相同。如果所述第四IP报文满足诱捕条件,则将所述第四IP报文的源IP地址作为已使用的IP地址,将所述第四IP报文的源端口号作为所述第四IP报文的源IP地址指示的IP地址上未开放的端口号加入诱捕目标集。
可选地,接收模块82,还用于接收第四IP报文,所述第四IP报文为SYN-ACK报文。处理模块81,还用于判断所述诱捕目标集合中是否包括待删除诱捕目标,所述待删除诱捕目标为已使用的IP地址上未开放的端口号,其中,已使用的IP地址为所述第四IP报文的源IP地址、所述未开放的端口号为所述第四IP报文的源端口号指示的端口号;如果所述诱捕目标集合中包括待删除诱捕目标,则从所述诱捕目标集合中删除所述待删除诱捕目标。
可选地,接收模块82和所述发送模块83,还用于转发DNS域名请求。接收模块82,还用于截获并停止转发第一DNS响应报文,所述第一DNS响应报文是针对所述DNS域名请求的响应报文,所述第一DNS响应报文指示所述DNS域名请求所查询的域名不存在。处理模块81,还用于生成第二DNS响应报文,所述第二DNS响应报文包括所述DNS域名请求所查询的域名对应的IP地址,所述域名对应的IP地址为所述诱捕目标集合中的一个未使用的IP地址。发送模块83,还用于发送所述第二DNS响应报文。
附图8所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。附图8中上述各个模块既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。例如,采用软件实现时,上述接收模块82、处理模块81和发送模块83可以是由附图7中的CPU读取存储器中存储的程序代码后,生成的软件功能模块来实现。图8中上述各个模块也可以由转发设备中的不同硬件分别实现,例如接收模块82和发送模块83由附图7中的网络接口73实现,处理模块81由附图7中的处理器71实现,或者采用现场可编程门阵列(Field-Programmable Gate Array,FPGA)、或协处理器等可编程器件来完成。显然上述功能模块也可以采用软件硬件相结合的方式来实现,例如接收模块82和发送模块83由硬件可编程器件实现,而处理模块81是由CPU读取存储器中存储的程序代码后,生成的软件功能模块。
附图8中处理模块81,接收模块82和发送模块83实现上述功能的更多细节请参考前面各个方法实施例中的描述,在这里不再重复。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若对本申请的这些修改和变型属于本申请权利要求的范围之内,则本申请也意图包括这些改动和变型在内。

Claims (24)

1.一种网络威胁的诱捕方法,其特征在于,包括:
转发设备获得诱捕目标集合,所述诱捕目标集合中包括至少一个诱捕目标,所述至少一个诱捕目标包括未使用的网际协议IP地址、或者已使用的IP地址上未开放的端口号;
所述转发设备接收来自于第一主机的第一IP报文;
所述转发设备确定所述第一IP报文请求访问的目的方是否属于所述诱捕目标集合;
如果所述第一IP报文请求访问的目的方属于所述诱捕目标集合,所述转发设备向蜜罐管理服务器发送所述第一IP报文;
所述转发设备接收所述蜜罐管理服务器返回的第二IP报文,所述第二IP报文是所述第一IP报文的响应报文;
所述转发设备向所述第一主机发送所述第二IP报文;
所述获得诱捕目标集合之后,所述方法还包括:
所述转发设备转发域名系统DNS域名请求;
所述转发设备截获并停止转发第一DNS响应报文,所述第一DNS响应报文是针对所述DNS域名请求的响应报文,所述第一DNS响应报文指示所述DNS域名请求所查询的域名不存在;
所述转发设备生成第二DNS响应报文,所述第二DNS响应报文包括所述DNS域名请求所查询的域名对应的IP地址,所述域名对应的IP地址为所述诱捕目标集合中的一个未使用的IP地址;
所述转发设备发送所述第二DNS响应报文。
2.根据权利要求1所述的方法,其特征在于,所述获得诱捕目标集合包括:
所述转发设备接收第一地址解析协议ARP报文,所述第一ARP报文是ARP请求报文;
所述转发设备根据IP地址状态表,确定所述第一ARP报文的目的IP地址的在线状态,所述IP地址状态表用于指示所述转发设备连接的子网范围内的多个IP地址分别对应的在线状态,所述在线状态为在线或不在线;
如果所述第一ARP报文的目的IP地址的在线状态为不在线,则所述转发设备将所述第一ARP请求报文的目的IP地址作为未使用的IP地址加入所述诱捕目标集合。
3.根据权利要求2所述的方法,其特征在于,还包括:
所述转发设备接收第二ARP报文,所述第二ARP报文是ARP应答报文或者免费ARP报文;
所述转发设备判断所述诱捕目标集合中是否包含所述第二ARP报文的源IP地址;
如果所述诱捕目标集合中包含所述第二ARP报文的源IP地址,则所述转发设备从所述诱捕目标集合中删除作为未使用的IP地址的所述第二ARP报文的源IP地址。
4.根据权利要求1所述的方法,其特征在于,所述获得诱捕目标集合,包括:
接收第三IP报文;
所述转发设备根据所述第三IP报文的目的IP地址,在所述转发设备的路由表中查询所述第三IP报文对应的下一跳IP地址;
如果所述路由表中不存在所述第三IP报文对应的下一跳IP地址,则所述转发设备将所述第三IP报文的目的IP地址作为未使用的IP地址加入所述诱捕目标集合。
5.根据权利要求4所述的方法,其特征在于,如果所述路由表中不存在所述第三IP报文对应的下一跳IP地址,所述方法还包括:
所述转发设备向所述蜜罐管理服务器发送所述第三IP报文;
所述转发设备接收来自于所述蜜罐管理服务器的针对所述第三IP报文的响应报文,并转发所述响应报文。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
如果所述路由表中存在所述第三IP报文对应的下一跳IP地址,则所述转发设备在ARP表中查询所述下一跳IP地址对应的媒体访问控制MAC地址;
如果所述ARP表中不存在所述下一跳IP地址对应的MAC地址,则所述转发设备根据IP地址状态表,确定所述第三IP报文的目的IP的在线状态,所述IP地址状态表用于指示所述转发设备连接的至少一个子网范围内的多个IP地址分别对应的在线状态,所述在线状态为在线或不在线;
如果所述ARP表中不存在所述下一跳IP地址对应的MAC地址、且所述第三IP报文的目的IP地址的在线状态为不在线,则所述转发设备将所述第三IP报文的目的IP地址作为未使用的IP地址加入所述诱捕目标集合。
7.根据权利要求6所述的方法,其特征在于,如果所述ARP表中不存在所述下一跳IP地址对应的MAC地址、且所述第三IP报文的目的IP地址的在线状态为不在线,所述方法还包括:
向所述蜜罐管理服务器发送所述第三IP报文;
接收来自于所述蜜罐管理服务器的针对所述第三IP报文的响应报文,并转发所述响应报文。
8.根据权利要求1所述的方法,其特征在于,所述获得诱捕目标集合,包括:
所述转发设备接收第四IP报文,所述第四IP报文为连接重置RST报文;
判断所述第四IP报文是否满足诱捕条件,所述诱捕条件包括:
在接收到所述第四IP报文之前,接收到至少一个与所述第四IP报文对应的连接建立SYN报文,所述SYN报文的目的IP地址与所述第四IP报文的源IP地址相同、且目的端口号与所述第四IP报文的源端口号相同;
如果所述第四IP报文满足诱捕条件,则所述转发设备将所述第四IP报文的源端口号作为已使用的IP地址上未开放的端口号加入诱捕目标集,其中所述已使用的IP地址为所述第四IP报文的源IP地址。
9.根据权利要求1所述的方法,其特征在于,所述获得诱捕目标集合,包括:
所述转发设备接收第四IP报文,所述第四IP报文为RST报文;
判断所述第四IP报文是否满足诱捕条件,所述诱捕条件包括:
在接收到第四IP报文之前的预定时间段之前接收到至少一个与所述第四IP报文对应的SYN报文、且在所述预定时间段内接收到的与所述第四IP报文具有相同源IP地址和源端口号的其他报文均为RST报文或者Internet控制报文协议ICMP不可达报文,所述第四IP报文对应的SYN报文的目的IP地址与所述第四IP报文的源IP地址相同、且目的端口号与所述第四IP报文的源端口号相同;
如果所述第四IP报文满足诱捕条件,则所述转发设备将所述第四IP报文的源端口号作为已使用的IP地址上未开放的端口号加入诱捕目标集,其中所述已使用的IP地址为所述第四IP报文的源IP地址。
10.根据权利要求9所述的方法,其特征在于,如果所述第四IP报文满足诱捕条件,还包括:
向所述蜜罐管理服务器发送与所述第四IP报文对应的SYN报文;
接收来自于所述蜜罐管理服务器的针对所述SYN报文的响应报文,并向所述第一主机转发所述针对所述SYN报文的响应报文。
11.根据权利要求1所述的方法,其特征在于,所述获得诱捕目标集合,包括:
所述转发设备接收第四IP报文,所述第四IP报文为ICMP不可达报文;
判断所述第四IP报文是否满足诱捕条件,所述诱捕条件包括:
在接收到所述第四IP报文之前,接收到至少一个与所述第四IP报文对应的用户数据报协议UDP报文,所述UDP报文的目的IP地址与所述第四IP报文的源IP地址相同、且目的端口号与所述第四IP报文的源端口号相同;
如果所述第四IP报文满足诱捕条件,则所述转发设备将所述第四IP报文的源端口号作为已使用的IP地址上未开放的端口号加入诱捕目标集,其中所述已使用的IP地址为所述第四IP报文的源IP地址。
12.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述转发设备接收第四IP报文,所述第四IP报文为连接建立确认SYN-ACK报文;
所述转发设备判断所述诱捕目标集合中是否包括待删除诱捕目标,所述待删除诱捕目标为已使用的IP地址上未开放的端口号,其中,已使用的IP地址为所述第四IP报文的源IP地址、所述未开放的端口号为所述第四IP报文的源端口号;
如果所述诱捕目标集合中包括待删除诱捕目标,则所述转发设备从所述诱捕目标集合中删除所述待删除诱捕目标。
13.根据权利要求2、6或7所述的方法,其特征在于,所述IP地址状态表是采用以下步骤获得的:
所述转发设备针对所述转发设备连接的子网范围内的多个IP地址中的每个IP地址分别发送ARP请求报文;
所述转发设备未接收到针对第一IP地址的ARP响应报文,将所述第一IP地址添加到所述IP地址状态表中,所述第一IP地址为所述多个IP地址中的IP地址;并将所述第一IP地址的状态设置为不在线。
14.根据权利要求13所述的方法,其特征在于,所述转发设备接收到针对第二IP地址的ARP响应报文,所述第二IP地址为所述多个IP地址中的IP地址;将所述第二IP地址添加到所述IP地址状态表中;并将所述第二IP地址的状态设置为在线。
15.根据权利要求1至12任一所述的方法,其特征在于,所述诱捕目标集合表示为诱捕目标表,所述诱捕目标表中包括至少一个表项,所述至少一个表项中的每个表项用于指示一个所述诱捕目标,所述每个表项包括一个IP地址用以指示未使用的IP地址、或者包括一个IP地址与端口号的组合用以指示已使用的IP地址上未开放的端口号;
所述转发设备确定所述第一IP报文请求访问的目的方是否属于诱捕目标集合,包括:
所述转发设备确定所述诱捕目标表中是否存在一个表项包括所述第一IP报文的目的IP地址、或者包括所述第一IP报文的目的IP地址与目的端口号的组合;
如果所述诱捕目标表存在一个表项包括所述第一IP报文的目的IP地址、或者包括所述第一IP报文的目的IP地址与目的端口号的组合,则确定所述第一IP报文请求访问的目的方属于所述诱捕目标集合;
如果所述诱捕目标表不存在一个表项包括所述第一IP报文的目的IP地址、并且不存在一个表项包括所述第一IP报文的目的IP地址与目的端口号的组合,则确定所述第一IP报文请求访问的目的方不属于所述诱捕目标集合。
16.一种转发设备,其特征在于,包括网络接口和至少一个处理器,
所述至少一个处理器用于执行以下操作:
获得诱捕目标集合,所述诱捕目标集合中包括至少一个诱捕目标,所述至少一个诱捕目标包括未使用的网际协议IP地址、或者已使用的IP地址上未开放的端口号;
所述网络接口,用于接收来自于第一主机的第一IP报文;
所述处理器还用于确定所述第一IP报文请求访问的目的方是否属于所述诱捕目标集合;
所述网络接口还用于如果所述第一IP报文请求访问的目的方属于所述诱捕目标集合,向蜜罐管理服务器发送所述第一IP报文;接收所述蜜罐管理服务器返回的第二IP报文,所述第二IP报文是所述第一IP报文的响应报文;向所述第一主机发送所述第二IP报文;
所述网络接口还用于转发DNS域名请求;截获并停止转发第一DNS响应报文,所述第一DNS响应报文是针对所述DNS域名请求的响应报文,所述第一DNS响应报文指示所述DNS域名请求所查询的域名不存在;
所述至少一个处理器还用于生成第二DNS响应报文,所述第二DNS响应报文包括所述DNS域名请求所查询的域名对应的IP地址,所述域名对应的IP地址为所述诱捕目标集合中的一个未使用的IP地址;
所述网络接口还用于发送所述第二DNS响应报文。
17.根据权利要求16所述的转发设备,其特征在于,
所述网络接口还用于接收第一地址解析协议ARP报文,所述第一ARP报文是ARP请求报文;
所述至少一个处理器还用于根据IP地址状态表,确定所述第一ARP报文的目的IP地址的在线状态,所述IP地址状态表用于指示所述转发设备连接的子网范围内的多个IP地址分别对应的在线状态,所述在线状态为在线或不在线;如果所述第一ARP报文的目的IP地址的在线状态为不在线,则将所述第一ARP请求报文的目的IP地址作为未使用的IP地址加入所述诱捕目标集合。
18.根据权利要求17所述的转发设备,其特征在于,
所述网络接口还用于接收第二ARP报文,所述第二ARP报文是ARP应答报文或者免费ARP报文;
所述至少一个处理器还用于判断所述诱捕目标集合中是否包含所述第二ARP报文的源IP地址;如果所述诱捕目标集合中包含所述第二ARP报文的源IP地址,则从所述诱捕目标集合中删除作为未使用的IP地址的所述第二ARP报文的源IP地址。
19.根据权利要求16所述的转发设备,其特征在于,
所述网络接口还用于接收第三IP报文;
所述至少一个处理器还用于根据所述第三IP报文的目的IP地址,在路由表中查询所述第三IP报文对应的下一跳IP地址;如果所述路由表中不存在所述第三IP报文对应的下一跳IP地址,则将所述第三IP报文的目的IP地址作为未使用的IP地址加入所述诱捕目标集合。
20.根据权利要求19所述的转发设备,其特征在于,
所述至少一个处理器还用于如果所述路由表中存在所述第三IP报文对应的下一跳IP地址,则所述转发设备在ARP表中查询所述下一跳IP地址对应的媒体访问控制MAC地址;
如果所述ARP表中不存在所述下一跳IP地址对应的MAC地址,则根据IP地址状态表,确定所述第三IP报文的目的IP的在线状态,所述IP地址状态表用于指示所述转发设备连接的至少一个子网范围内的多个IP地址分别对应的在线状态,所述在线状态为在线或不在线;
如果所述ARP表中不存在所述下一跳IP地址对应的MAC地址、且所述第三IP报文的目的IP地址的在线状态为不在线,则将所述第三IP报文的目的IP地址作为未使用的IP地址加入所述诱捕目标集合。
21.根据权利要求16所述的转发设备,其特征在于,
所述网络接口还用于接收第四IP报文,所述第四IP报文为连接重置RST报文;
所述至少一个处理器还用于判断所述第四IP报文是否满足诱捕条件,所述诱捕条件包括:
在接收到所述第四IP报文之前,接收到至少一个与所述第四IP报文对应的连接建立SYN报文,所述第四IP报文对应的SYN报文的目的IP地址与所述第四IP报文的源IP地址相同、且目的端口号与所述第四IP报文的源端口号相同;如果所述第四IP报文满足诱捕条件,则所述转发设备将所述第四IP报文的源端口号作为已使用的IP地址上未开放的端口号加入诱捕目标集,其中所述已使用的IP地址为第四IP报文的源IP地址。
22.根据权利要求16所述的转发设备,其特征在于,
所述网络接口还用于接收第四IP报文,所述第四IP报文为Internet控制报文协议ICMP不可达报文;
所述至少一个处理器还用于判断所述第四IP报文是否满足诱捕条件,所述诱捕条件包括:
在接收到第四IP报文之前,接收到至少一个与所述第四IP报文对应的用户数据报协议UDP报文,所述第四IP报文对应的UDP报文的目的IP地址与所述第四IP报文的源IP地址相同、且目的端口号与所述第四IP报文的源端口号相同;如果所述第四IP报文满足诱捕条件,则将将所述第四IP报文的源端口号作为已使用的IP地址上未开放的端口号加入诱捕目标集,其中所述已使用的IP地址为所述第四IP报文的源IP地址。
23.一种网络威胁诱捕系统,其特征在于,包括蜜罐管理服务器以及至少一个如权利要求16至22任一所述的转发设备。
24.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得所述计算机执行权利要求1-15任一项所述的方法。
CN201910780575.2A 2019-08-22 2019-08-22 网络威胁的诱捕方法、系统和转发设备 Active CN112422481B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201910780575.2A CN112422481B (zh) 2019-08-22 2019-08-22 网络威胁的诱捕方法、系统和转发设备
PCT/CN2020/110656 WO2021032207A1 (zh) 2019-08-22 2020-08-22 网络威胁的诱捕方法、系统和转发设备
EP20855435.2A EP3923551A4 (en) 2019-08-22 2020-08-22 METHOD AND SYSTEM FOR INTERCEPTING A NETWORK THREAT AND FORWARDING DEVICE
US17/369,057 US20210344714A1 (en) 2019-08-22 2021-07-07 Cyber threat deception method and system, and forwarding device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910780575.2A CN112422481B (zh) 2019-08-22 2019-08-22 网络威胁的诱捕方法、系统和转发设备

Publications (2)

Publication Number Publication Date
CN112422481A CN112422481A (zh) 2021-02-26
CN112422481B true CN112422481B (zh) 2021-10-26

Family

ID=74660543

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910780575.2A Active CN112422481B (zh) 2019-08-22 2019-08-22 网络威胁的诱捕方法、系统和转发设备

Country Status (4)

Country Link
US (1) US20210344714A1 (zh)
EP (1) EP3923551A4 (zh)
CN (1) CN112422481B (zh)
WO (1) WO2021032207A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI821633B (zh) * 2021-01-22 2023-11-11 飛泓科技股份有限公司 網路終端設備隔離認證方法
US11863526B2 (en) * 2021-02-12 2024-01-02 Paypal, Inc. Dynamically routing network traffic between defense layers
CN113302887B (zh) * 2021-03-31 2023-08-01 华为技术有限公司 一种基于时间敏感传输协议的通信方法和相关装置
CN113098868B (zh) * 2021-04-01 2022-03-11 广州巨时信息科技股份有限公司 一种基于容器的网络安全处理方法和装置
CN113285926B (zh) * 2021-04-26 2022-11-11 南方电网数字电网研究院有限公司 面向电力监控系统的蜜罐诱捕方法、装置、计算机设备
CN113098895A (zh) * 2021-04-26 2021-07-09 成都中恒星电科技有限公司 一种基于dpdk的网络流量隔离系统
CN113572793B (zh) * 2021-09-26 2021-12-21 苏州浪潮智能科技有限公司 访问请求捕获方法、装置、计算机设备和存储介质
CN113992370B (zh) * 2021-10-19 2022-06-17 广州锦行网络科技有限公司 一种流量转发控制方法及基于流量转发控制的诱捕节点
CN113709186B (zh) * 2021-10-22 2022-03-01 杭州海康威视数字技术股份有限公司 一种高效蜜罐代理转发的方法与装置
US20230208803A1 (en) * 2021-12-29 2023-06-29 Mastercard International Incorporated Ip address control system
CN114491533A (zh) * 2022-01-24 2022-05-13 烽台科技(北京)有限公司 数据处理方法、装置、服务器及存储介质
CN114584349A (zh) * 2022-02-15 2022-06-03 烽台科技(北京)有限公司 网络数据的保护方法、装置、终端及可读存储介质
CN115174467B (zh) * 2022-06-28 2023-09-22 福州大学 基于可编程数据平面的路由跳变防御构建方法
CN115378906B (zh) * 2022-08-16 2024-02-13 北京轻网科技股份有限公司 一种基于vpn框架的本地dns代理方法、装置、设备及介质
CN116915518B (zh) * 2023-09-14 2023-12-01 国网浙江省电力有限公司电力科学研究院 一种智能学习式自应答联网蜜罐诱导方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1533101A (zh) * 2003-03-20 2004-09-29 华为技术有限公司 一种ip地址的核查方法
CN101552724A (zh) * 2009-05-11 2009-10-07 杭州华三通信技术有限公司 一种邻居表项的生成方法和装置
CN103139184A (zh) * 2011-12-02 2013-06-05 中国电信股份有限公司 智能网络防火墙设备及网络攻击防护方法
CN104021344A (zh) * 2014-05-14 2014-09-03 南京大学 一种用于收集和截获计算机内存行为的蜜罐机制及其方法
CN104113553A (zh) * 2014-07-29 2014-10-22 网神信息技术(北京)股份有限公司 端口状态识别方法、装置和系统
CN109413709A (zh) * 2018-11-21 2019-03-01 上海事凡物联网科技有限公司 自组网静态路由方法、装置、通信节点及存储介质
CN109768993A (zh) * 2019-03-05 2019-05-17 中国人民解放军32082部队 一种高覆盖内网蜜罐系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8127356B2 (en) * 2003-08-27 2012-02-28 International Business Machines Corporation System, method and program product for detecting unknown computer attacks
US8949986B2 (en) * 2006-12-29 2015-02-03 Intel Corporation Network security elements using endpoint resources
US9979738B2 (en) * 2012-01-23 2018-05-22 Hrl Laboratories, Llc System and method to detect attacks on mobile wireless networks based on motif analysis
JPWO2015174100A1 (ja) * 2014-05-14 2017-04-20 学校法人東京電機大学 パケット転送装置、パケット転送システム及びパケット転送方法
US11277390B2 (en) * 2015-01-26 2022-03-15 Listat Ltd. Decentralized cybersecure privacy network for cloud communication, computing and global e-commerce
US10536357B2 (en) * 2015-06-05 2020-01-14 Cisco Technology, Inc. Late data detection in data center
US10284598B2 (en) * 2016-01-29 2019-05-07 Sophos Limited Honeypot network services
WO2017209845A1 (en) * 2016-06-01 2017-12-07 Acalvio Technologies, Inc. Deception to detect network scans
CN107809425A (zh) * 2017-10-20 2018-03-16 杭州默安科技有限公司 一种蜜罐部署系统
CN109302426B (zh) * 2018-11-30 2021-04-13 东软集团股份有限公司 未知漏洞攻击检测方法、装置、设备及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1533101A (zh) * 2003-03-20 2004-09-29 华为技术有限公司 一种ip地址的核查方法
CN101552724A (zh) * 2009-05-11 2009-10-07 杭州华三通信技术有限公司 一种邻居表项的生成方法和装置
CN103139184A (zh) * 2011-12-02 2013-06-05 中国电信股份有限公司 智能网络防火墙设备及网络攻击防护方法
CN104021344A (zh) * 2014-05-14 2014-09-03 南京大学 一种用于收集和截获计算机内存行为的蜜罐机制及其方法
CN104113553A (zh) * 2014-07-29 2014-10-22 网神信息技术(北京)股份有限公司 端口状态识别方法、装置和系统
CN109413709A (zh) * 2018-11-21 2019-03-01 上海事凡物联网科技有限公司 自组网静态路由方法、装置、通信节点及存储介质
CN109768993A (zh) * 2019-03-05 2019-05-17 中国人民解放军32082部队 一种高覆盖内网蜜罐系统

Also Published As

Publication number Publication date
WO2021032207A1 (zh) 2021-02-25
CN112422481A (zh) 2021-02-26
US20210344714A1 (en) 2021-11-04
EP3923551A1 (en) 2021-12-15
EP3923551A4 (en) 2022-04-20

Similar Documents

Publication Publication Date Title
CN112422481B (zh) 网络威胁的诱捕方法、系统和转发设备
US11722509B2 (en) Malware detection for proxy server networks
US8661544B2 (en) Detecting botnets
US9712490B1 (en) Identifying applications for intrusion detection systems
US11882150B2 (en) Dynamic security actions for network tunnels against spoofing
CN105743878B (zh) 使用蜜罐的动态服务处理
WO2019179375A1 (zh) 一种防御网络攻击的方法及装置
Ullrich et al. {IPv6} Security: Attacks and Countermeasures in a Nutshell
CN105991655B (zh) 用于缓解基于邻居发现的拒绝服务攻击的方法和装置
WO2007121361A2 (en) Malicious attack detection system and an associated method of use
US11968174B2 (en) Systems and methods for blocking spoofed traffic
CN112134891A (zh) 一种基于linux系统的单主机产生多个蜜罐节点的配置方法、系统、监测方法
US11277384B2 (en) Dynamic filter generation and distribution within computer networks
US11489815B2 (en) Methods and systems for synchronizing state amongst monitoring nodes
CN110995763B (zh) 一种数据处理方法、装置、电子设备和计算机存储介质
Abdulla Survey of security issues in IPv4 to IPv6 tunnel transition mechanisms
Shah et al. Security Issues in Next Generation IP and Migration Networks
Gu et al. Comparative studies of IPv6 tunnel security
RU2797264C1 (ru) Способ и система туннелирования трафика в распределенной сети для детонации вредоносного программного обеспечения
US20230388275A1 (en) Method and a system of tunneling traffic in a distributed network for detecting malware
Mudaliar Performance evaluation of defence mechanisms against ICMPv6 router advertisement flood attacks
McGann IPv6 packet filtering
Otsuka et al. Design and implementation of client IP notification feature on DNS for proactive firewall system
Weber et al. Master Thesis IPv6 Security Test Laboratory
CN118138257A (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