网络攻击与入侵检测技术网络与信息安全网络攻击与入侵检测网络安全的攻防体系网络安全攻击防御体系攻击技术网络扫描网络监听网络入侵网络后门与网络隐身防御技术操作系统安全配置技术加密技术防火墙技术入侵检测技术网络安全的实施工具软件:Sniffer/X-Scan/防火墙软件/入侵检测软件/加密软件等等编程语言:C/C++/Perl网络安全物理基础操作系统:Unix/Linux/Windows网络协议:TCP/IP/UDP/SMTP/POP/FTP/HTTP防御技术防御技术包括四大方面:1、操作系统的安全配置:操作系统的安全是整个网络安全的关键。2、加密技术:为了防止被监听和盗取数据,将所有的数据进行加密。3、防火墙技术:利用防火墙,对传输的数据进行限制,从而防止被入侵。4、入侵检测:如果网络防线最终被攻破了,需要及时发出被入侵的警报。攻击技术如果不知道如何攻击,再好的防守也是经不住考验的,攻击技术主要包括五个方面:1、隐藏IP:防止被追踪2、网络扫描和监听:利用程序去扫描目标计算机开放的端口等,目的是发现漏洞,为入侵该计算机做准备。3、网络入侵:当探测发现对方存在漏洞以后,入侵到目标计算机获取信息。4、网络后门:成功入侵目标计算机后,为了对“战利品”的长期控制,在目标计算机中种植木马等后门。5、网络隐身:入侵完毕退出目标计算机后,将自己入侵的痕迹清除,从而防止被对方管理员发现。隐藏IP这一步必须做,因为如果自己的入侵的痕迹被发现了,当警察找上门的时候就一切都晚了。通常有两种方法实现自己IP的隐藏:第一种方法是首先入侵互联网上的一台电脑(俗称“肉鸡”),利用这台电脑进行攻击,这样即使被发现了,也是“肉鸡”的IP地址。第二种方式是做多极跳板“Sock代理”,这样在入侵的电脑上留下的是代理计算机的IP地址。比如攻击A国的站点,一般选择离A国很远的B国计算机作为“肉鸡”或者“代理”,这样跨国度的攻击,一般很难被侦破。攻击和安全的关系黑客攻击和网络安全的是紧密结合在一起的,研究网络安全不研究黑客攻击技术简直是纸上谈兵,研究攻击技术不研究网络安全就是闭门造车。某种意义上说没有攻击就没有安全,系统管理员可以利用常见的攻击手段对系统进行检测,并对相关的漏洞采取措施。网络攻击有善意也有恶意的,善意的攻击可以帮助系统管理员检查系统漏洞,恶意的攻击可以包括:为了私人恩怨而攻击、商业或个人目的获得秘密资料、民族仇恨、利用对方的系统资源满足自己的需求、寻求刺激、给别人帮忙以及一些无目的攻击。扫描攻击(scan)网络踩点踩点就是通过各种途径对所要攻击的目标进行多方面的了解(包括任何可得到的蛛丝马迹,但要确保信息的准确)。常见的踩点方法包括:在域名及其注册机构的查询(whois)公司性质的了解对主页进行分析邮件地址的搜集目标IP地址范围查询。踩点的目的就是探察对方的各方面情况,确定攻击的时机。模清除对方最薄弱的环节和守卫最松散的时刻,为下一步的入侵提供良好的策略。网络扫描第二步执行扫描一般分成两种策略:一种是主动式策略另一种是被动式策略。扫描利用各种工具对攻击目标的IP地址或地址段的主机查找漏洞。扫描采取模拟攻击的形式对目标可能存在的已知安全漏洞逐项进行检查,目标可以是工作站、服务器、交换机、路由器和数据库应用等。根据扫描结果向扫描者或管理员提供周密可靠的分析报告扫描器(scanner)扫描器是一种自动检测远程或本地主机安全性弱点的软件。主要有端口扫描器和漏洞扫描器两种。扫描器通常集成了多种功能。端口扫描器的作用是进行端口探测,检查远程主机上开启的端口。漏洞扫描器则是把各种安全漏洞集成在一起,自动利用这些安全漏洞对远程主机尝试攻击,从而确定目标主机是否存在这些安全漏洞。因此,扫描器是一把双刃剑,系统管理员使用它来查找系统的潜在漏洞,而黑客利用它进行攻击。扫描器历史早期80年代,网络没有普及,上网的好奇心驱使许多年轻人通过Modem拨号进入到UNIX系统中。这时候的手段需要大量的手工操作于是,出现了wardialer——自动扫描,并记录下扫描的结果SATAN:SecurityAdministrator'sToolforAnalyzingNetworks1995年4月发布,引起了新闻界的轰动界面上的突破,从命令行走向图形界面(使用HTML界面),不依赖于X两位作者的影响(DanFarmer写过网络安全检查工具COPS,另一位WeitseVenema是TCP_Wrapper的作者)Nmap作者为Fyodor,技术上,是最先进的扫描技术大集成结合了功能强大的通过栈指纹来识别操作系统的众多技术扫描攻击的目的目标网络的网络拓扑结构目标主机运行的操作系统是否有的安全保护措施运行那些服务服务器软件的版本存在哪些漏洞扫描类型网络(地址)扫描发现活动主机,获取网络拓扑结构端口扫描确定运行在目标系统上的TCP和UDP服务确定目标系统的操作系统类型确定特定应用程序或特定服务的版本漏洞扫描确定特定服务存在的安全漏洞网络扫描-了解网络情况目的黑客首先希望了解你的网络中的详细情况,比如网络拓扑结构,活动主机IP地址,主要服务器,路由器和防火墙。黑客使用扫描工具一般先扫描你的网关、DMZ系统,各种服务器等Internet周边环境,在控制了你的网络周边环境后,再继续攻击你的内部网络。种类发现活跃主机跟踪路由发现活跃主机Ping:发送一个ICMP回显请求(echorequest)数据包,如果目标主机响应一个ICMP回显应答响应(echoreplay)数据包,则表示这是一个活跃主机。TCP扫描:许多网络防火墙都阻塞ICMP消息,因此,发送一个TCPack包到80端口,如果获得了RST返回,机器是活跃的。TTL&Hop基本概念跳(Hop):IP数据包经过一个路由器就叫做一个:跳。TTL在路由器中如何工作?TTL在路由器中如何工作?在路由器中如何工作当路由器收到一个IP数据包时,它首先将这个IP数据包的TTL字段减1,如果TTL为0则路由器抛弃这个数据包,并向源IP地址发送一个连接超时的ICMP数据包。如果不为0则根据路由表将这个数据包发送到下一个路由器或目的网络。跟踪路由(tracerouting)黑客可以利用TTL值来确定网络中数据包的路由路径,通过发送一系列TTL值递增的数据包来发现到达目的主机的路由路径。Unix下的跟踪路由工具是Traceroute,发送有递增的TTL值的UDP数据包,同时寻找返回的ICMP超时消息。windows下的跟踪路由工具是tracert。黑客使用跟踪路由(tracerouting)技术来确定目标网络的路由器和网关的拓扑结构。如何防御网络扫描利用防火墙和路由器的数据包过滤功能来阻塞这些消息,还应该阻塞所有流入的ICMP消息,另外,也可以过滤从你的网络流出的ICMP超时信息,从而完全拒绝traceroute的访问。常见的端口扫描技术TCPconnect扫描SYN扫描FIN扫描UDP扫描RPC扫描FTP反弹扫描ident扫描慢速扫描反向映射扫描IP分片扫描源端口扫描TCPconnect扫描是最基本的扫描方式,实际上是利用系统调用函数connect与目标主机建立TCP连接,完成三次握手。这种扫描方式会被防火墙记录到访问日志中。因此,会留下扫描痕迹。但是,这种扫描不需要有特殊权限。半开放(halfopen/SYN)扫描扫描器向目标主机的一个端口发送请求连接的SYN包,扫描器在收到SYN/ACK后,不是发送的ACK应答而是发送RST包请求断开连接。这样,三次握手就没有完成,无法建立正常的TCP连接,因此,这次扫描就不会被记录到系统日志中。这种扫描技术一般不会在目标主机上留下扫描痕迹。但是,这种扫描需要有root权限。FIN扫描SYN扫描现在已经不是一种秘密了,许多防火墙和路由器都有相应的措施,它们会对一些指定的端口进行监视,对这些端口的连接请求全部进行记录。但是许多过滤设备允许FIN数据包通过。因此FIN是中断连接的数据报文,所以许多日志系统不记录这样的数据报文。FIN扫描的原理就是向目标主机的某个端口发送一个FIN数据包。如果收到RST应答表示这个端口没有开放,反之则端口开放。但是有些操作系统不管端口是否开放,都应答RST。IP碎片扫描以细小的IP碎片包实现SYN,FIN,XMAS(FIN,URG,PUSH分组)或NULL(关掉所有标志)扫描攻击。即将TCP包头分别放在几个不同的数据包中,从而躲过包过滤防火墙的检测。UDP扫描这种扫描攻击用来确定目标主机上哪个UDP端口开放。通常是通过发送零字节的UDP数据包到目标机器的各个UDP端口,如果我们收到一个ICMP端口无法到达的回应,那么该端口是关闭的,否则我们可以认为它是敞开大门的。UDP扫描的意义:确定目标主机是否存在那些基于UDP协议的服务如snmp,tftp,NFS,DNS。ICMP数据包的发送速度有限制。而UDP扫描速度更快。被扫描主机的响应TCP扫描的响应:目标主机响应SYN/ACK,则表示这个端口开放。目标主机发送RST,则表示这个端口没有开放。目标主机没有响应,则可能是有防火墙或主机未运行。UDP扫描的响应:目标主机响应端口不可达的ICMP报文则表示这个端口关闭。目标主机没有响应,并且目标主机响应了ping,则这个端口被打开,如果防火墙阻塞了ICMP消息,则这个端口可能是关闭的。FTP传输模式FTP的主动模式的主动模式(activetransfer):的主动模式:由FTP的客户端指定FTP数据传输使用的TCP端口,然后由FTP服务器向FTP客户端请求建立FTP数据连接。FTP的客户端通过使用port命令告诉FTP服务器FTP的数据传输所使用的TCP端口。但是,有时由于防火墙或客户端使用网络地址转换(NetworkAddressTranslation,NAT),服务器无法建立与客户端的数据连接。FTP的被动模式的被动模式(passivetransfer):的被动模式:由FTP的客户端既请求建立控制连接又建立数据连接。FTP反弹扫描(FTPbounce)FTP反弹扫描是利用FTP主动模式,即扫描器与一台FTP服务器建立一个主动模式的FTP连接,然后,发送一个包含它试图扫描的主机的IP地址和端口号的port命令,从而实现FTP反弹扫描。使用FTP反弹扫描的好处是避免直接暴露自己的IP地址。OSfingerprinting操作系统的指纹识别根据不同类型的操作系统的TCP/IP协议栈的实现特征(stackfingerprinting)来判别主机的操作系统类型。不同的操作系统厂商的TCP/IP协议栈实现存在细微差异,对于特定的RFC文档作出不同的解释。向目标主机发送特殊的数据包,然后根据目标主机的返回信息在扫描工具的操作系统指纹特征数据库中查找匹配的操作系统名。主动与被动的协议栈指纹识别主动协议栈指纹识别:扫描器主动地向目标系统发送特殊格式的数据包,这种方式可能会被网络IDS系统检测出来。被动协议栈指纹识别:通过被动地监听网络流量,来确定目标主机地操作系统。一般根据数据包的一些被动特征:TTL,窗口大小,DF等。扫描应用软件版本在第一次连接时,许多软件都公布了版本号(如sendmail,FTP,IMAPD,Apache等)。黑客根据这些连接信息(banner)就可以知道目标的应用软件的版本信息。根据版本号很容易在网上查到它的已知漏洞,根据这些漏洞对目标主机进行攻击。常见的扫描工具NAMP,winmap如何防御端口扫描关闭所有不必要的端口自己定期的扫描网络主机、开放的端口使用基于状态数据包过滤器或是代理等智能防火墙来阻塞黑客的扫描攻击漏洞扫描工具Nessus:最好的开放源代码风险评估工具,可以运行在Linux、BSD、Solaris。能够完成超过1200项的远程安全检查,具有多种报告输出能力。并且