1.本技术涉及计算机
技术领域:
:,尤其涉及一种基于服务器名称指示的恶意流量检测技术。
背景技术:
::2.蜜罐技术通过让外来攻击者“入瓮”,从而起到保护真实服务器不受攻击的作用,同时运维蜜罐的工程师也可以凭此来分析外来攻击者的行为。但蜜罐自身也存在被外来攻击者攻破的风险,外来攻击者可以利用被攻破的蜜罐作为跳板,攻击内、外网的其它服务器,从而造成严重损失。3.传统的蜜罐针对恶意流量检测使用dnssinkhole重定向恶意流量、主干网流量恶意域名检测等技术去分析并拦截恶意流量。4.新型dns加密病毒利用最新的dns加密协议(如dns-over-https),使得数据链路上的中间人攻击者无法识别到dns流量,进而无法针对性地阻断或是欺骗,此时,使用dnssinkhole技术的蜜罐也失去了效果。传统采用发送rst包的方式阻断连接,通过中间人攻击的方法向服务端或客户端发送伪造的rst包,以终止双方的连接,缺点就是阻断率太低。当访问小文件或网页的时候,常常十几个连接当中只有四五个能成功阻断。技术实现要素:5.为解决传统发送rst包阻断连接方式阻断率低的问题,本技术提出一种恶意流量检测的方法和装置。6.一方面,本技术实施例提出一种恶意流量检测方法,包括以下步骤:7.建立域名数据库,包含禁止访问的服务器名单;8.在来自客户端的加密流量中,获得客户端发出的clienthello包,提取hello包中的sni信息;9.将sni中的第一服务器名称和所述域名数据库比较;10.响应于所述第一服务器名称与所述域名数据库中任一域名相同,阻断所述客户端和所述第一服务器的链接。11.优选地,响应于所述服务器名称与所述域名数据库中任一域名相同,将所述客户端发出的与clienthello包关联的数据重定向至第二服务器。进一步优选地,将所述sni中的第一服务器名称修改为第三服务器名称。12.获得客户端发出的clienthello包的步骤,进一步包括:根据第一标识确定数据包的ip层协议为tcp协议;根据第二标识确定tcp处于未断开连接状态;根据第三标识确定tls内存类型为握手包;根据第四标识确定tls握手包为clienthello包。13.提取hello包中的sni信息的步骤,进一步包括:取得sessionidlength的值为x,cipherlength的值为y,servernamelength的值为l;则servername的值起始于第x y 113字节,终止于第x y 112 l字节。14.优选地,用linux内核的iptables命令阻断所述客户端和所述服务器之间的通信。15.优选地,响应于来自客户端的数据流包含httpflood攻击,与所述客户端关联的服务器名称被存储在所述域名数据库。16.另一方面,本技术还提出一种恶意流量检测装置,用于实现本技术任意一项实施例所述方法,所述装置包括:17.所述数据采集模块,用于分析出站的网络流量包,获得客户端发出的clienthello包;18.所述sni生成模块,用于提取hello包中的sni信息,将sni中的第一服务器名称和所述域名数据库比较;19.所述阻断模块,用于响应于所述第一服务器名称与所述域名数据库中任一域名相同,阻断所述客户端和所述第一服务器的链接。20.本技术实施例采用的上述至少一个技术方案能够达到以下有益效果:21.在加密访问可保障通讯安全的情况下,多数网络设备对网络攻击、恶意软件等加密流量却无能为力,攻击者也会使用加密的方式来伪装或者隐藏攻击行为,如新型的dns加密协议,所以检测出恶意加密流量是非常必要的。本技术解决传统发送rst包阻断连接方式所带来的低阻断率,不管是多小的恶意数据包或者恶意文件,在通过sni信息提取对比后,都能达到一个较高的阻断率。附图说明22.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:23.图1为本发明系统应用场景;24.图2为本发明恶意流量检测方法的实施例流程图;25.图3为本发明恶意流量检测装置的实施例;26.图4为数据采集过程的实施例流程图;27.图5为servername位置示意图;28.图6为sni阻断过程的实施例流程图。具体实施方式29.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术具体实施例及相应的附图对本技术技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。30.本发明提出了针对蜜罐、防火墙、态势感知等流量监测设备的恶意流量检测技术;采用sni技术配合linux内核的iptables命令来阻断恶意域名对应ip地址的连接。31.以下结合附图,详细说明本技术各实施例提供的技术方案。32.图1为本发明系统应用场景,包含客户端设备、蜜罐、服务器结构。33.本技术的最佳实施例中,方法利用https握手包中未加密的服务器名称标识(servernameindication,sni)信息,来判断蜜罐对外的连接是否是恶意连接。一旦发现恶意的sni信息,就调用iptables阻断模块,阻断对应恶意ip的通信,以防止恶意ip再次连接通信。34.图2为本发明恶意流量检测方法的实施例流程图。35.本技术实施例提出一种恶意流量检测方法,包括以下步骤:36.步骤11、建立域名数据库,包含禁止访问的服务器名单;37.所述禁止访问的服务器名单,例如具有恶意流量历史的服务器列入黑名单;或者是由于安全的原因要保护而禁止访问的的网站域名。38.优选地,响应于来自客户端的数据流包含httpflood攻击,与所述客户端关联的服务器名称被存储在所述域名数据库。39.步骤12、在来自客户端的加密流量中,获得客户端发出的clienthello包。40.在本步骤中,检查蜜罐每个出入包的流量;41.获得客户端发出的clienthello包的步骤,进一步包括:根据第一标识确定数据包的ip层协议为tcp协议;根据第二标识确定tcp处于未断开连接状态;根据第三标识确定tls内存类型为握手包;根据第四标识确定tls握手包为clienthello包。42.步骤13、提取hello包中的未加密sni信息。43.同时检查流量包中的sni信息和dns信息,分析tls连接中的clienthello包,并解析出服务器名称标识中的服务器名(servername)字段。44.提取hello包中的sni信息的步骤,进一步包括:取得sessionidlength的值为x,cipherlength的值为y,servernamelength的值为l;则servername的值起始于第x y 113字节,终止于第x y 112 l字节。45.步骤14、将sni中的第一服务器名称和所述域名数据库比较。46.将解析到的服务器名信息和恶意域名名单进行对比,或者,将解析到的服务器名称信息和要保护的服务器名称对比。47.步骤15、响应于所述第一服务器名称与所述域名数据库中任一域名相同,阻断所述客户端和所述第一服务器的链接。48.优选地,用linux内核的iptables命令阻断所述客户端和所述服务器之间的通信。例如一旦发现符合恶意域名名单的服务器名信息,就调用iptables阻断模块阻断通信。49.步骤16、优选地,响应于所述服务器名称与所述域名数据库中任一域名相同,将所述客户端发出的与clienthello包关联的数据重定向至第二服务器。进一步优选地,将所述sni中的第一服务器名称修改为第三服务器名称。50.需要说明的是,重定向至第二服务器,当所述第一服务器是受保护的服务器时当所述第一服务器是欲防止接入的恶意流量来源时,用预设的第二服务器代替第一服务器。51.还需要说明的是,将sni中的第一服务器名称修改为第三服务器名称,是指在发生阻断的条件下,所述客户端在设定时间内不能获得来自第一服务器的响应而修改的,和/或,所述客户端在接收到来自第二服务器的响应后再次触发新的数据流。52.图3为本发明恶意流量检测装置的实施例。53.本技术的恶意流量检测装置,包含数据采集模块21、sni生成模块22和阻断模块23、域名数据库24。54.所述数据采集模块,用于分析出站的网络流量包,获得客户端发出的clienthello包。55.所述sni生成模块,用于提取hello包中的sni信息,将sni中的第一服务器名称和所述域名数据库比较。56.所述阻断模块,用于响应于所述第一服务器名称与所述域名数据库中任一域名相同,阻断所述客户端和所述第一服务器的链接。优选地,所述阻断模块,还用于响应于所述服务器名称与所述域名数据库中任一域名相同,将所述客户端发出的与clienthello包关联的数据重定向至第二服务器。进一步优选地,将所述sni中的第一服务器名称修改为第三服务器名称。57.所述域名数据库,用于存储禁止访问的服务器名称(网址、域名)。58.优选地,本技术装置还包含恶意攻击识别模块25,其功能在于,响应于来自客户端的数据流包含httpflood攻击,与所述客户端关联的服务器名称被存储在所述域名数据库。59.需要说明的是,为识别恶意攻击,一种常用方案是使用dnssinkhole技术,另一常用方案是,通过分析告警日志文件定位恶意攻击和恶意服务器。60.图4为数据采集过程的实施例流程图。61.作为本技术步骤12的具体实施例,本技术的装置通过抓包的方式分析每一个出站的网络流量包。由于服务器名称数据存在clienthello包中,所以需要先确定目标数据包是否为clienthello包。62.本技术中,采用四个特定的标识位来共同确定一个数据包是否为clienthello包,其十六进制分別为:第一标识0x06、第二标识0xl8、第三标识0x16、第四标识0x01,分别位于clienthello包第23、47、54、59个比特位的位置,如表1所示。63.表1确定数据包为clienthello包的依据64.数据含义位置0x06ip层协议为tcp协议byte230x18tcp处于未断开连接状态byte470x16tls内存类型为握手包byte540x01tls握手包为clienthello包byte5965.提取并确认特定四个标识位的值正确后,即可在确定数据包为clienthello包。66.图4为servername位置示意图。67.作为本技术步骤13的具体实施例,sessionidlength的值为x,cipherlength的值为y,servernamelength的值为l,x,y,l都转换为十进制,如图4所示。68.根据标准以太网数据帧格式(rfc894),服务器名称字段的位置与多个字段都相关。sessionidlength位于第97个字节,值为x。69.cipherlength位于第97 x 1、97 x 2个字节,值为y。70.servernamelength位于第97 x 2 y 12、97 x 2 y 13个字节,值为l。71.则servername的值起始于:x y 113,终止于:x y 112 l。72.根据上述算法,通过计算clienthello包中的sessioinidlength、cipherlength、servernamelength,得到servername的值位于177到190字节,该数据中包含本次https请求访问的域名(示例www.baidu.com),且未加密。73.图5为sni阻断过程的实施例流程图。74.作为本技术步骤14的实施例,将得到的服务器名称数据通过自定义正则与恶意域名库文件逐行进行匹配,一旦发现域名符合,就调用阻断模块阻断相应的ip地址通信。75.优选地,本发明使用linux内核的iptables命令来阻断恶意域名对应ip地址的连接,使恶意程序无法进行下一步行动。76.目前多数网络设备对于加密流量的检测都是分析网络全流量,结合威胁情报数据及网络行为进行深度检测分析,需要配合多个安全设备进行深度学习,但并没有使用servernameindication技术配合iptables进行恶意流量检测的,因此该技术属于创新性应用技术,填补了该领域的空白,并且具有明显的实用性,对现有技术方案也是非常好的补充。77.需要说明的是,阻断模块进行恶意加密流量检测的,而且该技术不只是局限于使用在恶意加密流量检测上,也可用于作为保护内部网站的流量检测技术,将黑名单中的域名替换成想要保护的内部网站域名,一旦从流量中检测出受到保护的域名地址就阻断通信。78.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。79.因此,本技术还提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本技术中任一实施例所述的方法。80.进一步地,本技术还提出一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本技术任一实施例所述的方法。81.本发明是参照根据本发明实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现本技术方法任一步骤指定的功能的装置。82.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。83.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。84.以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。当前第1页12当前第1页12
转载请注明原文地址:https://tc.8miu.com/read-1625.html