Internet安全体系结构之二.ppt_第1页
Internet安全体系结构之二.ppt_第2页
Internet安全体系结构之二.ppt_第3页
Internet安全体系结构之二.ppt_第4页
Internet安全体系结构之二.ppt_第5页
已阅读5页,还剩132页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第7章 Internet安全体系结构 之二,传输层定义网络层和面向应用层的接口。建立应用间的端到端连接,并且为数据传输提供可靠或不可靠的连接服务 功能包括:连接管理、分组组装、服务识别、流量控制等。 传输层的两个核心成分:传输层端口和序列。,7.1传输层核心功能,TCP协议,TCP协议是面向连接的端到端的可靠的传输层协议。支持多种网络应用程序,同时假定下层只能提供不可靠的数据报服务,可在多种硬件构成的网络上运行。 在实现TCP的主机上,TCP不直接和网络打交道,控制网络的任务由专门的设备驱动模块完成。 TCP只是调用IP接口, IP向TCP提供所有TCP需要的服务。,TCP 首部,源端口和目标端口用于定位源端的应用进程和目的端的应用进程。 序列号和确认号(32比特):TCP发送的流中的每个字节都是编号的 头长度(4比特):以4字节为单位表示TCP头的大小。 标志(6比特):标志字段部分包含6个标志位,它说明了其他字段含有有意义的数据或说明某种控制功能。 窗口(16比特):此字段告诉接收这个段的TCP实体,除了那些已被确认的,它还可以发送多少数据字节。 校验和(16比特):用于传输层差错检测。 紧急指针(16比特):是一个正的偏移量,和序号字段中的值相加表示紧急数据最后一个字节的序号。 选项字段用于确定TCP实体可从其他实体收到的段的最大尺寸。 数据(可变大小):用户提供的数据。,发送 SYN (seq=N ctl=SYN),接收 SYN,TCP 的连接建立,发送 SYN (seq=N ctl=SYN),接收 SYN,发送 SYN, ACK (seq=M ack=N1 ctl=syn,ack),接收 SYN,TCP 连接建立,发送 SYN (seq=N ctl=SYN),接收 SYN,发送 SYN, ACK (seq=M ack=N1 ctl=syn,ack),建立会话 (seq=N1 ack=M1 ctl=ack),接收 SYN,TCP 连接建立,7.1.1 端口和套接字 套接字(Socket):主机上的进程是通过端口号来区别的。计算机中的不同进程可能同时进行通信,它们用端口号来区别,由网络地址和端口号的组合达到唯一标识的目的。 发送套接字=源IP地址+源端口号 接收套接字=目的IP地址+目的端口号,传输层使用网络层来建立结点之间的连接,网络层路由提供网络套接字。套接字有主动和被动的两种。主动套接字指示建立网络连接,服务器使用被动套接字,等待和监听网络连接。,端口号,TCP,端口号,F T P,传输层,T E L N E T,D N S,S N M P,T F T P,S M T P,UDP,应用层,21,23,25,53,69,161,R I P,520,7.1.2 排序,传输层从高层接收数据块,并将其分组,每个分组赋予一个唯一的序列标识,用来跟踪分组。传输层保持一些已经用于端口的序列号表,以防止序列号重复。,7.1.3 序列拦截,攻击者要观察传输层分组必须识别序列,以插入或拦截连接。序列号的产生最好不要依次渐增,否则攻击者易于预测下一个分组的序列号。 随机初始序列号通常用于传输连接的开始,以阻止攻击者猜测第一个分组。 解决传输层拦截的方法大部分需要的安全服务是依靠高层协议来做连接的身份鉴别。,7.2 传输层风险,7.2.1 传输层拦截 传输层拦截攻击需要两个条件:攻击者必需对某种类型的网络层破坏;攻击者必需识别传输序列。 没有拦截和继续传输序列的能力,分组无法得到回答响应,新的分组也不能接受。 为完成一次拦截,攻击者必需伪装网络层通信。,7.2.2 一个端口和多个端口的比较,减少结点的端口数,能减少攻击因素。加固的服务器将开放的端口数减少到只有基本服务。 少量端口打开的系统更安全。但是某些服务支持多路端口,或基于服务需求打开新的端口。,7.2.3 静态端口赋值和动态端口赋值,远程客户连接到服务器需要两个条件:服务器的网络地址;传输协议和端口。 客户启动服务器连接时,通常连接到服务器的周知端口。 某些高层协议不使用固定端口号,不用单个端口于全部通信,控制服务使用周知端口,数据传输则用动态端口。但动态端口会引起不安全的风险,因为大范围的端口必需都可以访问网络。,7.2.4 端口扫描,端口扫描的任务是企图连接到主机的每一个端口。扫描方法一般有两种:一种是目标端口扫描,用以测试特定的端口;一种是端口扫除,用以测试主机上所有可能的端口。 防御扫描的方法有:非标准端口;无回答防御;总是回答防御;敲打协议;主动扫描检测以及故意延迟。,7.2.5 信息泄露,一般传输层对传输的数据不进行加密,因此传输层协议本身并不对信息保护。 通常通过高层提供身份鉴别和加密。,7.3 TCP侦察,大部分TCP的实施允许参数定制以优化连接。 这些值的默认选择是由操作系统定的。它能识别专门的操作系统版本和补丁的级别。,1.初始窗口大小 不同操作系统使用不同初始窗口大小。 当TCP会话继续时,窗口大小会增加,而总的增加值多少也是由操作系统确定的。 2.TCP选项 每个TCP分组包含TCP报头值的一些选项,不同的操作系统支持不同的选项、值和次序。,3.序列号 所有实施TCP系统用同样的方法增加序列号,但是初始序列号是各个操作系统特定的。序列号能用来识别操作系统、版本,以及补丁版本的信息。 4.客户端口号 不同的操作系统使用不同的动态端口号范围,供客户选择。观察动态端口号的范围,可以帮助识别操作系统。,5.重试 当TCP分组没有收到回答响应,分组重新分送。重试的次数以及间隔是不同操作系统特定的。可以通过SYN重试、SYN-ACK重试以及ACK重试3钟不同方法来确定。,7.3.2 端口扫描 TCP端口扫描用来识别运行的服务。端口扫描企图连接到端口并记录结果。 SYN-ACK RST ICMP不可达 什么也没有,7.3.3日志 网络监控工具,诸如IDS和IPS,一般监控和日志SYN请求以及任何不包括部分建立连接的通信。SYN分组被记录,未请求的ACK和RST分组也被日志。基于这些分组的频度、类型和次序,一些工具能识别网络扫描。,7.4 TCP拦截 任何干扰TCP连接的攻击都归结为TCP拦截。 1.全会话拦截 全会话拦截常常需要攻击者具有直接的数据链路访问。运行在随意模式,攻击者观察网络地址、端口以及用于连接的序列号。 2.ICMP和TCP拦截 遇到恶意使用时,ICMP能将TCP连接重新指向不同的端口和不同的主机。,TCP会话劫持 攻击者重定向客户和服务器之间的数据流,使之经过攻击者的机器,就可以截获到他们之间的通信。在攻击过程中,可以采取被动攻击以免引起注意,即客户的所有命令保持原样被发送到服务器,服务器的响应也不加修改地发送给客户。对于客户和服务器来说,它们都认为是在直接进行通信。由于攻击者可以看到序列号,有必要的话,它可以把伪造的数据包放到TCP流中。这将允许攻击者以被欺骗的客户具有的特权来访问服务器。攻击者同样也可以查看所有同攻击相关的输出,而且不把它们送往客户机,这样的攻击是透明的。在这种情况下,攻击者甚至于不需要知道访问机器所需的口令。攻击者只需简单地等待用户登录到服务器,然后劫持(Hijack)会话数据流即可。,TCP会话劫持,可以看出,TCP会话劫持能成功的前提首先是TCP建立连接的三次握手过程中没有任何的认证机制。TCP假定只要接收到的数据包包含正确的序列号就认为数据是可以接受的。一旦连接建立,服务器将无法确定进入的数据包是确实来自真正的客户机器而不是某一台假冒的机器;当然,攻击要成功还需要能准确地获得服务器的ISN。,伪造IP地址,入侵者使用假IP地址发送包,利用基于IP地址认证的应用程序,其结果是使未授权的远端用户进入带有防火墙的主机系统。,TCP序列号猜测攻击,TCP序列号猜测攻击是由Robert Morris首先提出来的,并由黑客Kevin Mitnick在1995年圣诞节利用这种技术成功入侵了物理学家Tsutomu Shimomura在San Diego超级计算机中心的计算机系统。这种攻击利用了应用程序之间基于IP地址的认证机制,攻击者通过IP地址欺骗获得远程系统的非法授权访问。,7.5 TCP DoS DoS攻击有两个目的,其一是能使受害者不能执行任务,其二是更秘密的攻击。 1.SYN攻击 每个TCP实施分配用于管理连接的内存。每个连接包括网络地址、端口、窗口大小信息、序列号以及用于入出分组的缓存空间。当每个服务器收到SYN就分配内存。SYN攻击发送大量的SYN分组来消耗可用的内存。,图 SYN FLOODING示意图,缓解SYN攻击风险的方法: 增加SYN队列,以增加允许的连接数,减少SYN超时,以降低SYN攻击的影响以及当攻击停止时,可快速恢复;用SYNCookies以防止因SYN攻击而消耗内存。,2.RST和FIN攻击 RST攻击是发送RST(或FIN)分组,反常地结束已建立的连接。 3.ICMP攻击 盲目ICMP攻击也能使TCP不能连接。 4.LAND攻击 发送一个SYN分组到已知端口的开放服务,而回答地址和端口伪装成指回同一个系统,形成一个反馈环路,使系统很快摧垮。,由于TCP是具有高优先权的内核级进程,这也就意味着TCP相对其它非内核应用程序具有更高的权限。基本上,它将中断其它的正常系统操作以声明更多的内核资源来处理进入的数据。这样,无限循环很快会消耗完系统资源,引起大多数系统死机。只有少数系统在内核资源耗尽情况下还可以继续稳定运行。,7.6 缓解对TCP攻击的方法,1.改变系统框架 TCP和网络服务攻击有两类,即盲目攻击和定向攻击。前者没有假定的攻击目标,通过试探发现漏洞。 定向攻击针对特定操作系统平台和网络服务。通过改变系统框架就可缓解攻击者的识别。不同的框架包括SYN超时、重试计数、重试间隔、初始窗口大小、可用的TCP选项以及初始序列值。,2.阻断攻击指向 防火墙用来限制网络访问。 阻断ICMP通信能消除来自远程ICMP淹没、拦截和重置攻击的风险。 3.识别网络设备 识别网络设备和已知已受攻击的漏洞,可设法预先防止。,4.状态分组检验 SPI跟踪TCP连接状态以及拒绝和已知状态不匹配的分组。 5.入侵检测系统(IDS) IDS对非标准的或非期望的分组的网络进行监控。 6.入侵防御系统(IPS) IPS扩展了IDS功能,从仅仅是日志记录到采取行动。IPS能使攻击指向不成功,而采取正确的行动。,7.7 UDP(用户数据报协议),UDP与TCP位于同一层,它是一个简单的协议,它提供给应用程序的服务是一种不可靠的、无连接的分组传输服务。因此,UDP的报文可能会出现丢失、重复、延迟以及乱序,使用UDP的应用程序必须负责处理这些问题。 对于某些应用程序来说,数据报的丢失或者数据包到来的顺序并不重要。由于UDP协议无需额外提供字段保证可靠性,因此在性能上要超过TCP协议。比如在视频和声频中的应用就是很好的例子。丢失几个包对于用户来说是完全可以接受的。,图 UDP数据报的字段格式,UDP攻击常常基于无效的分组以及伪装 1.非法的进入源 UDP服务器不执行初始握手,任何主机能连接到UDP服务器。而且连接是无须进行身份鉴别的。 任何类型的UDP分组都能淹没一个服务器。 2.UDP拦截 UDP服务器可从任何主机接收分组,而无须进行身份鉴别。这意味着UDP是十分易于拦截的。,3.UDP保持存活攻击 客户不在监听分组时,攻击者能发送UDP分组到防火墙,以保持防火墙端口打开。 4.UDP Smurf攻击 攻击者伪造被害者的网络地址作为分组发送者,服务器响应发送一个或更多UDP分组给被害者。 5.UDP侦察,7.8 安全套接字层SSL,TCP/IP协议本身没有加密、身份鉴别等安全特性 传输层安全协议 TLS/SSL:Transport Layer Security/Secure Sockets Layer,传输层安全/安全套接字层 SSH: Secure Shell Protocol,安全外壳协议 SOCKS: Socket Security,套接字安全协议 RPC: Remote Procedure Call,远程过程调用,传输层安全协议SSL,SSL最初由Netscape Communication Corporation开发一套Internet数据安全协议,用于Web浏览器与服务器之间的身份认证和加密数据传输。该公司于1994年11月推出SSL V2.0。SSL V3.0于1996年3月推出。它不仅解决了SSL V2.0 存在的问题,还支持更多的加密算法。 IETF于1999年1月推出TLS V1.0。TLS V1.0是一个Internet标准,完全建立在SSL V3.0的基础上,又称SSL V3.1。 Microsoft宣布与Netscape一起支持TLS 1.0。 1999年,正式发布了RFC 2246,也就是The TLS Protocol v1.0的正式版本。这些协议在浏览器中得到了广泛的支持,IE浏览器的SSL和TLS的设置如图 :,SSL的特点,SSL位于TCP层和应用层之间,SSL为应用层数据提供传输过程中的安全 ,它提供的连接安全有三个特点: (1)连接是保密的,对称加密用于加密数据; (2)实体的身份通过公钥加密得到验证; (3)连接是可靠的,带密钥的MAC用于保证消息的完整性。,IP,HTTP,FTP,SMTP,TCP,SSL or TLS,SSL协议的目标就是在通信双方利用加密的SSL信道建立安全的连接。它不是一个单独的协议,而是两层协议,低层是SSL记录协议层,简称记录层;高层是SSL握手协议层,简称握手层。结构如图:,TLS/SSL部件 记录协议 分片、数据压缩、加/解密、身份认证、数据完整性检查 握手协议 所有与安全相关的参数,如:协议版本号、加/解密算法、身份认证 报警协议 信息错误的严重程度及警告描述 修改密码规范协议 加密策略改变的通知,SSL记录协议,记录协议层的功能是根据当前会话状态给出的压缩算法,CipherSpec给出对称加密算法、MAC算法、密钥长度、Hash长度、IV长度等参数,以及连接状态中给出的Client和Server的随机数、加密密钥、MAC secrets、IVs、消息序列号对当前的连接中要传送的高层数据实施压缩/解压缩、加/解密、计算/校验MAC等操作。 SSL记录协议为SSL连接提供两种服务: (1)机密性:握手协议定义了共享的、可以用于对SSL有效载荷进行常规加密的密钥; (2)报文完整性:握手协议定义了共享的、可以用于形成报文的MAC码和密钥。,SSL记录协议的操作步骤如下: (1)分片:每个上层报文被分成16KB或更小的数据块。 (2)压缩:压缩是可选的应用,压缩的前提是不能丢失信息。 (3)增加MAC码。 (4)加密。 (5)增加SSL首部。,SSL记录协议,SSL握手协议,SSL握手协议使得服务器和客户能相互鉴别对方的身份、协商加密和MAC算法以及用来保护在SSL记录中发送数据的加密密钥。 握手协议由一系列在客户和服务器之间交互的报文组成。所有这些报文具有三个字段: (1)类型(1字节):指示10种报文中的一个; (2)长度(3字节):以字节为单位的报文长度; (3)内容(=1字节):和这个报文有关的参数。,OpenSSL概述,目前实现SSL/TLS的软件虽然不多,但都很优秀。除了SSL标准提出者Netscape实现的,OpenSSL是一个非常优秀的实现SSL/TLS的开放源代码软件包,主要是作为提供SSL算法的函数库供其他软件调用而出现的,可给任何TCP/IP应用提供SSL功能。 1995年,Eric A. Young和Tim J. Hudson开始开发OpenSSL,后来不断发展更新,直到现在,SSL还在不断的修改和完善,新版本也不断的推出。最新的版本可以从OpenSSL的官方网站下载。,IP层安全机制的主要优点是它的透明性,即安全服务的提供不要求应用做任何改变。这对传输层来说是做不到的。 传输层安全机制的主要缺点就是对应用层不透明,应用程序必须修改以使用SSL应用接口,而且要对传输层建立起安全机制。,同网络层安全机制相比,传输层安全机制的主要优点是它提供基于进程对进程的安全服务和加密传输信道,利用公钥体系进行身份鉴别,安全强度高,支持用户选择的加密算法。,互联网是基于TCP/IP协议的,要进行通信必须获得对方的IP地址,这是通过DNS服务器来实现的。域名系统(DNS)是一种用于TCP/IP应用程序的分布式数据库,它提供主机名字和IP地址之间的转换及有关电子邮件的选路信息。 DNS定义了一个用于查询和响应的报文格式。下图显示了这个报文的总体格式。,7.9 DNS风险及缓解方法,DNS查询和响应的一般格式,DNS查询,DNS客户端使用运行在客户机上的一个本地进程DNS解析器,来访问DNS分布式的数据库系统。 递归查询:DNS客户机发送到DNS服务器的查询,要求DNS服务器提供完整的查询答案,即使DNS服务器没有所请求的信息,它也会联系其它DNS服器。 迭代查询:DNS客户机允许DNS服务器根据自己的高速缓存或DNS区域提供的最佳答案。如果DNS服务器不能答复,则它会返回一个指针,指向有下级域名空间授权的DNS服务器。这种类型的查询通常由试图解析DNS客户机的迭代查询的DNS服务器发出。,DNS解析过程,有两种类型的DNS查询:A类型和PTR类型。 A类型查询表示希望获得被查询域名的IP地址; PTR查询(也称为指针查询)则请求获得一个IP地址对应的域名。,实际上,DNS是Internet上的一个标准机制,用来发布和访问关于主机的各种信息,而不只是地址。几乎所有的网间互联软件都在使用DNS,包括电子邮件、远程终端程序(Telnet)、文件传输程序(FTP)以及Web浏览器。 DNS的另一个重要特性就是它使主机信息在Internet上随处可得。将主机信息按照某种格式存为文件,放在某台计算机上,并只对 那台计算机的用户有用。DNS则提供了一种远程检索信息的方式,用户能从网络上任何一个地方查找信息。 DNS还能将主机信息的管理分布到许多地点和组织。,DNS安全的前提是假定DNS服务器之间是可信的,即DNS系统假定DNS服务器不会故意提供错误的信息。 1.无身份鉴别的响应 攻击者观察DNS请求,能伪造一个DNS回答。,图 未经身份鉴别的DNS响应攻击,2.DNS缓存受损 攻击者观察DNS请求,并生产一个伪造的DNS回答,含有一个长的缓存超时值。受损的DNS服务器可对任何数据请求提供假数据。这就使请求者的域不可达。而且会一直提供错误的信息,只要受损信息在缓存中。 3.ID盲目攻击 攻击的方法是生成DNS回答的泛滥,每个回答包含一个不同的会话标识。,图 ID盲目攻击,4.破坏DNS分组 DNS协议规定了查询和回答的数据大小。某些DNS实施没有适当地检查数据边界。分组可声称含有比实际更多的数据,或没有包含足够的数据。结果是缓冲器溢出和不足。,直接的DNS风险是由于协议本身的影响,但技术风险是基于配置的问题。 1.DNS域拦截 任何DNS服务器的所有者能把服务器配置为任何域的一级源。但DNS的层次结构能阻止这类配置作为无效信息在Internet中泛滥。 DNS拦截是可行的,通用的阻止这些风险的缓解方法是使恶意软件不能搜集主机。 利用DNS服务器来阻断不希望的主机名查找能阻断访问不希望的站点。,2.DNS服务器拦截 DNS服务器能被拦截。被拦截的服务器能配置成提供不同的主机信息或包含一些新的主机名。DNS拦截通常发生的两种情况,即系统被破坏或IP拦截。 为缓解系统被破坏的风险,关键的DNS服务器应运行在加固的系统。,3.更新持续时间 缓存DNS服务器同每个DNS项的超时相关联。当主机配置改变时,超时防止数据失效。假如超时值太大,则不能立即完成改变。管理者立即重新定位主机,那么缓存服务器将指向错误的地址。,4.动态DNS 动态DNS(DDNS)解决DHCP的主机名问题。使用DDNS,DHCP的客户能在本地DNS系统放主机名。DDNS确保主机名总是指到主机的新的网络地址。,7.9.3 社会风险,1.相似的主机名 腾讯公司为回报老客户,现对您免费开放5位号码注册。注册地址为Http:/ 访问某个网站完整的格式应该是http(ftp):/Username:Password域名(IP地址)。通常情况下Username和Password可以为空,即匿名名访问。 该地址只不过是以“”为用户名,密码为空,然后访问,又如,真的工行网站,虚假的工行网站: , 等等。 2.自动名字实现 3.社会工程 4.域更新 域名注册机构并非无限期地赋予域,而是有限期的。,7.9.4 缓解风险的方法,使DNS安全的主要方案是基于特定的服务器配置、可信的定义以及其他一些解决方案。 基于模糊安全和打补丁。基本的预防方法包括直接的、技术的、侦察以及社会威胁的缓解。 1.直接威胁缓解 补丁 内部和外部域分开,限制域的转换:域的转换限制于特定的主机 鉴别的域转换 有限的缓冲间隔:缓冲间隔减少至低于DNS回答规定的值。 拒绝不匹配的回答 2.技术威胁的缓解 加固服务器:限制远程可访问进程的数量,就能限制潜在攻击的数量。,3.侦察威胁的缓解 限制提供DNS信息:限制提供信息的类型和数量。 限制域转换:域的转换仅限于鉴别过的主机 限制请求:限制DNS请求数量可由任何单个网络地址完成。 去除反向查找 分开内部和外部域:内部主机名应该不允许外部可观察。 去除额外信息:不是直接为外部用户使用的信息应该去除。 隐藏版本:不同的版本和不同的利用相关。,4.社会威胁缓解 监控相似域 锁住域:使用支持域锁定的域注册者。 使用有效联系 不间断支持 自己主持,5.优化DNS配置 绑定(BIND)是通用的DNS服务器实施。 Bind是一款开放源码的DNS服务器软件,Bind由美国加州大学Berkeley分校开发和维护的,全名为Berkeley Internet Name Domain它是目前世界上使用最为广泛的DNS服务器软件,支持各种unix平台和windows平台。 参考文献:DNS与BIND(第四版),6.确定可信的回答 DNS安全扩展(DNSSEC)提供签名以鉴别信息以及对每个回答响应的数字标记。DNSSEC在使用前需要发鉴别钥,但它只鉴别服务器而不对内容鉴别。 更为通用的方法是用两个DNS服务器,一个用于LAN,另一个用于WAN。,Email系统主要由邮件分发代理、邮件传输代理、邮件用户代理及邮件工作站组成。 (1)邮件分发代理MDA:负责将邮件数据库中的邮件分发到用户的邮箱中。 (2)邮件传输代理MTA:负责邮件的接收和发送。通常采用SMTP协议传输邮件。 (3)邮件用户代理MUA:MUA并不接收邮件,而是负责将邮箱中的邮件显示给用户。 (4)邮件工作站:是邮件用户直接操作的计算机,负责显示、撰写邮件等。,7.10 SMTP邮件风险,邮件数据库,邮件分发代理 MDA,邮件传输代理 MAT,邮件用户代理 MUA,邮件工作站 用户,邮件工作站 用户,邮 件 服 务 器,Email系统组成,传输网络,根据邮件系统的组成,可以将邮件安全的目标总结如下: (1)邮件分发安全 (2)邮件传输安全 (3)邮件用户安全 常用的Email安全措施如下: (1)身份认证:邮件转发认证、邮件收发认证等。 (2)加密、签名 (3)协议过滤 (4)设立防火墙:经常设立内、外邮件服务器,在内、外服务器间设立防火墙。 (5)安装邮件病毒过滤系统,E-mail十分脆弱,从浏览器向因特网上的另一个人发送Email时,不仅信件像明信片一样是公开的,而且也无法知道在到达其最终目的之前,信件经过了多少机器。常见的Email安全问题有: 匿名转发 发送者希望将邮件发送出去而不希望收件者知道是谁发的。这种发送邮件的方法被称为匿名邮件。 E-mail欺骗 欺骗性E-mail会制造安全漏洞。E-mail欺骗行为的一些迹象是:E-mail假称来自系统管理员,要求用户将他们的口令改变为特定的字串,并威胁如果用户不照此办理,将关闭用户的账户。 E-mail轰炸和炸弹 1E-mail轰炸:E-mail轰炸可被描述为不停地接到大量同一内容的E-mail。 2E-mail炸弹:UP Yours是最流行的炸弹程序,它使用最少的资源,做了超量的工作,有简单的用户界面以及尝试着去隐蔽攻击者的地址源头。,1.伪装报头及垃圾邮件 邮件用户代理MUA能指定邮件报头,每个邮件中继附加接收到的报头到邮件的开头。这些报头用来跟踪报文。 除了最后接收的报头以外,电子邮件报头的所有属性都可以伪造。主题、日期、接收者、内容甚至最初接收的报头都能用SMTP数据命令来伪造。,垃圾邮件如此多的原因一方面是因为缺乏身份鉴别,另一个方面是因为造成伪装报头只需要很低的技巧。反垃圾邮件的解决方法主要是过滤和拦截。 识别伪装的电子邮件需要把有效电子邮件和伪装电子邮件区分开来。 大部分可观察的属性来自发送者及其内容。 大部分电子邮件服务器保持处理日志。,2、中继和拦截 SMTP并非总是将电子邮件直接发送给接收者,通常使用邮件中继来路由信息。结果是主机可以是一个中继。 中继的拥有者可以读电子邮件,每个电子邮件中继有可能拦截或修改报文的内容。,3.SMIP和DNS DNS用来识别邮件中继。 4.低层协议 SMTP也会受到低层协议,诸如MAC,IP和TCP拦截的影响,破坏正在传送的电子邮件。 5.E-mail的伦理问题 首先是E-mail的处理和使用。 E-mail的伪装是另一类问题。 SMTP无法验证电子邮件的传送以及电子邮件是否已被接收者接收。传递通知,采用回执和投递通知两种方法。,PGP简介,PGP加密技术的创始人是美国的Phil Zimmermann。他的创造性把把RSA公钥体系和传统加密体系的结合起来,并且在数字签名和密钥认证管理机制上有巧妙的设计,因此PGP成为目前几乎最流行的公钥加密软件包。,PGP发展特点,选择最可用的加密算法作为系统的构造模块 将这些算法集成到一个通用的应用程序中,该程序独立于操作系统和处理器,并且基于一个使用方便的小命令集。 程序、文档在Internet上公开。 一个商业公司提供全兼容、低成本的商业版本。,PGP广泛应用的原因,支持版本多 免费、可用于多平台。 选用算法的生命力和安全性公众认可。 具有广泛的可用性 不由政府或标准化组织控制。,PGP运行描述,数字签名 DSS/SHA或RSA/SHA 消息加密 CAST-128或IDEA或3DES + Diffie-Hellman或RSA 数据压缩 ZIP 邮件兼容 PGP可以发送二进制数据(加密的消息等),但email设计成只发送文本,因此PGP必须将原始的二进制数据编码成可打印的 ASCII码( Radix 64 ) 数据分段,记号说明: Ks : session key KRa : 用户A的私钥 KUa : 用户A的公钥 EP : 公钥加密 DP : 公钥解密 EC : 常规加密 DC : 常规加密 H : 散列函数 | : 连接 Z : 用ZIP算法数据压缩 R64 : 用radix64转换到ASCII格式,S/MIME协议,S/MIME(Secure/MIME,安全/多用途因特网邮件扩展)协议是对MIME在安全方面的扩展。 它将MIME实体和诸如认证、签名算法等其它数据提供给CMS(内容管理系统)程序进行,将生成的CMS实体封装在MIME中进行传递。 S/MIME支持各种流行的邮件代理:如MS Outlook, Netscape 等,S/MIME基本功能,数据加密 允许用对称密码加密一个MIME消息中的任何内容类型,从而支持保密性服务。然后用一个或多个接收者的公钥加密对称密钥,将加过密的数据、对称密钥以及任何必要的接受者标识符和算法标识符一起附加在数据结构的后面。 数据签名 又称不透明签名。这一功能提供完整性服务。发送者对选定的内容计算消息摘要,然后用签名者的私钥对消息摘要加密。,数据的干净签名 透明签名或明文签名,将邮件内容和签名分开发送,数字签名作为附件添加到原始邮件中。 数据嵌套使用签名、加密 允许加密后的数据再签名,或者先签名后再加密数据,以此提供保密性和完整性。 使用的密码算法有:消息摘要算法、签字算法、加密会话密钥的公钥加密算法和加密消息的单钥加密算法。,采用的算法,消息摘要: SHA-1和MD5 数字签名: DSS 对称密钥加密:三重DES, RC2/40 公钥私钥加密:RSA(密钥长度512和1024 bits,Diffie-Hellman (会话密钥),PGP和S/MIME是目前电子邮件加密的两大主流技术,都是沿用IETF的标准,但两者不兼容,PGP主要用于个人目的的电子邮件安全,而S/MIME可能会作为商用的行业标准。两个协议使用的加密算法一些是相同的,但还有一些不同的。,7.11 HTTP风险,HTTP使用通用资源访问地址URL作为定义查询类型的缩写标记。它不仅允许标识远程服务和文件,而且也导致暴露攻击的目标。 7.11.1 URL漏洞 URL为用户提供了方便识别网络资源的方法,URL可识别服务、服务器以及资源参数。攻击者能策划一个敌意的URL并把被害者指向另一个位置,导致被破坏。,1.主机名求解攻击 2.主机伪装 3.统一资源标识符(URI)伪装 URI用来描述资源和参数,但并非所有字符都是有效的。 攻击者能用URI编码来伪装主机名和URI信息。 4.剪切和拼接 URL对远程资源定义一个逻辑通路,该通路容易被修改,最通用的两个修改方法是剪切和拼接。,5.滥用查询 改变URL选项的参数值能导致改变应用功能,可以导致侦查和开发漏洞。 6.SQL注入 SQL注入攻击是通过修改SQL命令,使提交到URL的参数和选项直接送到数据库查询。通过使用未检验的输入,攻击者能修改查询请求。,SQL注入式攻击过程,(1) 某个ASP.Web应用有一个登录页面,这个登录页面控制着用户是否有权访问应用,它要求用户输入一个名称和密码。 (2) 登录页面中输入的内容将直接用来构造动态的SQL命令,或者直接用作存储过程的参数。 (3) 攻击者在用户名字和密码输入框中输入“ “或“ 1 “ = “ 1“之类的内容。,(4)用户输入的内容提交给服务器之后,服务器运行上面的ASP.NET代码构造出查询用户的SQL命令,但由于攻击者输入的内容非常特殊,所以最后得到 的SQL命令变成:SELECT * from Users WHERE login = or 1 = 1 AND password = or 1 = 1 。 (5)服务器执行查询或存储过程,将用户输入的身份信息和服务器中保存的身份信息进行对比。 (6)由于SQL命令实际上已被注入式攻击修改,已经不能真正验证用户身份,所以系统会错误地授权给攻击者。,如果攻击者知道应用会将表单中输入的内容直接用于验证身份的查询,他就会尝试输入某些特殊的SQL字符串篡改查询改变其原来的功能,欺骗系统授予访问权限。 如果用户的帐户具有管理员或其他比较高级的权限,攻击者就可能对数据库的表执行各种他想要做的操作,包括添加、删除或更新数据,甚至可能直接删除表。,常见的SQL注入漏洞检测工具,(1)NBSI NBSI是NB联盟的小竹编写的一款SQL自动注入工具,其功能非常强大。可以扫描注入点、自动猜解数据内容、分析IIS日志,并自定义关键字字典。,(2)HDSI HDSI是教主(网络ID)开发的一款免费的网页安全性能检测工具,其中集成多种功能,是一个SQL注入利器。 该工具可以自动扫描注入点、注入猜解数据内容、扫描网站后台登录地址,以及对PHP进行注入。如果漏洞页面使用SQL Server数据库,还可以让服务器执行DOS命令并上传asp木马文件。,防范sql注入式攻击,要防止ASP应用被SQL注入式攻击闯入并不是一件特别困难的事情,只要在利用表单输入的内容构造SQL命令之前,把所有输入内容过滤一番就可以了。过滤输入内容可以按多种方式进行:, 对于动态构造SQL查询的场合,可使用下面技术: 第一:替换单引号,即把所有单独出现的单引号改成两个单引号,防止攻击者修改SQL命令的含义。 第二:删除用户输入内容中的所有连字符,防止攻击者构造出类如“SELECT * from Users WHERE login = mas AND password =”之类的查询。 第三:对于用来执行查询的数据库帐户,限制其权限。用不同的用户帐户执行查询、插入、更新、删除操作。, 用存储过程来执行所有的查询。 限制表单或查询字符串输入的长度。 检查用户输入的合法性,确信输入的内容只包含合法的数据。 将用户登录名称、密码等数据加密保存。 检查提取数据的查询所返回的记录数量。如果程序只要求返回一个记录,但实际返回的记录却超过一行,那就当作出错处理,7.跨站脚本 跨站脚本XSS(Cross-Site Scripting)攻击发生在当用户把数据提交给服务器后,又被送到另一用户。很多在线论坛和博客允许用户张贴内容和超级链接。张贴的东西立即可被其他用户访问。 用户张贴的信息应该是受审查的。,7.11.2 常见的HTTP风险,1. 无身份鉴别的客户 2. 无身份鉴别的服务器 3. 客户端隐私 4. 信息泄露 5. 服务器定位轮廓 6. 访问操作系统 7. 不安全的应用程序 8. 低层协议,WWW攻击方法,1. 扫描 扫描主要是察看对方服务器上80,81,8000,8001,8080等端口是否开放。这可以分手工方式和自动方式来实现。常见的手工方式扫描就是使用浏览器逐页访问并查阅其中的源代码;自动方式就是利用脚本程序或者扫描工具来实现。这类工具非常多,著名的是利用统计学原理和模糊逻辑学技术的HTTP指纹识别工具httprint(http:/net-,图 HTTP指纹识别工具httprint,2. 信息收集 通过识别各个端口所运行的服务器类型,以及仔细阅读网站提供的网页文档,来获得诸如网站结构、电子邮件地址、电话号码以及某些脚本程序的源代码。 3. 测试 攻击者对网站所采用的各种可能的应用脚本进行详细的安全性测试,已发现其中可能存在的安全漏洞,当然有些漏洞可能是已经公开的,只要核实一下即可。,4. 攻击规划 根据上述步骤所获得的各种信息,攻击者选择最适宜的攻击方法来试图获得非授权访问。这一步必须围绕已知的信息展开,并最终制定一套可靠有效的攻击方案。 5. 发动攻击 最后,攻击者根据规划好的攻击方案实施攻击。至此,攻击者可以操纵你的网站,或者可以获得敏感信息,直至最终控制你的系统。,WWW攻击技术 针对WWW的攻击,通常可以把它们分为两类:静态的漏洞攻击和动态的漏洞攻击。静态漏洞攻击就是常见的已公开的攻击方法;而动态的漏洞攻击则是来自于应用程序的底层逻辑,更难于检测和防护,也是大多数安全产品的弱点,因为它们通常只能检测出已知的安全漏洞攻击。,常见的静态漏洞攻击方法有: (1) 已知安全缺陷(Known Exploits):主要是利用最新公布的Web安全漏洞实施攻击,例如RDS(Remote Data Service)漏洞,红色代码漏洞以及尼姆达病毒等。 (2) 目录列举(Directory Enumeration):攻击者试图对整个网站的层次结构和目录结构进行映射,以获得那些仍保留访问权限的不可见目录的访问权。 (3) WWW服务器测试(Web Server Testing):很多Web服务器都允许攻击者提交畸形请求,这可能导致Web系统的非授权访问。,常见的动态漏洞攻击方法有: (1) 链接遍历(Link Traversal):攻击者根据各种链接的关系勾勒出Web应用程序的结构和执行流向。这是一种信息收集攻击,通常是在攻击的初级阶段。 (2) 路径截断(Path Truncation):这同样是一种信息收集攻击。攻击

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论