网络攻击技术原理课件.ppt

上传人:小飞机 文档编号:3926575 上传时间:2023-03-28 格式:PPT 页数:147 大小:756KB
返回 下载 相关 举报
网络攻击技术原理课件.ppt_第1页
第1页 / 共147页
网络攻击技术原理课件.ppt_第2页
第2页 / 共147页
网络攻击技术原理课件.ppt_第3页
第3页 / 共147页
网络攻击技术原理课件.ppt_第4页
第4页 / 共147页
网络攻击技术原理课件.ppt_第5页
第5页 / 共147页
点击查看更多>>
资源描述

《网络攻击技术原理课件.ppt》由会员分享,可在线阅读,更多相关《网络攻击技术原理课件.ppt(147页珍藏版)》请在三一办公上搜索。

1、计算机网络安全基础(第三版),1,主要讲授:1、网络欺骗2、嗅探技术3、扫描技术4、口令破解技术5、缓冲区溢出6、拒绝服务攻击,网络攻击技术原理,计算机网络安全基础(第三版),2,网络欺骗,一、IP欺骗二、电子邮件欺骗三、Web欺骗四、非技术类欺骗五、网络欺骗的防范,网络欺骗是指攻击者通过伪造自己在网络上的身份,从而得到目标主机或者网络的访问权限。,计算机网络安全基础(第三版),3,网络欺骗,一、IP欺骗使用虚假IP地址来达到欺骗目的。,1、基本地址变化;2、使用源路由选项截取数据包;3、利用UNIX主机上的信任关系;4、TCP会话劫持,计算机网络安全基础(第三版),4,网络欺骗,1、基本地址

2、变化发送的数据包带有假冒的源地址(攻击者可得到被假冒放的权限;不能根据IP找到攻击源)。,修改数据包的IP地址必须通过底层的网络编程实现。Windows平台使用原始套接字可以手工构造IP包。,计算机网络安全基础(第三版),5,网络欺骗,2、源路由攻击源路由:TCP/IP协议提供的一种机制,可让源主机指定通过互联网的路径。,如果攻击者使用源路由选项并保证自己在所指定的路径上,那么他就能得到应答包。,计算机网络安全基础(第三版),6,一个IP数据包由包头和数据体两部分组成。包头由20字节的固定部分和变长的可选项成。,计算机网络安全基础(第三版),7,网络欺骗,3、信任关系UNIX中,用户为方便同时

3、使用多个主机,经常在主机之间建立信任关系。,远程用户启动rlogin访问本地Linux主机。在/home/.rhosts找远程主机名及用户名;,计算机网络安全基础(第三版),8,网络欺骗,1)编辑xinetd配置文件rsh,rexec,rlogin;2)配置securettyecho“rsh”/etc/securetty;echo“pts/0”/etc/securetty;3)配置.rhosts这个文件存放在每个用户的根目录中,包含了允许客户端登陆的IP地址和用户名,如:echo 192.168.4.49 root/root/.rhosts 表示允许192.168.4.49的IP地址以root

4、用户登陆本机。,计算机网络安全基础(第三版),9,网络欺骗,4)重新启动xinetd#service xinetd restart;5)测试在192.168.4.49的机器上使用rlogin命令远程登陆:#rlogin 192.168.4.18,计算机网络安全基础(第三版),10,网络欺骗,欺骗过程:1)选定目标主机,挖掘信任模式,找到被目标主机信任的主机;2)采用某种方法使得被信任的主机丧失工作能力;3)伪装成倍信任的主机,建立于目标主机的机遇地址验证的连接。,欺骗过程:1)选定目标主机,挖掘信任模式,找到被目标主机信任的主机;2)采用某种方法使得被信任的主机丧失工作能力;3)伪装成被信任的

5、主机,建立与目标主机的基于地址验证的连接。,计算机网络安全基础(第三版),11,1.5 TCPIP协议基础,4、TCP会话劫持,TCP会话劫持的攻击方式可以对基于TCP的任何应用发起攻击,如HTTP、FTP、Telnet等。,计算机网络安全基础(第三版),12,1.5 TCPIP协议基础,SEQ:当前数据包第一个字节序号;ACK:期望收到对方数据包第一个字节序号;,计算机网络安全基础(第三版),13,网络欺骗,在每一个数据包中,都有两段序列号,它们分别为:SEQ:当前数据包中的第一个字节的序号ACK:期望收到对方数据包中第一个字节的序号,计算机网络安全基础(第三版),14,网络欺骗,A和B进行

6、一次TCP会话,C为攻击者,劫持过程如下:A向B发送一个数据包SEQ:X ACK:Y 包大小为:60B回应A一个数据包SEQ:Y ACK:X+60 包大小为:50A向B回应一个数据包SEQ:X+60 ACK:Y+50包大小为:40B向A回应一个数据包SEQ:Y+50 ACK:X+100包大小为:30,攻击者C冒充主机A给主机B发送一个数据包SEQ:X+100 ACK:Y+80 包大小为:20B向A回应一个数据包SEQ:Y+80 ACK:X+120 包大小为:10,计算机网络安全基础(第三版),15,网络欺骗,Hunt软件:能进行嗅探、截取、会话劫持;,tar zxvf hunt-1.5.tgz

7、cd hunt-1.5make./hunt,lwsa,计算机网络安全基础(第三版),16,网络欺骗,Hunt软件:测试;,Winxp:192.168.13.130;Linux1:192.168.13.131;Linux2:192.168.13.132;实验:Winxp telnet Linux1;Linux2作为攻击者;,Linux2启动./hunt;测试lwsa;,Linux需要安装telnet-server包;,计算机网络安全基础(第三版),17,网络欺骗,Linux上Telnet服务开启;,检测telnet、telnet-server的rpm包是否安装 rootlocalhost roo

8、t#rpm-qa telnettelnet-0.17-25/telnet*.rpm是默认安装的rootlocalhost root#rpm-qa telnet-server空/telnet*.rpm是默认没有安装的安装telnet-server rootlocalhost root#rpm-ivh telnet-server*.i386.rpm,计算机网络安全基础(第三版),18,网络欺骗,Linux上Telnet服务开启;,修改telnet服务配置文件vi/etc/xinetd.d/telnet disable=no重新启动xinetd守护进程由于telnet服务也是由xinetd守护的,所

9、以安装完telnet-server,要启动telnet服务就必须重新启动xinetdrootlocalhost root#service xinetd restart,计算机网络安全基础(第三版),19,网络欺骗,ARP欺骗:利用ARP协议的缺陷,把自己伪装成“中间人”;,ARP地址解析协议用于将计算机的网络地址(IP地址32位)转化为物理地址(MAC地址48位),属于链路层协议。,在以太网中,数据帧从一个主机到达局域网内的另一台主机是根据MAC地址来确定接口的。,计算机网络安全基础(第三版),20,网络欺骗,(1)ARP协议有两种数据包:请求包(含有目的IP的以太网广播数据包)、应答包(目标

10、主机收到请求包,发现与本机IP相同,则返回ARP应答包);(2)ARP缓存表用于存储其他主机或网关的IP地址与MAC地址的对应关系,每台主机、网关都有一个ARP缓存表(动态、静态;arp-a);,计算机网络安全基础(第三版),21,网络欺骗,计算机网络安全基础(第三版),22,网络欺骗,计算机网络安全基础(第三版),23,网络欺骗,ARP欺骗的原理:主机在实现ARP缓存表的机制中存在一个不完善的地方,当主机收到一个ARP应答包后,它并不会去验证自己是否发送过这个ARP请求,而是直接将应答包里的MAC地址与IP地址对应的关系替换掉原有的ARP缓存表里相应信息。,计算机网络安全基础(第三版),24

11、,网络欺骗,计算机网络安全基础(第三版),25,网络欺骗,防范ARP欺骗*MAC地址绑定;*使用静态的ARP缓存表;*使用ARP欺骗防护软件;,计算机网络安全基础(第三版),26,网络欺骗,防范IP欺骗:*防范地址变化欺骗(限制用户修改网络配置、入口过滤、出口过滤);*防范源路由欺骗;*防范信任关系欺骗;*防范会话劫持攻击(加密、使用安全协议、限制保护措施);,计算机网络安全基础(第三版),27,网络欺骗,二、电子邮件欺骗,1、电子邮件欺骗的原理及实现方法2、电子邮件欺骗的防御,计算机网络安全基础(第三版),28,网络欺骗,1、电子邮件欺骗的原理及实现方法,*利用相似的电子邮件地址;*远程登录

12、到25端口;*修改邮件客户软件设置;,计算机网络安全基础(第三版),29,网络欺骗,MDaemon Mail Server:,*md.exe,安装;*Start MDaemon;*域名:setup/Extra Domains;*账户名:Accounts/New Account;,计算机网络安全基础(第三版),30,网络欺骗,MDaemon Mail Server:,*http:/192.168.19.5:3000;*http:/192.168.19.5:3001;,计算机网络安全基础(第三版),31,网络欺骗,远程登录到25端口:,*telnet 192.168.19.5 25;*helo t

13、est;*Mail from:;*Rcpt to:;*data;*to:;*from:;*subject:test-mail;*./结束,计算机网络安全基础(第三版),32,网络欺骗,Outlook设置:,*“工具”、”账户”、”添加邮件”;*设置显示用户名、回复地址;*设置邮件服务器地址;*属性:回复地址;服务器选项卡:身份认证;,计算机网络安全基础(第三版),33,网络欺骗,2、电子邮件欺骗的防御,*邮件接收者;*邮件发送者;*邮件服务器;*邮件加密;,计算机网络安全基础(第三版),34,网络欺骗,三、Web欺骗,1、基本的网站欺骗2、中间人攻击3、URL重写,计算机网络安全基础(第三版)

14、,35,网络欺骗,1、基本的网站欺骗目前在互联网上注册一个域名没有严格的审查,攻击者可以注册一个非常类似的有欺骗性的站点。,典型的例子是假冒金融机构的网站,偷盗客户的信用卡、银行卡等信息。例如,中国工商银行网站为“”,有人注册了网站“”,,计算机网络安全基础(第三版),36,网络欺骗,这种欺骗方式被专家定义为网络陷井程序,也叫做网络钩鱼程序(phishing),多以欺骗用户信用卡号、银行帐号、股票信息等获取经济利益为目的。,防止基本的网站欺骗是使用站点服务器认证。服务器认证是服务器向客户提供的一个有效证书,它能证明谁是谁,可以把证书看作服务器的一张身份证。,计算机网络安全基础(第三版),37,

15、网络欺骗,2、中间人攻击在中间人攻击中,攻击者找到一个位置,使进出受害方的所有流量都经过他。,攻击者通过某种方法把目标机器的域名对应的IP更改为攻击者所控制的机器,这样所有外界对目标机器的请求将发给攻击者的机器。,计算机网络安全基础(第三版),38,网络欺骗,DNS欺骗,DNS域名服务器,当一台主机发送要求解析某个域名时,首先把解析请求发到自己的DNS服务器上;,DNS的功能就是把域名转换成IP地址;,DNS服务器中存储了主机的域名和IP地址的对应;,计算机网络安全基础(第三版),39,网络欺骗,DNS欺骗就是在服务器中伪造解析记录;,计算机网络安全基础(第三版),40,网络欺骗,攻击者可以控

16、制本地的域名服务器;,攻击者无法控制DNS服务器;,计算机网络安全基础(第三版),41,网络欺骗,3、URL重写URL重写是指修改(或重写)Web内容中的URL,例如指向与原始URL不同位置的结果URL的过程。,计算机网络安全基础(第三版),42,网络欺骗,浏览器的地址栏和状态栏可以显示连接中的Web站点地址及其相关的传输信息,用户可以由此发现URL重写的问题。攻击者往往在URL地址重写的同时,也要重写地址栏和状态栏,以达到其掩盖欺骗的目的。,计算机网络安全基础(第三版),43,网络欺骗,ASP中,安装IIS Rewrite组件后就可设置URL重写;下载一个ISAPI Rewrite的安装包;

17、URL重写的配置文件默认为C:Program FilesHeliconISAPI_Rewrite目录下的httpd.ini文件,在此文件中输入Rewrite的规则即可。,RewriteRule/books/index.html/books/secret/hello.asp,计算机网络安全基础(第三版),44,网络欺骗,四、非技术类欺骗,其目标是搜集信息来侵入计算机系统,其他目标包括侦察环境,找出安装了什么硬件和软件、服务器上装载了什么补丁等信息。,社交工程的核心是,攻击者设法伪装自己的身份并设计让受害人泄密私人信息。,计算机网络安全基础(第三版),45,网络欺骗,攻击者打电话给帮助台要求建立一

18、个新帐号。例如,攻击者假装是一名新员工,要求尽快建立一个新帐号。攻击者打电话给IT部门,假装成一个查询公司正在运行何种软件的卖主。攻击者假冒经理让员工给他发建议书。,计算机网络安全基础(第三版),46,嗅探技术,一、以太网的嗅探原理二、嗅探器的实现三、嗅探器的检测与防范,嗅探器(Sniffer)是一种网络管理工具,它通过捕获网络上传送的数据包来收集敏感数据,这些敏感数据可能是用户的账号和密码。Sniffer在形式上可以是硬件产品或作为软件程序运行。,计算机网络安全基础(第三版),47,一、以太网的嗅探原理以太网中,如采用共享集线器作为网络互联设备,则任两台主机的所有网络数据包都在总线上进行传送

19、,而总线上的任何一台主机都能够侦听到这些数据包。,嗅探技术,计算机网络安全基础(第三版),48,在正常情况下,一个合法的网络接口应该只响应这样的两种数据帧:帧的目标MAC地址等于自己的MAC地址的帧。帧的目标地址为“广播地址”的帧。,嗅探技术,如果局域网中某台机器的网络接口处于混杂(promiscuous)模式,即网卡可以接收其听到的所有数据包,那么它就可以捕获网络上所有的报文,,计算机网络安全基础(第三版),49,通常将嗅探器放置在被攻击机器或网络附近;或者将其放在网关路由器上;,嗅探技术,计算机网络安全基础(第三版),50,嗅探技术,二、嗅探器的实现例:使用原始套接字在Windows平台上

20、编写一个捕获数据包的sniffer程序,mysniffer;,计算机网络安全基础(第三版),51,嗅探技术,三、嗅探器的检测与防范Sniffer 不会在网络上主动发送数据包,所以不易被发现。可以检查计算机上当前正在运行的程序列表,检查是否有来历不明的程序正在运行。在系统中搜索查找可疑的记录文件,该文件的特点是其大小不断增加且时间不断更新;可检查系统中的网卡是否工作在混杂模式。,计算机网络安全基础(第三版),52,嗅探技术,为防止网络上的数据被Sniffer,特别是一些比较敏感的数据如用户ID 或口令等等,可以使用加密手段。使用安全拓扑结构。将网络分为不同的网络段,一个网络段是仅由能互相信任的计

21、算机组成的,网络段上的计算机通过以太网(Hub)连接,各网络段之间通过交换机(Switch)相互连接,交换机不会将所有的网络数据包广播到各个网络段。,计算机网络安全基础(第三版),53,嗅探技术,Sniffer 往往是攻击者在侵入系统后用来收集有用信息的工具,因此防止系统被突破是关键。系统安全管理员要定期对网络进行安全测试,及时安装系统安全补丁,防止安全隐患。要控制高级权限的用户的数量,同时也要注意许多Sniffer 攻击往往来自网络内部。,计算机网络安全基础(第三版),54,扫描技术,扫描器是一种自动检测远程或本地主机安全性弱点的程序。扫描器通过发送特定的网络数据包,并记录目标主机的应答消息

22、,可收集到关于目标主机的各种信息。,例如目标主机是否支持匿名登录、是否开放telnet服务等;,计算机网络安全基础(第三版),55,扫描技术,可以手工进行扫描,也可以使用扫描软件自动进行。在手工进行扫描时,需熟悉各种网络命令,对命令执行后的输出进行分析。用扫描软件进行扫描时,扫描软件一般都有分析数据的功能。,计算机网络安全基础(第三版),56,扫描技术,一、网络扫描诊断命令 二、端口扫描 三、操作系统探测 四、漏洞扫描,计算机网络安全基础(第三版),57,扫描技术,一、网络扫描诊断命令 1、ping可以判断目标主机是否在运行,了解网络延时;,2、tracert/traceroute跟踪一个数据

23、包发送到目标主机所经过的路由;,计算机网络安全基础(第三版),58,扫描技术,3、telnet命令 telnet命令缺省使用TCP 23号端口,可登录到目标计算机上进入shell状态。,4、rusersfingerhost命令,计算机网络安全基础(第三版),59,扫描技术,二、端口扫描 端口是传输层的TCP/IP协议与上层应用程序之间的接口点,不同的应用程序可以使用不同的端口调用传输层的服务。,端口扫描就是向目标主机的指定端口发送数据包,根据目标端口的反应确定哪些端口是开放的,即哪些服务处于监听状态。,计算机网络安全基础(第三版),60,扫描技术,端口扫描 TCP connect扫描(全连接扫

24、描)TCP SYN扫描(半连接扫描)秘密扫描其他端口扫描技术,计算机网络安全基础(第三版),61,扫描技术,TCP connect扫描(全连接扫描)与目标主机的某个端口建立TCP连接。如果目标主机上的某个端口处于侦听状态,则连接成功,若目标主机未开放该端口,则connect操作失败。,计算机网络安全基础(第三版),62,计算机网络安全基础(第三版),63,for(i=1;i65535;i+)/尝试所有端口 server_addr.sin_port=htons(i);if(sockfd=socket(AF_INET,SOCK_STREAM,0)=-1)fprintf(stderr,Socket

25、Error:%san,strerror(errno);exit(1);,扫描技术,计算机网络安全基础(第三版),64,/*与指定IP的第i个端口连接*/if(connect(sockfd,(struct sockaddr*)(,计算机网络安全基础(第三版),65,扫描技术,TCP SYN扫描(半连接扫描)扫描主机向目标主机的端口发送一个请求连接的SYN数据报文,如果目标主机返回SYN|ACK,表示端口处于侦听状态,若返回RST数据包,表示端口没有处于侦听态,从而可以判断端口是否开放。,计算机网络安全基础(第三版),66,扫描技术,*如果收到一个SYN|ACK,则扫描程序发送一个RST 数据包来

26、终止这个连接。*TCP的三次握手并没有完成,正常的TCP连接无法建立,这个扫描信息不会进入目标主机的系统日志,一般不会在目标计算机上留痕迹。,计算机网络安全基础(第三版),67,计算机网络安全基础(第三版),68,使用Windows下的RawSocket编写一个TCP SYN扫描程序 synscan;,第一部分:定义关键变量第二部分:创建套接字,设置选项;第三部分:构造SYN数据包;第四部分:发送第五步:创建监听套接字,接收并分析应答;,扫描技术,计算机网络安全基础(第三版),69,*F:tools源程序第5章局域网扫描1.SearchIP,*F:tools源程序第5章局域网扫描2.PortS

27、canner,扫描技术,计算机网络安全基础(第三版),70,扫描技术,秘密扫描秘密扫描是一种不被入侵检测、防火墙、包过滤器和日志审计等工具所检测的扫描技术;该类技术不包含三次握手协议的任何部分,所有无法被记录下来,比半连接扫描更为隐蔽;秘密扫描有TCP FIN扫描、TCP ACK 扫描、NULL扫描、XMAS扫描和SYN/ACK扫描等。,计算机网络安全基础(第三版),71,秘密扫描FIN 扫描,多数过滤器能过滤SYN数据报文,但是允许FIN数据报文通过,而且日志系统一般不会记录这种数据报文,利用这一特点的扫描就是TCP FIN扫描。,计算机网络安全基础(第三版),72,秘密扫描FIN 扫描,原

28、理:扫描主机向目标主机发送FIN数据包,若FIN数据包到达一个开放的端口,数据包将被丢弃,不返回任何信息;相反,如果到达一个未开放的端口,TCP会把它判断成是错误,数据包被丢掉,并返回一个RST数据包,以此便可推断出目标端口是否开放。,这种方法和系统的实现有一定的关系,有的系统不管端口是否打开都会回复RST,在这种情况下此种扫描就不适用了。,计算机网络安全基础(第三版),73,NULL扫描,扫描主机将发送的TCP数据包中的ACK、FIN、RST、SYN、URG、PSH标志位全部置0后发给目标主机。若目标端口开放,目标主机将不返回任何信息,若目标主机返回RST信息,则表示端口关闭。扫描的有效性和

29、系统的实现有关。,计算机网络安全基础(第三版),74,XMAS扫描,扫描主机将发送的TCP数据包中的ACK、FIN、RST、SYN、URG、PSH标志位置1后发给目标主机。若目标端口开放,目标主机将不返回任何信息,若目标主机返回RST信息,则表示端口关闭。,计算机网络安全基础(第三版),75,扫描技术,FIN扫描、NULL扫描和Xmax扫描的原理相同,都利用了TCP的RFC文档中的一些细节规定。在RFC 793中规定:“如果端口是关闭的(closed),则对进入的任何不包含RST的包都回应一个RST包”以及“凡是发送到开放端口的不包含SYN、RST或者ACK标志的包,都认为是不该收到的包而被丢

30、弃”。,计算机网络安全基础(第三版),76,扫描技术,其他端口扫描技术IP 分片扫描不直接发送TCP 探测数据包,而是预先将数据包分成两个较小的IP 数据包,传送给目标主机,目标主机收到这些IP 段后会把它们组合还原为原先的TCP 探测数据包。将数据包分片的目的是使他们能够通过防火墙和包过滤器。,计算机网络安全基础(第三版),77,扫描技术,TCP ACK扫描:扫描主机向目标主机发送ACK数据包,根据返回的RST数据包判断目标端口的信息。有两种方法可以用来进行判断:其一,若返回的RST数据包的TTL值小于或等于64,则端口开放,反之端口关闭;其二,若返回的RST数据包的WINDOW值非零,则端

31、口开放,反之端口关闭。,计算机网络安全基础(第三版),78,扫描技术,SYN|ACK扫描:扫描主机不向目标主机发送SYN数据包,而是先发送SYN|ACK数据包。目标主机将报错,并判断为一次错误的连接。而且若目标主机端口开放,目标主机将返回RST信息,反之,目标主机将不返回任何信息,数据包直接被丢掉。,计算机网络安全基础(第三版),79,扫描技术,UDP 端口扫描使用UDP 协议,处于侦听状态的端口对扫描探测并不发送一个确认,但向某些主机的未侦听UDP 端口发送一个数据包时会返回一个ICMP_PORT_UNREACH 错误,这样就可以判断出端口是否处于侦听状态。,计算机网络安全基础(第三版),8

32、0,扫描技术,三、操作系统扫描是发现目标主机操作系统类型和版本的一项技术。早期的简单探测方法:利用Telnet服务旗标、FTP服务旗标、HTTP信息等来进行探测;栈指纹识别技术:TCP/IP栈指纹、ICMP栈指纹、被动指纹识别等。,计算机网络安全基础(第三版),81,扫描技术,计算机网络安全基础(第三版),82,扫描技术,栈指纹识别技术TCP/IP栈指纹识别:由于各版本操作系统对TCP/IP协议体系的具体实现上略有不同,通过提交不同的IP数据包并分析目标主机返回的响应数据包,比较其中各标记参数的不同就可以将不同的操作系统区分开。,计算机网络安全基础(第三版),83,扫描技术,ICMP栈指纹识别

33、主要是通过发送UDP或ICMP的请求报文,然后分析各种ICMP应答,根据应答包的差异来区分不同操作系统。被动指纹识别:它不主动发送数据包,只是被动地捕获远程主机返回的包来分析其操作系统类型和版本。,计算机网络安全基础(第三版),84,扫描技术,四、漏洞扫描除了扫描出远程或本地主机的各种TCP/UDP 端口分配外,扫描器还可以自动地检测主机中是否存在漏洞,即安全脆弱点。,漏洞,又称脆弱性,是计算机系统在硬件、软件、协议的具体实现和系统安全策略上存在缺陷和不足,从而可使攻击者能在未授权的情况下访问或破坏系统。,计算机网络安全基础(第三版),85,扫描技术,在不同的软、硬件设备中,不同系统中或同种系

34、统在不同的设置条件下,都会存在各自不同的漏洞。而且漏洞问题是不可避免的,它将长期存在。漏洞本身并不能对系统安全造成什么损害,关键问题在于攻击者可以利用这些漏洞引发安全事件。,计算机网络安全基础(第三版),86,扫描技术,从脆弱性来源划分系统配置不当导致的脆弱性 各种系统软件、应用软件存在脆弱性 系统的某些功能自身存在安全隐患 操作系统本身存在安全隐患,计算机网络安全基础(第三版),87,扫描技术,从网络攻击的角度 非法获取系统操作权限 执行任意代码非法读写系统文件拒绝服务口令获取服务信息泄漏伪造信息欺骗设置后门,计算机网络安全基础(第三版),88,扫描技术,漏洞分级:根据对系统造成的潜在威胁以

35、及被利用的可能性可将各种安全漏洞进行分级,可以分为高、中、低3级;漏洞库:漏洞库就是把所有系统安全漏洞及其相关信息存储到数据库中,方便计算机用户更详细地了解系统安全漏洞,方便用户检索自己的系统会存在哪些漏洞,可能对系统安全造成什么危害以及如何补救等等。,计算机网络安全基础(第三版),89,扫描技术,国内较知名的公布漏洞方面的站点:国家计算机网络入侵防范中心(http:/)绿盟科技(http:/)安全焦点(http:/)中国信息安全论坛(http:/)安络科技(http:/)20CN网络安全小组(http:/)中国计算机网络应急处理协调中心(http:/,计算机网络安全基础(第三版),90,扫描

36、技术,国际安全组织建立的漏洞库BugTraq漏洞库ICAT漏洞库CERT/CC漏洞库SANS漏洞库ISS的X-Force漏洞库Security focus漏洞库CVE(Common Vulnerability and Exposures)漏洞库,计算机网络安全基础(第三版),91,扫描技术,根据扫描的目标,扫描器产品可分为基于主机的和基于网络的两种。,基于主机的扫描是在被检查主机上运行扫描器,检查所在主机上面的漏洞;而基于网络的扫描是通过网络远程探测其他主机的安全漏洞。,计算机网络安全基础(第三版),92,扫描技术,根据扫描方法,可以将脆弱性扫描分为静态检查和动态测试法:,静态检查:根据安全脆

37、弱点数据库,建立特定于具体网络环境和系统的检测表,表中存放了关于已知的脆弱点和配置错误的内容,检查程序逐项检查表中的每一项并和系统进行对比。动态测试:应用特定的脚本或程序去检查或试探主机或网络是否具有某种脆弱点。,计算机网络安全基础(第三版),93,XSCAN,计算机网络安全基础(第三版),94,NMap扫描器,Nmap(Network Mapper)是一款开源的网络探测和安全审核的工具。它的设计目标是快速地扫描一个网络或一台主机上的开放的端口。除了端口表,Nmap还能提供关于目标主机的进一步信息,包括域名、操作系统、设备类型和MAC地址等。,计算机网络安全基础(第三版),95,NMap扫描器

38、,Nmap使用原始IP包来发现网络上有哪些主机,那些主机提供什么服务(应用程序名和版本),那些服务运行在什么操作系统(包括版本信息),使用什么类型的包过滤器/防火墙,以及一些其它功能。,计算机网络安全基础(第三版),96,Nmap简介,Nmap命令的使用方式为:nmap 扫描类型.选项 扫描目标说明,nmap 192.168.19.5nmap-sS 192.168.19.5nmap-sU 192.168.19.5nmap-O 192.168.19.5,计算机网络安全基础(第三版),97,扫描技术,分析Port Scanner源码,了解基于libpcap开发扫描器的原理;,计算机网络安全基础(第

39、三版),98,缓冲区溢出(Buffer Overflow),1、什么是缓冲区溢出2、覆盖堆栈中变量的内容3、覆盖堆栈中寄存器的内容4、安全编程,计算机网络安全基础(第三版),99,缓冲区溢出(Buffer Overflow),1、什么是缓冲区溢出,由于数据处理的需要,程序会预留或分配一些逻辑上连续的数据区空间用于对数据的缓存,这类数据区通常称为缓冲区。,缓冲区溢出:就是通过在程序的缓冲区写入超出其长度的内容,从而破坏程序的堆栈,使程序转而执行其他指令,以达到攻击的目的。,计算机网络安全基础(第三版),100,一个程序执行状态下在内存中的存储通常分为程序段、数据段和堆栈三部分。,计算机网络安全基

40、础(第三版),101,从逻辑上讲,进程的堆栈是由多个堆栈帧构成的,其中每个堆栈帧都对应一个函数调用。,当函数调用发生时,新的堆栈帧被压入堆栈;当函数返回时,相应的堆栈帧从堆栈中弹出。,计算机网络安全基础(第三版),102,EIP:扩展指令寄存器,下一条要执行的指令的地址;ESP:扩展堆栈寄存器,存储栈顶指针;EBP:扩展基址寄存器;,计算机网络安全基础(第三版),103,计算机网络安全基础(第三版),104,计算机网络安全基础(第三版),105,#include void foo(int m,int n)int local;local=m+n;void main()int t1=0 x1111

41、;int t2=0 x2222;foo(t1,t2);,计算机网络安全基础(第三版),106,程序是从内存低端向高端按顺序存放的;输入的形参按照自右向左的顺序入栈;而堆栈的生长方向和内存的生长方向相反,因此在堆栈中压入的数据超过预先给堆栈分配的容量时,就会出现堆栈溢出。,计算机网络安全基础(第三版),107,1)攻击者可以用任意数据覆盖栈中变量的内容;2)覆盖堆栈中保存的寄存器内容,导致程序崩溃;3)把堆栈里面的返回地址覆盖,替换成一个自己指定的地方,而在那个地方,可以植入一些精心设计了的代码以达到攻击的目的。,计算机网络安全基础(第三版),108,缓冲区溢出(Buffer Overflow)

42、,2、覆盖堆栈中变量的内容,安全漏洞的一个经典例子是基于口令的认证,首先从本地数据库中读取口令并存储在本地变量中,然后用户输入口令,程序比较这两个字符串。,计算机网络安全基础(第三版),109,缓冲区溢出(Buffer Overflow),3、覆盖堆栈中寄存器的内容,在栈上声明的各种变量的位置就紧靠着调用函数的返回地址。,如果用户输入的数据超过边界就会将调用函数的返回地址覆盖,造成程序崩溃。,计算机网络安全基础(第三版),110,VC环境下一个c语言程序的例子,#include#include char name=abcdefghijklmnopqrstuvwxyz;int main()cha

43、r buffer8;strcpy(buffer,name);return 0;,计算机网络安全基础(第三版),111,计算机网络安全基础(第三版),112,缓冲区溢出(Buffer Overflow),发生溢出,因为字符串name比目标buffer要长。,错误签名中的offset“706f6e6d”就是4个字母“ponm”对应的16进制值,实际上是这4个字母覆盖了堆栈中函数返回值的位置,程序按照这个地址去执行时发生了错误。,计算机网络安全基础(第三版),113,缓冲区溢出(Buffer Overflow),下面再通过两个小程序的执行过程看看其中堆栈的操作和溢出的产生过程。(hiStackHac

44、k),溢出攻击的基本流程:注入恶意数据;溢出缓冲区;重定向控制流;执行有效载荷,溢出点定位;覆盖执行控制地址;跳转地址的确定;shellcode定位和跳转;,计算机网络安全基础(第三版),114,缓冲区溢出(Buffer Overflow),缓冲区溢出漏洞的普遍性C/C+语言中,由于字符串处理函数(gets、strcpy 等)没有对数组越界加以判断和限制,利用超长字符数组越界覆盖堆栈中的原有元素的值,可以修改堆栈中的返回地址并执行由返回地址指向的代码。用于覆盖堆栈中返回地址的数据和该返回地址指向的指令是经过精心设计的。,4、溢出保护技术,计算机网络安全基础(第三版),115,缓冲区溢出(Buf

45、fer Overflow),软件开发过程中的防范策略 编写正确的代码 选用较为安全的语言,比如进行缓冲区长度检查的语言,java、c#等,并且不启用不安全代码。,内存访问错误的检测和修改;缓冲区溢出的错误;指针引用等;,使用缓冲区保护技术,计算机网络安全基础(第三版),116,缓冲区溢出(Buffer Overflow),检测值保护:StackGuard方法;微软基于这个方法,添加了一个编译器标记(/GS);,运行时拦截:函数库Libsafe修改了不安全C的标准库函数,加入缓冲区边界检查,检查在调用这些函数时是否发生缓冲区溢出;,使用缓冲区保护技术,计算机网络安全基础(第三版),117,拒绝服

46、务攻击(Dienial of Service),1、拒绝服务攻击的根源2、smurf攻击3、SYN洪泛攻击4、Teardrop攻击5、DDoS攻击,计算机网络安全基础(第三版),118,拒绝服务攻击,攻击的目的是使目标主机停止网络服务,而其他攻击的目的往往是欲获取主机的控制权。,这种攻击的危险性在于它可以在没有获得主机的任何权限的情况下进行,只要主机连接在网络上就可能受到攻击。,攻击简单、容易达到目的、难于防止和追查困难。,计算机网络安全基础(第三版),119,拒绝服务攻击产生的根源当一个对资源的合理请求大大超过系统的处理能力时就会造成拒绝服务攻击。,拒绝服务攻击,例如,对已经满载的Web 服

47、务器进行过多的请求,或者不断生成新的文件将系统的磁盘空间耗尽。,资源包括网络带宽、文件系统空间容量、进程或者内存空间、CPU 处理能力、处理队列等。,计算机网络安全基础(第三版),120,还有一些恶意的拒绝服务攻击利用操作系统或软件的漏洞,产生特殊的请求使系统崩溃或进入等待状态,而正常的服务请求却无法得到响应。,拒绝服务攻击,拒绝服务攻击的种类利用软件实现的缺陷利用协议的漏洞合理请求大大超过系统的处理能力,计算机网络安全基础(第三版),121,Smurf 攻击,原理:广播信息可以发送到整个网络中的机器;,当某台主机使用广播地址作为目标地址发送一个ICMP echo 请求包时(Ping),一些系

48、统会向该主机回应ICMP echo 应答包,也就是说发送一个包会收到许多的响应包。,Smurf发送出一个ICMP echo 请求包,目的地址为广播地址,源地址为假冒为被攻击主机的IP地址,大量的ICMP echo 应答包会发送到被攻击主机而消耗其网络带宽和CPU周期。,计算机网络安全基础(第三版),122,Smurf 攻击,计算机网络安全基础(第三版),123,Smurf 攻击的抵御策略,smurf要求路由器上启动了IP广播功能。为防止系统成为smurf攻击的平台,要将所有路由器上IP广播功能禁止。一般来讲,IP广播功能并不需要。,攻击者也有可能从局域网内部发动一个smurf攻击,为了避免这样

49、的攻击,许多操作系统都提供了相应设置,防止计算机对IP广播请求做出响应。,如果攻击者要成功地利用某个网络成为攻击平台,则连接该网络的路由器必须允许那些源地址不是该网络地址的数据包离开网络。,计算机网络安全基础(第三版),124,Smurf 攻击的抵御策略,ISP则应使用网络入口过滤,以丢掉那些不是来自已知范围内IP地址的数据包。对边界路由器的ICMP echo reply数据包进行过滤,然后丢弃它们,这样就能阻止Web服务器和内网被攻击。,计算机网络安全基础(第三版),125,SYN 淹没(flood),计算机网络安全基础(第三版),126,SYN flood原理,如果客户机只发送初始的SYN

50、包而不向服务器发送确认的ACK包,则会导致服务器一直等待ACK包直到超时为止;由于服务器在有限的时间内只能响应有限数量的连接,这就会导致服务器一直等待回应而无法响应其他机器的连接请求。如果客户机连续不断地发送SYN包,使得目标无法响应合法用户的连接请求,就发生拒绝服务。,计算机网络安全基础(第三版),127,Teardrop攻击,teardrop利用了系统在实现TCP/IP协议的处理程序中的错误进行攻击。,系统允许将一个IP包分成几个分片打成IP包发送到目标,目标系统收到这些分片后要执行重组过程,将分片的IP包组合成一个完整的IP包。Teardrop攻击利用了系统在处理分片重组时的错误进行攻击

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号