8.1 网络安全的基本概念
8.1.1 网络安全威胁的类型
- 窃听
- 假冒
- 重放
- 流量分析
- 数据完整性破坏
- 拒绝服务
- 资源的非授权使用
- 陷门和特洛伊木马
- 病毒
- 诽谤
8.1.2 网络安全漏洞
- 当前,信息系统的安全性非常弱,主要体现在操作系统、计算机网络和数据库管理
系统都存在安全隐患
- 物理安全性
- 软件安全漏洞
- 不兼容使用安全漏洞
- 选择合适的安全哲理
8.1.3 网络攻击
- 攻击是指任何的非授权行为
- 攻击的法律定义是“攻击仅仅发生在入侵行为完全完成而且入侵者已经在目标网络内”
- 专家的观点则是“可能使一个网络受到破坏的所有行为都被认定为攻击“
- 网络攻击可以分为以下几类
- 被动攻击,攻击者通过监视所有信息流以获得某些秘密
- 基于网络(跟踪通信链路)
- 基于系统(用秘密抓取数据的特洛伊木马代替系统部件)
- 被动攻击是最难被检测到的
- 对付这种攻击的重点是预防
- 主要手段有数据加密等
- 主动攻击,攻击者试图突破网络的安全防线
- 攻击涉及数据流的修改或创建错误流
- 攻击形式有假冒、重放、欺骗、消息缕改和拒绝服务
- 攻击无法预防但却易于检测
- 对付的重点是测而不是防
- 主要手段有防火墙、入侵检测技术
- 物理临近攻击,未授权者可物理上接近网络、系统或设备
- 内部人员攻击,被授权在信息安全处理系统的物理范围内,对信息安全处理系统具有直接访问权的人员恶意的和非恶意的(不小心或无知的用户)两种内部人员攻击
- 分发攻击,在软件和硬件开发出来之后和安装之前这段时间,或当它从一个地方传到另一个地方时,攻击者恶意修改软/硬件
8.1.4 安全措施的目标
- 安全措施的目标
- 访问控制,确保会话对方(人或计算机)有权做它所声称的事情
- 认证,确保会话对方的资源(人或计算机)与它声称的相一致
- 完整性,确保接收到的信息与发送的一致
- 审计,确保任何发生的交易在事后可以被证实,发信者和收信者都认为交换发生过,即所谓的不可抵赖性
- 保密,确保敏感信息不被窃听
8.1.5 基本安全技术
- 数据加密,通过对信息的重新组合,使得只有收发双方才能解码并还原信息的一种手段
- 数字签名,用来证明消息确实是由发送者签发的,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性
- 身份认证,认证一个用户的合法性
- 防火墙,防火墙是位千两个网络之间的屏障,一边是内部网络(可信赖的网络),另一边是外部网络(不可信赖的网络),按照系统管理员预先定义好的规则控制数据包的进出
- 内容检查
8.2 信息加密技术
8.2.1 数据加密原理
- 密码学,研究数据加密的科学
- 不论偷听者获取了多少密文,如果密文中没有足够的信息可以确定出对应的明文,则这种密码体制是无条件安全的,或称为是理论上不可破解的
- 在无任何限制的条件下,目前儿乎所有的密码体制都不是理论上不可破解的
8.2.2 经典加密技术
- 替换加密,用一个字母替换另一个字母,可根据自然语言的统计特性(例如字母出现的频率)破译
- 换位加密,按照一定的规律重排字母的顺序,确定密钥的列数,再重排密文的顺序进行破
- 一次性填充,把明文变为位串(例如用ASCII 编码),选择一个等长的随机位串作为密钥,对二者进行按位异或得到密文
8.2.3 现代加密技术
1.DES
- DES加密,明文被分成64 位的块,对每个块进行19 次变换(替代和换位),其中16 次变换由56位的密钥的不同排列形式控制(IBM 使用的是128 位的密钥),最后产生64 位的密文块
- DES解密,1977 年, Diffie 和Hellman 设计了DES 解密机。只要知道一小段明文和对应的密文,该机器就可以在一天之内穷试256 种不同的密钥(这叫作野蛮攻击)
2.三重DES
- 三重DES加密,它使用两把密钥对报文做三次DES 加密,效果相当于将DES密钥的长度加倍,克服了DES 密钥长度较短的缺点
3.IDEA
- IDEA加密,使用128 位的密钥,把明文分成64 位的块,进行8 轮迭代加密
- IDEA 可以用硬件或软件实现,并且比DES快
4.AES
- AES 支待128 、192 和256 位3 种密钥长度
5.流加密算法和RC4
- 流加密,就是将数据流与密钥生成二进制比特流进行异或运算的加密过程
- Ronald L.Rivest 是MIT 的教授,用他的名字命名的流加密算法有RC2~RC6 系列算法
6.公钥加密算法
- 共享密钥算法或对称密钥算法,使用的加密密钥和解密密钥是相同的
- 公钥加密算法
- 用公钥加密,私钥解密,可实现保密通信
- 用私钥加密,公钥解密,可实现数字签名
7.RSA 算法
8.3 认证
- 实体认证,识别通信对方的身份,防止假冒,可以使用数字签名的方法
- 消息认证,验证消息在传送或存储过程中有没有被荩改,通常使用报文摘要的方法
8.3.1 基于共享密钥的认证
- 双方有一个共享的密钥,则可以确认对方的真实身份
- A 向KDC 发出消息{A, K A( B, KS)}, 说明自己要和B 通信,并指定了与B会话的密钥KS,其中(B, KS) 用KA加密
- KDC 知道了A 的意图后就构造了一个消息{KB(A, KS)} 发给B
- B 用KB 解密后就得到了A 和 KS, 然后就可以与A 用 KS会话
- 主动攻击者对这种认证方式可能进行重放攻击,在重放攻击中攻击者不需要知道会话密钥KS, 只要能猜测密文的内容对自己有利或是无利就可以达到攻击的目的
8.3.2 Needham-Schroeder认证协议
- Needham-Schroeder认证协议,是一种多次提问—响应协议,可以对付重放攻击。每一个会话回合都有一个新的随机数在起作用q
- A 向KDC 发送报文1,表明要与B 通信。KDC以报文2回答。报文1中加入了由A 指定的随机数RA, KDC 的回答报文中也有RA, 它的这个作用是保证报文2是新鲜的,而不是重放的
- 报文2 中的KB(A, KS) 是KDC 交给A 的入场券,其中有KDC 指定的会话键Ks, 并且用B 和KDC 之间的密钥加密, A 无法打开,只能
原样发给B 。
8.3.3 基于公钥的认证
- A 给B发出EB(A, RA), 该报文用B的公钥加密,RA为随机数
- B返回EA(RA,RB,KS),用A的公钥加密,RARB为随机数
- A返回KA(RB),KA是B指定的会话键
8.4 数字签名
- 数字签名系统向通信双方提供服务,使得A 向B 发送签名的消息P, 以便达到以下几点:
- B 可以验证消息P 确实来源千A
- A 以后不能否认发送过P
- B 不能编造或改变消息P
8.4.1 基于密钥的数字签名
- BB 是A 和B 共同信赖的仲裁人
- KA和KB分别是A 和B与BB之间的密钥
- P 是A 发给B的消息
- t是时间戳
- BB 解读了A 的报文{A, KA(B, RA,t, P)}以后产生了一个签名的消息KBB(A, t, P), 并装配成发给B 的报文{KB(A, RA,t,P,KBB(A, t,P))}
- B 可以解密该报文,阅读消息P, 并保留证据KBB(A, t, P)
- 由于A 和B 之间的通信是通过中间人BB 的,所以不必怀疑对方的身份
- 由于证据KBB(A, t, P)的存在,A不能否认发送过消息P,B 也不能改变得到的消息P,因为BB仲裁时可以解密KBB(A, t, P), 得到发送人、发送时间和原来的消息P
8.4.2 基于公钥的数字签名
- 如果A 方否认了, B 可以拿出DA§,并用A 的公钥EA解密得到P, 从而证明P是A发送的
- 如果B把消息P篡改了,当A要求B出示原来的DA§ 时,B 拿不出来
8.5 报文摘要
- 用于差错控制的报文检验是根据冗余位检查报文是否受到信道干扰的影响
- 计算密码校验和,即固定长度的认证码,附加在消息后面发送,根据认证码检查报文是否被篡改
- 设M 是可变长的报文, K 是发送者和接收者共享的密钥,令MD=CK(M),这就是算出的报文摘要
- 数字指纹,即报文摘要,是报文唯—的压缩表示,代表了报文的特征
- 散列算法将任意长度的二进制串映射为固定长度的二进制串,这个长度较小的二进制串称为散列值
- 散列值是一段数据唯一的、紧凑的表示形式
- 一段明文只更改其中的一个字母,随后的散列变换都将产生不同的散列值,因为要找到散列值相同的两个不同的输入在计算上是不可能的,所以数据的散列值可以检验数据的完整性
8.5.1 报文摘要算法
- MD5
- 分组和填充。把明文报文按512 位分组,最后要填充一定长度的"1000…",使得报文长度=448 (mod 512)
- 附加。最后加上64 位的报文长度字段,整个明文恰好为512 的整数倍
- 初始化。置4 个32 位长的缓冲区ABCD 分别为:A=01234567 B=89ABCDEF C=FEDCBA98 D=76543210
- 处理。用4 个不同的基本逻辑函数(F, G, H, I) 进行4 轮处理,每一轮以ABCD和当前512 位的块为输入,处理后送入ABCD (128 位),产生128 位的报文摘要
- MD5 的安全性,采用野蛮攻击,需要1.07X 1022 年;采用生日攻击法,需要585 年
- MD5的实用性,用32位软件可高速实现,所以有广泛应用
8.5.2 安全散列算法
8.5.3散列式报文认证码
8.6 数字证书
8.6.1 数字证书的概念
- 数字证书是各类终端实体和最终用户在网上进行信息交流及商务活动的身份证明
- 数字证书采用公钥体制,即利用一对互相匹配的密钥进行加密和解密
- 每个用户自己设定一个特定的仅为本人所知的私有密钥(私钥),用它进行解密和签名
- 设定一个公共密钥(公钥),并由本人公开,为一组用户所共享,用于加密和验证
8.6.2 证书的获取
- CA 为用户产生的证书应具有以下特性
- 只要得到CA 的公钥,就能由此得到CA 为用户签署的公钥
- 除CA 外,其他任何人员都不能以不被察觉的方式修改证书的内容
- 如果两个证书发放机构X1 和X2 彼此间已经安全地交换了公开密钥,X1 的A 可以通过一个证书链来获取X2的B的公开密钥
8.6.3 证书的吊销
8.7 密钥管理
- 密钥是加密算法中的可变部分,在采用加密技术保护的信息系统中,其安全性取决于密钥的保护,而不是对算法或硬件的保护
- 密钥管理是指处理密钥自产生到最终销毁的整个过程中的有关问题,包括系统的初始化,密钥的产生、存储、备份/恢复、装入、分配、保护、更新、控制、丢失、吊销和销毁
8.7.1 密钥管理概述
1.对密钥的威胁
- 私钥的泄露
- 私钥或公钥的真实性丧失
- 私钥或公钥未经授权使用,例如使用失效的密钥或违例使用密钥
2.密钥的种类
- 基本密钥kp,由用户选定或由系统分配给用户的、可在较长时间(相对于会话密钥)内由一对用户所专用的密钥,故也称用户密钥
- 基本密钥要求既安全又便千更换,与会话密钥一起去启动和控制某种算法所构造的密钥产生器,生成用于加密数据的密钥流
- 会话密钥ks,两个终端用户在交换数据时使用的密钥
- 用会话密钥对传输的数据进行保护时称为数据加密密钥
- 用会话密钥来保护文件时称为文件密钥
- 会话密钥的作用是使用户不必频繁地更换基本密钥,有利千密钥的安全和管理
- 会话密钥可由用户双方预先约定,也可由系统通过密钥建立协议动态地生成并分发给通信双方
- 会话密钥允使用的时间短,限制了密码分析者所能得到的同一密钥加密的密文数量
- 会话密钥只在需要时通过协议建立,也降低了密钥的存储容量
- 密钥加密密钥ke,用千对传送的会话密钥或文件密钥进行加密的密钥,也称辅助二级密钥或密钥传送密钥
- 通信网中每个节点都分配有一个ke, 为了安全,各节点的ke应互不相同
- 主机密钥km,对密钥加密密钥进行加密的密钥,存于主机处理器中
- 在双钥体制下,有公开钥(公钥)和秘密钥(私钥)、签字密钥和认证密钥之分
8.7.2 密钥管理体制
- 密钥管理是信息安全的核心技术之一
- 美国信息保障技术框架中定义的密钥管理体制主要有3 种
- 适用于封闭网的技术,以传统的密钥分发中心为代表的KMI机制
- 适用于开放网的PKI机制
- 适用于规模化专用网的SPK技术
1.KMI 技术
- 密钥管理基础结构假定有一个密钥分发中心来负责发放密钥
1)静态分发
- 点对点配置
- 单钥为认证提供可靠的参数,但不能提供不可否认性服务
- 当有数字签名要求时,则用双钥实现
- 一对多配置,可用单钥或双钥实现,是点对点分发的扩展,只是在中心保留所有各端,而各端只保留自己的密钥
- 格状网配置
2)动态分发
- 动态分发是“请求一分发“机制,是与物理分发相对应的电子分发
- 基千单钥的单钥分发,在用单密钥实现时,首先在静态分发方式下建立星状密钥配置,在此基础上解决会话密钥的分发,这种密钥分发方式简单易行
- 基千单钥的双钥分发。在双钥体制下,可以将公、私钥都当作秘密变量,也可以将公、私钥分开,只把私钥当作秘密变量,公钥当作公开变量
2.PKI技术
- 公钥基础结构是运用公钥的概念和技术来提供安全服务的、普遍适用的网络安全基础设施,包括由PKI 策略、软/硬件系统、认证中心、注册机构、证书签发系统和PKI应用等构成的安全体系
- PKI策略定义了信息安全的指导方针和密码系统的使用规则
- CA 之间的信任关系、遵循的技术标准、安全策略、服务对象、管理框架、认证规则、运作制度、所涉及的法律关系等
- 软/硬件系统是PKI运行的平台,包括认证服务器、目录服务器等
- CA 负责密钥的生成和分配
- 注册机构是用户与CA 之间的接口,负责对用户的认证
- 证书签发系统负责公钥数字证书的分发,可以由用户自己或通过目录服务器进行发放
- PKI的应用非常广泛, Web 通信、电子邮件、电子数据交换、电子商务、网上信用卡交易、虚拟专用网等都是PKI潜在的应用领域
- KMI 和PKI 两种密钥管理体制各有其优缺点和适用范围:KMI 具有很好的封闭性,而PKI具有很好的扩展性。KMI 的密钥管理机制可形成各种封闭环境,可作为网络隔离的基本逻辑手段,而PKI适用千各种开放业务,但却不适应封闭的专用业务和保密性业务。KMI 是集中式的基于主管方的管理模式,为身份认证提供直接信任和一级推理信任,但密钥更换不灵活; PKI是依靠第三方的管理模式,只能提供一级以下推理信任,但密钥更换非常灵活。KMI 适用于保密网和专用网,而PKI适用于安全责任完全由个人或单方面承担,安全风险不涉及他方利益的场合
- 从实际应用方面看,因特网中的专用网主要处理内部事务,同时要求与外界联系。因此,KMI 主内、PKI主外的密钥管理结构是比较合理的。如果一个专用网是与外部没有联系的封闭网,那么仅有KMI就已足够。如果一个专用网可以与外部联系,那么要同时具备两种密钥管理体制,至少KMI要支持PKI。如果是开放网业务,则完全可以用PKI技术处理。
8.8 虚拟专用网络
8.8.1 虚拟专用网的工作原理
- 实现VPN 的关键技术主要有以下几种:
- 隧道技术 。隧道技术是一种通过使用因特网基础设施在网络之间传递数据的方式。隧道协议将其他协议的数据包重新封装在新的包头中发送。新的包头提供了路由信息,从而使封装的负载数据能够通过因特网传递。在Internet 上建立隧道可以在不同的协议层实现,例如数据链路层、网络层或传输层,这是VPN 特有的技术。
- 加解密技术。VPN 可以利用已有的加解密技术实现保密通信,保证公司业务和个人通信的安全
- 密钥管理技术。建立隧道和保密通信都需要密钥管理技术的支撑,密钥管理负责密钥的生成、分发、控制和跟踪,以及验证密钥的真实性等
- 身份认证技术 。加入VPN 的用户都要通过身份认证,通常使用用户名和密码,或者智能卡来实现用户的身份认证
- VPN 的解决方案有以下3 种:
- 内联网VPN 。企业内部虚拟专用网也叫内联网VPN, 用于实现企业内部各个LAN 之间的安全互联。传统的LAN 互联采用租用专线的方式,这种实现方式费用昂贵,只有大型企业才能负担得起。如果企业内部各分支机构之间要实现互联,可以在Internet 上组建世界范围内的Intranet VPN, 利用Internet 的通信线路保证网络的互联互通,利用隧道、加密和认证等技术保证信息在Intranet 内安全传输
- 外联网VPN。企业外部虚拟专用网也叫外联网VPN, 用于实现企业与客户、供应商和其他相关团体之间的互联互通。当然,客户也可以通过Web 访问企业的客户资源,但是外联网VPN 方式可以方便地提供接入控制和身份认证机制,动态地提供公司业务和数据的访问权限。一般来说,如果公司提供B2B之间的安全访问服务,则可以考虑与相关企业建立Extranet VPN 连接
- 远程接入VPN。解决远程用户访问企业内部网络的传统方法是采用长途拨号方式接入企业的网络访问服务器这种访问方式的缺点是通信成本高,必须支付价格不菲的长途电话费,而且NAS 和调制解调器的设备费用以及租用接入线路的费用也是一笔很大的开销。采用远程接入VPN 就可以省去这些费用。如果企业内部人员有移动或远程办公的需要,或者商家要提供B2C 的安全访问服务,可以采用Access VPN
- Access VPN 通过一个拥有与专用网络相同策略的共享基础设施提供对企业内部网或外部网的远程访问。Access VPN 能使用户随时随地以其所需的方式访问企业内部的网络资源,最适用千公司内部经常有流动人员远程办公的情况。出差员工利用当地ISP 提供的VPN 服务就可以和公司的VPN 网关建立私有的隧道连接
8.8.2 第二层隧道协议
1.PPP 协议
- PPP 协议可以在点对点链路上传输多种上层协议的数据包
- PPP是数据链路层协议,包含下列成分
- 封装协议。用于包装各种上层协议的数据报
- 链路控制协议,建立、配置和管理数据链路连接
- 网络控制协议,在PPP 的链路建立过程中的最后阶段将选择承载的网络层协议,例如IP、IPX或AppleTalk等
- PPP 拨号过程可以分成以下3 个阶段
- 一旦完成上述3 个阶段, PPP 就开始在连接双方之间转发数据,每个被传送的数据报都被封装在PPP 包头内。如果在阶段一选择了数据压缩,数据将会在被传送之前进行压缩。类似的,如果已经选择使用数据加密,数据将会在传送之前进行加密
2.点对点隧道协议(PPTP)
- PPTP是第2层隧道协议
- PAC 是负责接入的客户端设备
- PNS 是ISP 提供的接入服务器
- PPTP 是在PAC 和PNS 之间对拨入的电路交换呼叫进行控制和管理,并传送PPP 数据的协议
- 在一对PAC 和PNS 之间必须建立两条并行的PPTP 连接, 一条是运行在TCP 协议上的控制连接,一条是传输PPP 协议数据单元的IP 隧道
- PPP 分组必须先经过GRE 封装后才能在PAC-PNS 之间的隧道中传送
- GRE 是在一种网络层协议上封装另外一种网络层协议的协议
- GRE 封装的协议经过了加密处理,所以VPN 之外的设备无法探测其中的内容
3.第2层隧道协议
- 第2层隧道协议用于把各种拨号服务集成到ISP 的服务提供点
- L2TP 扩展了PPP 模型,允许第二层连接端点和PPP 会话端点驻在由分组交换网连接的不同设备中
- L2TP 报文分为控制报文和数据报文
- 控制报文用于建立、维护和释放隧道和呼叫
- 数据报文用于封装PPP 帧,以便在隧道中传送
- 在IP 网上使用UDP 和一系列的L2TP 消息对隧道进行维护,同时使用UDP 将L2TP 封装的PPP 帧通过隧道发送,可以对封装的PPP 帧中的负载数据进行加密或压缩
4.PPTP 与L2TP 的比较
- PPTP 和L2TP 都使用PPP 协议对数据进行封装,然后添加附加包头用千数据在互联网络上的传输。尽管两个协议非常相似,但是仍存在以下几方面的区别
- PPTP 要求因特网络为IP 网络, L2TP 只要求隧道媒介提供面向数据包的点对点连接
- PPTP 只能在两端点间建立单一隧道, L2TP 支持在两端点间使用多个隧道
- L2TP 可以提供包头压缩
- L2TP 可以提供隧道验证,而PPTP 不支持隧道验证。但是,当L2TP 或PPTP 与IPSec共同使用时,可以由IPSec 提供隧道验证,不需要在第2 层协议上验证隧道
8.8.3 IPSec
- IPSec (IP Security) 是IETF 定义的一组协议,用于增强IP 网络的安全性
- IPSec 的功能可以划分为下面3 类
8.8.4 安全套接层
- 安全套接层(SSL) 是传输层安全协议,用于实现Web 安全通信
- SSL 和IPSec 各有特点。SSL VPN 与IPSecVPN 一样,都使用RSA 或D-H 握手协议来建立秘密隧道。SSL 和IPSec 都使用了预加密、数据完整性和身份认证技术,例如3-DES 、128位的RC4 、ASE 、MD5 和SHA-1 等。两种协议的区别是, IPSec VPN 是在网络层建立安全隧道,适用于建立固定的虚拟专用网,而SSL 的安全连接是通过应用层的Web 连接建立的,更适合移动用户远程访问公司的虚拟专用网,原因如下
- SSL 不必下载到访问公司资源的设备上
- SSL 不需要端用户进行复杂的配置
- 只要有标准的Web 浏览器,就可以利用SSL 进行安全通信
- SSL/TLS 在Web 安全通信中被称为HTTPS
8.9 应用层安全协议
8.9.1 S-HTTP
- 安全的超文本传输协议是一个面向报文的安全通信协议,是HTTP 协议的扩展,其设计目的是保证商业贸易信息的传输安全,促进电子商务的发展
- 由于SSL 的迅速出现, S-HTTP 未能得到广泛应用。目前, SSL 基本取代了SHTTP
8.9.2 PGP
- PGP是电子邮件加密软件包
- PGP 能够得到广泛应用的原因
- 能够在各种平台(如DOS 、Windows 、UNIX 和Macintosh 等)上免费使用
- 基于比较安全的加密算法(RSA 、IDEA 、MD5)
- 具有广泛的应用领域,既可用于加密文件,也可用于个人安全通信
- 该软件包不是由政府或标准化组织开发和控制的,这一点对于具有自由倾向的网民特别具有吸引力
- PGP 提供两种服务: 数据加密和数字签名
- PGP 进行身份认证的过程叫作公钥指纹
- 有一系列的软件工具可以用千部署PGP 系统,在网络中部署PGP 可分为以下3 个步骤
- 建立PGP 证书管理中心
- 对文档和电子邮件进行PGP加密
- 在应用系统中集成PGP
8.9.3 S/MIME
- S/MIME是RSA 数据安全公司开发的软件
- S/MIME 提供的安全服务有报文完整性验证、数字签名和数据加密
- S/MIME 可以添加在邮件系统的用户代理中,用千提供安全的电子邮件传输服务,也可以加入其他的传输机制(例如HTTP) 中,安全地传输任何M八庄报文,甚至可以添加到自动报文传输代理中,在Internet中安全地传送由软件生成的FAX 报文
8.9.4 安全的电子交易
- 安全的电子交易( Secure Electronic Transaction , SET) 是一个安全协议和报文格式的集合,融合了Netscape 的SSL 、Microsoft 的STT (Secure Transaction Technology) 、Terisa 的S - HTTP 、以及PKI 技术,通过数字证书和数字签名机制,使得客户可以与供应商进行安全的电子交易。
- SET 提供以下3 种服务
- 在交易涉及的各方之间提供安全信道
- 使用X.509 数字证书实现安全的电子交易
- 保证信息的机密性
8.9.5 Kerberos
- Kerberos 是一项认证服务,它要解决的问题是:在公开的分布式环境中,工作站上的用户希望访问分布在网络上的服务器,希望服务器能限制授权用户的访问,并能对服务请求进行认证
- 存在以下3 种威胁
- 用户可能假装成另一个用户在操作工作站
- 用户可能会更改工作站的网络地址,使从这个已更改的工作站发出的请求看似来自被伪装的工作站
- 用户可能窃听交换中的报文,并使用重放攻击进入服务器或打断正在进行中的操作
- Kerberos 的安全机制如下
- 认证服务器,是为用户发放TGT 的服务器
- 票证授予服务器,负责发放访问应用服务器时需要的票证。认证服务器和票据授予服务器组成密钥分发中心。
- 用户请求访问的应用服务器
- TGT (Ticket Granting Ticket): 用户向TGS 证明自己身份的初始票据
8.10 可信任系统
- D级,最低保护
- C 级,自定式保护
- B 级,强制式保护
- A 级,可验证保护
8.11 防火墙
8.11.1 防火墙的基本概念
- 防火墙是一种网络安全防护手段,其主要目标就是通过控制进/出一个网络的权限,并对所有经过的数据包都进行检查,防止内网络受到外界因素的于扰和破坏
- 在逻辑上,防火墙是一个分离器,一个限制器,也是一个分析器,能有效地监视内部网络和Internet 之间的任何活动,保证内部网络的安全;在物理实现上,防火墙是位千网络特殊位置的一组硬件设备一—路由器、计算机或其他特别配置的硬件设备。防火墙可以是一个独立的系统,也可以在一个经过特别配置的路由器上实现防火墙。
8.11.2 防火墙的功能和拓扑结构
- 从内部网络安全的角度,对防火墙功能应提出下列需求
- 防火墙应该由多个部件组成,形成一个充分冗余的安全系统,避免成为网络中的“单失效点”(即这一点突破则无安全可言)
- 防火墙的失效模式应该是“失效一安全”型,即一旦防火墙失效、崩溃或重启,则必须立即阻断内部网络与外部网络的联系,保护内部网络安全
- 由于防火墙是网络的安全屏障,所以就成为网络黑客的主要攻击对象,这就要求防火墙的主机操作系统十分安全可靠。作为网关服务器的主机应该选用增强型安全核心的堡垒主机,以增加其抗攻击性。同时在网关服务器中应禁止运行应用程序,杜绝非法访问
- 防火墙应提供认证服务,外部用户对内部网络的访问应经过防火墙的认证检查
- 防火墙对外部网络屏蔽或隐藏内部网络的网络地址、拓扑结构等信息
- 从实现的功能和构成部件来划分,防火墙可以分为以下类型
- 过滤路由器。在传统路由器中增加分组过滤功能就形成了最简单的防火墙
- 双宿主网关,这种防火墙由具有两个网络接口主机系统构成
- 过滤式主机网关。这种防火墙由过滤路由器和运行网关软件的主机(代理服务器)组成
- 过滤式子网。与过滤式网关相比较,这种防火墙将单台主机的功能分散到多个主机组成的子网中实现
- 悬挂式结构,
8.12 计算机病毒及防护
8.12.1 计算机病毒概述
1.计算机病毒的特征
- 所谓病毒,是指一段可执行的程序代码,通过对其他程序进行修改,可以感染这些程序,使其含有该病毒程序的一个副本
- 病毒与正常程序唯一的区别是它能将自己附着在另外一个程序上,在宿主程序运行时触发病毒程序代码的执行
- 一旦病毒执行,它可以完成病毒程序预设的功能,例如删除文件和程序等
- 在病毒的生存期内,典型的病毒经历了下面4 个阶段
- 潜伏阶段。在该阶段,病毒处于未运行状态,一般需要通过某个事件来激活,例如一个时间点、一个程序或文件的存在、宿主程序的运行,或者磁盘的容晕超出某个限制等。然而,并不是所有的病毒都要经过这个阶段。
- 繁殖阶段。在该阶段,病毒将自己的副本放入其他程序或者磁盘上的特定系统区域,使得程序包含病毒的一个副本,即对程序进行感染
- 触发阶段。在该阶段,由千各种可能的触发条件的满足,导致病毒被激活,以执行病毒程序预设的功能
- 执行阶段。病毒程序预设的功能被完成
- 一旦病毒通过感染一个程序进入系统,当被感染程序执行时,它就处于可执行文件的位置
- 防止病毒感染非常困难,因为病毒可以是任何程序的一部分
- 任何操作系统和应用程序,都存在着已知或者未知的漏洞,都存在着被病毒攻击的风险
2.病毒的分类和命名规则
- 病毒名称的一般格式为<病毒前缀>.<病毒名>.<病毒后缀>
- 病毒前缀是指病毒的种类
- 木马病毒的前缀为Trojan
- 蠕虫病毒的前缀是Worm
- 病毒名是指一个病毒的家族特征
- CIH 病毒的家族名是"CIH"
- 振荡波蠕虫病毒的家族名是"Sasser"
- 病毒后缀是用来区别某个家族病毒的不同变种
- Worm.Sasser.b 就是指振荡波蠕虫病毒的变种b
- 常见的病毒可以根据其行为特征归纳为以下几类
- 系统病毒:其前缀为Win32 、PE 、Win95 、W32 、W95 等。这些病毒的一般共同的特性是感染Windows 操作系统的exe 和dll 文件,并通过这些文件进行传播。例如CIH 病毒。
- 蠕虫病毒:其前缀是Worm 。这种病毒的特性是通过网络或者系统漏洞进行传播,大部分蠕虫病毒都有向外发送带毒邮件、阻塞网络的特性。例如冲击波病毒(阻塞网络)、小邮差病毒(发送带毒邮件) 等
- 木马病毒和黑客病毒:木马病毒的前缀为Trojan, 黑客病毒的前缀为Hack 。木马病毒的特征是通过网络或系统漏洞进入用户系统并隐藏起来,然后向外界泄露用户的解密信息;而黑客病毒有一个可视的界面,能对用户的计算机进行远程控制。木马和黑客病毒往往是成对出现的,即木马病毒负责侵入用户计算机,而黑客病毒则通过木马病毒进行远程控制。现在这两种病毒越来越趋向于整合了。一般的木马病毒有QQ 消息尾巴木马Trojan.QQ3344, 针对网络游戏的木马Trojan.LMir.PSW.60 。当病毒名中有PSW 或者PWD 时,表示这种病毒有盗取密码的功能,黑客程序有网络枭雄Hack.Nether. Client 等
- 脚本病毒: 其前缀是Script 。脚本病毒的共同特性是使用脚本语言编写,通过网页进行传播,如红色代码Script.Redlof。脚本病毒还可能有前缀VBS 、JS (表明是用何种脚本编写的),如欢乐时光病毒(VBS.Happytime) 、十四日病毒(Js.Fortnight.c.s) 等
- 宏病毒:宏病毒是一种寄存在文档或文档模板的宏中的计算机病毒。一旦打开这样的文档,其中的宏就会被执行,千是宏病毒就会被激活,并驻留在Normal 模板上。从此以后,所有自动保存的文档都会“感染”上这种宏病毒,而且如果其他用户打开了感染病毒的文档,宏病毒又会转移到他的计算机上。它是一种脚本病毒。宏病毒的前缀是Macro, 第二前缀是Word 、Word97 、Excel 、Excel97 等
- 后门病毒:其前缀是Backdoor, 这类病毒的共同特性是通过网络传播,给系统开后门,给用户的计算机带来安全隐患
- 病毒种植程序:这类病毒的共同特征是运行时会释放出一个或儿个新的病毒,存放在系统目录下,并由释放出来的新病毒产生破坏作用。例如冰河播种者Dropper.BingHe2.2C 、MSN射手病毒Dropper. Worm.Smibag 等
- 破坏性程序病毒:其前缀是Harm 。这类病毒的共同特性是本身具有好看的图标来诱惑用户点击。当用户点击这类病毒时,病毒便会对用户的计算机产生破坏。例如格式化C 盘的病毒Harm.formatC.f、杀手命令病毒Harm.Command.Killer 等
- 玩笑病毒:其前缀是Joke, 也称恶作剧病毒。这类病毒的共同特征是具有好看的图标来诱惑用户点击。当用户点击这类病毒文件时,病毒会呈现出各种破坏性画面来吓唬用户,其实病毒并没有对计算机进行任何破坏。例如女鬼病毒(Joke.Girlghost)
- 捆绑机病毒:其前缀是Binder, 这类病毒的共同特征是病毒作者使用特定的捆绑程序将病毒与一些应用程序(如QQ 、IE 等)捆绑起来,表面上看是一个正常文件。当用户运行捆绑了病毒的程序时,表面上运行的是应用程序,实际上隐藏地运行了捆绑在一起的病毒,从而给用户造成危害。例如捆绑QQ 病毒CBinder.QQPass.QQBin) 、系统杀手病毒(Binder.killsys) 等
- 其他,例如DoS 病毒会针对某台主机或者服务器进行DoS
攻击; Exploit 病毒会通过溢出系统漏洞来传播自身,或者其本身就是一个用于Hacking 的溢出工具; HackTool 是一种黑客工具,也许它本身并不破坏用户的机器,但是会被别人利用, 劫待用户去破坏其他人
8.12.2 计算机病毒防护
1.反病毒的方法
- 反病毒软件也经历了4个阶段
- 简单的扫描程序(第一代)。使用扫描程序对文件进行扫描,通过病毒的签名或特征码来识别病毒
- 启发式的扫描程序(第二代)。不依赖专门的签名。相反,扫描程序使用启发式的规则来搜索可能的病毒感染,这种扫描程序的一个类别是查找经常和病毒联系在一起的代码段。另一种第二代方法是完整性检查,可以为每个程序附加检验和,如果病毒感染了程序,但没有修改检验和,那么一次完整性检查将会抓住变化。为了对付可以在感染程序时修改检验和的复杂病毒,可以使用加密的散列函数。加密密钥和程序分开存放,使得病毒不能生成新的散列代码并对其加密。通过使用散列函数而不是更简单的检验和,可以避免病毒像以前一样调整程序来产生同样散列代码。
- 行为陷阱(第三代)。这是一些存储器驻留程序,它们通过病毒的动作而不是通过其在被感染程序中的结构来识别病毒
- 全方位的保护(第四代)。这是一些由不同的联合使用的反病毒技术组成的软件包
2.先进的反病毒技术
- 类属解密,使得反病毒程序可以容易地检测出甚至是最复杂的多形病毒,同时保持快速的扫描速度
- 数字免疫系统,该系统对前述的程序模拟的使用进行了扩展,提供了一个通用的模拟和病毒检测系统
8.13 入侵检测
8.13.1 入侵检测系统概述
- 入侵检测系统作为防火墙之后的第二道安全屏障,通过从计算机系统或网络中的若干关键点收集网络的安全日志、用户的行为、网络数据包和审计记录等信息并对其进行分析,从中检查是否有违反安全策略的行为和遭到入侵攻击的迹象,入侵检测系统根据检测结果,自动做出响应
- IDS 的主要功能包括对用户和系统行为的监测与分析、系统安全漏洞的检查和扫描、重要文件的完整性评估、已知攻击行为的识别、异常行为模式的统计分析、操作系统的审计跟踪,以及违反安全策略的用户行为的检测等
- 入侵检测通过实时地监控入侵事件,在造成系统损坏或数据丢失之前阻止入侵者进一步的行动,使系统能尽可能的保持正常工作
- IDS 还需要收集有关入侵的技术资料,用于改进和增强系统抵抗入侵的能力
1.入侵检测系统的框架结构
- 公共入侵检测框架由4 个模块组成
- 事件产生器 。负责数据的采集,并将收集到的原始数据转换为事件,向系统的其他模块提供与事件有关的信息
- 入侵检测所利用的信息一般来自4 个方面:系统和网络的日志文件、目录和文件中不期望的改变、程序执行中不期望的行为、物理形式的入侵信息
- 事件分析器。接收事件信息并对其进行分析,判断是否为入侵行为或异常现象,分析方法有下面3 种
- 模式匹配。将收集到的信息与已知的网络入侵数据库进行比较,从而发现违背安全策略的行为
- 统计分析。首先给系统对象( 例如用户、文件、目录和设备等)建立正常使用时的特征文件( Profile) , 这些特征值将被用来与网络中发生的行为进行比较。当观察值超出正常值范围时,就认为有可能发生入侵行为
- 数据完整性分析。主要关注文件或系统对象的属性是否被修改,这种方法往往用于事后的审计分析
- 事件数据库 。存放有关事件的各种中间结果和最终数据的地方, 可以是面向对象的数据库,也可以是一个文本文件
- 响应单元。根据报替信息做出各种反应,强烈的反应就是断开连接、改变文件属性等,简单的反应就是发出系统提示,引起操作人员注意
- 入侵检测系统是一个监听设备,无须跨接在任何链路上,不产生任何网络流量便可以工作。因此,对IDS 部署的唯一要求是应当挂接在所关注流晕必须流经的链路上
- 入侵检测系统一般选择在尽可能靠近攻击源,或者尽可能接近受保护资源的地方
- 服务器区域的交换机上
- Internet 接入路由器之后的第一台交换机上
- 重点保护网段的局域网交换机上
2.入侵检测系统的数据源
- 操作系统审计记录,计算机的操作系统对与用户使用计算机的过程,会有相应的记录。最早用于入侵检测系统分析的数据源来自千操作系统的审计子系统所产生的审计记录。它记录了系统的活动信息,如用户进程所执行的命令和系统调用类型等。由于审计子系统对审计记录采取了保护机制,从而使用审计记录作为检测数据是安全可靠的
- 操作系统日志,操作系统日志是操作系统生成的与主机信息相关的日志文件,记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件。包括系统日志、应用程序日志和安全日志。可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。尽管较之于系统的审计记录,其自身的安全性有所欠缺,但由于它较为完整的记录了系统中发生的事情,且容易处理,因而成为入侵检测的数据源之一
- 网络数据。网络数据源是指流经网络接口的网络数据包和网络连接的记录总和。
- 基于网络数据包的检测主要是分析包的协议字段和负载内容
- 网络连接记录来自千会话连接记录,每一个连接记录用一个特征向益表示,相比于数据包,它能提供更多的入侵检测信息,适合进行异常检测
3.入侵检测系统的分类
- 根据入侵检测系统的信息来源分类
- 基于主机的入侵检测系统(HIDS),这是对针对主机或服务器的入侵行为进行检测和响应的系统,这是安装在被保护的主机或者服务器上,用以保护主机不受到入侵攻击,通过监视主机系统中的审计记录、进程调用、系统日志来完成对入侵行为的检测
- 它的优点是不需要额外的硬件,性价比较高,检测更加细致,误报率比较低,适用于加密和交换的环境,对网络流量不敏感,而且可以确定攻击是否成功。
- 它的缺点也很明显。首先,由于HIDS依赖于主机内建的日志与监控能力,而主机审计信息易于受到攻击,入侵者甚至可设法逃避审计,所以这种入侵检测系统的可靠性不是很高。其次, HIDS 只能对主机的特定用户、特定应用程序和日志文件进行检测,所能检测到的攻击类型受到一定的限制。最后, HIDS 的运行或多或少会影响主机的性能,全面部署HIDS成本也比较大
- 网络入侵检测系统(NIDS),这是针对整个网络的入侵检测系统,包括对网络中的所有主机和交换设备进行入侵行为的监测和响应,其特点是利用工作在混杂模式下的网卡来实时监听整个网段上的通信业务
- 它的优点是隐蔽性好,不影响网络业务流佩。由千实时检测和响应,所以攻击者不容易转移证据,会留下蛛丝马迹,并且能够检测出未获成功的攻击企图
- 它的缺点是只检测直接连接的网络段的通信,不能检测到不同网段的数据包,在交换式以太网环境中会出现检测范围的局限性。另外, NIDS 在实时监控环境下很难实现对复杂的、需要大量计算与分析时间的攻击的检测。例如,网络中的有些会话过程是经过加密的,这对于实时工作的NIDS也难于处理
- 分布式入侵检测系统(DIDS),由分布在网络各个部分的多个协同工作的部件组成,分别完成数据采集、数据分析和入侵响应等功能,并通过中央控制部件进行入侵检测数据的汇总和数据库的维护,协调各个部分的工作。这种系统比较庞大,成本较高。
- 按照入侵检测系统的相应方式
- 实时检测,也称为在线检测,它通过实时对网络中的流量、主机上的审计记录以及系统日志、应用程序日志等信息进行监测并分析,来发现网络中是否存在攻击行为。在高速网络中, 由于网络中的数据晕较大,这种检测效率难以令人满意,但随着计算机硬件速度和计算机性能的提高,对入侵行为进行实时检测和响应成为可能
- 非实时检测,也称为离线检测,它通常是对一段时间内的被检测数据进行分析来发现入侵攻击,并做出相应的处理。非实时的离线批处理方式虽然不能及时发现入侵攻击,但它可以运用复杂的分析方法发现某些实时方式不能发现的入侵攻击,可一次分析大量事件,系统的成本更低
- 按照数据分析的技术和处理方式分类
- 异常检测,异常检测的基本思想是,建立并不断更新和维护系统正常行为的轮廓,定义报密闾值,对网络中用户的行为进行检测,将其与系统正常行为轮廓进行对比, 差异程度超过定义报密阙值的行为,将发出报警
- 异常检测由于不是根据攻击的特征来对异常行为进行监测和识别的,因此,异常检测不仅对于已知的攻击进行检测,也能够检测出之前从未出现过的攻击,通用性较强。
- 然而,从未出现过的行为并非都是入侵行为,因此,此种检测方式可能会将监测到的行为认定为入侵行为,从而发生误密的现象。这也就是异常检测最大的不足之处
- 误用检测,误用检测是通过对已知的入侵行为进行特征提取,并建立相应的入侵模式,从而形成入侵模式库,将待建数据与模式库进行特征匹配或者规则匹配来区分一个行为是否为入侵行为
- 由于模式库中的信息是对已知攻击进行模式提取形成的,因此误用检测对已知入侵行为的检测准确率较高,漏检率低,这样对于入侵行为的防护和报密,会较为及时
- 误用检测的做大缺点在于,对于未知入侵的检测准确率较低,同时,误用检测对于系统的依赖性较强, 要做到高检出率, 需及时的对模式库进行维护和更新
- 混合检测,所谓混合检测就是对以上两种检测方法进行综合,取长补短的一种检测方法,在对一个网络行为做出判别之前,对待检系统的正常模型和异常模型均进行检测, 以期达到更高、更全面的判断
4.检测模型的性能评价指标
- 评价一个入侵检测系统的性能, 一般从两个方面进行考輩: 检测的有效性和检测的速率
8.13.2 入侵检测技术
1.异常检测
- 是将网络行为分为正常的网络连接和异常网络活动两种,而异常检测是把入侵行为看作是异常活动的一个子集,通过监测网络用户在网络上的行为的特征来判断是否遭到了入侵
- 基于统计的异常检测方法,基千统计的入侵检测方法是通过对已知用户行为的统计,建立用户行为模型数据库, 并依据用户行为模型数据库,对网络中用户的行为进行比对,以判断一个网络行为是否为入侵行为
- 基于聚类分析的异常检测方法,聚类方法是指将数据中不同类别的数据进行集合,由于在集合中的成员具有较为类似特征,所以可以以此区分异常用户类,从而推断并检测网络入侵行为
- 基于神经网络的异常检测方法,神经网络是有大量信息处理单元组成,实现复杂的映射方程函数,通过对多个输入信息的处理仅产生一个输出,是一种模拟人脑在对信息的存储、处理和加工过程中的方式。对数据信息具有识别、分类和归纳的能力。因此,基于神经网络的入侵检测系统可以适应用户行为特征的复杂多变性,从而能够从检测出的数据的分析中,确定是否存在入侵行为
- 用户入侵检测系统的用户行为模式特征数据库,也可通过神经网络来提取和建立
2.误用检测
- 它首先对已知的入侵行为的特征进行编码,用已建立入侵行为的特征数据库,在对入侵检测过程中得到的待测数据中的特征进行分析,如能够与特征数据库中的特征匹配,则判定为入侵行为
- 专家系统检测法,专家系统是应用较为广泛的误用检测方法,例如IDES 、MIDAS 、NIDES 和CMDS 等入侵检测系统均使用的专家系统。专家系统是将已知的入侵攻击行为模式进行存储,形成专家知识库,系统根据该知识库中存储的模式来判断一个网络行为是否是入侵攻击行为
- 模式匹配检测法,模式匹配是最为常见的一种误用检测方法,其具有检测的准确率高等特点。模式匹配主要通过对网络中的数据包以及在待检数据信息中搜索和匹配入侵特征的字符或字符串,来判断一个网络行为是否是非法攻击行为。著名的Snort入侵检测系统就是采用模式匹配技术来实现入侵检测的
8.13.3 入侵检测技术的发展
1.分布式入侵检测
- 入侵检测系统的架构基本上包括了主机及网络型,还有分布型等类型。其中,主机型入侵检测系统和网络型入侵检测系统,皆隶属千集中式的系统架构。从入侵检测面临的种种不良现象发现,这类系统已经被网络系统的大型化和负责话逐渐淘汰,而向着分布式方向发展
2.智能入侵检测
- 伴随着当今网络技术的不断发展,网络上的信息量也在逐渐的以指数级递增,这就要求入侵检测系统能够具备对于海量数据的计算能力,从而提高性能、降低成本的智能检测算法逐渐成为了入侵检测领域研究的热点。由于入侵方式逐步的趋千多样性、综合性,研究人员已将智能化、神将网络与遗传算法等应用到入侵检测的技术中,以期寻找到智能化的、具有自学能力和自适应能力的入侵检测系统
8.14 入侵防御系统
- IPS 是在入侵检测系统的基础之上发展起来的,它不仅具有入侵检测系统检测攻击行为的能力,而且具有防火墙拦截攻击并且阻断攻击的功能,但是IPS 并不是IDS 的功能与防火墙功能的简单组合, IPS在攻击响应上采取的是主动的全面的深层次的防御
8.14.1 入侵防御系统的概念
- 入侵防御系统核心功能是检测与防御
- 入侵防御系统是一种抢先的网络安全检测和防御系统,它能检测出攻击并快速做出回应
- 入侵防御系统是一种能够检测出网络攻击,并且在检测到攻击后能够积极主动响应攻击的软硬件网络系统
8.14.2 入侵防御系统与入侵检测系统的区别
1.在网络中的部署位置的不同
- IPS 一般是作为一种网络设备串接在网络中的,而IDS 一般是采用旁路挂接的方式,连接在网络中
2.入侵响应能力的不同
- IDS 设备对于网络中的入侵行为,往往是采用将入侵行为记入日志,并向网络管理员发出咎报的方式来处理的,对于入侵行为并无主动的采取对应措施,响应方式单一;而入侵防御系统检测到入侵行为后,能够对攻击行为进行主动的防御,例如丢弃攻击连接的数据包以阻断攻击会话, 主动发送ICMP不可到达数据包、记录日志和动态的生成防御规则等多种方式对攻击行为进行防御
8.14.3 IPS的优势与局限性
- 优点
- 积极主动的防御攻击。IPS 一方面能够对攻击行为进行检测并发现,同时对攻击行为采取主动的防御措施
- 具有较深的防御层次。IPS 能够采取多种方式对于网络攻击采取防御措施,对已知攻击和未知攻击均具有较强的检出率,并对网络攻击流量和网络入侵活动进行拦截,通过重新构建协议栈和对数据进行重组,发现隐藏在多个数据包中的攻击特征,利用数据挖掘技术,对多个数据包中的内容进行分析、鉴别,从而检测出深层次的攻击
- 不足
- 容易造成单点故障。IPS 设备一般是采用串接的方式接入网络中的,如果IPS设备出现故障,对网络的可用性将会造成较大的影响
- 漏报和误报。由于网络技术的不断发展、网络攻击形式的不断进化和改进,其隐蔽性逐渐提高,而对于入侵检测系统和入侵防御系统均面临着在入侵行为监测中的漏报率和误报率较高的情况
- 性能瓶颈。IPS设备传接在网络环境中,需要对实时捕获到的网络数据流量进行分析和检测,以确定是否为攻击数据流量和连接,这样的现实情况,对IPS 的性能就提出了较高的要求, IPS处理能力有限,就会对网络性能和网络监测的效率产生较大影响,从而造成网络拥塞现象
|