CN110035041B - 一种识别应用攻击源的方法和设备 - Google Patents

一种识别应用攻击源的方法和设备 Download PDF

Info

Publication number
CN110035041B
CN110035041B CN201810032619.9A CN201810032619A CN110035041B CN 110035041 B CN110035041 B CN 110035041B CN 201810032619 A CN201810032619 A CN 201810032619A CN 110035041 B CN110035041 B CN 110035041B
Authority
CN
China
Prior art keywords
message
application software
software client
check
application
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
CN201810032619.9A
Other languages
English (en)
Other versions
CN110035041A (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 CN201810032619.9A priority Critical patent/CN110035041B/zh
Publication of CN110035041A publication Critical patent/CN110035041A/zh
Application granted granted Critical
Publication of CN110035041B publication Critical patent/CN110035041B/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
    • 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

Landscapes

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

Abstract

一种识别应用攻击源的方法和设备,该方法为,清洗设备与第一应用软件客户端建立第一TCP连接,通过所述第一TCP连接接收来自于所述第一应用软件客户端的校验报文,所述校验报文中携带校验信息;对所述校验信息进行合法性校验,在校验结果为合法时,在所述清洗设备的会话表中为所述第一TCP连接对应的会话标识添加白名单标记;接收来自于第二应用软件客户端业务报文;在所述会话表中查询所述业务报文的会话标识,如果所述业务报文对应的会话标识不具有白名单标记,拦截或丢弃所述业务报文,这样,能够快速识别出非法应用软件客户端,从而有针对性的阻断来自于非法应用软件客户端的流量。

Description

一种识别应用攻击源的方法和设备
技术领域
本申请涉及计算机技术领域,尤其涉及一种识别应用攻击源的方法和设备。
背景技术
随着以木马传播,流量交易,虚拟财产等活动为代表的黑色产业链的不断壮大,应用(APP)服务提供商被攻击的次数与日俱增,导致APP提供商的信誉受到了极大的打击。如何降低访问APP服务的安全风险、识别攻击源、以及帮助APP服务提供商防御攻击、保证APP资源的可用性成为一系列热点问题。
APP是通过终端设备上的应用软件客户端和APP提供商在网络侧部署的应用服务器(APP Server)相互配合实现的。应用软件客户端是指终端设备上的提供特定功能、且具有网络访问和报文处理能力的软件,如游戏客户端,手机购物客户端和即时聊天客户端等客户端软件,是应用服务的发起点。APP Server是提供游戏,购物和聊天等应用业务的服务器。
当前网络中使用流量清洗服务来解决上述问题。流量清洗服务是针对攻击者发起的攻击,为用户提供监控、告警和防护的一种网络安全服务。具体地,在APP Server前部署清洗设备对访问APP Server的流量进行清洗,从而保护APP Server的安全。然而在上述方案中清洗设备无法确定对于APP Server的访问是否来源于合法的应用软件客户端。这就导致在发生攻击时,无法有针对性的阻断来自于非法应用软件客户端的流量,同时在清洗设备处理性能下降时,对合法应用软件客户端的访问造成延误。
发明内容
本申请实施例提供一种识别应用攻击源的方法和设备,以解决现有的清洗设备遭受到攻击时,无法识别出非法应用软件客户端,从而无法有针对性的阻断来自于非法应用软件客户端的流量。
本申请实施例提供的具体技术方案如下:
第一方面,本申请实施例提供一种识别应用攻击源的方法,包括:
清洗设备与第一应用软件客户端建立第一TCP连接,所述清洗设备部署在所述第一应用软件客户端和应用服务器之间的报文转发路径上,用于对发往所述应用服务器的报文进行流量清洗;所述清洗设备通过所述第一TCP连接接收来自于所述第一应用软件客户端的校验报文,所述校验报文中携带校验信息;对所述校验信息进行合法性校验,在校验结果为合法时,在所述清洗设备的会话表中为所述第一TCP连接对应的会话标识添加白名单标记;接收来自于第二应用软件客户端业务报文;在所述会话表中查询所述业务报文的会话标识,如果所述业务报文对应的会话标识不具有白名单标记,拦截或丢弃所述业务报文。通过上述过程可知第一应用软件客户端向清洗设备发送校验报文的目的都是判断后续的来源于第二应用软件客户端的业务报文是否和校验报文相关联,属于同一个会话。清洗设备会根据业务报文中的会话标识查询白名单标记是否存在,如果不存在,则对该业务报文进行拦截或丢弃。这样当清洗设备遭受到攻击时,能够快速识别出非法应用软件客户端,从而有针对性的阻断来自于非法应用软件客户端的流量。
在第一方面的一种可能的设计中,所述校验信息是第一加密串、所述第一应用软件客户端生成的随机数、和所述第一应用软件客户端的标识的组合,所述第一加密串是所述第一应用软件客户端使用预设加密算法对所述随机数、所述第一应用软件客户端的标识、和所述第一应用软件客户端保存的所述应用服务器的证书进行加密得到的。由于校验信息是第一应用软件客户端采用预设算法进行加密组合得到的,这样能够防止校验信息被仿冒。
在第一方面的一种可能的设计中,所述清洗设备对所述校验信息进行合法性校验时,可以通过以下过程实现:所述清洗设备按照预定的组合方式从所述校验信息中提取所述第一应用软件客户端生成的随机数和所述第一应用软件客户端的标识;根据所述清洗设备的虚拟网际协议VIP地址信息,获取所述清洗设备的VIP地址信息对应的应用服务器的证书,并利用所述预设加密算法对第二加密串和所述第一应用软件客户端生成的随机数、所述第一应用软件客户端的标识进行组合得到第一信息,所述第二加密串是所述清洗设备对提取的所述随机数、所述第一应用软件客户端的标识、获取到的所述应用服务器的证书进行加密得到的;在所述校验信息与所述第一信息相同时,所述清洗设备确定所述校验信息合法,否则,确定所述校验信息非法。这样,清洗设备对校验信息进行合法校验时,利用相同的加密算法生成第一信息,比较第一信息与校验信息是否相同,来能够确定校验信息是否被篡改,从而确定校验信息是否合法,这种校验方式安全可靠。
在第一方面的一种可能的设计中,如果所述业务报文对应的会话标识具有白名单标记时,所述清洗设备对所述业务报文执行源地址转换和目的地址转换后,向所述应用服务器发送转换后得到的业务报文。这样,清洗设备在确定业务报文合法时,能够安全的将业务报文发送给应用服务器。
在第一方面的一种可能的设计中,如果所述校验报文是TCP报文、且来自于第二应用软件客户端的业务报文承载在是所述第一TCP连接上的封装有TCP报文头的UDP报文,则所述清洗设备向所述应用服务器发送的业务报文是对所述来自于第二应用软件客户端的业务报文解封装去除TCP报文头后得到UDP报文。这种设计中,将UDP报文承载在第一TCP连接上,实现UDP报文和校验报文的关联,校验报文的目的都是判断后续UDP业务报文是否和校验报文相关联,且属于同一个会话,从而确定UDP业务报文是否来自非法的应用软件客户端。
在第一方面的一种可能的设计中,如果所述校验报文是TCP报文,所述业务报文是UDP报文,则所述来自于第二应用软件客户端的业务报文无需承载在所述第一TCP连接上。这种设计中,将UDP报文无需承载在第一TCP连接上,校验报文的目的都是判断后续UDP业务报文是否和校验报文相关联,且属于同一个会话,从而确定UDP业务报文是否来自非法的应用软件客户端。
在第一方面的一种可能的设计中,如果所述所述校验报文是TCP报文,所述业务报文是TCP报文,所述向应用服务器发送转换后得到的业务报文之前,所述清洗设备与所述应用服务器建立第二TCP连接;所述向应用服务器发送转换后得到的业务报文,具体为:通过所述第二TCP连接向应用服务器发送转换后得到的业务报文。这种设计中,当业务报文是TCP报文是,将业务报文承载在第二TCP连接上。
第二方面,本申请实施例提供一种识别应用攻击源的设备,包括:建立单元,用于与第一应用软件客户端建立第一TCP连接,所述设备部署在所述第一应用软件客户端和应用服务器之间的报文转发路径上,用于对发往所述应用服务器的报文进行流量清洗;接收单元,用于通过所述第一TCP连接接收来自于所述第一应用软件客户端的校验报文,所述校验报文中携带校验信息;处理单元,用于对所述校验信息进行合法性校验,在校验结果为合法时,在所述设备的会话表中为所述第一TCP连接对应的会话标识添加白名单标记;所述接收单元,还用于接收来自于第二应用软件客户端业务报文;所述处理单元,还用于在所述会话表中查询所述业务报文的会话标识,如果所述业务报文对应的会话标识不具有白名单标记,拦截或丢弃所述业务报文。
在第二方面的一种可能的设计中,所述校验信息是第一加密串、所述第一应用软件客户端生成的随机数、和所述第一应用软件客户端的标识的组合,所述第一加密串是所述第一应用软件客户端使用预设加密算法对所述随机数、所述第一应用软件客户端的标识、和所述第一应用软件客户端保存的所述应用服务器的证书进行加密得到的。
在第二方面的一种可能的设计中,所述处理单元对所述校验信息进行合法性校验时,具体用于:按照预定的组合方式从所述校验信息中提取所述第一应用软件客户端生成的随机数和所述第一应用软件客户端的标识;根据所述设备的虚拟网际协议VIP地址信息,获取所述设备的VIP地址信息对应的应用服务器的证书,并利用所述预设加密算法对第二加密串和所述第一应用软件客户端生成的随机数、所述第一应用软件客户端的标识进行组合得到第一信息,所述第二加密串是所述设备对提取的所述随机数、所述第一应用软件客户端的标识、获取到的所述应用服务器的证书进行加密得到的;在所述校验信息与所述第一信息相同时,确定所述校验信息合法,否则,确定所述校验信息非法。
在第二方面的一种可能的设计中,所述设备还包括发送单元,用于:在所述业务报文对应的会话标识具有白名单标记时,对所述业务报文执行源地址转换和目的地址转换后,向所述应用服务器发送转换后得到的业务报文。
在第二方面的一种可能的设计中,如果所述校验报文是TCP报文、且来自于第二应用软件客户端的业务报文承载在是所述第一TCP连接上的封装有TCP报文头的UDP报文,则所述发送单元向所述应用服务器发送的业务报文是对所述来自于第二应用软件客户端的业务报文解封装去除TCP报文头后得到UDP报文。
在第二方面的一种可能的设计中,如果所述校验报文是TCP报文,所述业务报文是UDP报文,则所述来自于第二应用软件客户端的业务报文无需承载在所述第一TCP连接上。
在第二方面的一种可能的设计中,如果所述所述校验报文是TCP报文,所述业务报文是TCP报文,在所述发送单元向应用服务器发送转换后得到的业务报文之前,所述建立单元还用于:与所述应用服务器建立第二TCP连接;所述发送单元在向应用服务器发送转换后得到的业务报文时,具体为:通过所述第二TCP连接向应用服务器发送转换后得到的业务报文。
第三方面,本申请实施例提供一种清洗设备,包括处理器、存储器和网络接口。其中,存储器、网络接口处理器之间可以通过总线系统相连。网络接口用于接收报文,存储器用于存储程序、指令或代码,处理器用于执行存储器中的程序、指令或代码,以完成上述第一方面或第一方面的任意可能的设计方式中的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面的任意可能的设计方式中的方法。
第五方面,本申请实施例提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面的任意可能的设计方式中的方法。
第六方面,本申请实施例提供一种芯片系统,该芯片系统包括处理器,用于支持识别应用攻击源的设备实现上述第一方面或第一方面的任意可能的设计方式中所涉及的功能。在一种可能的设计中,芯片系统还包括存储器,用于保存识别应用攻击源的设备必要的程序指令和数据。芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。
应理解,本申请实施例的第二至六方面与本申请实施例的第一方面的技术方案一致,各方面及对应的可实施的设计方式所取得的有益效果相似,不再赘述。
附图说明
图1为本申请实施例的一种系统架构示意图;
图2为本申请实施例中的网络架构示意图;
图3为本申请实施例中的清洗设备的硬件结构示意图;
图4为本申请实施例中的识别应用攻击源方法流程示意图;
图5和图6为本申请实施例中的应用场景示意图;
图7和图8为本申请实施例中的UDP业务报文的处理方式示意图;
图9为本申请实施例中的识别应用攻击源的设备结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
本申请中的识别应用攻击源的方法可适用于多种系统架构,图1为本申请适用的一种系统架构示意图。其中,清洗设备是通过部署在网络侧的高性能Linux虚拟服务器(Linux Virtual Server,LVS)集群实现的。应用软件客户端的网际协议(InternetProtocol,IP)地址信息是123.12.1.2:5482。清洗设备的虚拟IP(Virtual IP,VIP)地址信息是122.13.3.2:8080,清洗设备的本地(Local IP,LIP)地址信息是121.13.4.2:4653。应用服务器的IP地址信息是118.16.7.3:8080。假设应用服务器提供的应用业务的域名为www.test.com。在DNS服务器(图1中未示出)中将域名www.test.com对应的IP地址设置为清洗设备的VIP地址,这样访问应用服务器的流量被引导到清洗设备中。清洗设备对清洗处理后的“干净”的流量执行源地址转换(source network address translation,SNAT)和目的地址转换(destination network address translation,DNAT),向应用服务器发送转换后的流量。SNAT将源地址信息由123.12.1.2:5482转换为清洗平台的LIP地址信息121.13.4.2:4653。DNAT将目的地址信息由清洗平台的VIP地址信息122.13.3.2:8080转换为应用服务器的IP地址信息118.16.7.3:8080。
图2突出显示了本申请提供的清洗设备的内部处理流程。清洗设备通过校验机制、以及在内部为访问者设置的黑名单或白名单,从所有访问者中识别攻击源。后面的实施例将详细说明清洗设备的工作流程。
本申请中的识别应用攻击源的方法可适用于多种硬件结构的清洗设备,图3为本申请适用的一种清洗设备的硬件结构示意图。如图3所示,该清洗设备300中包括:网络接口301、存储器302、处理器303,所述处理器303、存储器302和网络接口301通过总线系统304相互连接。
所述网络接口301,用于与应用软件客户端或应用服务器建立TCP连接,通过与应用软件客户端建立的TCP连接接收应用软件客户端发送的校验报文和业务报文;通过与应用服务器建立的TCP连接向应用服务器发送业务报文。网络接口301包括多种形式,例如有线接口,例如光纤分布式数据接口(Fiber Distributed Data Interface,简称FDDI)、千兆以太网(Gigabit Ethernet,简称GE)接口;网络接口301也可以是无线接口。
所述存储器302,用于存储指令和数据。
存储器302包括但不限于是随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或者快闪存储器)、或便携式只读存储器(CD-ROM)。
处理器303可以是一个或多个中央处理器(Central Processing Unit,简称CPU),在处理器303是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。
可选地,清洗设备还可以包括输入接口(图3中未示出),输入接口可以与包括麦克风、键盘等输入设备链接,也可以是USB接口等等。可选地,清洗设备300中还包括输出接口(图3中未示出),可以与输出设备连接,输出设备包括打印机,显示器,麦克风等等。
所述清洗设备300中的处理器303用于读取所述存储器302中存储的指令和数据后,执行以下操作:通过网络接口301与第一应用软件客户端建立第一TCP连接;通过所述第一TCP连接接收来自于所述第一应用软件客户端的校验报文,所述校验报文中携带校验信息;对所述校验信息进行合法性校验,在校验结果为合法时,在所述清洗设备的会话表中为所述第一TCP连接对应的会话标识添加白名单标记;接收来自于第二应用软件客户端业务报文;所述清洗设备在所述会话表中查询所述业务报文的会话标识,如果所述业务报文对应的会话标识不具有白名单标记,拦截或丢弃所述业务报文。
所述存储器302还用于存储黑名单,所述黑名单中记录的是不存在白名单标记的会话标识。
另外,清洗设备300的各个组件可以通过总线系统304耦合在一起,其中总线系统304除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统304。但是为了清楚说明,在图3中将各种总线都标为总线系统304。
其中,处理器303控制清洗设备300的操作,处理器303还可以称为中央处理单元(英文:central processing unit,CPU)。处理器303可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器303中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器303可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器302,处理器303读取存储器302中的信息,结合其硬件执行以下图4所示的方法步骤。
图4示出了本申请实施例提供的识别应用攻击源方法流程示意图,该流程具体可通过硬件、软件编程或软硬件的结合来实现。
清洗设备可被配置为执行如图4所示的流程,所述清洗设备部署在应用软件客户端和应用服务器之间的报文转发路径上,用于对发往所述应用服务器的报文进行流量清洗。该清洗设备中用以执行本申请实施例所提供的识别应用攻击源的方案的功能模块具体可以通过硬件、软件编程以及软硬件的组合来实现,硬件可包括一个或多个信号处理和/或专用集成电路。
如图4所示,该流程具体包括有以下处理过程:
步骤40:清洗设备与第一应用软件客户端建立第一TCP连接。
步骤41:所述清洗设备通过所述第一TCP连接接收来自于所述第一应用软件客户端的校验报文,所述校验报文中携带校验信息。
值得一提的是,本申请实施例中,清洗设备与第一应用软件客户端在第一次建立第一TCP连接后,或清洗设备与第一应用软件客户端之间重新建立第一TCP连接后,所述第一应用软件客户端都会向所述清洗设备发送校验报文。
需要说明的是,本申请实施例中的所述校验信息是第一加密串、所述第一应用软件客户端生成的随机数、和所述第一应用软件客户端的标识的组合,所述第一加密串是所述第一应用软件客户端使用预设加密算法对所述随机数、所述第一应用软件客户端的标识、和所述第一应用软件客户端保存的所述应用服务器的证书进行加密得到的。
步骤42:所述清洗设备对所述校验信息进行合法性校验,在校验结果为合法时,在所述清洗设备的会话表中为所述第一TCP连接对应的会话标识添加白名单标记。
具体的,所述清洗设备对所述校验信息进行合法性校验时,可以通过以下过程实现:
1)所述清洗设备按照预定的组合方式从所述校验信息中提取所述第一应用软件客户端生成的随机数和所述第一应用软件客户端的标识。
2)所述清洗设备根据所述清洗设备的VIP地址信息,获取所述清洗设备的VIP地址信息对应的应用服务器的证书,并利用所述预设加密算法对第二加密串和所述第一应用软件客户端生成的随机数、所述第一应用软件客户端的标识进行组合得到第一信息,所述第二加密串是所述清洗设备对提取的所述随机数、所述第一应用软件客户端的标识、获取到的所述应用软件客户端的证书进行加密得到的。
3)在所述校验信息与所述第一信息相同时,所述清洗设备确定所述校验信息合法,否则,确定所述校验信息非法。
需要说明的是,本申请实施例中应用软件客户端的证书是应用软件客户端在安装时,从应用服务器对应的管理平台中获取到并集成在所述应用软件客户端的软件开发工具包(software development kit,sdk)中,是管理平台为应用服务器颁发的证书。清洗设备本地存储有该清洗设备保护的应用服务器的证书,正如前面所提及的,清洗设备的一个VIP地址对应所保护的应用服务器的域名,实际上就形成了VIP地址与应用服务器对应关系。清洗设备可以在配置阶段从管理平台中获取清洗设备的一个VIP地址对应的应用服务器的证书,并在本地保存VIP地址、以及与VIP地址对应的应用服务器的证书。清洗设备的每个VIP地址都对应一个证书,可以是多个VIP地址对应一个证书,也可以一个VIP地址对应一个证书。
步骤43:所述清洗设备接收来自于第二应用软件客户端业务报文。
步骤44:所述清洗设备在所述会话表中查询所述业务报文的会话标识,如果所述业务报文对应的会话标识不具有白名单标记,拦截或丢弃所述业务报文。
进一步的,若所述业务报文对应的会话标识具有白名单标记时,说明业务报文来自于经过合法性校验的合法的应用客户端,即第二客户端与第一客户端是同一客户端。在这种情况下清洗设备对所述业务报文执行源地址转换和目的地址转换后,向应用服务器发送转换后得到的业务报文。
其中,本申请实施例中的会话标识以TCP连接的5元组进行标识。
通过上述过程可知,第一应用软件客户端与清洗设备在第一TCP连接建立完成后,向清洗设备发送校验报文。校验报文的目的都是判断后续的来源于第二应用软件客户端的业务报文是否和校验报文相关联,属于同一个会话。清洗设备会根据业务报文中的会话标识查询白名单标记是否存在,如果不存在,则对该业务报文进行拦截或丢弃。这样当清洗设备遭受到攻击时,能够快速识别出非法应用软件客户端,从而有针对性的阻断来自于非法应用软件客户端的流量。
可选地,清洗设备在所述业务报文对应的会话标识不具有白名单标记时,将所述业务报文对应的会话标识加入到黑名单中。
需要说明的是,所述校验报文是TCP报文,所述业务报文是TCP报文或UDP报文。
如果所述所述校验报文是TCP报文,所述业务报文是TCP报文,在所述清洗设备向应用服务器发送转换后得到的业务报文之前,所述清洗设备与所述应用服务器建立第二TCP连接;所述清洗设备向应用服务器发送转换后得到的业务报文,具体为:通过所述第二TCP连接向应用服务器发送转换后得到的业务报文。
如果所述校验报文是TCP报文、来自于第二应用软件客户端的业务报文承载在是所述第一TCP连接上的封装有TCP报文头的UDP报文,则所述清洗设备向所述应用服务器发送的业务报文是对所述来自于第二应用软件客户端的业务报文解封装去除TCP报文头后得到UDP报文,具体例子可参阅应用场景三。
如果所述校验报文是TCP报文,所述业务报文是UDP报文时,另一种可能的设计中,来自于第二应用软件客户端的业务报文无需承载在所述第一TCP连接上,此时,业务报文的会话标识由所述业务报文的4元组信息和TCP协议类型组成,具体例子可参阅应用场景四。
下面通过几个应用场景来详细说明上述方法。
应用场景一应用在如图2所示的网络组网环境下,以应用软件客户端与清洗设备第一次建立TCP连接为例,来说明图4所示的方法,具体应用场景可参阅图5所示。
在附图5中,应用软件客户端的IP地址信息是123.12.1.2:5432。清洗设备的VIP地址信息是122.13.3.2:8080,清洗设备的LIP地址信息是121.13.4.2:5433。应用服务器的IP地址信息是118.16.7.3:8080。
1)应用软件客户端通过超文本传输协议(HyperText Transfer Protocol,HTTP)协议向HTTP域名系统(HTTP Domain Name System,HTTPDNS)查询域名www.test.com对应的地址信息,查询到该域名对应的地址信息是122.13.3.2:8080。
需要说明的是,www.test.com的域名是应用服务器提供的服务的域名。查询到该域名对应的地址实际是清洗设备的VIP地址信息,通过这种配置方式能将访问应用服务器的流量引导到清洗设备,使得应用服务器的地址对公众而言不可见,从而保护应用服务器不受非法攻击。
可选地,HTTPDNS接收到域名查询请求后,向发送域名查询请求的应用客户端返回域名对应的IP地址之前,还可以执行验证处理,只有验证通过之后,再向应用客户端返回域名对应的IP地址。验证处理一方面需要验证应用软件客户端的请求解析的域名是否是合法的应用服务器提供的;另一方面还需要验证该域名查询请求是否是合法的应用软件客户端发送的。
2)应用软件客户端向清洗设备发送TCP连接建立请求,该TCP连接建立请求的源地址信息是应用软件客户端的IP地址信息:123.12.1.2:5432,目的地址信息是清洗设备的VIP地址信息:122.13.3.2:8080。应用软件客户端和清洗设备通过三次握手建立TCP连接完成后,应用软件客户端向清洗设备发送校验报文,该校验报文中携带校验信息。
3)清洗设备接收到校验报文后,提取该校验报文中的校验信息,判断校验信息是否合法。
具体的,清洗设备从所述校验信息中提取所述应用软件客户端的随机数和所述应用软件客户端的标识。清洗设备根据清洗设备的VIP地址信息在本地保存的清洗设备的VIP地址对应的应用服务器的证书中查询到校验报文的目的地址对应的应用服务器的证书,并利用预设加密算法对所述随机数、所述应用软件客户端的标识、所述应用服务器的证书进行加密得到加密串。对得到的加密串和所述随机数、所述应用软件客户端的标识进行组合得到第一信息,在所述校验信息与所述第一信息相同时,确定所述校验信息合法;否则,确定所述校验信息不合法。
比如:校验信息是35426353215657332434467863446。清洗设备从校验信息中提取出应用软件客户端的随机数(random)是35426,应用软件客户端的标识(这里以APPID表示)是434467863446,清洗设备查询到的应用服务器的证书(license)是59284。则校验信息中的353215657332是random、APPID、license按照预设加密算法进行加密得到的加密串。校验信息是得到的加密串与random、APPID的组合。清洗设备按照预定的字段格式从校验信息中提取取random和APPID,结合查询到的应用服务器的license,进行加密,得到一个新的加密串,将得到的新的加密串与random和APPID组合后得到第一信息。在校验信息与第一信息相同时,确定校验信息合法,将上述TCP连接对应的会话标识添加白名单标记,例如flag=0为未添加白名单标记,flag=1表示为该会话标识添加白名单标记。
可选地,在上述校验过程中,清洗设备也可以通过比较从校验信息中提取的加密串和自身重新生成的加密串,来完成校验。例如,在上面的例子中,清洗设备从校验信息中提取的加密串是353215657332。清洗设备按照预定的字段格式从校验信息中提取取random和APPID,结合查询到的应用服务器的license,进行加密得到一个新的加密串,如果新的加密串和提取的加密串353215657332相同,则可以确定校验成功。校验成功后在上述TCP连接对应的会话标识添加白名单标记。
4)清洗设备向应用服务器发送TCP连接建立请求,该TCP连接建立请求的源地址信息是清洗设备的LIP地址信息:121.13.4.2:5433,目的地址信息是应用服务器的IP地址信息:118.16.7.3:8080。清洗设备和应用服务器通过三次握手建立TCP连接。
5)应用软件客户端向清洗设备发送目的地址信息是清洗设备的VIP地址信息:122.13.3.2:8080的业务报文。
其中,应用软件客户端向清洗设备发送的业务报文是TCP报文。
6)清洗设备提取业务报文的源地址信息是应用软件客户端的IP地址信息:123.12.1.2:5432,目的地址信息是清洗设备的VIP地址信息122.13.3.2:8080,然后根据TCP连接的5元组在会话表中查询是否存在白名单标记,如果存在白名单标记,则对业务报文执行源地址转换和目的地址转换后,通过步骤4)中建立的TCP连接向应用服务器发送转换后得到的业务报文,否则,将该业务报文进行拦截或丢弃。
通过上述过程可知,应用软件客户端与清洗设备在每个TCP连接建立完成后,均会向清洗设备发送校验报文,校验报文的目的都是判断后续的业务报文是否和校验报文相关联,且属于同一个会话。
清洗设备在处理后续的业务报文时,会根据业务报文中的会话标识查询白名单标记是否存在,如果存在,则对业务报文执行源地址转换和目的地址转换后,向应用服务器发送转换后得到的业务报文,否则对该业务报文进行拦截或丢弃,并将其对应的会话标识输出成为黑名单库。
应用场景二
应用场景二中以清洗设备1受到攻击,应用软件客户端从DNS服务器获取到的域名对应的地址发生切换,需要再次向清洗设备2发起TCP连接建立请求为例进行说明,具体应用场景可参阅图6所示。
在附图6中,应用软件客户端的IP地址信息是123.12.1.2:5432。清洗设备1的VIP地址信息是122.13.3.2:8080,清洗设备1的LIP地址信息是121.13.4.2:5433。清洗设备2的VIP地址信息是122.13.3.3:8080,清洗设备2的LIP地址信息是121.13.4.3:5433。应用服务器的IP地址信息是118.16.7.3:8080。
1)首先,当清洗设备1的VIP地址受到DDOS攻击时,应用软件客户端的业务无法通过访问清洗设备1访问www.test.com对应的业务,则应用软件客户端通过HTTP协议向HTTPDNS查询域名www.test.com对应的新的地址信息,查询到该域名对应的新的地址信息是122.13.3.3:8080。
需要说明的是,www.test.com的域名是应用服务器提供的服务的域名,查询到该域名对应的地址实际是清洗设备2的VIP地址信息,通过这种配置方式能将访问应用服务器的流量引导到清洗设备2,使得应用服务器的地址对公众而言不可见,从而保护应用服务器不受非法攻击。
可选地,HTTPDNS接收到域名查询请求后,向发送域名查询请求的应用客户端返回域名对应的IP地址之前,还可以执行验证处理,只有验证通过之后,再向应用客户端返回域名对应的IP地址。验证处理一方面需要验证应用软件客户端的请求解析的域名是否是合法的应用服务器提供的;另一方面还需要验证该域名查询请求是否是合法的应用软件客户端发送的。
2)应用软件客户端重新向清洗设备2发送TCP连接建立请求,该TCP连接建立请求的源地址信息是应用软件客户端的IP地址信息:123.12.1.2:5432,目的地址信息是清洗设备2的VIP地址信息:122.13.3.3:8080。应用软件客户端和清洗设备2通过三次握手建立TCP连接完成后,应用软件客户端向清洗设备2发送校验报文,该校验报文中携带校验信息。
3)清洗设备2接收到校验报文后,提取该校验报文中的校验信息,判断校验信息是否合法。
具体的,清洗设备2从所述校验信息中提取所述应用软件客户端的随机数和所述应用软件客户端的标识。清洗设备2根据清洗设备2的VIP地址信息在本地保存的清洗设备2的VIP地址对应的应用服务器的证书中查询到校验报文的目的地址对应的应用服务器的证书,并利用预设加密算法对所述随机数、所述应用软件客户端的标识、所述应用服务器的证书进行加密得到加密串。对得到的加密串和所述随机数、所述应用软件客户端的标识进行组合得到第一信息,在所述校验信息与所述第一信息相同时,确定所述校验信息合法;否则,确定所述校验信息不合法。
比如:校验信息是35426353215657332434467863446,清洗设备2从校验信息中提取出应用软件客户端的随机数(random)是35426,应用软件客户端的标识(这里以APPID表示)是434467863446,清洗设备2查询到的应用服务器的的证书(license)是59284,则校验信息中的353215657332是random、APPID、license按照预设加密算法进行加密得到的加密串,校验信息是得到的加密串与random、APPID的组合,清洗设备2按照预定的字段格式从校验信息中提取取random和APPID,结合查询到的应用服务器的license,进行加密得到一个新的加密串,将新的加密串与random和APPID组合后得到第一信息。在校验信息与第一信息相同时,确定校验信息合法,将上述TCP连接对应的会话标识添加白名单标记,例如flag=0为未添加白名单标记,flag=1表示为该会话标识添加白名单标记。
可选地,在上述校验过程中,清洗设备也可以通过比较从校验信息中提取的加密串和自身重新生成的加密串,来完成校验。例如,在上面的例子中,清洗设备从校验信息中提取的加密串是353215657332。清洗设备按照预定的字段格式从校验信息中提取取random和APPID,结合查询到的应用服务器的license,进行加密得到一个新的加密串,如果新的加密串和提取的加密串353215657332相同,则可以确定校验成功。校验成功后在上述TCP连接对应的会话标识添加白名单标记。
4)清洗设备2向应用服务器发送TCP连接建立请求,该TCP连接建立请求的源地址信息是清洗设备2的LIP地址信息:121.13.4.3:5433,目的地址信息是应用服务器的IP地址信息:118.16.7.3:8080。清洗设备和应用服务器通过三次握手建立TCP连接。
5)应用软件客户端向清洗设备2发送目的地址信息是清洗设备2的VIP地址信息:122.13.3.3:8080的业务报文。
其中,应用软件客户端向清洗设备发送的业务报文是TCP报文。
6)清洗设备2提取业务报文的源地址信息是应用软件客户端的IP地址信息:123.12.1.2:5432,目的地址信息是清洗设备2的VIP地址信息122.13.3.3:8080,然后根据TCP连接的5元组在会话表中查询是否存在白名单标记,如果存在白名单标记,则对业务报文执行源地址转换和目的地址转换后,通过步骤4)中建立的TCP连接向应用服务器发送转换后得到的业务报文,否则,将该业务报文进行拦截或丢弃。
从上述过程可以看出当应用软件客户端在与清洗设备1建立TCP时,若目的地址信息发生变更或需要与清洗设备2进行TCP重连时也可以通过校验报文进行后续业务报文的校验。在应用客户端与清洗设备2的TCP连接重建立后,均会再次发送校验报文,校验报文的目的同样都是判断后续业务报文是否和校验报文相关联,且属于同一个会话。
应用场景三
应用场景三以应用软件客户端发送的校验报文是TCP报文,后续业务报文是承载在已建立的TCP连接上的UDP报文为例来说明上述方法,具体应用场景可参阅图5所示。
1)应用软件客户端通过HTTP协议向HTTPDNS查询域名为www.test.com对应的地址信息,查询到该域名对应的地址信息是122.13.3.2:8080。
需要说明的是,www.test.com的域名是应用服务器提供的服务的域名。查询到该域名对应的地址实际是清洗设备的VIP地址信息,通过这种配置方式能将访问应用服务器的流量引导到清洗设备,使得应用服务器的地址对公众而言不可见,从而保护应用服务器不受非法攻击。
可选地,HTTPDNS接收到域名查询请求后,向发送域名查询请求的应用客户端返回域名对应的IP地址之前,还可以执行验证处理,只有验证通过之后,再向应用客户端返回域名对应的IP地址。验证处理一方面需要验证应用软件客户端的请求解析的域名是否是合法的应用服务器提供的;另一方面还需要验证该域名查询请求是否是合法的应用软件客户端发送的。
2)应用软件客户端向清洗设备发送TCP连接建立请求,该TCP连接建立请求的源地址信息是应用软件客户端的IP地址信息:123.12.1.2:5432,目的地址信息是清洗设备的VIP地址信息:122.13.3.2:8080。应用软件客户端和清洗设备通过三次握手建立TCP连接完成后,应用软件客户端向清洗设备发送校验报文,该校验报文中携带校验信息。
3)清洗设备接收到校验报文后,提取该校验报文中的校验信息,判断校验信息是否合法。
具体的,清洗设备从所述校验信息中提取所述应用软件客户端的随机数和所述应用软件客户端的标识。清洗设备根据清洗设备的VIP地址信息在本地保存的清洗设备的VIP地址对应的应用服务器的证书中查询到校验报文的目的地址对应的应用服务器的证书,并利用预设加密算法对所述随机数、所述应用软件客户端的标识、所述应用服务器的证书进行加密得到加密串。对得到的加密串和所述随机数、所述应用软件客户端的标识进行组合得到第一信息,在所述校验信息与所述第一信息相同时,确定所述校验信息合法;否则,确定所述校验信息不合法。
比如:校验信息是35426353215657332434467863446。清洗设备从校验信息中提取出应用软件客户端的随机数(random)是35426,应用软件客户端的标识(这里以APPID表示)是434467863446,清洗设备查询到的应用服务器的证书(license)是59284。则校验信息中的353215657332是random、APPID、license按照预设加密算法进行加密得到的加密串。校验信息是得到的加密串与random、APPID的组合。清洗设备按照预定的字段格式从校验信息中提取取random和APPID,结合查询到的应用服务器的license,进行加密得到一个新的加密串,将得到的新的加密串与random和APPID组合后得到第一信息。在校验信息与第一信息相同时,确定校验信息合法,将上述TCP连接对应的会话标识添加白名单标记,例如flag=0为未添加白名单标记,flag=1表示为该会话标识添加白名单标记。
4)应用软件客户端向清洗设备发送目的地址信息是清洗设备的VIP地址信息:122.13.3.2:8080的业务报文。
其中,应用软件客户端向清洗设备发送的业务报文是UDP报文。
应用软件客户端发送的业务报文承载在步骤2建立的TCP连接的基础上,此时应用软件客户端在sdk中为业务报文添加TCP报文头,此时应用软件客户端发送的业务报文的网络层括UDP报文头和TCP报文头。具体可参阅图7所示。
5)清洗设备提取业务报文的源地址信息是应用软件客户端的IP地址信息:123.12.1.2:5432,目的地址信息是清洗设备的VIP地址信息122.13.3.2:8080。然后清洗设备根据TCP连接的5元组在会话表查询是否存在白名单标记,如果存在白名单标记,清洗设备针对业务报文卸载TCP报头,将业务报文还原为UDP报文后,对业务报文执行源地址转换和目的地址转换后,向应用服务器发送转换后得到的业务报文,否则,将该业务报文进行拦截或丢弃。
通过上述过程可知,应用软件客户端在发送每个UDP报文时,均会将UDP报文承载在TCP连接之上,TCP连接建立完成后,均会发送校验报文,校验报文的目的都是判断后续业务报文是否和校验报文相关联,且属于同一个会话。
清洗设备在处理校验报文时,会将校验报文与该TCP连接请求的会话进行关联匹配;清洗设备在处理后续的业务报文时,会根据业务报文中的会话标识在会话表中查询白名单标记是否存在,如果存在,则将业务报文还原为UDP报文后执行源地址转换和目的地址转换,然后向应用服务器发送转换后得到的业务报文,否则对该业务报文进行拦截或丢弃,并将其对应的会话输出成为黑名单库。
应用场景四
应用场景四中以应用软件客户端以UDP方式发送报文,应用软件客户端与清洗设备建立完成TCP连接后,发送校验报文。清洗设备对该TCP连接对应的会话进行合法性校验。清洗设备在后续处理UDP业务报文时,根据UDP业务报文的五元组查询关联的TCP会话是否有白名单标记,从而确认是否该UDP业务报文是否被拦截或丢弃。具体应用场景可参阅图5所示:
1)应用软件客户端通过HTTP协议向HTTPDNS查询域名为www.test.com对应的地址信息,查询到该域名对应的地址信息是122.13.3.2:8080。
需要说明的是,www.test.com的域名是应用服务器提供的服务的域名。查询到该域名对应的地址实际是清洗设备的VIP地址信息,通过这种配置方式能将访问应用服务器的流量引导到清洗设备,使得应用服务器的地址对公众而言不可见,从而保护应用服务器不受非法攻击。
可选地,HTTPDNS接收到域名查询请求后,向发送域名查询请求的应用客户端返回域名对应的IP地址之前,还可以执行验证处理,只有验证通过之后,再向应用客户端返回域名对应的IP地址。验证处理一方面需要验证应用软件客户端的请求解析的域名是否是合法的应用服务器提供的;另一方面还需要验证该域名查询请求是否是合法的应用软件客户端发送的。
2)应用软件客户端向清洗设备发送TCP连接建立请求,该TCP连接建立请求的源地址信息是应用软件客户端的IP地址信息:123.12.1.2:5432,目的地址信息是清洗设备的VIP地址信息:122.13.3.2:8080。应用软件客户端和清洗设备通过三次握手建立TCP连接完成后,应用软件客户端向清洗设备发送校验报文,该校验报文中携带校验信息。
3)清洗设备接收到校验报文后,提取该校验报文中的校验信息,判断校验信息是否合法。
具体的,清洗设备从所述校验信息中提取所述应用软件客户端的随机数和所述应用软件客户端的标识。清洗设备根据清洗设备的VIP地址信息在本地保存的清洗设备的VIP地址对应的应用服务器的证书中查询到校验报文的目的地址对应的应用服务器的证书,并利用预设加密算法对所述随机数、所述应用软件客户端的标识、所述应用服务器的证书进行加密得到加密串。对得到的加密串和所述随机数、所述应用软件客户端的标识进行组合得到第一信息,在所述校验信息与所述第一信息相同时,确定所述校验信息合法;否则,确定所述校验信息不合法。
比如:校验信息是35426353215657332434467863446。清洗设备从校验信息中提取出应用软件客户端的随机数(random)是35426,应用软件客户端的标识(这里以APPID表示)是434467863446,清洗设备查询到的应用服务器的证书(license)是59284。则校验信息中的353215657332是random、APPID、license按照预设加密算法进行加密得到的加密串。校验信息是得到的加密串与random、APPID的组合。清洗设备按照预定的字段格式从校验信息中提取取random和APPID,结合查询到的应用服务器的license,进行加密,得到一个新的加密串,将得到的新的加密串与random和APPID组合后得到第一信息。在校验信息与第一信息相同时,确定校验信息合法,将上述TCP连接对应的会话标识添加白名单标记,例如flag=0为未添加白名单标记,flag=1表示为该会话标识添加白名单标记。
4)应用软件客户端向清洗设备发送目的地址信息是清洗设备的VIP地址信息:122.13.3.2:8080的业务报文。
其中,应用软件客户端向清洗设备发送的业务报文是UDP报文。
5)清洗设备提取业务报文的4元组信息,具体包括源IP地址,源目的IP,源端口号(Port)和目的端口号,再添加上TCP协议类型组成5元组信息与TCP连接建立请求的5元组会话表进行关联,查询该TCP连接建立请求的5元组会话表是否存在白名单标记,如果存在白名单标记,对业务报文执行源地址转换和目的地址转换后,向应用服务器发送转换后得到的业务报文,否则,将该业务报文进行拦截或丢弃。
通过上述过程可知,应用软件客户端在发送每个业务报文时,均会将业务报文进行4元组提取,组成5元组信息与TCP连接建立请求的5元组会话相校验关联,如图8所示,进一步的,在会话表中查询该TCP连接建立请求的5元组会话是否存在白名单标记,如果存在,则将业务报文执行源地址转换和目的地址转换,然后向应用服务器发送转换后得到的业务报文,否则对该业务报文进行拦截或丢弃,并将其对应的会话输出成为黑名单库。
通过上述过程可知,应用软件客户端与清洗设备在每个TCP连接建立完成后,均会向清洗设备发送校验报文,校验报文的目的都是判断后续的UDP业务报文是否和校验报文相关联,且属于同一个会话。
基于上述实施例,本申请实施例提供一种识别应用攻击源的设备。该设备可执行本申请前述实施例所描述的方法流程,该设备中用以执行本申请前述实施例所描述的方法流程的功能模块可以通过硬件、软件编程以及软硬件的组合来实现,硬件可包括一个或多个信号处理和/或专用集成电路。
图9示出了本申请一些实施例所提供的识别应用攻击源的设备的结构示意图,如图9所示,该设备90包括:
建立单元91,用于与第一应用软件客户端建立第一TCP连接,所述设备部署在所述第一应用软件客户端和应用服务器之间的报文转发路径上,用于对发往所述应用服务器的报文进行流量清洗;
接收单元92,用于通过所述第一TCP连接接收来自于所述第一应用软件客户端的校验报文,所述校验报文中携带校验信息;
处理单元93,用于对所述校验信息进行合法性校验,在校验结果为合法时,在所述设备的会话表中为所述第一TCP连接对应的会话标识添加白名单标记;
所述接收单元92,还用于接收来自于第二应用软件客户端业务报文;
所述处理单元93,还用于在所述会话表中查询所述业务报文的会话标识,如果所述业务报文对应的会话标识不具有白名单标记,拦截或丢弃所述业务报文。
可选地,所述校验信息是第一加密串、所述第一应用软件客户端生成的随机数、和所述第一应用软件客户端的标识的组合,所述第一加密串是所述第一应用软件客户端使用预设加密算法对所述随机数、所述第一应用软件客户端的标识、和所述第一应用软件客户端保存的所述应用服务器的证书进行加密得到的。
可选地,所述处理单元93对所述校验信息进行合法性校验时,具体用于:
按照预定的组合方式从所述校验信息中提取所述第一应用软件客户端生成的随机数和所述第一应用软件客户端的标识;
根据所述设备的虚拟网际协议VIP地址信息,获取所述设备的VIP地址信息对应的应用服务器的证书,并对第二加密串和所述第一应用软件客户端生成的随机数、所述第一应用软件客户端的标识进行组合得到第一信息,所述第二加密串是所述设备对提取的所述随机数、所述第一应用软件客户端的标识、获取到的所述应用服务器的证书进行加密得到的;
在所述校验信息与所述第一信息相同时,确定所述校验信息合法,否则,确定所述校验信息非法。
可选地,所述设备90还包括发送单元94,用于:
在所述业务报文对应的会话标识具有白名单标记时,对所述业务报文执行源地址转换和目的地址转换后,向所述应用服务器发送转换后得到的业务报文。
可选地,如果所述校验报文是TCP报文、且来自于第二应用软件客户端的业务报文承载在是所述第一TCP连接上的封装有TCP报文头的UDP报文,则所述发送单元94向所述应用服务器发送的业务报文是对所述来自于第二应用软件客户端的业务报文解封装去除TCP报文头后得到UDP报文。
可选地,如果所述校验报文是TCP报文,所述业务报文是UDP报文,则所述来自于第二应用软件客户端的业务报文无需承载在所述第一TCP连接上。
可选地,如果所述所述校验报文是TCP报文,所述业务报文是TCP报文,在所述发送单元94向应用服务器发送转换后得到的业务报文之前,所述建立单元91还用于:与所述应用服务器建立第二TCP连接;
所述发送单元94在向应用服务器发送转换后得到的业务报文时,具体用于:通过所述第二TCP连接向应用服务器发送转换后得到的业务报文。
基于同一发明构思,本申请一些实施例所提供的识别应用攻击源的设备的解决问题的原理以及有益效果可以参见上述图4所示方法的实施方式以及所带来的有益效果,该识别应用攻击源的设备的具体实施细节也可以参见上述各方法实施例,重复之处不再赘述。
基于相同的技术构思,本申请一些实施例还提供了一种清洗设备,该清洗设备可用于执行本申请前述实方法施例所描述的应用攻击源的识别流程。该清洗设备的硬件实现可参考图3及其相关描述。其中:
网络接口301,用于与应用软件客户端或应用服务器建立TCP连接,通过与应用软件客户端建立的TCP连接接收应用软件客户端发送的校验报文和业务报文;通过与应用服务器建立的TCP连接向应用服务器发送业务报文。
所述存储器302,用于存储指令和数据。
处理器303用于读取所述存储器302中存储的指令和数据后,执行以下操作:通过网络接口301与第一应用软件客户端建立第一TCP连接;通过所述第一TCP连接接收来自于所述第一应用软件客户端的校验报文,所述校验报文中携带校验信息;对所述校验信息进行合法性校验,在校验结果为合法时,在所述清洗设备的会话表中为所述第一TCP连接对应的会话标识添加白名单标记;接收来自于第二应用软件客户端业务报文;所述清洗设备在所述会话表中查询所述业务报文的会话标识,如果所述业务报文对应的会话标识不具有白名单标记,拦截或丢弃所述业务报文。
可选地,所述校验信息是第一加密串、所述第一应用软件客户端生成的随机数、和所述第一应用软件客户端的标识的组合,所述第一加密串是所述第一应用软件客户端使用预设加密算法对所述随机数、所述第一应用软件客户端的标识、和所述第一应用软件客户端保存的所述应用服务器的证书进行加密得到的。
可选地,所述处理器303对所述校验信息进行合法性校验时,具体用于:
按照预定的组合方式从所述校验信息中提取所述第一应用软件客户端生成的随机数和所述第一应用软件客户端的标识;
根据所述设备的虚拟网际协议VIP地址信息,获取所述设备的VIP地址信息对应的应用服务器的证书,并对第二加密串和所述第一应用软件客户端生成的随机数、所述第一应用软件客户端的标识进行组合得到第一信息,所述第二加密串是所述设备对提取的所述随机数、所述第一应用软件客户端的标识、获取到的所述应用服务器的证书进行加密得到的;
在所述校验信息与所述第一信息相同时,确定所述校验信息合法,否则,确定所述校验信息非法。
可选地,所述处理器303,还用于:
在所述业务报文对应的会话标识具有白名单标记时,对所述业务报文执行源地址转换和目的地址转换后,通过网络接口301向所述应用服务器发送转换后得到的业务报文。
可选地,如果所述校验报文是TCP报文、且来自于第二应用软件客户端的业务报文承载在是所述第一TCP连接上的封装有TCP报文头的UDP报文,则所述向所述应用服务器发送的业务报文是对所述来自于第二应用软件客户端的业务报文解封装去除TCP报文头后得到UDP报文。
可选地,如果所述校验报文是TCP报文,所述业务报文是UDP报文,则所述来自于第二应用软件客户端的业务报文无需承载在所述第一TCP连接上。
可选地,如果所述所述校验报文是TCP报文,所述业务报文是TCP报文,所述通过所述网络接口301向应用服务器发送转换后得到的业务报文之前,所述处理器303还用于:与所述应用服务器建立第二TCP连接;通过所述网络接口301在向应用服务器发送转换后得到的业务报文时,具体用于:通过所述第二TCP连接向应用服务器发送转换后得到的业务报文。
基于相同的技术构思,本申请一些实施例所提供的清洗设备的解决问题的原理以及有益效果可以参见上述图4所示方法的实施方式以及所带来的有益效果,该清洗设备的具体实施细节可以参见上述各方法实施例,重复之处不再赘述。
上述实施例可以全部或部分地通过软件、硬件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、双绞线或光纤)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如光盘)、或者半导体介质(例如固态硬盘)等。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求的范围之内,则本申请也意图包括这些改动和变型在内。

Claims (14)

1.一种识别应用攻击源的方法,其特征在于,包括:
清洗设备与第一应用软件客户端建立第一TCP连接,所述清洗设备部署在所述第一应用软件客户端和应用服务器之间的报文转发路径上,用于对发往所述应用服务器的报文进行流量清洗;
在所述第一TCP连接建立完成后,所述清洗设备通过所述第一TCP连接接收来自于所述第一应用软件客户端的校验报文,所述校验报文中携带校验信息;
所述清洗设备对所述校验信息进行合法性校验,在校验结果为合法时,在所述清洗设备的会话表中为所述第一TCP连接对应的会话标识添加白名单标记;
所述清洗设备接收来自于第二应用软件客户端业务报文;
所述清洗设备在所述会话表中查询所述业务报文的会话标识,如果所述业务报文对应的会话标识不具有白名单标记,拦截或丢弃所述业务报文。
2.如权利要求1所述的方法,其特征在于,所述校验信息是第一加密串、所述第一应用软件客户端生成的随机数、和所述第一应用软件客户端的标识的组合,所述第一加密串是所述第一应用软件客户端使用预设加密算法对所述随机数、所述第一应用软件客户端的标识、和所述第一应用软件客户端保存的所述应用服务器的证书进行加密得到的。
3.如权利要求2所述的方法,其特征在于,所述清洗设备对所述校验信息进行合法性校验,包括:
所述清洗设备按照预定的组合方式从所述校验信息中提取所述第一应用软件客户端生成的随机数和所述第一应用软件客户端的标识;
所述清洗设备根据所述清洗设备的虚拟网际协议VIP地址信息,获取所述清洗设备的VIP地址信息对应的应用服务器的证书,并对第二加密串和所述第一应用软件客户端生成的随机数、所述第一应用软件客户端的标识进行组合得到第一信息,所述第二加密串是所述清洗设备使用所述预设加密算法对提取的所述随机数、所述第一应用软件客户端的标识、获取到的所述应用服务器的证书进行加密得到的;
在所述校验信息与所述第一信息相同时,所述清洗设备确定所述校验信息合法,否则,确定所述校验信息非法。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
如果所述业务报文对应的会话标识具有白名单标记时,所述清洗设备对所述业务报文执行源地址转换和目的地址转换后,向所述应用服务器发送转换后得到的业务报文。
5.如权利要求4所述的方法,其特征在于,如果所述校验报文是TCP报文、且来自于第二应用软件客户端的业务报文是承载在所述第一TCP连接上的封装有TCP报文头的UDP报文,则所述清洗设备向所述应用服务器发送的业务报文是对所述来自于第二应用软件客户端的业务报文解封装去除TCP报文头后得到UDP报文。
6.如权利要求1-4任一所述的方法,其特征在于,如果所述校验报文是TCP报文,所述业务报文是UDP报文,则所述来自于第二应用软件客户端的业务报文无需承载在所述第一TCP连接上。
7.如权利要求4所述的方法,其特征在于,如果所述校验报文是TCP报文,所述业务报文是TCP报文,向所述应用服务器发送转换后得到的业务报文之前,还包括:
所述清洗设备与所述应用服务器建立第二TCP连接;
所述向应用服务器发送转换后得到的业务报文,包括:通过所述第二TCP连接向应用服务器发送转换后得到的业务报文。
8.一种识别应用攻击源的设备,其特征在于,包括:
建立单元,用于与第一应用软件客户端建立第一TCP连接,所述设备部署在所述第一应用软件客户端和应用服务器之间的报文转发路径上,用于对发往所述应用服务器的报文进行流量清洗;
接收单元,用于在所述第一TCP连接建立完成后,通过所述第一TCP连接接收来自于所述第一应用软件客户端的校验报文,所述校验报文中携带校验信息;
处理单元,用于对所述校验信息进行合法性校验,在校验结果为合法时,在所述设备的会话表中为所述第一TCP连接对应的会话标识添加白名单标记;
所述接收单元,还用于接收来自于第二应用软件客户端业务报文;
所述处理单元,还用于在所述会话表中查询所述业务报文的会话标识,如果所述业务报文对应的会话标识不具有白名单标记,拦截或丢弃所述业务报文。
9.如权利要求8所述的设备,其特征在于,所述校验信息是第一加密串、所述第一应用软件客户端生成的随机数、和所述第一应用软件客户端的标识的组合,所述第一加密串是所述第一应用软件客户端使用预设加密算法对所述随机数、所述第一应用软件客户端的标识、和所述第一应用软件客户端保存的所述应用服务器的证书进行加密得到的。
10.如权利要求9所述的设备,其特征在于,所述处理单元对所述校验信息进行合法性校验时,具体用于:
按照预定的组合方式从所述校验信息中提取所述第一应用软件客户端生成的随机数和所述第一应用软件客户端的标识;
根据所述设备的虚拟网际协议VIP地址信息,获取所述设备的VIP地址信息对应的应用服务器的证书,并对第二加密串和所述第一应用软件客户端生成的随机数、所述第一应用软件客户端的标识进行组合得到第一信息,所述第二加密串是所述设备使用所述预设加密算法对提取的所述随机数、所述第一应用软件客户端的标识、获取到的所述应用服务器的证书进行加密得到的;
在所述校验信息与所述第一信息相同时,确定所述校验信息合法,否则,确定所述校验信息非法。
11.如权利要求8所述的设备,其特征在于,所述设备还包括发送单元,用于:
在所述业务报文对应的会话标识具有白名单标记时,对所述业务报文执行源地址转换和目的地址转换后,向所述应用服务器发送转换后得到的业务报文。
12.如权利要求11所述的设备,其特征在于,如果所述校验报文是TCP报文、且来自于第二应用软件客户端的业务报文是承载在所述第一TCP连接上的封装有TCP报文头的UDP报文,则所述发送单元向所述应用服务器发送的业务报文是对所述来自于第二应用软件客户端的业务报文解封装去除TCP报文头后得到UDP报文。
13.如权利要求8-11任一所述的设备,其特征在于,如果所述校验报文是TCP报文,所述业务报文是UDP报文,则所述来自于第二应用软件客户端的业务报文无需承载在所述第一TCP连接上。
14.如权利要求11所述的设备,其特征在于,如果所述校验报文是TCP报文,所述业务报文是TCP报文,在所述发送单元向应用服务器发送转换后得到的业务报文之前,所述建立单元还用于:与所述应用服务器建立第二TCP连接;
所述发送单元在向应用服务器发送转换后得到的业务报文时,具体用于:通过所述第二TCP连接向应用服务器发送转换后得到的业务报文。
CN201810032619.9A 2018-01-12 2018-01-12 一种识别应用攻击源的方法和设备 Active CN110035041B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810032619.9A CN110035041B (zh) 2018-01-12 2018-01-12 一种识别应用攻击源的方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810032619.9A CN110035041B (zh) 2018-01-12 2018-01-12 一种识别应用攻击源的方法和设备

Publications (2)

Publication Number Publication Date
CN110035041A CN110035041A (zh) 2019-07-19
CN110035041B true CN110035041B (zh) 2020-11-17

Family

ID=67234603

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810032619.9A Active CN110035041B (zh) 2018-01-12 2018-01-12 一种识别应用攻击源的方法和设备

Country Status (1)

Country Link
CN (1) CN110035041B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111031004B (zh) * 2019-11-21 2021-11-26 腾讯科技(深圳)有限公司 业务流量处理的方法、业务流量学习的方法、装置及系统

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101064604A (zh) * 2006-04-29 2007-10-31 西门子公司 远程访问方法、系统及设备
CN101286843A (zh) * 2008-06-03 2008-10-15 江西省电力信息通讯有限公司 点对点模式下单点登录方法
CN101505218A (zh) * 2009-03-18 2009-08-12 杭州华三通信技术有限公司 攻击报文的检测方法和装置
CN103237039A (zh) * 2013-05-10 2013-08-07 汉柏科技有限公司 一种报文转发方法及设备
CN105049431A (zh) * 2015-06-30 2015-11-11 深圳市深信服电子科技有限公司 数据访问控制方法和装置
CN105516080A (zh) * 2015-11-24 2016-04-20 网宿科技股份有限公司 Tcp连接的处理方法、装置及系统
CN105530255A (zh) * 2015-12-16 2016-04-27 网宿科技股份有限公司 验证请求数据的方法及装置
CN106101127A (zh) * 2016-06-30 2016-11-09 Tcl集团股份有限公司 一种应用鉴权方法、装置和系统
CN106506541A (zh) * 2016-12-16 2017-03-15 北京匡恩网络科技有限责任公司 生成网络白名单的方法和装置
CN106656989A (zh) * 2016-11-03 2017-05-10 北京奇虎科技有限公司 一种流量监控方法及终端
CN106790178A (zh) * 2016-12-30 2017-05-31 网宿科技股份有限公司 防入侵认证方法、系统及装置
CN107241301A (zh) * 2016-03-29 2017-10-10 阿里巴巴集团控股有限公司 防御反射攻击的方法、装置和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9053318B2 (en) * 2012-07-17 2015-06-09 CallSign, Inc. Anti-cloning system and method

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101064604A (zh) * 2006-04-29 2007-10-31 西门子公司 远程访问方法、系统及设备
CN101286843A (zh) * 2008-06-03 2008-10-15 江西省电力信息通讯有限公司 点对点模式下单点登录方法
CN101505218A (zh) * 2009-03-18 2009-08-12 杭州华三通信技术有限公司 攻击报文的检测方法和装置
CN103237039A (zh) * 2013-05-10 2013-08-07 汉柏科技有限公司 一种报文转发方法及设备
CN105049431A (zh) * 2015-06-30 2015-11-11 深圳市深信服电子科技有限公司 数据访问控制方法和装置
CN105516080A (zh) * 2015-11-24 2016-04-20 网宿科技股份有限公司 Tcp连接的处理方法、装置及系统
CN105530255A (zh) * 2015-12-16 2016-04-27 网宿科技股份有限公司 验证请求数据的方法及装置
CN107241301A (zh) * 2016-03-29 2017-10-10 阿里巴巴集团控股有限公司 防御反射攻击的方法、装置和系统
CN106101127A (zh) * 2016-06-30 2016-11-09 Tcl集团股份有限公司 一种应用鉴权方法、装置和系统
CN106656989A (zh) * 2016-11-03 2017-05-10 北京奇虎科技有限公司 一种流量监控方法及终端
CN106506541A (zh) * 2016-12-16 2017-03-15 北京匡恩网络科技有限责任公司 生成网络白名单的方法和装置
CN106790178A (zh) * 2016-12-30 2017-05-31 网宿科技股份有限公司 防入侵认证方法、系统及装置

Also Published As

Publication number Publication date
CN110035041A (zh) 2019-07-19

Similar Documents

Publication Publication Date Title
EP2850770B1 (en) Transport layer security traffic control using service name identification
CN105991595B (zh) 网络安全防护方法及装置
US20100095351A1 (en) Method, device for identifying service flows and method, system for protecting against deny of service attack
JP7388613B2 (ja) パケット処理方法及び装置、デバイス、並びに、コンピュータ可読ストレージ媒体
CN110020955B (zh) 在线医保信息处理方法及装置、服务器和用户终端
CN110198297B (zh) 流量数据监控方法、装置、电子设备及计算机可读介质
JP5864598B2 (ja) ユーザにサービスアクセスを提供する方法およびシステム
CN111565203B (zh) 业务请求的防护方法、装置、系统和计算机设备
EP3442195B1 (en) Reliable and secure parsing of packets
CN110035039B (zh) 一种会话保持的方法和设备
CN111935212A (zh) 安全路由器及基于安全路由器的物联网安全联网方法
Huang et al. An authentication scheme to defend against UDP DrDoS attacks in 5G networks
CN115603932A (zh) 一种访问控制方法、访问控制系统及相关设备
JP2013522786A (ja) 方法を実行するデバイスを介してアクセス可能なデータまたはサービスに対するアクセスのセキュリティを保護する方法、およびそれに対応するデバイス
US20110154469A1 (en) Methods, systems, and computer program products for access control services using source port filtering
CN110035041B (zh) 一种识别应用攻击源的方法和设备
CN112087427B (zh) 通信验证方法、电子设备及存储介质
CN114499969B (zh) 一种通信报文的处理方法、装置、电子设备及存储介质
US11784993B2 (en) Cross site request forgery (CSRF) protection for web browsers
US10771391B2 (en) Policy enforcement based on host value classification
US10079857B2 (en) Method of slowing down a communication in a network
US8590031B2 (en) Methods, systems, and computer program products for access control services using a transparent firewall in conjunction with an authentication server
CN115208599A (zh) 一种防御DDoS攻击的方法以及相关装置
Gokcen A Preliminary Study for Identifying NAT Traffic Using Machine Learning
CN112437083A (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