护网蓝中--DNS劫持相关面试题

问题1:针对运营商级DNS劫持攻击(如注入广告或重定向),请设计一套企业级检测防御方案,要求:

  • 3种实时检测技术

  • 2种协议级防御机制

  • 1种基于流量行为的异常识别模型

答案要点

  1. 检测技术

    • TTL异常检测:监控DNS响应TTL值是否低于该域名的历史基准(如.com域名通常TTL>300秒)

    • CNAME链验证:对解析结果中的CNAME记录进行递归验证,检测是否存在中间注入节点

    • 证书指纹比对:当发生HTTP重定向时,验证SSL证书颁发者与域名WHOIS信息是否匹配

  2. 防御机制

    • 强制DNS over TLS:部署Stubby等客户端工具,将53端口请求强制转发至853端口

    • 响应验证签名:在本地DNS解析器实现DNSSEC验证链(需开启dnssec-validation yes;

  3. 行为模型

    • 使用随机森林算法分析以下特征:
      • 同一客户端突发性NXDOMAIN请求增长率

      • .click/.xyz等高风险域名的请求频率

      • DNS响应包长度与标准响应的余弦相似度

问题2:解释DNS走私(DNS Smuggling)的攻击原理,并给出两种基于UDP协议特性的利用场景,要求说明具体攻击步骤和防御方案。

答案要点
攻击原理
利用DNS解析器处理UDP分片报文时的重组漏洞,通过伪造IP分片偏移量,将恶意DNS查询隐藏在合法响应包中,绕过安全策略。

场景1:防火墙穿透

  1. 构造包含两个UDP分片的DNS响应:
    • 分片1:合法域名(如google.com)的响应头

    • 分片2:携带恶意查询(如\x00\x00\x01\x00\x01)的偏移数据

  2. 目标DNS服务器重组后执行恶意查询,泄露内部域名信息

场景2:缓存污染

  1. 发送特制响应包,将恶意A记录注入解析器的缓存

  2. 通过TTL值设置实现长期劫持(如设置TTL=604800)

防御方案

  • 启用EDNS0并设置最大UDP报文大小为4096字节(避免分片)

  • 部署DNS防火墙(如Cisco Umbrella)检测非常规响应结构

问题3:某企业内网发现异常DNS流量,疑似使用DNScat2进行隧道通信。请设计基于信息熵的检测模型,要求:

  • 说明子域名熵值计算算法

  • 给出判定阈值设定的数学依据

  • 提供3个辅助检测特征

答案要点

  1. 熵值计算

    import math  
    def entropy(domain):  
        freq = {}  
        for c in domain:  
            freq[c] = freq.get(c, 0) + 1  
        total = len(domain)  
        return -sum( (f/total)*math.log2(f/total) for f in freq.values() )  
    

    data.7gFk3x.example.com等子域名进行字符分布分析

  2. 阈值设定

    • 合法域名熵值通常≤3.5(因常用单词组合)

    • 隧道域名熵值≥4.2(基于16进制或Base64的随机性)

    • 使用3σ原则设定动态阈值:μ+3σ(μ为历史均值,σ为标准差)

  3. 辅助特征

    • 单域名请求频率 > 50次/分钟(正常行为通常<10次)

    • TXT记录请求占比 >30%(隧道常用TXT传输数据)

    • 查询类型分布异常(如大量NULL或ANY类型请求)

问题4:设计一个支持零信任架构的DNS系统,需满足:

  • 实现服务到服务的动态认证

  • 防止DNS作为横向移动载体

  • 兼容传统设备的渐进式部署方案

答案要点

  1. 架构设计

    • 分层解析器
      • 边缘层:部署DNS代理网关(如Cloudflare Gateway)执行TLS客户端证书验证

      • 核心层:基于Consul实现服务发现的私有DNS区域

    • 策略引擎:将SPIFFE身份信息(如spiffe://prod/db)映射至DNS记录

  2. 安全机制

    • 实施RBAC策略:根据Pod标签动态生成SRV记录(如_http._tcp.frontend.prod.svc.cluster.local

    • 启用DNS日志审计:关联Flow ID和SELinux上下文

  3. 兼容方案

    • 传统设备走VIP通道,在DNS网关层实施MAC地址白名单

    • 使用ACL策略逐步迁移:allow-list { legacy-subnet; }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值