网络安全讲义

  • 格式:doc
  • 大小:637.50 KB
  • 文档页数:6

第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 的网络通信中断。

这种方法属于拒绝服务(Denial of Service, 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.Ping of DeathPing of death 攻击是一种网络级的攻击,利用ICMP 协议对目标机进行碎片攻击,使目标机拒绝服务。

攻击者发送一个长度超过65535的ICMP Echo Request 数据包,目标主机在重组分片的时候会造成事先分配的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虚拟目录与真是目录的映射。

http://192.168.1.251/scripts对应的是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.SYN Flooding(1)原理:TCP连接的三次握手和半开连接攻击者:发送大量伪造的TCP连接请求方法1:伪装成当时不在线的IP地址发动攻击方法2:在主机或路由器上阻截目标机的SYN/ACK分组目标机:堆栈溢出崩溃或无法处理正常请求(2)防御:缩短SYN Timeout时间(设置为20秒以下)设置SYN Cookie缺陷:依赖于对方使用真实的IP地址设置路由器和防火墙,在给定的时间内只允许数量有限的半开TCP连接发往主机第三讲密码学与身份认证1.密码技术的四要素:明文空间密文空间密钥空间加密/解密算法2.数据加密模型四要素:信息明文、密钥、信息密文、算法3.Caesar密码凯撒密码是把字母表中的每个字母用该字母后面第3个字母进行代替。

例如,明文: meet me after the toga party密文: PHHW PH DIWHU WKH WRJD SDUWB让每个字母等价一个数:加密算法:对于每个明文字母p,C=(p+k)mod 26解密算法:p=(C-K) mod 26例题:已知一密文为字符串“OTLUXSGZOUT”,且知道采用的加密算法为凯撒密码,试推算该密文所对应的明文(凯撒密码的密钥k<10,且明文为一常见单词)。

4.Playfair密码该矩阵的构造是:从左到右,从上到下填入该关键词的字母(去除重复字母),然后再按字母表顺序将余下的字母依此填入矩阵剩余空间。

字母i和j被算做一个字母。

Enerypt对称密钥3对称密钥算法:一次对两个明文字母进行加密首先对明文进行分组,每个字母一对,属于相同对中的重复的明文字母用X 填充进行分隔。

(1).如果两个字母在同一行可以用它右边的字母替换,如果在最右边,可以有最左边的替换(2).如果两个字母在同一列可以用它下边的字母替换,如果在最下边,可以用最上边的替换(3).如果两个字母在不同的行或列,则在密码表中找两个字母使四个字母组成一个矩形就用另外两个字母替换。

(既由该字母同行另一个字母同列进行替换)。

5.置换密码:置换密码就是明文字母本身不变,根据某种规则改变明文字母在原文中的相应位置,使之成为密文的一种方法。

TTNAAPTMAODWTSUOCOIXKNLYPETZ 6.仲裁数字签名 引入仲裁者。

通常的做法是所有从发送方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 只能验证消息的密文而不能读取其内容。