跳转到帖子

游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

TheHackerWorld官方

基于AI的DNS协议 C&C 连接检测

精选回复

发布于

基于AI的DNS协议 C&C 连接检测

60418594ee874.png

0. 摘要

为了防止进犯者运用DNS协议技能进行歹意活动,检测网络流量中的C&C通讯,本文详细剖析了不同的场景下C&C通讯技能原理和特征,并给出了根据多种AI算法从多个维度进行检测的办法。

1. 前语

跟着互联网全球化的开展,在利益的驱使下,黑客进犯者运用僵尸网络操控很多的主机,并运用这些感染病毒的主机进行很多的歹意活动,比方发送垃圾广告邮件、盗取用户信息等。僵尸主机运用DNS授权服务器来解析域名,目的是为了和C&C服务器创立通讯通道,接着获取操控指令,继而进行一系列的歹意网络活动。

跟着攻防的升级,以往经过树立黑名单来阻挠黑客进犯的办法已经失效,进犯者一般会运用Domain-Flux或许Fast-Flux等技能手段来躲避黑名单的检测。例如在Domain-Flux的网络中,DGA域名一般是随机的字母和数字的组合,从字符散布上看DGA域名比较较于正常域名会有显着的反常,可以运用机器学习的办法提取不同的特征(例如域名等级,域名长度,字符距离等)来进行进一步的检测和辨认。

为了检测网络流量中的C&C通讯,咱们针对例如Domain-Flux、Fast-Flux、和DNS地道等不同通讯场景,选用了不同的办法进行检测,具体的检测办法会在下文详细介绍。

2. DNS协议及C&C衔接技能

(1)DNS协议介绍

DNS( Domain Name System)是“域名体系”的英文缩写,它所供给的服务是用来将主机名和域名转换为IP地址的工作。DNS中保存了一张域名和与之相对应的IP地址的表,经过域名得到IP的进程叫做域名解析,域名到IP地址的解析是由散布在因特网上的许多域名服务器共同完结的,图1给出了DNS域名服务器树状结构图。

1622792777_60b9da49380f2ba1d93d5.png!small?1622792777603

图1:树状结构的DNS域名服务器

当用户想要拜访某个域名时,计算机将首要查询其本地DNS 缓存。假如找不到成果,它将查询其装备的本地DNS 服务器。本地DNS 服务器将检查其本地缓存,假如没有缓存,它将查询根DNS服务器或其他上游DNS 服务器。然后,根DNS 服务器将查询DNS 服务器指向恰当的顶级域DNS 服务器。然后,顶级DNS 服务器将指示查询DNS服务器到威望DNS 服务器,威望DNS 服务器将解析恳求域名的IP 地址。图2给出了DNS查询的进程,主机向本地域名服务器的查询一般选用递归查询,而本地域名服务器向根域名服务器的查询一般选用迭代查询。

1622792844_60b9da8c5edabd471ce7d.png!small?1622792844661

图2:DNS查询进程

(2)Domain-Flux技能

Domain-Flux技能指的是不断的改动和分配多个域名映射到一个或多个IP的行为。在僵尸网络中,客户端的寻址是一个动态的进程,在这进程中域名与IP之间的对应关系是动态改动的,在规避域名黑名单的一起也可以完结有用通讯。在这个进程中并不是单一域名到不同IP之间的解析,而是运用域名生成算法,例如算法根据当时的日期每天动态的生成很多的域名,并构成一个具有很多域名的域名动态池。

为了躲避检测和封堵,进步本身的生存才能,灵敏的操控各个被感染的主机,以及到达更好的躲藏效果,延伸僵尸网络的存活时刻,很多进犯者运用域名体系进行僵尸网络的组织和操控,该技能增加了安全人员对僵尸网络进行检测的难度。

(3)Fast-Flux技能

在正常的DNS服务器中,用户对同一个域名做DNS查询,在较长的一段时刻内,不管查询多少次回来的成果根本上是不会改动的,而Fast-Flux技能是为一个域名装备多个IP地址,一起这些IP地址替换的频率非常的快,经过动态改动IP地址完结和域名的映射,这种状况下用户在每次拜访某个域时实践拜访的不是同一个主机。

进犯者将这些感染的主机仅仅作为署理将需求转发给实践的操控者,完结操控者和被控机器的通讯。对于进犯者而言,运用Fast-Flux技能使得僵尸网络不易被清查,而且在操控进程中,从署理网络中剔除不可用以及服务才能较弱的署理,大大延伸了僵尸网络的寿数。

(4)DNS地道技能

DNS地道(DNS tunnel)技能,就是运用DNS查询的进程树立起地道并完结数据传输。DNS地道一般由被操控端和操控端两部分组成,被操控端运转在内网主机上,担任将数据封装为对特定域名的恳求解析报文,并经过互联网上多级域名服务器间层层转发,最后分发给DNS授权服务器。操控端程序剖析并解码恳求解析报文,将应对数据封装成为特定的DNS应对报文,再经过互联网多级域名服务器回送给被操控端,其根本架构如图3所示:

1622793351_60b9dc87e1108e273cdce.png!small?1622793352196

图3:DNS地道根本架构

DNS协议之所以能被运用作为荫蔽地道的一种通讯协议,有2个原因:

DNS作为因特网的核心根底服务,大部分侵略检测设备和防火墙很少会过滤DNS流量;

DNS协议中定义的一些字段让DNS协议可以灵敏的被运用,进犯者可以将歹意有用荷载存储在不同的资源记录中。

以上两点在运用DNS协议完结荫蔽地道技能中起到了关键作用,可以运用它树立起C&C通讯,完结指令与操控。

3. 根据AI的C&C衔接检测办法

3.1 Domain-Flux检测

a) DGA域名检测

3.1.1 DGA歹意域名特征剖析

域名特征提取是进行DGA域名检测的关键一步,特征选取直接关系到检测成果的准确性。首要咱们针对正常域名和歹意域名的特征进行比照剖析:

域姓名符长度:正常的域名为了可以便运用户进行回忆,都不会运用太长的域名,而DGA域名一般是由DGA算法随机发生,一起为了防止和已有的域名冲突,一般DGA域名的长度遍及较大;

元音字母占比:正常域名一般选用单词或许姓名的拼音来便运用户的回忆,正常域名往往会注入必定的元音字母让域名更加具有可读性。而DGA域名是由DGA算法随机发生,往往不考虑到域名的可读性。因而,DGA域名的元音字母的比例会比正常域名的少;

仅有字符数量:仅有字符是域名中不同字符的个数,例如“google”的仅有字符是4,“sina”仅有字符是4,由于DGA域名生成的算法决议了其具有很大的随机性,这会导致仅有字符数量会比较高。

3.1.2 DGA域名检测办法

人工特征提取:针对上述描述的DGA域名的典型特征,分别对域名的字符长度、元音字母占比、和仅有字符数量等特征进行计算剖析,将计算成果向量化;

神经网络特征提取:LSTM的全称是Long Short-Term Memory,它是RNN(Recurrent Neural Network)的一种,而BiLSTM是Bi-directional Long Short-Term Memory的缩写,是由前向LSTM与后向LSTM组合而成,本文选用BiLSTM算法对输入的数据进行更深层次的特征提取;

特征交融:将人工提取的特征和神经网络提取的特征进行交融,将交融后的特征运用机器学习算法进行建模,并生成模型;

DGA域名检测:针对待检测的数据,调用上述训练好的模型,并输出开始的检测成果。本文就开始的检测成果设计了一个后处理进程来进步检测的准确性,在模型判断是DGA域名之后,结合呼应IP对检测成果进行后处理,依据呼应IP不同的回来值来进一步确认当时域名是否为DGA域名。

全体检测流程图如图4所示:

1622794106_60b9df7abb6f411f022aa.png!small?1622794106938

图4:DGA域名检测

b) Domain-Flux检测

3.1.3 Domain-Flux特征剖析

Domain-Flux技能指的是不断的改动和分配多个域名到一个或多个IP的行为。在Domain-Flux中,僵尸主机拜访的C&C域名是依据必定的算法动态生成,该办法在一段时刻内会生成很多的新域名,比较较于正常域名,其有以下几个特征:

NX-Domain域名数量高:僵尸网络在运用Domain-Flux技能时,其所生成并运用的域名在子域名数量,新域名的呈现和子域名活泼方面与合法的域名有着显着的差异,当一个域名被拜访,即某一域名恳求解析时,此域名在此刻是活泼的,可是在僵尸网络中只有很少的域名会被注册成实在的活泼域名,在寻址的进程中会发生很多的NX-Domain域名,从主机视点来看,数量上比正常用户要高很多;

TTL遍及较低:很多僵尸网络运用多个二级域名或许三级域名为根底来生成子域名,即向域名注册组织恳求多个二级或许三级域名,在此根底上生成多个子域名备用。对于生成的域名调集,依据需求将域名结合解析到一个或多个IP上去,为了保持可用性,其解析记录在装备时,会装备较低的TTL。

3.1.4 Domain-Flux检测办法

针对上述的根据Domain-Flux的僵尸网络的显着特征,咱们选用AI基线引擎的办法对Domain-Flux进行检测。由于僵尸网络在运用Domain-Flux技能时会发生很多的NX-Domain报文,针对这一特色,咱们首要从原始日志中查询出指定时刻的DNS审计日志,并计算内网主机拜访的NX-Domain个数,NX-Domain占主机拜访总域名个数的比值,均匀拜访时刻距离,均匀TTL值等;接着运用反常检测等AI算法处理特征数据并更新基线;最后进行基线检测,并将检测出的反常数据进行上报。

3.2 Fast-Flux检测办法

3.2.1 Fast-Flux特征剖析

根据Fast-Flux的僵尸网络,最显著的特征就是IP的不断的改动。该类型的僵尸网络运用不断改动的C&C服务器,而这些服务器往往都是被感染的PC主机,PC主机的运用环境很有可能会导致IP地址的不稳定和IP地址散布的凌乱等状况,比较较于正常网络,其特征体现在以下两个方面:

回来的IP数量:一般合法网站的域名查询回来的IP是固定不变、规模有限的调集,而Fast-Flux网络回来的IP地址是不断改动的,或许在一次DNS查询中给出多个IP地址并运用轮询调度的办法分配IP,而且僵尸网络会每隔一段时刻更新其署理机器,因而,在一段时刻内,Fast-Flux僵尸网络域名查询得到的IP地址数量会继续增加。

IP所属国家特征:选用Fast-Flux技能的僵尸网络,由于受感染主机的不同区域散布,用来作为署理的主机会散布在不同的国家(对应不同的时区),一般来说,根据Fast-Flux技能的僵尸网络的IP地址散布在不同的国家(对应不同的时区),而正常的域名IP一般都在一个国家或许少数几个国家中,咱们提取回来IP的国家特色特征或许对应的时区特征。

3.2.2 Fast-Flux检测办法

针对上述的根据Fast-Flux的僵尸网络的显着特征,咱们首要考虑从输入的数据中计算每个域名呼应的IP地址序列和对应的时区数据,并将每一个域名的计算成果(呼应IP数量以及时区的熵值)和上一个周期进行累加更新,最后运用AI算法对数据进行反常的检测,并将检测到的反常成果进行上报。

3.3 DNS地道检测

3.3.1 DNS地道特征剖析

DNS地道会在以下几个特征上体现出差异:

域名长度:为了尽可能多的传递数据,DNS地道中的恳求域名长度比较较于正常DNS的更长。为了便利回忆和理解,在正常的DNS数据包中,域名长度一般远小于规则的字符上限。而在DNS地道中,在数据传输的进程中往往会呈现很多的超长恳求域名。

域名熵值:常见域名是以日常中的单词或许一些有规律的词组命名,所以正常域名熵值低。可是DNS地道为了增强荫蔽性,进步抗字符剖析才能,一般会均匀的运用各个字符编码,这就使DNS 地道的域名的紊乱程度较大,熵值较高。

时刻距离:时刻距离指的是同一个客户端上该DNS恳求数据包和上一个DNS恳求数据包之间的时刻距离,正常DNS恳求数据包的均匀时刻距离和最大时刻距离都远大于DNS地道恳求数据包的时刻距离。

TTL均值:DNS 服务有缓存机制,DNS 查询时的回来数据中包括TTL值,表示本次查询记录在缓存中的可存在时刻。正常的域名由于要进步DNS 查询速度, 会设置一个较高的TTL,且查询域名一般状况下不会改动。可是DNS地道的通讯方式决议了每次用于通讯的域名都是不同的,因而DNS 地道数据包中的TTL均值都很小。

不同子域名数:正常流量中的域名一般都是固定的,DNS 地道流量将每次通讯的信息放在域名中,因而与正常域名比较,地道域名的子域名个数显着增多。相应的,不同子域名数占总域名数个数的占比也会很大。

3.3.2 DNS地道检测办法

DNS地道检测选用单个域名,在较短时刻窗会存在很多的误报,漏报。针对以上状况,选用在一个较长的时刻窗口中,将每个主机的一级域名对应的子域名组成一个调集,结合较长的历史数据组成的调集,提取比较突出的特征,充分考虑了接连的行为特征。

以下分别从训练和猜测两个维度对本文提出的检测办法进行介绍,全体检测流程图如图5所示:

训练:首要根据主机IP,在一个时刻窗口内,取出每个一级域名对应的全部子域名,并组成一个调集,分别针对上文描述的特征进行对应的提取;然后运用机器学习办法对输入的特征数据进行建模,并输出训练好的模型;

猜测:将训练好的模型布置到体系中,对待检测数据进行模型猜测,并将猜测的成果进行上报。

1622794921_60b9e2a9aadc095a5e96a.png!small?1622794921946

图5:DNS地道检测

4. 结束语

黑客进犯者运用僵尸网络或许DNS地道技能对感染病毒的主机进行了很多的歹意活动,给互联网的运用者带来了很大的不安全要素。本文根据对DNS域名数据剖析的根底上,详细剖析了不同进犯景象下的进犯特色,并从这些特色出发结合现有的人工智能算法给出了相应的进犯检测计划。

由于研讨时刻有限,计划仍有待改善的地方,例如可以更深层次的发掘一些还未被运用的特征、对域名的恳求呼应解析等行为进一步的剖析等。后续咱们将继续努力,使技能计划更加完善。

创建帐户或登录后发表意见

最近浏览 0

  • 没有会员查看此页面。