一种恶意流量检测方法和装置制造方法及图纸

技术编号:33550657 阅读:10 留言:0更新日期:2022-05-26 22:46
本申请公开了一种恶意流量检测方法,包括以下步骤:建立域名数据库,包含禁止访问的服务器名单;在来自客户端的加密流量中,获得客户端发出的Client Hello包,提取Hello包中的SNI信息;将SNI中的第一服务器名称和所述域名数据库比较;响应于所述第一服务器名称与所述域名数据库中任一域名相同,阻断所述客户端和所述第一服务器的链接。本申请还包含实现所述方法的装置。本申请解决传统发送RST包阻断连接方式阻断率低的问题。接方式阻断率低的问题。接方式阻断率低的问题。

【技术实现步骤摘要】
一种恶意流量检测方法和装置


[0001]本申请涉及计算机
,尤其涉及一种基于服务器名称指示的恶意流量检测技术。

技术介绍

[0002]蜜罐技术通过让外来攻击者“入瓮”,从而起到保护真实服务器不受攻击的作用,同时运维蜜罐的工程师也可以凭此来分析外来攻击者的行为。但蜜罐自身也存在被外来攻击者攻破的风险,外来攻击者可以利用被攻破的蜜罐作为跳板,攻击内、外网的其它服务器,从而造成严重损失。
[0003]传统的蜜罐针对恶意流量检测使用DNS Sinkhole重定向恶意流量、主干网流量恶意域名检测等技术去分析并拦截恶意流量。
[0004]新型DNS加密病毒利用最新的DNS加密协议(如DNS

over

HTTPS),使得数据链路上的中间人攻击者无法识别到DNS流量,进而无法针对性地阻断或是欺骗,此时,使用DNS Sinkhole技术的蜜罐也失去了效果。传统采用发送RST包的方式阻断连接,通过中间人攻击的方法向服务端或客户端发送伪造的RST包,以终止双方的连接,缺点就是阻断率太低。当访问小文件或网页的时候,常常十几个连接当中只有四五个能成功阻断。

技术实现思路

[0005]为解决传统发送RST包阻断连接方式阻断率低的问题,本申请提出一种恶意流量检测的方法和装置。
[0006]一方面,本申请实施例提出一种恶意流量检测方法,包括以下步骤:
[0007]建立域名数据库,包含禁止访问的服务器名单;
[0008]在来自客户端的加密流量中,获得客户端发出的Client Hello包,提取Hello包中的SNI信息;
[0009]将SNI中的第一服务器名称和所述域名数据库比较;
[0010]响应于所述第一服务器名称与所述域名数据库中任一域名相同,阻断所述客户端和所述第一服务器的链接。
[0011]优选地,响应于所述服务器名称与所述域名数据库中任一域名相同,将所述客户端发出的与Client Hello包关联的数据重定向至第二服务器。进一步优选地,将所述SNI中的第一服务器名称修改为第三服务器名称。
[0012]获得客户端发出的Client Hello包的步骤,进一步包括:根据第一标识确定数据包的IP层协议为TCP协议;根据第二标识确定TCP处于未断开连接状态;根据第三标识确定TLS内存类型为握手包;根据第四标识确定TLS握手包为Client Hello包。
[0013]提取Hello包中的SNI信息的步骤,进一步包括:取得Session id length的值为x,Cipher length的值为y,Server Name length的值为L;则Server Name的值起始于第x+y+113字节,终止于第x+y+112+L字节。
[0014]优选地,用LINUX内核的IP tables命令阻断所述客户端和所述服务器之间的通信。
[0015]优选地,响应于来自客户端的数据流包含HTTP Flood攻击,与所述客户端关联的服务器名称被存储在所述域名数据库。
[0016]另一方面,本申请还提出一种恶意流量检测装置,用于实现本申请任意一项实施例所述方法,所述装置包括:
[0017]所述数据采集模块,用于分析出站的网络流量包,获得客户端发出的Client Hello包;
[0018]所述SNI生成模块,用于提取Hello包中的SNI信息,将SNI中的第一服务器名称和所述域名数据库比较;
[0019]所述阻断模块,用于响应于所述第一服务器名称与所述域名数据库中任一域名相同,阻断所述客户端和所述第一服务器的链接。
[0020]本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
[0021]在加密访问可保障通讯安全的情况下,多数网络设备对网络攻击、恶意软件等加密流量却无能为力,攻击者也会使用加密的方式来伪装或者隐藏攻击行为,如新型的DNS加密协议,所以检测出恶意加密流量是非常必要的。本申请解决传统发送RST包阻断连接方式所带来的低阻断率,不管是多小的恶意数据包或者恶意文件,在通过SNI信息提取对比后,都能达到一个较高的阻断率。
附图说明
[0022]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0023]图1为本专利技术系统应用场景;
[0024]图2为本专利技术恶意流量检测方法的实施例流程图;
[0025]图3为本专利技术恶意流量检测装置的实施例;
[0026]图4为数据采集过程的实施例流程图;
[0027]图5为Server Name位置示意图;
[0028]图6为SNI阻断过程的实施例流程图。
具体实施方式
[0029]为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0030]本专利技术提出了针对蜜罐、防火墙、态势感知等流量监测设备的恶意流量检测技术;采用SNI技术配合Linux内核的Iptables命令来阻断恶意域名对应IP地址的连接。
[0031]以下结合附图,详细说明本申请各实施例提供的技术方案。
[0032]图1为本专利技术系统应用场景,包含客户端设备、蜜罐、服务器结构。
[0033]本申请的最佳实施例中,方法利用HTTPS握手包中未加密的服务器名称标识
(Server Name Indication,SNI)信息,来判断蜜罐对外的连接是否是恶意连接。一旦发现恶意的SNI信息,就调用Iptables阻断模块,阻断对应恶意IP的通信,以防止恶意IP再次连接通信。
[0034]图2为本专利技术恶意流量检测方法的实施例流程图。
[0035]本申请实施例提出一种恶意流量检测方法,包括以下步骤:
[0036]步骤11、建立域名数据库,包含禁止访问的服务器名单;
[0037]所述禁止访问的服务器名单,例如具有恶意流量历史的服务器列入黑名单;或者是由于安全的原因要保护而禁止访问的的网站域名。
[0038]优选地,响应于来自客户端的数据流包含HTTP Flood攻击,与所述客户端关联的服务器名称被存储在所述域名数据库。
[0039]步骤12、在来自客户端的加密流量中,获得客户端发出的Client Hello包。
[0040]在本步骤中,检查蜜罐每个出入包的流量;
[0041]获得客户端发出的Client Hello包的步骤,进一步包括:根据第一标识确定数据包的IP层协议为TCP协议;根据第二标识确定TCP处于未断开连接状态;根据第三标识确定TLS内存类型为握手包;根据第四标本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种恶意流量检测方法,其特征在于,包括以下步骤:建立域名数据库,包含禁止访问的服务器名单;在来自客户端的加密流量中,获得客户端发出的Client Hello包,提取Hello包中的SNI信息;将SNI中的第一服务器名称和所述域名数据库比较;响应于所述第一服务器名称与所述域名数据库中任一域名相同,阻断所述客户端和所述第一服务器的链接。2.如权利要求1所述恶意流量检测方法,其特征在于,响应于所述服务器名称与所述域名数据库中任一域名相同,将所述客户端发出的与Client Hello包关联的数据重定向至第二服务器。3.如权利要求1所述恶意流量检测方法,其特征在于,获得客户端发出的Client Hello包的步骤,进一步包括:根据第一标识确定数据包的IP层协议为TCP协议;根据第二标识确定TCP处于未断开连接状态;根据第三标识确定TLS内存类型为握手包;根据第四标识确定TLS握手包为Client Hello包。4.如权利要求1所述恶意流量检测方法,其特征在于,提取Hello包中的SNI信息的步骤,进一步包括:取得Session id length的值为x,Cipher length的值为y,Server Name length的值为L;则Server Name的值起始于第x+y+113字节,终止于第...

【专利技术属性】
技术研发人员:金辉黄潇吴建平
申请(专利权)人:北京美亚柏科网络安全科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1