DNS隐蔽信道综述研究

信息安全不简单鸭 2024-04-20 05:56:22

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

ailx10

网络安全优秀回答者

网络安全硕士

去咨询

引言DCC威胁模型与发展历程威胁模型发展历程DCC构建机理DCC定义构建机理基于QNAME嵌入的数据回传基于RDATA嵌入的命令获取两者关系DCC的高效可靠通信策略DCC检测方法异常点单域名异常多域名异常统计传统检测方式经典机器学习方法深度学习检测结语

第二章,介绍了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。

机器学习训练dns隧道

参考^DNS隐蔽信道综述 http://www.infocomm-journal.com/txxb/CN/10.11959/j.issn.1000-436x.2021090
1 阅读:12

信息安全不简单鸭

简介:感谢大家的关注