DNS欺骗攻击及其防护 域名系统(Domain Name System,DNS)是一个将Domain Name和IP Address进行互相映射的Distributed Database.DNS是网络应用的基础设施,它的安全性对于互联网的安全有着举足轻重的影响。但是由于DNS Protocol在自身设计方面存在缺陷,安全保护和认证机制不健全,造成DNS自身存在较多安全隐患,导致其很容易遭受攻击。很多专家就DNS Protocol的安全缺陷提出了很多技术解决方案。例如IETF提出的域名系统安全协议(Domain Name System Security,DNSSEC),其目标就在于解决这些安全隐患。这个Protocol增加了安全认证项目,增强了Protocol自身的安全功能。但是新增加的安全机制需要占用更多的系统和网络资源,同时要升级Database和System Manggament Software,这些基于DNSSEC协议的软件还不成熟,距离普及应用还有较长时间。目前,常见的措施是定期升级DNS软件和加强相关的安全配置,禁用不安全的端口等。本文对以侦听为基础的DNS ID欺骗(DNS ID spoofing)进行了探讨,并提出了相关的防护解决方案。
一、DNS SERVER的服务工作过程
DNS是一种实现Domain Name和IP Address之间转换的系统,它的工作原理就是在两者间进行相互映射,相当于起到翻译作用,所以称为域名解析系统。DNS System分为Server和Client两部分,Server的通用Port是53.当Client向Server发出解析请求时,Local DNS Server第一步查询自身的Database是否存在需要的内容,如果有则发送应答数据包并给出相应的结果;否则它将向上一层DNS Server查询。如此不断查询,最终直至找到相应的结果或者将查询失败的信息反馈给客户机。如果Local DNS Server查到信息,则先将其保存在本机的高速缓存中,然后再向客户发出应答。日常我们上网是通过Browser方式来申请从Domain Name到IP Address的解析,即Client向DNS Server提交域名翻译申请,希望得到对应的IP Address.这里以笔者所在院校为例,说明DNS的工作原理。