DNS 隐蔽信道综述
2021-06-04刁嘉文方滨兴崔翔王忠儒甘蕊灵冯林姜海
刁嘉文,方滨兴,,崔翔,王忠儒,甘蕊灵,冯林,姜海
(1.北京邮电大学可信分布式计算与服务教育部重点实验室,北京 100876;2.广州大学网络空间先进技术研究院,广东 广州 510006;3.中国网络空间研究院信息化研究所,北京 100010;4.北京丁牛科技有限公司,北京 100081)
1 引言
域名系统(DNS,domain name system)是一种将域名和IP 地址相互映射的以层次结构分布的分布式数据库系统[1],也是互联网上普遍存在的基础解析服务。防火墙等基础防御设施为了保证用户体验一般不会对DNS 数据进行过多过滤,使其成为攻击者手中较理想的秘密信道[2]。互联网名称与数字地址分配机构(ICANN,Internet Corporation for Assigned Names and Number)[3]将其命名为DNS 隐蔽信道(DCC,DNS covert channel)。
DCC 是指利用DNS 数据包中的可定义字段秘密传递信息的通道。其中,“DNS 协议”是目前网络上使用的标准域名解析协议[4];“可定义字段”是DNS 数据包中的QNAME 字段、RDATA 字段及RawUDP 字段。利用DNS 数据包可以构建2 种信道:存储信道及时间信道。由于时间信道可传输信息较少且对应的工具及恶意软件很少,故主要研究存储信道的利用情况。DCC 可以被用于数据泄露、命令控制(C&C,command &control)及绕过Wi-Fi连接注册等恶意行为,进而可以用于远控木马(RAT,remote access trojan)、僵尸网络(Botnet)、勒索软件(Ransomeware)、高级持续性威胁(APT,advanced persistent threat)等绝大多数网络攻击。
虽然DCC 早在1998 年就开始出现,但在2020 年仍有许多恶意软件利用其发起攻击,相关开源工具也逐渐被攻击组织恶意利用,对各个领域都产生了一定程度的影响[5-20]。在金融领域,活跃在该领域中的销售点(POS,point of sale)恶意软件(如AlinaPOS[5])经常利用DNS 查询请求来泄露信息[6];在医疗领域,SentinelLabs[7]及 Unit42[8]报道称Trickbot 开发人员在其恶意软件中新增了Anchor_DNS 模块,在针对美国医疗系统的攻击中利用该模块使用DCC 进行C&C。……
