收藏 分享(赏)

网络攻击技术原理.ppt

上传人:精品资料 文档编号:10953401 上传时间:2020-01-27 格式:PPT 页数:146 大小:1.08MB
下载 相关 举报
网络攻击技术原理.ppt_第1页
第1页 / 共146页
网络攻击技术原理.ppt_第2页
第2页 / 共146页
网络攻击技术原理.ppt_第3页
第3页 / 共146页
网络攻击技术原理.ppt_第4页
第4页 / 共146页
网络攻击技术原理.ppt_第5页
第5页 / 共146页
点击查看更多>>
资源描述

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

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

6、基础(第三版),14,网络欺骗,A和B进行一次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 包大小为:20 B向A回应一个数据包SEQ: Y+80 ACK : X+120 包大小为:10,计算机网络安全基础(第三版),15,网络欺骗,

7、Hunt软件:能进行嗅探、截取、会话劫持;,tar zxvf hunt-1.5.tgz cd hunt-1.5 make ./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服务开

8、启;,检测telnet、telnet-server的rpm包是否安装 rootlocalhost root#rpm -qa telnet telnet-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/xi

9、netd.d/telnet disable=no重新启动xinetd守护进程 由于telnet服务也是由xinetd守护的,所以安装完telnet-server,要启动telnet服务就必须重新启动xinetd rootlocalhost root#service xinetd restart,计算机网络安全基础(第三版),19,网络欺骗, ARP欺骗:利用ARP协议的缺陷,把自己伪装成“中间人”;,ARP地址解析协议用于将计算机的网络地址(IP地址32位)转化为物理地址(MAC地址48位),属于链路层协议。,在以太网中,数据帧从一个主机到达局域网内的另一台主机是根据MAC地址来确定接口的。,

10、计算机网络安全基础(第三版),20,网络欺骗,(1)ARP协议有两种数据包:请求包(含有目的IP的以太网广播数据包)、应答包(目标主机收到请求包,发现与本机IP相同,则返回ARP应答包);(2)ARP缓存表用于存储其他主机或网关的IP地址与MAC地址的对应关系,每台主机、网关都有一个ARP缓存表(动态、静态;arp -a);,计算机网络安全基础(第三版),21,网络欺骗,计算机网络安全基础(第三版),22,网络欺骗,计算机网络安全基础(第三版),23,网络欺骗, ARP欺骗的原理:主机在实现ARP缓存表的机制中存在一个不完善的地方,当主机收到一个ARP应答包后,它并不会去验证自己是否发送过这个

11、ARP请求,而是直接将应答包里的MAC地址与IP地址对应的关系替换掉原有的ARP缓存表里相应信息。,计算机网络安全基础(第三版),24,网络欺骗,计算机网络安全基础(第三版),25,网络欺骗, 防范ARP欺骗* MAC地址绑定;* 使用静态的ARP缓存表;* 使用ARP欺骗防护软件;,计算机网络安全基础(第三版),26,网络欺骗, 防范IP欺骗:* 防范地址变化欺骗(限制用户修改网络配置、入口过滤、出口过滤);* 防范源路由欺骗;* 防范信任关系欺骗;* 防范会话劫持攻击(加密、使用安全协议、限制保护措施);,计算机网络安全基础(第三版),27,网络欺骗,二、电子邮件欺骗,1、电子邮件欺骗的原

12、理及实现方法 2、电子邮件欺骗的防御,计算机网络安全基础(第三版),28,网络欺骗,1、电子邮件欺骗的原理及实现方法,* 利用相似的电子邮件地址; * 远程登录到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;

13、* http:/192.168.19.5:3001;,计算机网络安全基础(第三版),31,网络欺骗,远程登录到25端口:,* telnet 192.168.19.5 25; * helo test; * Mail from:; * Rcpt to:; * data; * to:; * from:; * subject:test-mail; * . /结束,计算机网络安全基础(第三版),32,网络欺骗,Outlook设置:,* “工具”、”账户”、”添加邮件”; * 设置显示用户名、回复地址; * 设置邮件服务器地址;* 属性:回复地址;服务器选项卡:身份认证;,计算机网络安全基础(第三版),3

14、3,网络欺骗,2、电子邮件欺骗的防御,* 邮件接收者; * 邮件发送者; * 邮件服务器; * 邮件加密;,计算机网络安全基础(第三版),34,网络欺骗,三、Web欺骗,1、基本的网站欺骗 2、中间人攻击 3、URL重写,计算机网络安全基础(第三版),35,网络欺骗,1、基本的网站欺骗 目前在互联网上注册一个域名没有严格的审查,攻击者可以注册一个非常类似的有欺骗性的站点。,典型的例子是假冒金融机构的网站,偷盗客户的信用卡、银行卡等信息。例如,中国工商银行网站为“”,有人注册了网站“”,,计算机网络安全基础(第三版),36,网络欺骗,这种欺骗方式被专家定义为网络陷井程序,也叫做网络钩鱼程序(ph

15、ishing),多以欺骗用户信用卡号、银行帐号、股票信息等获取经济利益为目的。,防止基本的网站欺骗是使用站点服务器认证。 服务器认证是服务器向客户提供的一个有效证书,它能证明谁是谁,可以把证书看作服务器的一张身份证。,计算机网络安全基础(第三版),37,网络欺骗,2、中间人攻击 在中间人攻击中,攻击者找到一个位置,使进出受害方的所有流量都经过他。,攻击者通过某种方法把目标机器的域名对应的IP更改为攻击者所控制的机器,这样所有外界对目标机器的请求将发给攻击者的机器。,计算机网络安全基础(第三版),38,网络欺骗,DNS欺骗,DNS域名服务器,当一台主机发送要求解析某个域名时,首先把解析请求发到自

16、己的DNS服务器上;,DNS的功能就是把域名转换成IP地址;,DNS服务器中存储了主机的域名和IP地址的对应;,计算机网络安全基础(第三版),39,网络欺骗,DNS欺骗就是在服务器中伪造解析记录;,计算机网络安全基础(第三版),40,网络欺骗,攻击者可以控制本地的域名服务器;,攻击者无法控制DNS服务器;,计算机网络安全基础(第三版),41,网络欺骗,3、URL重写 URL重写是指修改(或重写)Web内容中的URL,例如指向与原始URL不同位置的结果URL的过程。,计算机网络安全基础(第三版),42,网络欺骗,浏览器的地址栏和状态栏可以显示连接中的Web站点地址及其相关的传输信息,用户可以由此

17、发现URL重写的问题。攻击者往往在URL地址重写的同时,也要重写地址栏和状态栏,以达到其掩盖欺骗的目的。,计算机网络安全基础(第三版),43,网络欺骗,ASP中,安装IIS Rewrite组件后就可设置URL重写; 下载一个ISAPI Rewrite的安装包; URL重写的配置文件默认为C:Program FilesHeliconISAPI_Rewrite目录下的httpd.ini文件,在此文件中输入Rewrite的规则即可。,RewriteRule /books/index.html /books/secret/hello.asp,计算机网络安全基础(第三版),44,网络欺骗,四、非技术类欺

18、骗,其目标是搜集信息来侵入计算机系统,其他目标包括侦察环境,找出安装了什么硬件和软件、服务器上装载了什么补丁等信息。,社交工程的核心是,攻击者设法伪装自己的身份并设计让受害人泄密私人信息。,计算机网络安全基础(第三版),45,网络欺骗,攻击者打电话给帮助台要求建立一个新帐号。例如,攻击者假装是一名新员工,要求尽快建立一个新帐号。攻击者打电话给IT部门,假装成一个查询公司正在运行何种软件的卖主。攻击者假冒经理让员工给他发建议书。,计算机网络安全基础(第三版),46,嗅探技术,一、以太网的嗅探原理二、嗅探器的实现三、嗅探器的检测与防范,嗅探器(Sniffer)是一种网络管理工具,它通过捕获网络上传

19、送的数据包来收集敏感数据,这些敏感数据可能是用户的账号和密码。Sniffer在形式上可以是硬件产品或作为软件程序运行。,计算机网络安全基础(第三版),47,一、以太网的嗅探原理 以太网中,如采用共享集线器作为网络互联设备,则任两台主机的所有网络数据包都在总线上进行传送,而总线上的任何一台主机都能够侦听到这些数据包。,嗅探技术,计算机网络安全基础(第三版),48,在正常情况下,一个合法的网络接口应该只响应这样的两种数据帧: 帧的目标MAC地址等于自己的MAC地址的帧。 帧的目标地址为“广播地址”的帧。,嗅探技术,如果局域网中某台机器的网络接口处于混杂(promiscuous)模式,即网卡可以接收

20、其听到的所有数据包,那么它就可以捕获网络上所有的报文,,计算机网络安全基础(第三版),49,通常将嗅探器放置在被攻击机器或网络附近;或者将其放在网关路由器上;,嗅探技术,计算机网络安全基础(第三版),50,嗅探技术,二、嗅探器的实现例:使用原始套接字在Windows平台上编写一个捕获数据包的sniffer程序 ,mysniffer;,计算机网络安全基础(第三版),51,嗅探技术,三、嗅探器的检测与防范 Sniffer 不会在网络上主动发送数据包,所以不易被发现。可以检查计算机上当前正在运行的程序列表,检查是否有来历不明的程序正在运行。 在系统中搜索查找可疑的记录文件,该文件的特点是其大小不断增

21、加且时间不断更新; 可检查系统中的网卡是否工作在混杂模式。,计算机网络安全基础(第三版),52,嗅探技术,为防止网络上的数据被Sniffer, 特别是一些比较敏感的数据如用户ID 或口令等等,可以使用加密手段。 使用安全拓扑结构。将网络分为不同的网络段,一个网络段是仅由能互相信任的计算机组成的,网络段上的计算机通过以太网(Hub)连接,各网络段之间通过交换机(Switch)相互连接,交换机不会将所有的网络数据包广播到各个网络段。,计算机网络安全基础(第三版),53,嗅探技术,Sniffer 往往是攻击者在侵入系统后用来收集有用信息的工具,因此防止系统被突破是关键。系统安全管理员要定期对网络进行

22、安全测试,及时安装系统安全补丁,防止安全隐患。要控制高级权限的用户的数量,同时也要注意许多Sniffer 攻击往往来自网络内部。,计算机网络安全基础(第三版),54,扫描技术,扫描器是一种自动检测远程或本地主机安全性弱点的程序。扫描器通过发送特定的网络数据包,并记录目标主机的应答消息,可收集到关于目标主机的各种信息。,例如目标主机是否支持匿名登录、是否开放telnet服务等;,计算机网络安全基础(第三版),55,扫描技术,可以手工进行扫描,也可以使用扫描软件自动进行。在手工进行扫描时,需熟悉各种网络命令,对命令执行后的输出进行分析。用扫描软件进行扫描时,扫描软件一般都有分析数据的功能。,计算机

23、网络安全基础(第三版),56,扫描技术,一、网络扫描诊断命令 二、端口扫描 三、操作系统探测 四、漏洞扫描,计算机网络安全基础(第三版),57,扫描技术,一、网络扫描诊断命令 1、ping 可以判断目标主机是否在运行,了解网络延时;,2、tracert/traceroute 跟踪一个数据包发送到目标主机所经过的路由;,计算机网络安全基础(第三版),58,扫描技术,3、telnet命令telnet命令缺省使用TCP 23号端口,可登录到目标计算机上进入shell状态。,4、rusersfingerhost命令,计算机网络安全基础(第三版),59,扫描技术,二、端口扫描端口是传输层的TCP/IP协

24、议与上层应用程序之间的接口点,不同的应用程序可以使用不同的端口调用传输层的服务。,端口扫描就是向目标主机的指定端口发送数据包,根据目标端口的反应确定哪些端口是开放的,即哪些服务处于监听状态。,计算机网络安全基础(第三版),60,扫描技术,端口扫描TCP connect扫描(全连接扫描)TCP SYN扫描(半连接扫描)秘密扫描其他端口扫描技术,计算机网络安全基础(第三版),61,扫描技术,TCP connect扫描(全连接扫描) 与目标主机的某个端口建立TCP连接。 如果目标主机上的某个端口处于侦听状态,则连接成功,若目标主机未开放该端口,则connect操作失败。,计算机网络安全基础(第三版)

25、,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 Error:%san“,strerror(errno);exit(1);,扫描技术,计算机网络安全基础(第三版),64,/*与指定IP的第i个端口连接 */ if(connect(sockfd, (struct sockaddr *)( ,计算机网络安全基础(第三版),65,扫描技术,TCP SYN扫描(半

26、连接扫描) 扫描主机向目标主机的端口发送一个请求连接的SYN数据报文,如果目标主机返回SYN|ACK,表示端口处于侦听状态,若返回RST数据包,表示端口没有处于侦听态,从而可以判断端口是否开放。,计算机网络安全基础(第三版),66,扫描技术,* 如果收到一个SYN|ACK, 则扫描程序发送一个RST 数据包来终止这个连接。* TCP的三次握手并没有完成,正常的TCP连接无法建立,这个扫描信息不会进入目标主机的系统日志,一般不会在目标计算机上留痕迹。,计算机网络安全基础(第三版),67,计算机网络安全基础(第三版),68,使用Windows下的RawSocket编写一个TCP SYN扫描程序 s

27、ynscan;,第一部分:定义关键变量 第二部分:创建套接字,设置选项; 第三部分:构造SYN数据包; 第四部分:发送 第五步:创建监听套接字,接收并分析应答;,扫描技术,计算机网络安全基础(第三版),69,* F:tools源程序第5章局域网扫描1.SearchIP,* F:tools源程序第5章局域网扫描2.PortScanner,扫描技术,计算机网络安全基础(第三版),70,扫描技术,秘密扫描 秘密扫描是一种不被入侵检测、防火墙、包过滤器和日志审计等工具所检测的扫描技术; 该类技术不包含三次握手协议的任何部分,所有无法被记录下来,比半连接扫描更为隐蔽; 秘密扫描有TCP FIN扫描、TC

28、P ACK 扫描、NULL扫描、XMAS扫描和SYN/ACK扫描等。,计算机网络安全基础(第三版),71,秘密扫描FIN 扫描,多数过滤器能过滤SYN数据报文,但是允许FIN数据报文通过,而且日志系统一般不会记录这种数据报文,利用这一特点的扫描就是TCP FIN扫描。,计算机网络安全基础(第三版),72,秘密扫描FIN 扫描,原理:扫描主机向目标主机发送FIN数据包,若FIN数据包到达一个开放的端口,数据包将被丢弃,不返回任何信息;相反,如果到达一个未开放的端口,TCP会把它判断成是错误,数据包被丢掉,并返回一个RST数据包,以此便可推断出目标端口是否开放。,这种方法和系统的实现有一定的关系,

29、有的系统不管端口是否打开都会回复RST,在这种情况下此种扫描就不适用了。,计算机网络安全基础(第三版),73,NULL扫描,扫描主机将发送的TCP数据包中的ACK、FIN、RST、SYN、URG、PSH标志位全部置0后发给目标主机。若目标端口开放,目标主机将不返回任何信息,若目标主机返回RST信息,则表示端口关闭。扫描的有效性和系统的实现有关。,计算机网络安全基础(第三版),74,XMAS扫描,扫描主机将发送的TCP数据包中的ACK、FIN、RST、SYN、URG、PSH标志位置1后发给目标主机。若目标端口开放,目标主机将不返回任何信息,若目标主机返回RST信息,则表示端口关闭。,计算机网络安

30、全基础(第三版),75,扫描技术,FIN扫描、NULL扫描和Xmax扫描的原理相同,都利用了TCP的RFC文档中的一些细节规定。在RFC 793中规定:“如果端口是关闭的(closed),则对进入的任何不包含RST的包都回应一个RST包”以及“凡是发送到开放端口的不包含SYN、RST或者ACK标志的包,都认为是不该收到的包而被丢弃”。,计算机网络安全基础(第三版),76,扫描技术,其他端口扫描技术 IP 分片扫描 不直接发送TCP 探测数据包,而是预先将数据包分成两个较小的IP 数据包,传送给目标主机,目标主机收到这些IP 段后会把它们组合还原为原先的TCP 探测数据包。 将数据包分片的目的是

31、使他们能够通过防火墙和包过滤器。,计算机网络安全基础(第三版),77,扫描技术,TCP ACK扫描:扫描主机向目标主机发送ACK数据包,根据返回的RST数据包判断目标端口的信息。有两种方法可以用来进行判断:其一,若返回的RST数据包的TTL值小于或等于64,则端口开放,反之端口关闭;其二,若返回的RST数据包的WINDOW值非零,则端口开放,反之端口关闭。,计算机网络安全基础(第三版),78,扫描技术,SYN|ACK扫描:扫描主机不向目标主机发送SYN数据包,而是先发送SYN|ACK数据包。目标主机将报错,并判断为一次错误的连接。而且若目标主机端口开放,目标主机将返回RST信息,反之,目标主机

32、将不返回任何信息,数据包直接被丢掉。,计算机网络安全基础(第三版),79,扫描技术,UDP 端口扫描 使用UDP 协议,处于侦听状态的端口对扫描探测并不发送一个确认,但向某些主机的未侦听UDP 端口发送一个数据包时会返回一个ICMP_PORT_UNREACH 错误,这样就可以判断出端口是否处于侦听状态。,计算机网络安全基础(第三版),80,扫描技术,三、操作系统扫描 是发现目标主机操作系统类型和版本的一项技术。早期的简单探测方法:利用Telnet服务旗标、FTP服务旗标、HTTP信息等来进行探测; 栈指纹识别技术:TCP/IP栈指纹、ICMP栈指纹、被动指纹识别等。,计算机网络安全基础(第三版

33、),81,扫描技术,计算机网络安全基础(第三版),82,扫描技术,栈指纹识别技术 TCP/IP栈指纹识别:由于各版本操作系统对TCP/IP协议体系的具体实现上略有不同,通过提交不同的IP数据包并分析目标主机返回的响应数据包,比较其中各标记参数的不同就可以将不同的操作系统区分开。,计算机网络安全基础(第三版),83,扫描技术,ICMP栈指纹识别主要是通过发送UDP或ICMP的请求报文,然后分析各种ICMP应答,根据应答包的差异来区分不同操作系统。 被动指纹识别 :它不主动发送数据包,只是被动地捕获远程主机返回的包来分析其操作系统类型和版本。,计算机网络安全基础(第三版),84,扫描技术,四、漏洞

34、扫描 除了扫描出远程或本地主机的各种TCP/UDP 端口分配外,扫描器还可以自动地检测主机中是否存在漏洞,即安全脆弱点。,漏洞,又称脆弱性,是计算机系统在硬件、软件、协议的具体实现和系统安全策略上存在缺陷和不足,从而可使攻击者能在未授权的情况下访问或破坏系统。,计算机网络安全基础(第三版),85,扫描技术,在不同的软、硬件设备中,不同系统中或同种系统在不同的设置条件下,都会存在各自不同的漏洞。而且漏洞问题是不可避免的,它将长期存在。 漏洞本身并不能对系统安全造成什么损害,关键问题在于攻击者可以利用这些漏洞引发安全事件。,计算机网络安全基础(第三版),86,扫描技术,从脆弱性来源划分 系统配置不

35、当导致的脆弱性 各种系统软件、应用软件存在脆弱性 系统的某些功能自身存在安全隐患 操作系统本身存在安全隐患,计算机网络安全基础(第三版),87,扫描技术,从网络攻击的角度 非法获取系统操作权限 执行任意代码 非法读写系统文件 拒绝服务 口令获取 服务信息泄漏 伪造信息欺骗 设置后门,计算机网络安全基础(第三版),88,扫描技术,漏洞分级:根据对系统造成的潜在威胁以及被利用的可能性可将各种安全漏洞进行分级,可以分为高、中、低3级 ;漏洞库:漏洞库就是把所有系统安全漏洞及其相关信息存储到数据库中,方便计算机用户更详细地了解系统安全漏洞,方便用户检索自己的系统会存在哪些漏洞,可能对系统安全造成什么危

36、害以及如何补救等等。,计算机网络安全基础(第三版),89,扫描技术,国内较知名的公布漏洞方面的站点 : 国家计算机网络入侵防范中心(http:/) 绿盟科技(http:/) 安全焦点(http:/) 中国信息安全论坛(http:/) 安络科技(http:/) 20CN网络安全小组(http:/) 中国计算机网络应急处理协调中心(http:/ BugTraq漏洞库 ICAT漏洞库 CERT/CC漏洞库 SANS漏洞库 ISS的X-Force漏洞库 Security focus漏洞库 CVE(Common Vulnerability and Exposures) 漏洞库,计算机网络安全基础(第三版

37、),91,扫描技术,根据扫描的目标,扫描器产品可分为基于主机的和基于网络的两种。,基于主机的扫描是在被检查主机上运行扫描器,检查所在主机上面的漏洞; 而基于网络的扫描是通过网络远程探测其他主机的安全漏洞。,计算机网络安全基础(第三版),92,扫描技术,根据扫描方法,可以将脆弱性扫描分为静态检查和动态测试法:,静态检查:根据安全脆弱点数据库,建立特定于具体网络环境和系统的检测表,表中存放了关于已知的脆弱点和配置错误的内容,检查程序逐项检查表中的每一项并和系统进行对比。 动态测试:应用特定的脚本或程序去检查或试探主机或网络是否具有某种脆弱点。,计算机网络安全基础(第三版),93,XSCAN,计算机

38、网络安全基础(第三版),94,NMap扫描器,Nmap (Network Mapper) 是一款开源的网络探测和安全审核的工具。 它的设计目标是快速地扫描一个网络或一台主机上的开放的端口。除了端口表,Nmap还能提供关于目标主机的进一步信息,包括域名、操作系统、设备类型和MAC地址等。,计算机网络安全基础(第三版),95,NMap扫描器,Nmap使用原始IP包来发现网络上有哪些主机,那些主机提供什么服务(应用程序名和版本),那些服务运行在什么操作系统(包括版本信息),使用什么类型的包过滤器/防火墙,以及一些其它功能。,计算机网络安全基础(第三版),96,Nmap简介,Nmap命令的使用方式为:

39、 nmap 扫描类型 . 选项 扫描目标说明 ,nmap 192.168.19.5 nmap -sS 192.168.19.5 nmap -sU 192.168.19.5 nmap -O 192.168.19.5,计算机网络安全基础(第三版),97,扫描技术,分析Port Scanner源码,了解基于libpcap开发扫描器的原理;,计算机网络安全基础(第三版),98,缓冲区溢出(Buffer Overflow),1、什么是缓冲区溢出 2、覆盖堆栈中变量的内容 3、覆盖堆栈中寄存器的内容 4、安全编程,计算机网络安全基础(第三版),99,缓冲区溢出(Buffer Overflow),1、什么是

40、缓冲区溢出,由于数据处理的需要,程序会预留或分配一些逻辑上连续的数据区空间用于对数据的缓存,这类数据区通常称为缓冲区。,缓冲区溢出:就是通过在程序的缓冲区写入超出其长度的内容,从而破坏程序的堆栈,使程序转而执行其他指令,以达到攻击的目的。,计算机网络安全基础(第三版),100,一个程序执行状态下在内存中的存储通常分为程序段、数据段和堆栈三部分。,计算机网络安全基础(第三版),101,从逻辑上讲,进程的堆栈是由多个堆栈帧构成的,其中每个堆栈帧都对应一个函数调用。,当函数调用发生时,新的堆栈帧被压入堆栈;当函数返回时,相应的堆栈帧从堆栈中弹出。,计算机网络安全基础(第三版),102,EIP:扩展指

41、令寄存器,下一条要执行的指令的地址; ESP:扩展堆栈寄存器,存储栈顶指针; EBP:扩展基址寄存器;,计算机网络安全基础(第三版),103,计算机网络安全基础(第三版),104,计算机网络安全基础(第三版),105,#include void foo(int m,int n) int local;local=m+n; void main() int t1=0x1111;int t2=0x2222;foo(t1,t2); ,计算机网络安全基础(第三版),106,程序是从内存低端向高端按顺序存放的;输入的形参按照自右向左的顺序入栈;而堆栈的生长方向和内存的生长方向相反,因此在堆栈中压入的数据超过

42、预先给堆栈分配的容量时,就会出现堆栈溢出。,计算机网络安全基础(第三版),107,1)攻击者可以用任意数据覆盖栈中变量的内容;2)覆盖堆栈中保存的寄存器内容,导致程序崩溃;3)把堆栈里面的返回地址覆盖,替换成一个自己指定的地方,而在那个地方,可以植入一些精心设计了的代码以达到攻击的目的。,计算机网络安全基础(第三版),108,缓冲区溢出(Buffer Overflow),2、覆盖堆栈中变量的内容,安全漏洞的一个经典例子是基于口令的认证,首先从本地数据库中读取口令并存储在本地变量中,然后用户输入口令,程序比较这两个字符串。,计算机网络安全基础(第三版),109,缓冲区溢出(Buffer Over

43、flow),3、覆盖堆栈中寄存器的内容,在栈上声明的各种变量的位置就紧靠着调用函数的返回地址。,如果用户输入的数据超过边界就会将调用函数的返回地址覆盖,造成程序崩溃。,计算机网络安全基础(第三版),110,VC环境下一个c语言程序的例子,#include #include char name =“abcdefghijklmnopqrstuvwxyz“; int main() char buffer8;strcpy(buffer,name);return 0; ,计算机网络安全基础(第三版),111,计算机网络安全基础(第三版),112,缓冲区溢出(Buffer Overflow),发生溢出,因

44、为字符串name比目标buffer要长。,错误签名中的offset“706f6e6d”就是4个字母“ponm”对应的16进制值,实际上是这4个字母覆盖了堆栈中函数返回值的位置,程序按照这个地址去执行时发生了错误。,计算机网络安全基础(第三版),113,缓冲区溢出(Buffer Overflow),下面再通过两个小程序的执行过程看看其中堆栈的操作和溢出的产生过程。(hiStackHack),溢出攻击的基本流程:注入恶意数据;溢出缓冲区;重定向控制流;执行有效载荷,溢出点定位;覆盖执行控制地址;跳转地址的确定;shellcode定位和跳转;,计算机网络安全基础(第三版),114,缓冲区溢出(Buf

45、fer Overflow),缓冲区溢出漏洞的普遍性 C/C+语言中,由于字符串处理函数(gets、strcpy 等)没有对数组越界加以判断和限制,利用超长字符数组越界覆盖堆栈中的原有元素的值,可以修改堆栈中的返回地址并执行由返回地址指向的代码。用于覆盖堆栈中返回地址的数据和该返回地址指向的指令是经过精心设计的。,4、溢出保护技术,计算机网络安全基础(第三版),115,缓冲区溢出(Buffer Overflow),软件开发过程中的防范策略 编写正确的代码 选用较为安全的语言,比如进行缓冲区长度检查的语言,java、c#等,并且不启用不安全代码。,内存访问错误的检测和修改;缓冲区溢出的错误;指针引

46、用等;,使用缓冲区保护技术,计算机网络安全基础(第三版),116,缓冲区溢出(Buffer Overflow),检测值保护:StackGuard方法;微软基于这个方法,添加了一个编译器标记(/GS);,运行时拦截:函数库Libsafe修改了不安全C的标准库函数,加入缓冲区边界检查,检查在调用这些函数时是否发生缓冲区溢出;,使用缓冲区保护技术,计算机网络安全基础(第三版),117,拒绝服务攻击(Dienial of Service),1、拒绝服务攻击的根源 2、smurf攻击 3、SYN洪泛攻击 4、Teardrop攻击 5、DDoS攻击,计算机网络安全基础(第三版),118,拒绝服务攻击,攻击

47、的目的是使目标主机停止网络服务,而其他攻击的目的往往是欲获取主机的控制权。,这种攻击的危险性在于它可以在没有获得主机的任何权限的情况下进行,只要主机连接在网络上就可能受到攻击。,攻击简单、容易达到目的、难于防止和追查困难。,计算机网络安全基础(第三版),119,拒绝服务攻击产生的根源 当一个对资源的合理请求大大超过系统的处理能力时就会造成拒绝服务攻击。,拒绝服务攻击,例如,对已经满载的Web 服务器进行过多的请求,或者不断生成新的文件将系统的磁盘空间耗尽。,资源包括网络带宽、文件系统空间容量、进程或者内存空间、CPU 处理能力、处理队列等。,计算机网络安全基础(第三版),120,还有一些恶意的

48、拒绝服务攻击利用操作系统或软件的漏洞,产生特殊的请求使系统崩溃或进入等待状态,而正常的服务请求却无法得到响应 。,拒绝服务攻击,拒绝服务攻击的种类 利用软件实现的缺陷 利用协议的漏洞 合理请求大大超过系统的处理能力,计算机网络安全基础(第三版),121,Smurf 攻击,原理:广播信息可以发送到整个网络中的机器;,当某台主机使用广播地址作为目标地址发送一个ICMP echo 请求包时(Ping),一些系统会向该主机回应ICMP echo 应答包,也就是说发送一个包会收到许多的响应包。,Smurf发送出一个ICMP echo 请求包,目的地址为广播地址,源地址为假冒为被攻击主机的IP地址,大量的ICMP echo 应答包会发送到被攻击主机而消耗其网络带宽和CPU周期。,计算机网络安全基础(第三版),122,Smurf 攻击,计算机网络安全基础(第三版),123,Smurf 攻击的抵御策略,smurf要求路由器上启动了IP广播功能。为防止系统成为smurf攻击的平台,要将所有路由器上IP广播功能禁止。一般来讲,IP广播功能并不需要。,攻击者也有可能从局域网内部发动一个smurf攻击,为了避免这样的攻击,许多操作系统都提供了相应设置,防止计算机对IP广播请求做出响应。,

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报