网络安全讲义7062225026

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第1讲绪论-信息安全概述1.网络安全特性(1)网络安全的六个方面:机密性:信息不泄漏给非授权的用户、实体或者过程的特性完整性:数据未经授权不能进行改变的特性,即信息在存储或传输过程中保持不被修改、不被破坏和丢失的特性可用性:可被授权实体访问并按需求使用的特性,可认证性:对等实体认证和数据源点认证。可核查性:对信息的传播及内容具有控制能力,访问控制即属于可控性可靠性:系统可靠性(2)基本威胁:信息泄露完整性破坏拒绝服务非法使用(3)第二讲协议的安全性1.Jolt2攻击2.ARP欺骗ARP欺骗的危害(1)攻击者可在2台正在通信的主机A,B之间充当中间人(man-in-the-middle),假冒主机B的IP地址,而MAC地址为攻击者的MAC地址来欺骗主机A将数据发往攻击者的机器,并且攻击者可开启IP路由功能,将数据包再转发至主机B。同样,对主机B可实施类似的欺骗,因此,主机A,B之间的所有通信内容都被攻击者窃听。(2)对主机A发送伪造的ARP应答报文,假冒主机B的IP地址,但MAC地址设为不存在的一个硬件地址,主机A接收此报文后错误地刷新ARP高速缓存中主机B的IP地址与MAC地址的映射关系,导致主机A与主机B的网络通信中断。这种方法属于拒绝服务(DenialofService,DoS)攻击,3.ICMP消息欺骗-重定向ICMP重定向报文是当主机采用非最优路由发送数据报时,路由器会发回ICMP重定向报文来通知主机最优路由的存在。并且重定向报文必须由路由器生成,当主机作为路由器使用时,必须将其内核配置成可以发送重定向报文。ICMP重定向攻击也可以达到类似ARP欺骗的攻击效果。假设主机A(IP地址为172.16.1.2)经默认路由器(IP地址为172.16.1.1)与另一个网络中的主机D(IP地址为172.16.2.2)通信,与主机A同属一个网络的攻击者(IP地址为172.16.1.4),通过修改内核设置,充当与主机A直接相连的路由器。攻击者要想监听主机A的通信内容,可以构造ICMP重定向报文,指示主机A将数据包转发到攻击者的机器上,攻击者对所有的数据进行过滤后再转发给默认路由器,这就是“中间人”攻击。同样,ICMP重定向攻击也可以达到拒绝服务(DoS)攻击的目的。4.PingofDeathPingofdeath攻击是一种网络级的攻击,利用ICMP协议对目标机进行碎片攻击,使目标机拒绝服务。攻击者发送一个长度超过65535的ICMPEchoRequest数据包,目标主机在重组分片的时候会造成事先分配的65535字节缓冲区溢出,导致TCP/IP堆栈崩溃,系统通常会死机或重新启动。5.TCP欺骗盲攻击与非盲攻击:非盲攻击:攻击者和被欺骗的目的主机在同一个网络上,攻击者可以简单地使用协议分析器(嗅探器)捕获TCP报文段,从而获得需要的序列号。盲攻击:由于攻击者和被欺骗的目标主机不在同一个网络上,攻击者无法使用嗅探器捕获TCP报文段。其攻击步骤与非盲攻击几乎相同,只不过在步骤三无法使用嗅探器,可以使用TCP初始序列号预测技术得到初始序列号。在步骤五,攻击者X可以发送第一个数据包,但收不到A的响应包,较难实现交互。(1)TCP序列号产生的方法:64K规则、机器时钟、伪随机数(2)TCP会话劫持TCP会话劫持的攻击方式可以对基于TCP的任何应用发起攻击,如HTTP、FTP、Telnet等。对于攻击者来说,所必须要做的就是窥探到正在进行TCP通信的两台主机之间传送的报文,这样攻击者就可以得知该报文的源IP、源TCP端口号、目的IP、目的TCP端号,从而可以得知其中一台主机对将要收到的下一个TCP报文段中seq和ackseq值的要求。这样,在该合法主机收到另一台合法主机发送的TCP报文前,攻击者根据所截获的信息向该主机发出一个带有净荷的TCP报文,如果该主机先收到攻击报文,就可以把合法的TCP会话建立在攻击主机与被攻击主机之间。带有净荷的攻击报文能够使被攻击主机对下一个要收到的TCP报文中的确认序号(ackseq)的值的要求发生变化,从而使另一台合法的主机向被攻击主机发出的报文被被攻击主机拒绝。TCP会话劫持攻击方式的好处在于使攻击者避开了被攻击主机对访问者的身份验证和安全认证,从而使攻击者直接进入对被攻击主机的的访问状态,因此对系统安全构成的威胁比较严重。6.应用层协议实现缺陷(1)Unicode输入验证攻击:Unicode:统一的字符编码标准,采用双字节对字符进行编码。问题出现在IIS虚拟目录与真是目录的映射。对应的是c:\inetpub\scripts,因此利用\或/可以突破限制7.SQL注入式攻击的防范(1)在服务端正式处理之前对提交数据的合法性进行检查;(2)封装客户端提交信息;(3)替换或删除敏感字符/字符串;(4)屏蔽出错信息。(5)不要用字串连接建立SQL查询,而使用SQL变量,因为变量不是可以执行的脚本;(6)目录最小化权限设置,给静态网页目录和动态网页目录分别设置不同权限,尽量不给写目录权限;(7)修改或者去掉Web服务器上默认的一些危险命令,例如ftp、cmd、wscript等,需要时再复制到相应目录;(8)数据敏感信息非常规加密,通过在程序中对口令等敏感信息加密都是采用md5函数进行加密,即密文=md5(明文),本文推荐在原来的加密的基础上增加一些非常规的方式,即在md5加密的基础上附带一些值,如密文=md5(md5(明文)+123456);8.缓冲区溢出原理缓冲区溢出的根本原因来自C语言(以及其后代C++)本质的不安全性:·没有边界来检查数组和指针的引用;·标准C库中还存在许多非安全字符串操作,如strcpy()、sprintf()、gets()等。为了说明这个问题还必须看一看程序的内存映像。9.网络信息收集:针对IP及更底层的扫描、端口扫描、漏洞扫描、操作系统辨别(1)端口扫描:端口扫描的目的是找出目标系统上提供的服务列表。端口扫描程序逐个尝试与TCP/UDP端口连接,然后根据著名端口与服务的对应关系,结合服务器端的反应推断目标系统上是否运行了某项服务。通过这些服务,攻击者可能获得关于目标系统的进一步的知识或通往目标系统的途径。开放扫描半开放扫描秘密扫描10.SYNFlooding(1)原理:TCP连接的三次握手和半开连接攻击者:发送大量伪造的TCP连接请求方法1:伪装成当时不在线的IP地址发动攻击方法2:在主机或路由器上阻截目标机的SYN/ACK分组目标机:堆栈溢出崩溃或无法处理正常请求(2)防御:缩短SYNTimeout时间(设置为20秒以下)设置SYNCookie缺陷:依赖于对方使用真实的IP地址设置路由器和防火墙,在给定的时间内只允许数量有限的半开TCP连接发往主机第三讲密码学与身份认证1.密码技术的四要素:明文空间密文空间密钥空间加密/解密算法2.数据加密模型四要素:信息明文、密钥、信息密文、算法3.Caesar密码凯撒密码是把字母表中的每个字母用该字母后面第3个字母进行代替。例如,明文:meetmeafterthetogaparty密文:PHHWPHDIWHUWKHWRJDSDUWB让每个字母等价一个数:加密算法:对于每个明文字母p,C=(p+k)mod26解密算法:p=(C-K)mod26例题:已知一密文为字符串“OTLUXSGZOUT”,且知道采用的加密算法为凯撒密码,试推算该密文所对应的明文(凯撒密码的密钥k10,且明文为一常见单词)。4.Playfair密码该矩阵的构造是:从左到右,从上到下填入该关键词的字母(去除重复字母),然后再按字母表顺序将余下的字母依此填入矩阵剩余空间。字母i和j被算做一个字母。消息发送者Alice消息接收者Bob加密消息Bob的公钥数字信封Enerypt明文消息Enerypt对称密钥明文解密解密Bob私钥321对称密钥4monarchybdefgi/jklpqstuvwxz算法:一次对两个明文字母进行加密首先对明文进行分组,每个字母一对,属于相同对中的重复的明文字母用X填充进行分隔。(1).如果两个字母在同一行可以用它右边的字母替换,如果在最右边,可以有最左边的替换(2).如果两个字母在同一列可以用它下边的字母替换,如果在最下边,可以用最上边的替换(3).如果两个字母在不同的行或列,则在密码表中找两个字母使四个字母组成一个矩形就用另外两个字母替换。(既由该字母同行另一个字母同列进行替换)。5.置换密码:置换密码就是明文字母本身不变,根据某种规则改变明文字母在原文中的相应位置,使之成为密文的一种方法。TTNAAPTMAODWTSUOCOIXKNLYPETZ6.仲裁数字签名引入仲裁者。通常的做法是所有从发送方X到接收方Y的签名消息首先送到仲裁者A(KDC),A负责检查消息及其签名,以验证其来源和内容,然后将消息加上日期,发给Y,同时指明该消息已经通过仲裁者的检验。仲裁者在这一类签名模式中扮演敏感和关键的角色。所有的参与者必须极大地相信这一仲裁机制工作正常。(1)对称密钥加密方式,仲裁者可以阅读消息XA:M||EKxa[IDx||H(M)]AY:EKay[IDx||M||EKxa[IDx||H(M)]||T]X与A之间共享密钥Kxa,Y与A之间共享密钥KayX:准备消息M,计算其Hash值H(M),用X的标识符IDx和Hash值经Kxa加密后构成签名,并将消息及签名发送给A;A:解密签名,用H(M)验证消息M,然后将IDx,M,签名,和时间戳一起经Kay加密后发送给Y;Y:解密A发来的信息,并可将M和签名保存起来。发生争执时:Y:向A发送EKay[IDx||M||EKxa[IDx||H(M)]]A:用Kay恢复IDx,M,和签名(EKxa[IDx||H(M)]),然后用Kxa解密签名并验证Hash值.(2)对称密钥加密方式,仲裁者不可以阅读消息XA:IDx||EKxy[M]||EKxa[IDx||H(EKxy[M])]AY:EKay[IDx||EKxy[M]||EKxa[IDx||H(EKxy[M])]||T]在这种情况下,X与Y之间共享密钥KxyX:将标识符IDx,密文EKxy[M],以及对IDx和密文消息的散列码用Kxa加密后形成签名发送给A。A:解密签名,用散列码验证消息,这时A只能验证消息的密文而不能读取其内容。然后A将来自X的所有信息加上时间戳并用Kay加密后发送给Y。(3)公钥加密方式,仲裁者不能阅读消息XA:IDx||EPRx[IDx||EPUy(EPRx[M])]AY:EPRa[IDx||EPUy[EPRx[M]]||T]X:对消息M双重加密:首先用X的私有密钥PRx,然后用Y的公开密钥PUy。形成一个签名的、保密的消息。然后将该信息以及X的标识符一起用PRx签名后与IDx一起发送给A。这种内部、双重加密的消息对A以及对除Y以外的其它人都是安全的。A:检查X的公开/私有密钥对是否仍然有效,如果是,则认证消息。并将包含IDx、双重加密的消息和时间戳构成的消息用PRa签名后发送给Y本模式比上述两个模式具有以下好处:(1)在通信之前各方无须共享任何信息,从而避免了联合欺诈;(2)即使PRx泄密,只要PRa未泄密,那么时间戳错误的消息是不会被发送的;(3)消息对A和他人是保密的。第四讲网络身份认证1.传统对称加密方法相互认证(1)AKDC:IDA||IDB||N1(2)KDCA:EKa[Ks||IDB||N1||EKb[Ks||IDA]](3)AB:EKb[Ks||IDA](4)BA:EKs[N2](5)AB:EKs[f(N2)]保密密钥Ka和Kb分别是A和KDC、B和KDC之间共享的密钥。本协议的目的就是要安全地分发一个会话密钥Ks给A和B。A在第2步安全地得到了一个新的会话密钥,第3步只能由B解密、并理解。第4步表明B已知道Ks了。第5步使得B相信A知道Ks并且消息不是伪造的。第4,5步目的是为了防止某种类型的重放攻击。特别是,如果攻击方能够在第3步捕获该消息,并重放之,这将

1 / 6
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功