隐蔽通道(Covert Channel)的概念由Lampson于1973年在"限制问题"(confinement problem)研究中提出:进程可通过非预期的信息通道违背系统的信息流策略。在网络环境中,隐蔽通道指利用协议的正常字段或行为传输隐藏数据的通信方式。经典的分类包括存储信道(利用协议字段的值,如DNS标签内容)与时间信道(利用包到达间隔等时序特征编码信息)。
加密隧道和隐蔽通道利用合法加密协议(TLS、QUIC、DoH)作为载体传输隐藏数据,绕过传统的网络监控和DLP(数据防泄漏)系统。随着DoH和DoT的广泛部署,DNS查询本身被加密:DoH将DNS查询封装在HTTPS请求中(RFC 8484,端口443),DoT使用TLS直接加密DNS(RFC 7858,端口853)。攻击者随之利用这些协议构建难以检测的数据渗出通道。
DNS隧道是最经典的隐蔽通道形式:攻击者将数据编码为DNS查询的域名标签(如base32/base64编码的数据片段),通过DNS查询和响应传输信息。工具dns2tcp、iodine、dnscat2实现了经典DNS隧道;dnstt等新一代工具支持通过DoH中转,吞吐受公共解析器速率限制但隐蔽性更高。基于TLS/QUIC的隐蔽通道则利用包长调制、时序隐写与协议字段伪装,统计特征与正常加密流量高度相似,检测难度极大。
参考来源:IETF RFC 1034/1035、RFC 7858、RFC 8484;Lampson, CACM, 1973