网络安全(1).ppt
网络安全,信息安全的需求,信息安全的三个基本方面保密性 Confidentiality信息的机密性,对于未授权的个体而言,信息不可用完整性 Integrity信息的完整性、一致性,分为数据完整性,未被未授权篡改或者损坏系统完整性,系统未被非法操纵,按既定的目标运行可用性 Availability服务连续性,关于信息安全的需求,信息安全的其他方面真实性 authenticity个体身份的认证,适用于用户、进程、系统等Accountability确保个体的活动可被跟踪Reliability行为和结果的可靠性、一致性,从信息安全到信息保障,通信保密(COMSEC):60年代计算机安全(COMPUSEC):60-70年代信息安全(INFOSEC):80-90年代信息保障(IA):90年代-,什么是信息保障,Information Assurance保护(Protect)检测(Detect)反应(React)恢复(Restore),保护Protect,检测Detect,恢复Restore,反应React,IA,PDRR,保护(Protect)采用可能采取的手段保障信息的保密性、完整性、可用性、可控性和不可否认性。检测(Detect)利用高级术提供的工具检查系统存在的可能提供黑客攻击、白领犯罪、病毒泛滥脆弱性。反应(React)对危及安全的事件、行为、过程及时作出响应处理,杜绝危害的进一步蔓延扩大,力求系统尚能提供正常服务。恢复(Restore)一旦系统遭到破坏,尽快恢复系统功能,尽早提供正常的服务。,国家条例和管理办法,计算机软件保护条例(1991年6月4日)中华人民共和国计算机信息系统安全保护条例(1994年2月18日)商用密码管理条例(1999年lO月7日)互联网信息服务管理办法(2000年9月20日)中华人民共和国电信条例(2000年9月25日)全国人大常委会关于网络安全和信息安全的决定(2000年12月29日),在保障互联网的运行安全方面有,1侵入国家事务、国防建设、尖端科学技术领域的计算机信息系统;2故意制作、传播计算机病毒等破坏性程序,攻击计算机系统及通信网络,致使计算机系统及通信网络遭受损害;3违反国家规定,擅自中断计算机网络或者通信服务,造成计算机网络或者通信系统不能正常运行。,防火墙(Firewall),防火墙的基本设计目标对于一个网络来说,所有通过“内部”和“外部”的网络流量都要经过防火墙通过一些安全策略,来保证只有经过授权的流量才可以通过防火墙防火墙本身必须建立在安全操作系统的基础上防火墙的控制能力服务控制,确定哪些服务可以被访问方向控制,对于特定的服务,可以确定允许哪个方向能够通过防火墙用户控制,根据用户来控制对服务的访问行为控制,控制一个特定的服务的行为,防火墙能为我们做什么,定义一个必经之点挡住未经授权的访问流量禁止具有脆弱性的服务带来危害实施保护,以避免各种IP欺骗和路由攻击防火墙提供了一个监视各种安全事件的位置,所以,可以在防火墙上实现审计和报警对于有些Internet功能来说,防火墙也可以是一个理想的平台,比如地址转换,Internet日志、审计,甚至计费功能防火墙可以作为IPSec的实现平台,防火墙本身的一些局限性,对于绕过防火墙的攻击,它无能为力,例如,在防火墙内部通过拨号出去防火墙不能防止内部的攻击,以及内部人员与外部人员的联合攻击(比如,通过tunnel进入)防火墙不能防止被病毒感染的程序或者文件、邮件等防火墙的性能要求,防火墙的类型,包过滤路由器应用层网关,包过滤路由器,基本的思想很简单对于每个进来的包,适用一组规则,然后决定转发或者丢弃该包往往配置成双向的如何过滤过滤的规则以IP和传输层的头中的域(字段)为基础,包括源和目标IP地址、IP协议域、源和目标端口号过滤器往往建立一组规则,根据IP包是否匹配规则中指定的条件来作出决定。如果匹配到一条规则,则根据此规则决定转发或者丢弃如果所有规则都不匹配,则根据缺省策略,安全缺省策略,两种基本策略,或缺省策略没有被拒绝的流量都可以通过管理员必须针对每一种新出现的攻击,制定新的规则没有被允许的流量都要拒绝比较保守根据需要,逐渐开放,包过滤路由器示意图,包过滤防火墙,在网络层上进行监测并没有考虑连接状态信息通常在路由器上实现实际上是一种网络的访问控制机制优点:实现简单对用户透明效率高缺点:正确制定规则并不容易不可能引入认证机制,包过滤防火墙的设置(2),从外往内的telnet服务,client,server,内部,外部,往内包的特性(用户操作信息)IP源是外部地址目标地址为本地serverTCP协议,目标端口23源端口1023连接的第一个包ACK=0,其他包ACK=1,往外包的特性(显示信息)IP源是本地server目标地址为外部地址TCP协议,源端口23目标端口1023所有往内的包都是ACK=1,针对包过滤防火墙的攻击,IP地址欺骗,例如,假冒内部的IP地址对策:在外部接口上禁止内部地址源路由攻击,即由源指定路由对策:禁止这样的选项小碎片攻击,利用IP分片功能把TCP头部切分到不同的分片中对策:丢弃分片太小的分片利用复杂协议和管理员的配置失误进入防火墙例如,利用ftp协议对内部进行探查,应用层网关,也称为代理服务器特点所有的连接都通过防火墙,防火墙作为网关在应用层上实现可以监视包的内容可以实现基于用户的认证所有的应用需要单独实现可以提供理想的日志功能非常安全,但是开销比较大,Firewalls,A firewall consisting of two packet filters and an application gateway.,应用层网关的结构示意图,应用层网关的协议栈结构,HTTP,FTP,Telnet,Smtp,传输层,网络层,链路层,应用层网关的优缺点,优点允许用户“直接”访问Internet易于记录日志缺点新的服务不能及时地被代理每个被代理的服务都要求专门的代理软件客户软件需要修改,重新编译或者配置有些服务要求建立直接连接,无法使用代理比如聊天服务、或者即时消息服务代理服务不能避免协议本身的缺陷或者限制,应用层网关实现,编写代理软件代理软件一方面是服务器软件但是它所提供的服务可以是简单的转发功能另一方面也是客户软件对于外面真正的服务器来说,是客户软件针对每一个服务都需要编写模块或者单独的程序实现一个标准的框架,以容纳各种不同类型的服务软件实现的可扩展性和可重用性客户软件软件需要定制或者改写对于最终用户的透明性?协议对于应用层网关的处理协议设计时考虑到中间代理的存在,特别是在考虑安全性,比如数据完整性的时候,应用层网关代理服务器,发展方向智能代理不仅仅完成基本的代理访问功能还可以实现其他的附加功能,比如对于内容的自适应剪裁增加计费功能提供数据缓冲服务两个代理服务器的实现例子MSP Microsoft Proxy Server,Microsoft Proxy Server 2.0,一个功能强大的代理服务器提供常用的Internet服务除了基本的Web Proxy,还有Socks Proxy和Winsock Proxy强大的cache和log功能对于软硬件的要求比较低安装管理简单与NT/2000集成的认证机制安全报警,Microsoft Proxy Server v2管理示意图,配置方案一,双宿主堡垒主机方案所有的流量都通过堡垒主机优点:简单,配置方案二,屏蔽主机方案:单宿主堡垒主机只允许堡垒主机可以与外界直接通讯优点:两层保护:包过滤+应用层网关;灵活配置 缺点:一旦包过滤路由器被攻破,则内部网络被暴露,配置方案三,屏蔽主机方案:双宿主堡垒主机从物理上把内部网络和Internet隔开,必须通过两层屏障优点:两层保护:包过滤+应用层网关;配置灵活,配置方案四,屏蔽子网防火墙优点:三层防护,用来阻止入侵者外面的router只向Internet暴露屏蔽子网中的主机内部的router只向内部私有网暴露屏蔽子网中的主机,防火墙的发展,应用层网关的进一步发展认证机制智能代理与其他技术的集成比如NAT、VPN(IPSec)、IDS,以及一些认证和访问控制技术防火墙自身的安全性和稳定性,内容,截获网络上的数据包监听数据包的技术LibpcapWinPcap入侵检测技术,网络监听,在一个共享式网络,可以听取所有的流量是一把双刃剑管理员可以用来监听网络的流量情况开发网络应用的程序员可以监视程序的网络情况黑客可以用来刺探网络情报目前有大量商业的、免费的监听工具,俗称嗅探器(sniffer),以太网络的工作原理,载波侦听/冲突检测(CSMA/CD,carrier sense multiple access with collision detection)技术载波侦听:是指在网络中的每个站点都具有同等的权利,在传输自己的数据时,首先监听信道是否空闲如果空闲,就传输自己的数据如果信道被占用,就等待信道空闲而冲突检测则是为了防止发生两个站点同时监测到网络没有被使用时而产生冲突以太网采用了CSMA/CD技术,由于使用了广播机制,所以,所有与网络连接的工作站都可以看到网络上传递的数据,以太网卡的工作模式,网卡的MAC地址(48位)通过ARP来解析MAC与IP地址的转换用ipconfig/ifconfig可以查看MAC地址正常情况下,网卡应该只接收这样的包MAC地址与自己相匹配的数据帧广播包网卡完成收发数据包的工作,两种接收模式混杂模式:不管数据帧中的目的地址是否与自己的地址匹配,都接收下来非混杂模式:只接收目的地址相匹配的数据帧,以及广播数据包(和组播数据包)为了监听网络上的流量,必须设置为混杂模式,共享网络和交换网络,共享式网络通过网络的所有数据包发往每一个主机最常见的是通过HUB连接起来的子网交换式网络通过交换机连接网络由交换机构造一个“MAC地址-端口”映射表发送包的时候,只发到特定的端口上,共享式网络示意图,Windows平台下一些sniffer工具,Buttsniffer简单,不需要安装,可以在Windows NT下运行,适合于后台运作NetMonWindows 2000自带(Microsoft SMS也带)友好的图形界面,分析功能强NetXRay界面友好,统计分析功能强,过滤器功能基于WinPcap的工具WinDumpAnalyzer,在交换式网络上监听数据包,ARP重定向技术,一种中间人攻击,A,B,GW,1 B打开IP转发功能,2 B发送假冒的arp包给A,声称自己是GW的IP地址,3 A给外部发送数据,首先发给B,4 B再转发给GW,做法:利用dsniff中的arpredirect工具,IDS:Intrusion Detection System,入侵检测系统介绍入侵检测系统分类入侵检测系统用到的一些技术入侵检测系统的研究和发展,IDS的用途,攻击工具攻击命令,攻击机制,目标网络,目标系统,攻击者,漏洞扫描评估加固,攻击过程,实时入侵检测,入侵检测系统的实现过程,信息收集,来源:网络流量系统日志文件系统目录和文件的异常变化程序执行中的异常行为信息分析模式匹配统计分析完整性分析,往往用于事后分析,入侵检测系统的通用模型,数据源,模式匹配器,系统轮廓分析引擎,数据库,入侵模式库,异常检测器,响应和恢复机制,入侵检测系统的种类,基于主机安全操作系统必须具备一定的审计功能,并记录相应的安全性日志基于网络IDS可以放在防火墙或者网关的后面,以网络嗅探器的形式捕获所有的对内对外的数据包基于内核从操作系统的内核接收数据基于应用从正在运行的应用程序中收集数据,IDS的技术,异常检测(anomaly detection)也称为基于行为的检测首先建立起用户的正常使用模式,即知识库标识出不符合正常模式的行为活动误用检测(misuse detection)也称为基于特征的检测建立起已知攻击的知识库判别当前行为活动是否符合已知的攻击模式,异常检测,比较符合安全的概念,但是实现难度较大正常模式的知识库难以建立难以明确划分正常模式和异常模式常用技术统计方法预测模式神经网络,误用检测,目前研究工作比较多,并且已经进入实用建立起已有攻击的模式特征库难点在于:如何做到动态更新,自适应常用技术基于简单规则的模式匹配技术基于专家系统的检测技术基于状态转换分析的检测技术基于神经网络检测技术其他技术,如数据挖掘、模糊数学等,IDS的两个指标,漏报率指攻击事件没有被IDS检测到误报率(false alarm rate)把正常事件识别为攻击并报警误报率与检出率成正比例关系,基于网络的IDS系统,收集网络流量数据利用sniff技术把IDS配置在合理的流量集中点上,比如与防火墙或者网关配置在一个子网中利用某些识别技术基于模式匹配的专家系统基于异常行为分析的检测手段,IDS与响应和恢复技术,IDS属于检测的环节,一旦检测到入侵或者攻击,必须尽快地做出响应,以保证信息系统的安全IDS的响应机制,可以从基本的管理角度来考虑,也可以从技术角度来实施,包括与其他防护系统的互操作,比如防火墙对于一个企业而言,IDS与DRP(Disaster Recovery Planning)需要一起来制订和实施DRP包括业务影响分析(BIA,Business Impact Analysis)数据必须定期备份信息系统的根本目的是提供便利的服务灾难评估明确责任人,黑客和黑客技术,如何理解hackerHacker的定义?Hacker代表了数字时代的一种文化强盗和侠客如何界定?警察和匪徒如何界定?从道德和技术两方面来看道德:服从人民大众的利益技术:过硬还需要强烈的热忱和坚持不懈的毅力黑客技术防护技术的一部分发展黑客技术,也是为了更加有效地实施系统防护技术繁多,没有明显的理论指导,黑客技术,从一个攻击过程来看待黑客技术攻击过程中涉及到的技术都可以看成黑客技术有时候,一种技术既是黑客技术,也是网络管理技术,或者网络防护技术粗分类信息收集技术:入侵之前的准备入侵技术:拒绝服务、欺骗、溢出、病毒邮件,信息获取:入侵之后的增值服务,如木马、解口令等藏匿:希望自己被发现吗?其他,比如针对cookie或者一些协议、机制的攻击,为什么要信息收集,信息收集技术也是一把双刃剑黑客在攻击之前需要收集信息,才能实施有效的攻击管理员用信息收集技术来发现系统的弱点,攻击工具攻击命令,攻击机制,目标网络,目标系统,攻击者,漏洞扫描评估加固,攻击过程,实时入侵检测,信息收集过程,信息收集是一个综合过程从一些社会信息入手找到网络地址范围找到关键的机器地址找到开放端口和入口点找到系统的制造商和版本,ICMP简介,Internet Control Message Protocol,本身是IP的一部分,用途网关或者目标机器利用ICMP与源通讯,当出现问题时,提供反馈信息用于报告错误在IP协议栈中必须实现特点:其控制能力并不用于保证传输的可靠性它本身也不是可靠传输的并不用来反映ICMP消息的传输情况,ICMP数据包,ICMP数据包直接包含在IP数据包的净荷数据中,IP头中协议类型为1ICMP数据的第一个字节代表ICMP消息的类型,它决定了后续数据的格式,ICMP消息类型(部分),0 Echo Reply3 Destination Unreachable4 Source Quench 5 Redirect 8 Echo 11 Time Exceeded,12 Parameter Problem 13 Timestamp 14 Timestamp Reply 15 Information Request 16 Information Reply,信息收集:扫描技术,Port scanning:找出网络中开放的服务基于TCP/IP协议,对各种网络服务,无论是主机或者防火墙、路由器都适用端口扫描可以确认各种配置的正确性,避免遭受不必要的攻击用途,双刃剑管理员可以用来确保自己系统的安全性黑客用来探查系统的入侵点端口扫描的技术已经非常成熟,目前有大量的商业、非商业的扫描器,扫描器的重要性,扫描器能够暴露网络上潜在的脆弱性无论扫描器被管理员利用,或者被黑客利用,都有助于加强系统的安全性它能使得漏洞被及早发现,而漏洞迟早会被发现的扫描器可以满足很多人的好奇心扫描器除了能扫描端口,往往还能够发现系统存活情况,以及哪些服务在运行用已知的漏洞测试这些系统对一批机器进行测试,简单的迭代过程有进一步的功能,包括操作系统辨识、应用系统识别,扫描器历史,早期80年代,网络没有普及,上网的好奇心驱使许多年轻人通过Modem拨号进入到UNIX系统中。这时候的手段需要大量的手工操作于是,出现了war dialer自动扫描,并记录下扫描的结果现代的扫描器要先进得多SATAN:Security Administrators Tool for Analyzing Networks 1995年4月发布,引起了新闻界的轰动界面上的突破,从命令行走向图形界面(使用HTML界面),不依赖于X两位作者的影响(Dan Farmer写过网络安全检查工具COPS,另一位Weitse Venema是TCP_Wrapper的作者)Nmap作者为Fyodor,技术上,是最先进的扫描技术大集成结合了功能强大的通过栈指纹来识别操作系统的众多技术,端口扫描技术,基本的TCP connect()扫描TCP SYN扫描(半开连接扫描,half open)TCP Fin扫描(秘密扫描,stealth)TCP ftp proxy扫描(bounce attack)用IP分片进行SYN/FIN扫描(躲开包过滤防火墙)UDP recvfrom扫描UDP ICMP端口不可达扫描Reverse-ident扫描,TCP connect()扫描,做法扫描器调用socket的connect()函数发起一个正常的连接如果端口是打开的,则连接成功否则,连接失败优点简单,不需要特殊的权限缺点服务器可以记录下客户的连接行为,如果同一个客户轮流对每一个端口发起连接,则一定是在扫描,TCP SYN扫描,做法向目标主机的特定端口发送一个SYN包如果应答包为RST包,则说明该端口是关闭的否则,会收到一个SYN|ACK包。于是,发送一个RST,停止建立连接由于连接没有完全建立,所以称为“半开连接扫描”优点很少有系统会记录这样的行为缺点在UNIX平台上,需要root权限才可以建立这样的SYN数据包,TCP Fin扫描(秘密扫描),做法扫描器发送一个FIN数据包如果端口关闭的,则远程主机丢弃该包,并送回一个RST包否则的话,远程主机丢弃该包,不回送变种,组合其他的标记优点不是TCP建立连接的过程,所以比较隐蔽缺点与SYN扫描类似,也需要构造专门的数据包在Windows平台无效,总是发送RST包,分片扫描,它本身并不是一种新的扫描方法,而是其他扫描技术的变种,特别是SYN扫描和FIN扫描思想是,把TCP包分成很小的分片,从而让它们能够通过包过滤防火墙注意,有些防火墙会丢弃太小的包而有些服务程序在处理这样的包的时候会出现异常,或者性能下降,或者出现错误,UDP ICMP端口不可达扫描,利用UDP协议做法开放的UDP端口并不需要送回ACK包,而关闭的端口也不要求送回错误包,所以利用UDP包进行扫描非常困难有些协议栈实现的时候,对于关闭的UDP端口,会送回一个ICMP Port Unreach错误缺点速度慢,而且UDP包和ICMP包都不是可靠的需要root权限,才能读取ICMP Port Unreach消息一个应用例子Solaris的rpcbind端口(UDP)位于32770之上,这时可以通过这种技术来探测,Pinger,扫描器,SATANstrobePingerPortscanSuperscan,操作系统辨识,操作系统辨识的动机许多漏洞是系统相关的,而且往往与相应的版本对应从操作系统或者应用系统的具体实现中发掘出来的攻击手段都需要辨识系统操作系统的信息还可以与其他信息结合起来,比如漏洞库,或者社会诈骗(社会工程,social engineering)如何辨识一个操作系统一些端口服务的提示信息,例如,telnet、http、ftp等服务的提示信息TCP/IP栈指纹DNS泄漏出OS系统,端口服务提供的信息,Telnet服务Http服务Ftp服务,Nmap的图形界面&探寻数据包示意图,欺骗技术,IP欺骗假冒他人的IP地址发送信息邮件欺骗假冒他人的email地址发送信息Web欺骗你能相信你所看到的信息吗?其他欺骗术DNS欺骗非技术性欺骗,IP欺骗,IP欺骗的动机隐藏自己的IP地址,防止被跟踪以IP地址作为授权依据穿越防火墙IP欺骗的形式单向IP欺骗:不考虑回传的数据包双向IP欺骗:要求看到回传的数据包更高级的欺骗:TCP会话劫持IP欺骗成功的要诀IP数据包路由原则:根据目标地址进行路由,IP欺骗:改变自己的地址,用网络配置工具改变机器的IP地址注意:只能发送数据包收不到回包防火墙可能阻挡在Linux平台上用ifconfig,用程序实现IP欺骗,发送IP包,IP包头填上假冒的源IP地址在Unix/Linux平台上,直接用socket就可以发送,但是需要root权限在Windows平台上,不能使用Winsock可以使用winpcap可以用libnet构造IP包代码示例在Linux平台上,打开一个raw socket,自己填写IP头和传输层数据,然后发送出去,用程序实现IP欺骗代码示例,sockfd=socket(AF_INET,SOCK_RAW,255);setsockopt(sockfd,IPPROTO_IP,IP_HDRINCL,IP欺骗:双向欺骗,欺骗的过程,攻击者H,H能看到这个包吗?,让回应包经过HH和A在同一个子网内部使用源路由选项,如何避免IP欺骗,主机保护,两种考虑保护自己的机器不被用来实施IP欺骗物理防护、登录口令权限控制,不允许修改配置信息保护自己的机器不被成为假冒的对象无能为力网络防护路由器上设置欺骗过滤器入口过滤,外来的包带有内部IP地址出口过滤,内部的包带有外部IP地址保护免受源路由攻击路由器上禁止这样的数据包,关于欺骗技术,从这些欺骗技术,我们可以看到IP协议的脆弱性应用层上也缺乏有效的安全措施在网络攻击技术中,欺骗术是比较初级的,技术含量并不高,它是针对Internet中各种不完善的机制而发展起来的非技术性的欺骗比如,实施社会工程毕竟网络世界与现实世界是紧密相关的避免被欺骗最好的办法是教育、教育、再教育增强每一个Internet用户的安全意识,网络管理人员以及软件开发人员的安全意识更加重要,会话(交易)劫持,在现实环境中,比如对于银行一笔交易如果营业员检查了顾客的身份证和账户卡抬起头来,发现不再是刚才的顾客他会把钱交给外面的顾客吗?,TCP会话劫持(session hijacking),欺骗和劫持欺骗是伪装成合法用户,以获得一定的利益劫持是积极主动地使一个在线的用户下线,或者冒充这个用户发送消息,以便达到自己的目的会话劫持分两种被动劫持,实际上就是藏在后面监听所有的会话流量。常常用来发现密码或者其他敏感信息主动劫持,找到当前活动的会话,并且把会话接管过来。迫使一方下线,由劫持者取而代之,危害更大,因为攻击者接管了一个合法的会话之后,可以做许多危害性更大的事情,会话劫持示意图,被劫持者A,服务器B,会话劫持的原理,TCP协议三次握手建立TCP连接(即一个TCP会话)终止一个会话,正常情况需要4条消息如何标识一个会话:状态:源IP:端口+SN 目标IP:端口+SN从TCP会话的状态入手要了解每一个方向上的SN(数据序列号)两个方向上的序列号是相互独立的TCP数据包,除了第一个SYN包之外,都有一个ack标志,给出了期待对方发送数据的序列号所以,猜测序列号是成功劫持TCP会话的关键,实施会话劫持的一般性过程,发现目标找到什么样的目标,以及可以有什么样的探查手段,取决于劫持的动机和环境探查远程机器的ISN(初始序列号)规律可以用nmap,或者手工发起多个连接等待或者监听会话最好在流量高峰期间进行,而且可以有比较多可供选择的会话猜测序列号这是最为关键的一步,如果不在一个子网中,难度将非常大使被劫持方下线ACK风暴,拒绝服务接管会话如果在同一个子网中,则可以收到响应,否则要猜测服务器的动作,Kill a connection,攻击者发送一个RST包给B,并且假冒A的IP地址观察A和B之间的数据往来,算出A和B的序列号,在适当的时机插入一个RST包,只要在插入点上,序列号正确,则RST包就会被接受,从而达到目的攻击者发送一个FIN包给B,并且假冒A的IP地址,A,B,攻击者,如何防止会话劫持,部署共享式网络,用交换机代替集线器TCP会话加密防火墙配置限制尽可能少量的外部许可连接的IP地址检测ACK包的数量明显增加,拒绝服务(Denial of Service),回顾信息安全的三个主要需求:保密性、完整性、可用性(availability)DoS是针对可用性发起的攻击关于DoS定义:通过某些手段使得目标系统或者网络不能提供正常的服务技术和原理都非常简单,并且已经工具化难以防范,有些DoS可以通过管理的手段防止DoS的动机受挫折,无法攻入目标系统,最后一招:DOS强行对方重启机器恶意的破坏、或者报复网络恐怖主义,DoS的危害,使得正常的服务不能提供案例:1996年9月,一家ISP(Public Access Networks)公司遭受拒绝服务达一周一上,拒绝对约6000多人和1000家公司提供Internet服务政府网站美国白宫的网站曾经遭受拒绝服务攻击分布式拒绝服务2000年2月,一批商业性质的Web站点收到了DDoS的攻击,DoS的形式,粗略来看,分为三种形式消耗有限的物理资源网络连接带宽资源其他资源,如磁盘空间、进程数合法用户可登录尝试的次数有限,攻击者可以用掉这些尝试次数修改配置信息造成DoS比如,修改路由器信息,造成不能访问网络;修改NT注册表,也可以关掉某些功能物理部件的移除,或破坏,DoS的技术分类,从表现形式来看带宽消耗用足够的资源消耗掉有限的资源利用网络上的其他资源(恶意利用Internet共享资源),达到消耗目标系统或网络的目的系统资源消耗,针对操作系统中有限的资源,如进程数、磁盘、CPU、内存、文件句柄,等等程序实现上的缺陷,异常行为处理不正确,比如Ping of Death修改(篡改)系统策略,使得它不能提供正常的服务从攻击原理来看通用类型的DoS攻击,这类攻击往往是与具体系统无关的,比如针对协议设计上的缺陷的攻击系统相关的攻击,这类攻击往往与具体的实现有关说明:最终,所有的防御都是系统相关的,因为有些系统可以针对协议的缺陷提供一些补救措施,从而免受此类攻击,DoS的技术历史,早期的Internet蠕虫病毒消耗网络资源分片装配,非法的TCP标志,SYN Flood,等利用系统实现上的缺陷,点对点形式Ping of Death,IP分片重叠分布式DoS(DDoS)攻击最著名的smurf攻击,一些典型的DoS攻击,Ping of Death发送异常的(长度超过IP包的最大值)Land程序发送一个TCP SYN包,源地址与目的地址相同,源端口与目的端口相同,从而产生DoS攻击SYN Flood快速发送多个SYN包UDP FloodTeardropIP包的分片装配Smurf给广播地址发送ICMP Echo包,造成网络阻塞,Ping of Death,原理:直接利用ping包,即ICMP Echo包,有些系统在收到大量比最大包还要长的数据包,会挂起或者死机受影响的系统:许多操作系统受影响攻击做法直接利用ping工具,发送超大的ping数据包防止措施打补丁防火墙阻止这样的ping包,Teardrop,原理:利用IP包的分片装配过程中,由于分片重叠,计算过程中出现长度为负值,在执行memcpy的时候导致系统崩溃受影响的系统:Linux/Windows NT/95,97年发现攻击特征攻击非常简单,发送一些IP分片异常的数据包防止措施加入条件判断,对这种异常的包特殊处理打补丁参考:http:/www.attrition.org/security/denial/w/teardrop.dos.html,SYN Flood,原理:利用TCP连接三次握手过程,打开大量的半开TCP连接,使得目标机器不能进一步接受TCP连接。每个机器都需要为这种半开连接分配一定的资源,并且,这种半开连接的数量是有限制的,达到最大数量时,机器就不再接受进来的连接请求。受影响的系统:大多数操作系统攻击细节连接请求是正常的,但是,源IP地址往往是伪造的,并且是一台不可达的机器的IP地址,否则,被伪造地址的机器会重置这些半开连接一般,半开连接超时之后,会自动被清除,所以,攻击者的系统发出SYN包的速度要比目标机器清除半开连接的速度要快任何连接到Internet上并提供基于TCP的网络服务,都有可能成为攻击的目标这样的攻击很难跟踪,因为源地址往往不可信,而且不在线,SYN Flood(续),攻击特征目标主机的网络上出现大量的SYN包,而没有相应的应答包SYN包的源地址可能是伪造的,甚至无规律可循防止措施针对网络防火墙或者路由器可以在给定时间内只允许有限数量的半开连接入侵检测,可以发现这样的DoS攻击行为打补丁Linux和Solaris使用了一种被称为SYN cookie的技术来解决SYN Flood攻击:在半开连接队列之外另设置了一套机制,使得合法连接得以正常继续,一次SYN Flood攻击的记录,Smurf,原理:向广播地址发送伪造地址的ICMP Echo数据包。攻击者向一个广播地址发送ICMP Echo请求,并且用受害者的IP地址作为源地址,于是,广播地址网络上的每台机器响应这些Echo请求,同时向受害者主机发送ICMP Echo-Reply应答。于是,受害者主机会被这些大量的应答包淹没受影响的系统:大多数操作系统和路由器变种:fraggle,使用UDP包,或称为udpsmurf比如,7号端口(echo),如果目标机器的端口开着,则送回应答,否则,产生ICM端口不可达消息技术细节两个主要的特点:使用伪造的数据包,使用广播地址。不仅被伪造地址的机器受害,目标网络本身也是受害者,它们要发送大量的应答数据包,Smurf攻击示意图,Smurf攻击,攻击特征涉及到三方:攻击者,中间目标网络,受害者以较小的网络带宽资源,通过放大作用,吃掉较大带宽的受害者系统Smurf放大器Smurf放大器网络:不仅允许ICMP Echo请求发给网络的广播地址,并且允许ICMP Echo-Reply发送回去这样的公司越多,对Internet的危害就越大实施Smurf攻击需要长期的准备,首先找到足够多的中间网络集中向这些中间网络发出ICMP Echo包,Smurf攻击的防止措施,针对最终受害者没有直接的方法可以阻止自己接收ICMP Echo Reply消息在路由器上阻止这样的应答消息,但是,结果是,路由器本身遭受了DoS攻击与中间目标网络联系针对中间网络关闭外来的IP广播消息,但是,如果攻击者从内部机器发起攻击,仍然不能阻止smurf攻击配置操作系统,对于广播地址的ICMP包不响应在每个路由节点上都记录log,以备查流量大的路由节点上能够记录所有的流量吗,DoS工具,每一种攻击被揭示出来的时候,都会有一些试验性的代码,例如teardrop.c、synflood.c等,由于DoS攻击往往比较简单,所以这些代码也比较短小通常,要涉及到IP欺骗一些现有的工具Targa:把几种DoS集中在一起Trinoo:分布式DoS工具TFN2K:Targa的增强,可实施DDoS攻击stacheldraht,防止DoS,对于网络路由器和防火墙配置得当,可以减少受DoS攻击的危险比如,禁止IP欺骗可以避免许多DoS攻击入侵检测系统,检测异常行为对于系统升级系统内核,打上必要的补丁,特别是一些简单的DoS攻击,例如SYN Flooding关掉不必要的服务和网络组件如果有配额功能的话,正确地设置这些配额监视系统的运行,避免降低到基线以下检测系统配置信息的变化情况保证物理安全建立备份和恢复机制,一次针对Windows 2000的入侵过程(一),1.探测选择攻击对象,了解部分简单的对象信息。这里,针对具体的攻击目标,随便选择了一组IP地址,进行测试,选择处于活动状态的主机,进行攻击尝试;针对探测的安全建议对于网络:安装防火墙,禁止这种探测行为对于主机:安装个人防火墙软件,禁止外部主机的ping包,使对方无法获知主机当前正确的活动状态,一次针对Windows 2000的入侵过程(二),2.扫描使用的扫描软件如扫描软件是SSS(Shadow Security Scanner),目前的最高版本是5.3.1,SSS是俄罗斯的一套非常专业的安全漏洞扫描软件,能够扫描目标服务器上的各种漏洞,包括很多漏洞扫描、端口扫描、操作系统检测、账号扫描等等,而且漏洞数据可以随时更新。开放端口扫描 操作系统识别 SSS本身就提供了强大的操作系统识别能力,也可以使用其他工具进行主机操作系统检测。主机漏洞分析,扫描结果:端口扫描,可以看出几个比较知名的端口均处于打开状态,如139、80等,扫描结果:操作系统识别,结果显示该主机操作系统为Windows 2000,,扫描结果:漏洞扫描,SSS可对远程主机进行漏洞检测分析,这更方便了我们了解远程主机的状态,选择合适的攻击入口点,进行远程入侵 该主机存在的漏洞较多,我们可以确定选择该主机作为攻击对象。另外,主机的帐号密码使用的是“永不过期”方式,我们可以在下面进行帐号密码的强行破解,一次针对Windows 2000的入侵过程(三),3.查看目标主机的信息在完成对目标主机的扫描后,我们可以利用Windows NT/2000对NetBIOS的缺省信赖,对目标主机上的用户帐号、共享资源等进行检查。事实上,在利用SSS进行扫描的过程中,SSS已经向我们报告了众多有效的信息。这里,我们再利用Windows2000的IPC空会话查询远程主机,一次针对Windows 2000的入侵过程(四),4.渗透IIS攻击尝试利用IIS中知名的Unicode和“Translate:f”漏洞进行攻击,没有成功。目标主机可能已修复相应漏洞,或没有打开远程访问权限Administrator口令强行破解 目标主机是一台个人主机,绝大部分情况下,均使用Administrator帐号进行登陆,且个人防范意识较差的话,选择的密码一般都较简单,如“主机名”、“11111”、“12345”之类的简单密码(方便自己的快速登陆)。所以考虑利用NetBIOS会话服务(TCP 139)进行远程密码猜测。这里我们使用NAT(NetBIOS Auditing Tool)进行强行破解:构造一个可能的用户帐户表,以及简单的密码字典,然后用NAT进行破解。成功,Administrator口令破解情况,一次针对Windows 2000的入侵过程(五),5.巩固权力现在得到了Administrator的帐户,接下去需要巩固权力添加一个迷惑性的帐户,并加入administrators组,将来通过新帐户进入装载后门装载后门一般的个人主机为防范病毒,均会安装反病毒软件,如Norton Anti-Virus、金山毒霸等,并且大部分人也能及时更新病毒库,而大部分的木马程序在这类软件的病毒库中均被视为Trojan木马病毒。所以,这为我们增加了难度。除非一些很新的程序或自己编写的程序才能够很好地隐藏起来我们使用NetCat作为后门程序进行演示,安装后门程序(一),利用刚刚获取的Administrator口令,通过Net use映射对方驱动器,安装后门程序(二),然后将netcat主程序nc.exe复制到目标主机的系统目录下(便于隐藏),可将程序名称改为容易迷惑对方的名字,如rundl132.exe、ddedll32.exe等,利用at命令远程启动NetCat,供我们远程连接使用。还添加了每日运行计划,供以后使用,安装后门程序(三),远程NetCat服务程序启动后,我们可以在本地进行远程连接,运行命令(在远程主机上),这时,我们已经完全控制了这台机