ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:1.87MB ,
资源ID:27174350      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/27174350.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(网络安全课程设计.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

网络安全课程设计.docx

1、网络安全课程设计课 程 名称: 物联网信息安全管理 设 计题 目: 基于 TP协议的网络攻击 学院(直属系): 计算机学院 年级/专业班: 物联网工程 学生 姓 名: 1410070113 宋 涌 1117014 周礼佟 410710 胡 坤 指 导 教 师: 魏正曦老 师 完成日期:2017.12 摘要本课程是物联网工程专业所开设的一门重要实践课程,主要要求掌握网络安全原理和技术在实践中的应用。本课程设计的目的是在理论学习的基础上,动手实践网络安全的相关理论,通过应用所学习的知识,来解决一些实际的网络安全应用问题。在此基础上,真正理解和掌握网络安全的基本原理,具备网络安全方面的分析和动手能力

2、。在网络攻防实验环境中完成P/I协议栈中TCP层重点协议的攻击实验。包括CP RST攻击、CP会话劫持和TCPSYN Flood攻击。关键字:TCPS攻击、TP会话劫持和TCP SYNFod攻击课题分工 宋 涌:TC会话劫持,和编写课程设计 胡 坤:CP S攻击,和参考资料查询。周礼佟:C SN ood攻击,和课程设计分工摘要 一引言 4二实验原理5三设计过程 8.1TCP RST攻击 832 CP会话劫持 123.3 TCYod攻击2四总结与体会 2参考文献6一引言 源于 Unix的网络协议TC PP随着Internt的飞迅发 展,已被越来越多的人所使用.然而由于 TCP/IP协议族在设 计

3、时并没有过多的考虑网络安全问题 ,黑客事件不断发生 ,使 如电子商务等 Internet应用存在着许多不安全因素 .欲防网络攻击,必应先知其攻击原理 ,才可正确实施安全策略. 下面是网络内部或外部人员常用的几种网络攻击方式: 密码猜测 ( asword Guessing): 主要通过穷举的办法来试探被攻击系统的密码 ,为下一步攻击做好准备 窥 探 ( Snifng):主要通过劫获网络上的数据包来获 得被攻击系统的认证信息或其它有价值的信息 电子欺骗 (poofin): 通过假冒合法用户的身份来进 行网络攻击 ,从而达到掩盖攻击者真实身份 ,嫁祸他人的目的 . 信息剽窃 ( Inforatonh

4、ft):这是网络攻击的主要 目的之一.攻击者通过获得访问被攻击主机的许可权而窃取 主机上的重要信息 . 让主机拒绝服务 (DnaoService): 是网络攻击的主 要目的之一. 这种攻击使主机或网络不能为合法用户提供服 务 例如攻击者可以用TC P的YN信号淹没的方法来实现 这一攻击 信息破坏 ( nforationDstructio): 这也是网络攻击 的主要目的之一 .通过篡改或毁坏被攻击主机上的信息达到 破坏的目的 以上这些攻击主要是利用 T/IP协议本身的漏洞而对TC/IP协议进行攻击实现的 ,下面分析了几种对 C P的 攻击的实现方式 未来的高技术战争是信息网络战,以网络中心信息为

5、主的联合作战正在取代传统的平台中心战。TCP/ IP 协议使得世界上不同体系结构的计算机网络互连在 一起形成一个全球性的广域网络 Itrne,实现海、陆、空、天立体战埸信息共享。因此开展 C/IP协议的分析 和研究, 寻求其簿弱环节, 能否攻其一点, 而瘫痪一片,即以小的投入达到大的产出, 是有效实施计算机网络 对抗的关键。 在以 CP/P为协议的通信计算机网络中,通常将每台计算机称为主机, 在 nterne 中的每一台计算机可 以访问 Iernet 上的其它任意一台计算机, 好像它们在 一个局域网内用双绞线或同轴电缆直接连接起来一样 (不同之处是速度比局域网的慢)。TCP/I 通信计算机网

6、络结构如图所示。 图1.1我们把计算机网络之间相连的设备称为路由器。 各主机之间可以通过数据链连接,也可以通过路由器 间接相连。TCP/I 协议使用“包” (ke)这个数据单位来发 送信息, 图中用箭头指向描述了从主机 C向主机 发送信息包的路径。二实验原理 P是在IP网络层之上的传输层协议,用于提供port到port面向连接的可靠的字节流传输。我来用土语解释下上面的几个关键字:prt到port:IP层只管数据包从一个IP到另一个I的传输,I层之上的TCP层加上端口后,就是面向进程了,每个prt都可以对应到用户进程。可靠:TCP会负责维护实际上子虚乌有的连接概念,包括收包后的确认包、丢包后的重

7、发等来保证可靠性。由于带宽和不同机器处理能力的不同,TCP要能控制流量。字节流:TCP会把应用进程传来的字节流数据切割成许多个数据包,在网络上发送。IP包是会失去顺序或者产生重复的,TCP协议要能还原到字节流本来面目。P(Trnsmision Cono rotoc传输控制协议)是一种面向连接(连接导向)的、可靠的、 基于IP的传输层协议。TP在P报文的协议号是6。TC是一个超级麻烦的协议,而它又是互联网的基础,也是每个程序员必备的基本功。首先来看看OS的七层模型:图2.1OSI的七层模型我们需要知道TCP工作在网络SI的七层模型中的第四层raspor层,IP在第三层Netwok层, 在第二层D

8、aain层;在第二层上的数据,我们把它叫Frme,在第三层上的数据叫Packe,第四层的数 据叫egment。同时,我们需要简单的知道,数据从应用层发下来,会在每一层都会加上头部信息,进行封装,然后再发送到数据接收端。这个基本的流程你需要知道,就是每个数据都会经过数据的封装和解封 装的过程。 在I七层模型中,每一层的作用和对应的协议如下:图2.2 OSI七层模型中,每一层的作用和对应的协议 TCP是一个协议,那这个协议是如何定义的,它的数据格式是什么样子的呢?要进行更深层次的剖析,就 需要了解,甚至是熟记TP协议中每个字段的含义。图3 OS含义上面就是TCP协议头部的格式,由于它太重要了,是理

9、解其它内容的基础,下面就将每个字段的信息都详 细的说明一下。Source Por和Destinaion or:分别占用16位,表示源端口号和目的端口号;用于区别主机中的不同进程, 而IP地址是用来区分不同的主机的,源端口号和目的端口号配合上I首部中的源IP地址和目的P地址就能唯一 的确定一个TC连接;Seqencember:用来标识从TP发端向TP收端发送的数据字节流,它表示在这个报文段中的的第一个数据 字节在数据流中的序号;主要用来解决网络报乱序的问题;Acknowlegentumbr:位确认序列号包含发送确认的一端所期望收到的下一个序号,因此,确认序号应 当是上次已成功收到数据字节序号加1

10、。不过,只有当标志位中的AC标志(下面介绍)为1时该确认序列号的字 段才有效。主要用来解决不丢包的问题;Offse:给出首部中3it字的数目,需要这个值是因为任选字段的长度是可变的。这个字段占4bit(最多能 表示5个3bit的的字,即4*15=60个字节的首部长度),因此C最多有6字节的首部。然而,没有任选字段,正常的长度是20字节;TCP Flags:C首部中有6个标志比特,它们中的多个可同时被设置为1,主要是用于操控TP的状态机的,依次 为U,C,PS,RT,SYN,FIN。每个标志位的意思如下:URG:此标志表示TCP包的紧急指针域(后面马上就要说到)有效,用来保证TP连接不被中断,并

11、且督促 中间层设备要尽快处理这些数据;K:此标志表示应答域有效,就是说前面所说的TCP应答号将会包含在TP数据包中;有两个取值:0和, 为1的时候表示应答域有效,反之为0;PSH:这个标志位表示us操作。所谓Push操作就是指在数据包到达接收端以后,立即传送给应用程序, 而不是在缓冲区中排队;RST:这个标志表示连接复位请求。用来复位那些产生错误的连接,也被用来拒绝错误和非法的数据包;SY:表示同步序号,用来建立连接。YN标志位和CK标志位搭配使用,当连接请求的时候,SY=1, CK=0;连接被响应的时候,SYN=1,AC=1;这个标志的数据包经常被用来进行端口扫描。扫描者发送一个只有SYN的

12、数据包,如果对方主机响应了一个数据包回来,就表明这台主机存在这个端口;但是由于这种扫描方式只是进行TC三次握手的第一次握手,因此这种扫描的成功表示被扫描的机器不很安全,一台安全 的主机将会强制要求一个连接严格的进行TCP的三次握手;FIN: 表示发送端已经达到数据末尾,也就是说双方的数据传送完成,没有数据可以传送了,发送N标志 位的TCP数据包后,连接将被断开。这个标志的数据包也经常被用于进行端口扫描。dw:窗口大小,也就是有名的滑动窗口,用来进行流量控制三设计过程3.1 TPRT攻击 RST攻击原理: 图3.从上面TCP协议图可以看到,标志位共有六个,其中ST位就在TCP异常时出现通过三次握

13、手建立连接下面我通过A向B建立TCP连接来说明三次握手怎么完成的。 图3.2为了能够说清楚下面的ST攻击,需要结合上图说说:S标志位、序号、滑动窗口大小。建立连接的请求中,标志位SN都要置为,在这种请求中会告知MS段大小,就是本机希望接收CP包的最大大小。发送的数据TCP包都有一个序号。它是这么得来的:最初发送SYN时,有一个初始序号,根据FC的定义,各个操作系统的实现都是与系统时间相关的。之后,序号的值会不断的增加,比如原来的序号是00,如果这个CP包的数据有10个字节,那么下次的TCP包序号会变成110。滑动窗口用于加速传输,比如发了一个seq=100的包,理应收到这个包的确认ak=1后再

14、继续发下一个包,但有了滑动窗口,只要新包的seq与没有得到确认的最小seq之差小于滑动窗口大小,就可以继续发。滑动窗口毫无疑问是用来加速数据传输的。TCP要保证“可靠”,就需要对一个数据包进行ack确认表示接收端收到。有了滑动窗口,接收端就可以等收到许多包后只发一个ack包,确认之前已经收到过的多个数据包。有了滑动窗口,发送端在发送完一个数据包后不用等待它的ak,在滑动窗口大小内可以继续发送其他数据包。 四次握手的正常TCP连接关闭: 图33FIN标志位也看到了,它用来表示正常关闭连接。图的左边是主动关闭连接方,右边是被动关闭连接方,用nesa命令可以看到标出的连接状态。 FIN是正常关闭,它

15、会根据缓冲区的顺序来发的,就是说缓冲区I之前的包都发出去后再发FIN包,这与RST不同。 RST表示复位,用来异常的关闭连接,在TC的设计中它是不可或缺的。就像上面说的一样,发送RST包关闭连接时,不必等缓冲区的包都发出去(不像上面的N包),直接就丢弃缓存区的包发送RST包。而接收端收到ST包后,也不必发送CK包来确认。 TC处理程序会在自己认为的异常时刻发送RT包。例如,A向B发起连接,但B之上并未监听相应的端口,这时B操作系统上的TCP处理程序会发RT包。 又比如,AB正常建立连接了,正在通讯时,A向B发送了FI包要求关连接,B发送CK后,网断了,A通过若干原因放弃了这个连接(例如进程重启

16、)。网通了后,B又开始发数据包,A收到后表示压力很大,不知道这野连接哪来的,就发了个T包强制把连接关了,B收到后会出现connect reset eer错误。R攻击 :A和服务器之间建立了CP连接,此时C伪造了一个TCP包发给B,使B异常的断开了与A之间的TCP连接,就是RST攻击了。实际上从上面ST标志位的功能已经可以看出这种攻击如何达到效果了。 那么伪造什么样的TC包可以达成目的呢?我们至顶向下的看。假定C伪装成A发过去的包,这个包如果是RST包的话,毫无疑问,将会丢弃与的缓冲区上所有数据,强制关掉连接。如果发过去的包是SYN包,那么,B会表示A已经发疯了(与OS的实现有关),正常连接时又

17、来建新连接,B主动向A发个RT包,并在自己这端强制关掉连接。 这两种方式都能够达到复位攻击的效果。似乎挺恐怖,然而关键是,如何能伪造成发给的包呢?这里有两个关键因素,源端口和序列号。一个TP连接都是四元组,由源IP、源端口、目标IP、目标端口唯一确定一个连接。所以,如果C要伪造发给B的包,要在上面提到的IP头和TCP头,把源P、源端口、目标I、目标端口都填对。这里B作为服务器,IP和端口是公开的,A是我们要下手的目标,IP当然知道,但A的源端口就不清楚了,因为这可能是A随机生成的。当然,如果能够对常见的OS如winds和linux找出生成sourceort规律的话,还是可以搞定的。 序列号问题

18、是与滑动窗口对应的,伪造的TCP包里需要填序列号,如果序列号的值不在之前向B发送时B的滑动窗口内,B是会主动丢弃的。所以我们要找到能落到当时的AB间滑动窗口的序列号。这个可以暴力解决,因为一个equec长度是32位,取值范围0-42949796,如果窗口大小像上图中我抓到的winow下的655的话,只需要相除,就知道最多只需要发6537(294967296/65535=6553)个包就能有一个序列号落到滑动窗口内。RST包是很小的,P头+TCP头也才40字节,算算我们的带宽就知道这实在只需要几秒钟就能搞定。 那么,序列号不是问题,源端口会麻烦点,如果各个操作系统不能完全随机的生成源端口,或者黑

19、客们能通过其他方式获取到souc port,RST攻击易如反掌,后果很严重 图 .4防御:对付这种攻击也可以通过防火墙简单设置就可以了。建议使用防火墙将进来的包带R位的包丢弃就可以了。S攻击只能针对cp。对up无效。RS用于复位因某种原因引起出现的错误连接,也用来拒绝非法数据和请求。如果接收到RST位时候,通常发生了某些错误。假设有一个合法用户(1.1.1)已经同服务器建立了正常的连接,攻击者构造攻击的TCP数据,伪装自己的IP为11.1.1,并向服务器发送一个带有RST位的TCP数据段。服务器接收到这样的数据后,认为从11.1.1发送的连接有错误,就会清空缓冲区中建立好的连接。这时,如果合法

20、用户.1.1.1再发送合法数据,服务器就已经没有这样的连接了,该用户就必须重新开始建立连接。对付这种攻击也可以通过防火墙简单设置就可以了。 32 T会话劫持 会话劫持原理: 例如你Tlet到某台主机,这就是一次Telne会话;你浏览某个网站,这就是一次HTTP会话。而会话劫持(SessinHijak),就是结合了嗅探以及欺骗技术在内的攻击手段。例如,在一次正常的会话过程当中,攻击者作为第三方参与到其中,他可以在正常数据包中插入恶意数据,也可以在双方的会话当中进行监听,甚至可以是代替某一方主机接管会话。我们可以把会话劫持攻击分为两种类型:)中间人攻击(Ma In Th Mdl,简称IT),2)注

21、射式攻击(jcion);并且还可以把会话劫持攻击分为两种形式:1)被动劫持,)主动劫持;被动劫持实际上就是在后台监视双方会话的数据流,从中获得敏感数据;而主动劫持则是将会话当中的某一台主机踢下线,然后由攻击者取代并接管会话,这种攻击方法危害非常大,攻击者可以做很多事情,比如at tc/mate.passw(FreeBSD下的dow文件)。会话劫持利用了TC/I工作原理来设计攻击。TC使用端到端的连接,即P用(源I,源TCP端口号,目的IP,目的TCP端号)来唯一标识每一条已经建立连接的TCP链路。另外,CP在进行数据传输时,TC报文首部的两个字段序号(e)和确认序号(acseq)非常重要。序号

22、(se)和确认序号(kseq)是与所携带TCP数据净荷(ayloa)的多少有数值上的关系:序号字段(seq)指出了本报文中传送的数据在发送主机所要传送的整个数据流中的顺序号,而确认序号字段(acke)指出了发送本报文的主机希望接收的对方主机中下一个八位组的顺序号。因此,对于一台主机来说,其收发的两个相临CP报文之间的序号和确认序号的关系为:它所要发出的报文中的se值应等于它所刚收到的报文中的csq的值,而它所要发送报文中ce的值应为它所收到报文中e的值加上该报文中所发送的TCP净荷的长度。P会话劫持的攻击方式可以对基于TC的任何应用发起攻击,如HTP、等。对于攻击者来说,所必须要做的就是窥探到

23、正在进行CP通信的两台主机之间传送的报文,这样攻击者就可以得知该报文的源P、源TCP端口号、目的IP、目的TC端号,从而可以得知其中一台主机对将要收到的下一个TCP报文段中sq和acksq值的要求。这样,在该合法主机收到另一台合法主机发送的TCP报文前,攻击者根据所截获的信息向该主机发出一个带有净荷的TCP报文,如果该主机先收到攻击报文,就可以把合法的TC会话建立在攻击主机与被攻击主机之间。带有净荷的攻击报文能够使被攻击主机对下一个要收到的P报文中的确认序号(ckseq)的值的要求发生变化,从而使另一台合法的主机向被攻击主机发出的报文被被攻击主机拒绝。TCP会话劫持攻击方式的好处在于使攻击者避

24、开了被攻击主机对访问者的身份验证和安全认证,从而使攻击者直接进入对被攻击主机的的访问状态,因此对系统安全构成的威胁比较严重。攻击过程:1找到一个活动的会话会话劫持的第一步要求攻击者找到一个活动的会话。这要求攻击者嗅探在子网上的通讯。攻击者将寻找诸如TP之类的一个已经建立起来的TCP会话。如果这个子网使用一个集线器,查找这种会话是很容易的。一个交换的网络需要攻击者破坏地址解析协议。猜测正确的序列号码下一步,攻击者必须能够猜测正确的序列号码。请记住,一个基本的CP协议设计是传输的数据的每一个字节必须要有一个序列号码。这个序列号用来保持跟踪数据和提供可靠性。最初的序列号码是在TCP协议握手的第一步生

25、成的。目的地系统使用这个值确认发出的字节。这个序列号字段长度有32个字节。这就意味着可能有大约,4,67,个序列号。一旦这个序列号一致,这个账户就会随着数据的每一个字节逐步增加。3把合法的用户断开一旦确定了序列号,攻击者就能够把合法的用户断开。这个技术包括拒绝服务、源路由或者向用户发送一个重置命令。无论使用哪一种技术,这个目的都是要让用户离开通讯路径并且让服务器相信攻击者就是合法的客户机。如果这些步骤取得成功,攻击者现在就可以控制这个会话。只要这个会话能够保持下去,攻击者就能够通过身份验证进行访问。这种访问能够用来在本地执行命令以便进一步利用攻击者的地位。 图3.5上机:C会话劫持数据分析:首

26、先用Ethreal打开enethjackedcap文件。在分组1和分组2中可以看到SYN和YNCK标志。分组1是从IP地址为192.8.1.10的客户端发送到P地址为192.681.服务器的。打开Ehene可以看到客户端的MAC地址为00:6:b:5:1e:e,服务器端的MAC地址为:0::c0:29:36:e8。在SYACK分组中,源地址和目的地址则正好相反。图.6分析分组1和分组2数据这个TP连接可用如下显示过滤器分离出来:(ip.addr eq92.16.1.13 nd ip.adr e 92.168.1.11) n (tcp.ot e1073a tcp.port eq 23)的TCP连

27、接中总共有25个分组。当使用一下修改过滤规则后只有981个分组。为了找到丢失的两个分组。将过滤规则改为:!(ethsrceq 00:0:c0:2:36:e8)an!(ethsr eq 00:0:5b:d5:1e:e7)(如图) 图.7 排除非客户端的MAC数据可以发现,这两个分组的发送方的P地址都为客户端(192168.1.103)。但是以太网帧的源地址为0:01:3:87:8:eb,而客户端的MA地址00:0:5:5:1:e7。第一个伪造分组的序号为233,含有10个字节的数据。个字节的数据代表10个ASCI码字符,前8个ASI码为0x08字符,后面2个SCII为0x0字符。ASCI码0x0

28、代表退格符,SII码0x0a代表换行符。当这个分组加入C数据流后,服务器会认为用户键入退格符8次,然后回车符两次。虽然看起来可能不会有太大的危害,它的目的仅仅是清空合法用户的输入,然后显示一个空白命令行给用户。但是,这个可以帮组确保攻击者构造的下一组所能实现的功能,不再是简单地在合法用户输入的任何命令行末尾添加一些信息。如图所示图38 分组1数据信息第二个伪造分组的序号为243,含有37个字节的数据。主要包括以下的命令:ec “co ACKED” $HOME/.rfi。这个命令后紧跟着一个ASCI码为00a的字符,提示换行输入新的命令。这个命令会把“ecHACKD”字符添加到用户的根目录下名为

29、.rofle的文件中。在一些命令行hell中,用户登录后首先读取:rofi文件并执行其中所有命令。用户通常都根据需要为创建他们的工作环境而执行一些列命令。将这些命令放置到.pofile文件中意味着用户在每次登录后都不用手动地执行这些设置命令。通过在.rofil文件中添加“echoHCD”命令,当用户下次登录时,他会在屏幕上看见“HAKD”字符串。如图所示图3.9分组2数据信息TCP会话终止数据分析:在tnet1_hiacke.ap文件中,攻击者成功地加入了实现其自身的“hijack”会话,同时使合法客户端和服务器无法通信。在elt_fin.cap文件中,攻击者发送了含有它自己的分组53。这次攻击者是伪装为服务器向客户端发送伪造的分组。客户端用它自己分组53中的FIN位作为响应。而对于真正的服务器,它是第一次接收到客户端关闭连接的分组,这样它会认为客户端希望断开连接,并以一个分组40中的N位作为响应。客户端接收到这个分组后,服务器和客户端的连接已经断开,客户端会发送一个窗口位为0和RS位置的分组。这样,就完全断开了客户端和服务器的连接。如图所示 图3.1 FIN攻击telnet3_rsap文件中,攻击者向客户段发送了一个RT位置位的分组339。攻击者再次伪装服务器,并向客户端发送伪造

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1