Press "Enter" to skip to content

DNS隐蔽信道综述研究

中科院大学的小学弟给我发了一篇论文,DNS隐蔽信道综述,发表在通信学报,北大核心,EI,CSCD,比较值得研究。这篇论文一共有62个参考文献,其中英文文献59个,占比95%,第一作者是北邮博士,导师是方滨兴院士,实力很强。以下是我的一点学习小结,欢迎批评指正。

 

 

    1. 引言

 

    1. DCC威胁模型与发展历程

 

      1. 威胁模型

 

      1. 发展历程

 

DCC构建机理

 

      1. DCC定义

 

      1. 构建机理

 

        1. 基于QNAME嵌入的数据回传

 

        1. 基于RDATA嵌入的命令获取

 

        1. 两者关系

 

DCC的高效可靠通信策略

DCC检测方法

 

      1. 异常点

 

        1. 单域名异常

 

        1. 多域名异常统计

 

传统检测方式
经典机器学习方法
深度学习检测

结语

 

在第二章节中介绍了DNS隧道的2种威胁模型,分别是命令控制和数据泄漏。作者认为命令控制发生在DNS的应答包中,而数据泄漏发生在DNS的请求包中,并且给出了一些利用DNS隧道通信的恶意软件。

 

威胁模型1:命令控制

威胁模型2:数据泄漏

第三章工作量很大,首先,从恶意软件的角度给出了DNS隧道数据回传中的子域名编码方式,可以看到,主要是base64,base32,base16和hex编码,这一点我还没有复现出来,可能是数据加密了。然后,在阿里云 郑瀚Andrew.Hann 的博客里印证了这一想法,恶意软件Feederbot就是RC4加密之后,再base64编码。

 

恶意软件角度的子域名编码方式

其次,调研了大量的恶意软件,分析了其中DNS隧道的连接方式和类型,几乎全是中继(迭代)模式,只有个别是直连模式,而类型比较分散,主要是TXT和A记录,其他类型也都有。这块,我还需要对类型进行一些梳理,以便于对DNS类型的认识更加深刻。

 

恶意软件利用dns的类型

紧接着,回归DNS隧道本源,介绍了较多的DNS隧道工具,包括其支持的平台和类型,我使用过的包括dnscat2、dns2tcp、iodine、cobalt strike 里面的dns隧道,其他工具我后面继续分析一下。

 

dns隧道工具

第四章,介绍了DNS隧道的AI检测方式,里面的特征提取是很值得参考的,同样可以看到,随机森林和支持向量机是主流的DNS隧道检测机器学习方法,在这里还可以看到,训练集和测试集主要是依靠DNS隧道工具生成出来的,网络开源的DNS隧道数据集很少,基本都要自己构造。因为,我发现大多数的paper,关于DNS隧道的数据集都是自己构造的,所以我想利用周末时间,在github上开源一个dns tunnel dataset。

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注