《《大规模网络中蠕虫主动防治技术研究》--利用dns服务抑》由会员分享,可在线阅读,更多相关《《大规模网络中蠕虫主动防治技术研究》--利用dns服务抑(36页珍藏版)》请在金锄头文库上搜索。
1、大规模网络中蠕虫主动防治技术研究 - - 利用DNS服务抑制蠕虫传播作者:郑辉日期:2003.12.22大规模网络中蠕虫主动防治技 术研究 - -利用DNS服务抑制蠕虫传播郑 辉 教育科研网应急响应组 内容n为什么选择DNS服务 n利用DNS服务的方法 n系统整体框架设计 n基于配置视图方式的系统实施方案 n基于端口转发方式的系统实施方案 n性能分析、实施效果为什么选择DNS服务n 大部分Internet应用都会用到DNS服务; n 加快染毒用户响应速度; n 可以引导用户到指定机器,相较于其他方式增强 了交互性; n 减少用户和网管人员的正面冲突; n 减少网管人员工作量; n 疏导方式对网
2、络流量的影响更小; n 实施时间短,见效快;利用DNS服务的方法n配置视图 n端口转发配置视图n 工作原理 DNS服务程序(BIND9)支持视图(view),对不同 的视图,服务程序产生不同的响应; 把已感染蠕虫机器的IP地址列表放入一个视图中,对这 个视图的响应结果设定为指定结果; n 优缺点 仅修改DNS配置文件,无需附加程序; 操作简单,DNS服务管理人员可以自行完成; 不同DNS服务程序的配置方式不同,很多版本的DNS 服务程序不支持视图;染毒计算机染毒机器DNS请求返回指定报文检查视图正常计算机 DNS响应正常计算机 DNS请求配置视图方式流程示意图端口转发n 工作原理 端口转发程序
3、代替原有DNS服务监听端口; 收到DNS请求时,在指定为文件中查找DNS请求者IP地址;如果 在文件中找到DNS请求者IP地址,则返回伪造的DNS响应报文; 否则,将请求报文转发给在其他端口(或主机)运行的正常DNS 服务程序并将DNS服务程序返回的响应报文转回给DNS请求者。 n 优缺点 对原有系统改动小,可适用于各种不同的DNS服务程序; 当黑名单为空时,同原有DNS系统工作效果相同; 需单独编程,需要处理和考虑各种复杂情况;染毒计算机染毒机器DNS请求返回伪造报文检查黑名单转发正常计算机 DNS请求正常计算机 DNS响应正常计算机 DNS请求转回正常计算机 DNS响应端口转发方式流程示意
4、图系统整体框架设计n 检测服务器(IDS): 定期生成染毒计算机IP地址列表; n 修改过的DNS服务器: 获取染毒计算机IP地址列表 过滤染毒计算机IP地址产生的DNS请求; 将染毒计算机导向警示服务器; n 警示服务器(Warning Information Server): 提供染毒告警信息; 提供补丁程序、杀毒工具下载; 收集用户相关信息;基于配置视图方式的系统结构示 意图基于配置视图方式的系统实施 方案n 检测服务器 配置在边界路由器上,根据蠕虫特征纪录染毒计算机IP地址; n DNS服务器 从检测服务器获取染毒计算机IP地址列表; 根据染毒计算机IP地址列表配置视图; 将染毒计算机
5、导向警示服务器; n 警示服务器 建立针对HTTP协议的Web警示页面; 建立针对Telnet协议的警示信息; 建立针对SMTP协议的警示信息; 建立针对POP3协议的警示邮件;检测服务器(IDS)n 在边界路由器上配置镜像端口: conf monitor session 1 source 9/1 destination 9/3 n 设置检测程序及检测规则: alert icmp $HOME_NET any - $EXTERNAL_NET any (msg:“Nachi“; content:“|aaaaaa|“;dsize:64;itype:8;offset:1;depth:6; refere
6、nce:arachnids,154; sid:483; classtype:misc- activity; rev:2;) n 生成染毒计算机IP地址列表;BIND 9 视图配置方案(con.)n 建立ACL文件 包含染毒计算机IP地址列表; /var/named/ip包含内容如下 acl “fakeresponse“ 202.112.50.214; # the ip of one infected machine. ; n 建立区域解析文件 /var/named/包含内容如下 $TTL 600 IN SOA . ( 2002031801 28800 1800 604800 86400 )
7、IN NS 127.0.0.1 *.IN A 202.112.57.9 #the ip of WISBIND 9 视图配置方案(#)n 修改named.conf 引入控制地址列表: include “ip“; 建立如下视图: view “internal“ match- clients “fakeresponse“; zone “.“ in type master; file ““; ; ; n 定时更新ACL文件达到动态处理效果警示服务器(WIS)n制定染毒告警信息: 查杀软件下载; 补丁软件下载; 用户信息收集; n设计常规Internet服务 HTTP; Telnet; SMTP; PO
8、P3;警示服务器上针对Telnet协议 的警示方案(con.)n编写telnet协议服务程序#!/bin/sh # #Fake Telnetd for warning infected machines! # # # #By Hui ZHENG. 2003.11.27 # #echo “May be your machine have been infected by Nachi worm!“ echo “Please download pache software from this site!“ echo “http:/“ 放在某个目录下,如/root/DNS/Port23.sh警示服务器
9、上针对Telnet协 议的警示方案(con.)n 修改telnetd配置信息 rootspark root# cd /etc/xinetd.d rootspark xinetd.d# cp telnet telnet.bak rootspark xinetd.d# vim telnet修改为: service telnet disable = no flags = REUSE socket_type = stream wait = no user = root server = /root/DNS/Port23.sh log_on_failure += USERID 将原有配置: servic
10、e telnet disable = yes flags = REUSE socket_type = stream wait = no user = root server = /usr/sbin/in.telnetd log_on_failure += USERID 警示服务器上针对Telnet协 议的警示方案(#)n重新启动xinetd服务 /etc/init.d/xinetd restart警示服务器上针对POP3协议的 警示方案(con.)n编写POP3协议服务程序 #!/usr/bin/expect# #Fake POP3d for warning infected machines
11、! # # # #By Hui ZHENG. 2003.12.10 # #send “+OK Qpopper (version 4.0.5) at starting. rn“expect “USER“ send “+OK Password required for zhenghui.rn“;exp_continue “PASS“ send “+OK zhenghui has 1 visible message in 575 octets.rn“;exp_continue “STAT“ send “+OK 1 575rn“;exp_continue “UIDL“ send - “-ERR rn
12、“;exp_continue “TOP“ send - “-ERR rn“;exp_continue “LIST“ send “+OK 1 visible messages 575 octetsrn“;send “1 372rn“;send “.rn“;exp_continue “RETR“ send “+OK 575 octetsrn“;send “From: rn“; send “Subject: warningrnrn“; send “May be your computer was infected by Nachi worm!rn“; send “Please download pa
13、tch software from:rn“; send “http:/rn“; send “.rn“;exp_continue “DELE“ send “+OK rn“;exp_continue “QUIT“ send “+OK Pop server at signing off.rn“;close;exp_continue 放在某个目录下,如/root/DNS/Port110.sh警示服务器上针对POP3协议的 警示方案(con.)n 修改POP3配置信息 rootspark root# cd /etc/xinetd.d rootspark xinetd.d# cp ipop3 ipop3.bak rootspark xinetd.d# vim ipop3修改为: service pop3 disable = no flags = REUSE socket_type = stream wait = no user = root server = /root/DNS/Port110.sh log_on_failure += HOST 将原有配置: service pop3 disable = yes flags