保研夏令营复习计划-计算机与网络安全
计算机与网络安全是我们网络空间安全专业最重要的一门专业课之一主要包括网络安全应用、系统安全。
网络安全应用
密钥分配和用户认证
基于对称加密的密钥分配
AB双方间的密钥分发有下列选择:
- A能够选定密钥并通过物理方法传递给B
- 第三方可以选定密钥并通过物理方法传递给A和B
- 如果A和B不久前使用过一个密钥,一方能够把使用旧密钥加密的新密钥传递给另一方
- 如果AB各自有一个到达第三方C的加密链路,C能够在加密链路上传递密钥给A和B
前两种要求手动传递密钥。对于链路层来说比较合理,因为每个链路层加密设备只和此链路另一端交换数据。但是对于端对端的加密就很不适用。
第三种选择对链路层加密和端到端加密都是可能的,但是如果攻击者成功地获得一个密钥,那么接下来的所有密钥都暴露了。就算频繁更改链路层加密密钥,这些更改也应该手工完成。为端到端加密提供密钥,第(4) 种选择更可取。
第四种会用到两种类型的密钥:
- 会话密钥:当两个端系统希望通信,它们建立一个逻辑链接。逻辑链接持续过程中所有用户数据都是用一次性的会话密钥加密。
- 永久密钥:永久密钥在实体之间用于分发会话密钥。
第四种需要一个密钥分发中心KDC
一般而言,KDC的操作过程如下。
(1)当一个主机A期望与另外一个主机建立连接时,它传送一个连接请求包给KDC。主机A和KDC之间的通信使用一个只有此主机 A和KDC共享的主密钥(master key)加密。
(2)如果KDC同意建立连接请求,则它产生一个唯一的一 次性会话密钥。它用主机A与之共享的永久密钥加密这个会话密钥,并把加密后的结果发送给主机A。类似地,它用主机B与之共享的永久密钥加密这个会话密钥,并把加密后的结果发送给主机B。
(3) A和B现在可以建立一个逻辑连接并交换消息和数据了,其中所有的消息或数据
都使用临时性会话密钥加密。
Kerberos
Kerberos是一种认证服务,这种认证服务作为Athena计划的一个组成部分由MIT开发。Kerberos要解决的问题是:假设在一个 开放的分布式环境中,工作站的用户希望访问分布在网络各处的服务器上面的服务,希望服务器能够将访问权限限制再授权用户范围内,并且能够认证服务请求。在这个环境中,一个工作站无法准确判断它的终端用户以及请求的服务是否合法,特别是存在以下三种威胁:
- 用户可能进入一个特定的工作站,并假装成其他用户操作该工作站。
- 用户可能改变一个工作站的网络地址,从该机上发送伪造请求
- 用户可能监听信息或者使用重放攻击,从而获得服务或者破坏正常操作
Kerberos4
a.用于获取票据授权票据的认证服务交换
b.用于获得服务授权票据的票据授权服务交换
c.为了获取服务而进行的客户端/服务器认证交换
Kerberos概览:
Kerberos5
版本4和版本5的区别:
- 加密系统依赖性:版本四需要使用DES,版本五密文中标记上加密类型标识,可以使用任何类型的加密技术。
- 互联网协议的依赖性:版本4需要使用互联网协议IP地址,其他的类型不支持,版本五任何类型的网络地址都可使用。
- 消息字节排序:版本四自己选择,版本五采用惯例(抽象表示法1 ASN.1 和基本编码规则 BER)
- 票据有效期:版本四最长有效期2^8*5分钟,对于有些应用来说太短了。版本五中有明确的开始和结束时间
- 认证转发:版本四不允许将发放给一个客户端的证书转发给其他主机,并由其他客户端使用。版本5允许
- 域间认证:版本4中,N个域互相操作需要N^2阶的Kerberos-Kerberos关系。版本5中支持一种需要较少关系的方法
X.509证书
证书
包含以下要素:
- 版本
- 序列号:此值在发放证书的CA中唯一
- 签名算法标识符
- 发放者名称
- 有效期
- 主体名称
- 主体公钥信息
- 发放者唯一标识符
- 扩展
- 签名
每个CA的目录入口都包含如下两种类型的证书:
- 前向证书:由其他CA生成的X的证书
- 反向证书:由X生成的其他CA的证书
一个例子:
证书撤销:
每个证书都有一个有效期,在典型情况下,一个新的证书恰好在老证书过期前发放。有时候会被提前撤销,比如:
- 用户的私钥被认为已经泄露
- 用户不再被CA信任
- CA的证书被认为已经泄露
X.509版本3
版本3包含了许多可以附加在版本2格式中的可选扩展,每个扩展包括一个扩展标识,一个危险指示符和一个扩展值。危险指示符用来指示一个扩展是否可以被安全的忽略。
证书扩展可分为下面三个主要类型:
- 密钥和策略信息:证书策略是一个命名的规则集合,被用来只是证书对一个特定的具有相同安全需求的团体或者应用类别的适用性
- 证书主体和证书发放者属性:可以传递关于证书主体的额外信息
- 认证路径约束:这些扩展允许在CA发放给CA的证书中包括约束规定,这些约束可能会限制主体CA可以发放的证书类型。
公钥基础设施
PKIX模型中各个主要要素的相互关系:
- 端实体
- 认证中心CA
- 注册中心RA
- CRL发放者:可以代理CA发布CRL
- 存储库
问题思考
1.密钥发送给通信双方的方法?
- A选择一把钥匙并将其交给B
- 第三方选择密钥交给AB
- 如果AB最近使用过密钥,一方可以将新密钥传输给另一方,使用旧密钥加密
- 如果AB都与第三方C有加密连接,C可以将加密链接上的密钥传递给AB
2.会话密钥与主密钥的区别?
会话密钥是两个主体之间使用的临时的加密密钥。主密钥是密钥分发中心和主体之间用于编码绘画密钥传输的主体密钥。
3.什么是密钥分发中心?
密钥分发中心是向授权主体发送临时会话密钥的系统。使用密钥分发中心与目标主体共享的主密钥,以加密的形式传递每个会话密钥。
4.一个提供全套Kerberos服务环境由哪些实体组成?
Kerberos服务器、多个客户端、多个应用服务器
5.在Kerberos环境下,域指的是什么?
域是一个环境,其中:1.Kerberos服务器必须具有其数据库中所有参与用户的用户ID和密码。所有用户都在Kerberos服务器上注册。2.Kerberos服务器必须与每个服务器共享一个密钥。所有服务器都在Kerberos服务器上注册
网络访问控制和云安全
网络访问控制
网络访问控制系统组成元素
- 访问请求者AR
- 策略服务器
- 网络访问服务器NAS:远程用户系统想连接公司内网的时候,NAS起到一个访问控制点的作用
网络访问强制措施
常用的NAC强制措施:
- IEEE 802.1X :链路层协议,在一个端口被分配ip之前必须进行强制认证
- 虚拟局域网VLAN:在这种方法中,由互联的局域网组成的企业网络被逻辑化分为许多VLAN,NAC系统根据设备是否需要安全修复,是否只是访问互联网,对企业资源何种级别的访问,决定将网络中哪一个虚拟局域网分配给AR。
- 防火墙
- 动态主机配置协议DHCP管理
可扩展认证协议
EAP(Extensible Authentication Protocol)为可扩展身份验证协议,是一系列验证方式的集合,设计理念是满足任何链路层的身份验证需求,支持多种链路层认证方式。EAP协议是IEEE 802.1x认证机制的核心,它将实现细节交由附属的EAP Method协议完成,如何选取EAP method由认证系统特征决定。这样实现了EAP的扩展性及灵活性,EAP可以提供不同的方法分别支持PPP,以太网、无线局域网的链路验证。
认证方法
EAP支持多种认证方法,这也是EAP被称为可扩展的原因。EAP为客户端系统与认证服务器之间交换信息提供了一种专用传输服务。下面是一些常用的支持EAP的方法:
- EAP-TLS EAP传输层安全
- EAP-TTLS EAP隧道传输层安全
- EAP-GPSK EAP统用预共享密钥
- EAP-IKEv2
IEEE 802.1X基于端口的网络访问控制
如图所示,802.1X 使用了受控端口与未受控端口的概念。端口是在认证者之间定义的逻辑实体,可以参照物理网络连接的概念。每一个逻辑端口被映射到两种类型的物理端口中的某-种。未受控端口会忽略请求者的认证状态,允许在请求者以及认证服务器之间交换协议数据单元。受控端口只有在当前请求者被授权允许进行交换时,才可以在请求者与网络上的其他系统间交换协议数据单元。
在802.1X中主要定义了EAPOL协议(局域网上的可扩展认证协议)。EAPOL协议作用在网络层上,使用了IEEE 802标准的局域网,如数据链路层上的以太网,Wi-Fi等。 为了进行认证,EAPOL允许请求者与认证者之间互相通信,以及两者之间进行EAP包的交换。
云计算
云计算组成元素
云计算:云计算是一种能够通过网络以便利的、按需付费的方式获取计算资源(包括网络、服务器、存储、应用和服务等)并提高其可用性的模式,这些资源来自一个共享的、可配置的资源池,并且能够以最省力和无人干预的方式获取和释放。云模型由5个基本特征、3个服务模型和4个部署模型组成。
基本特征:
- 广泛的网络访问
- 快速的可伸缩性
- 可度量的服务
- 按需自助服务
- 资源共享
三种服务模型:
- 软件即服务SaaS
- 平台即服务PaaS
- 基础设施即服务IaaS
四种部署模型:
公有云、私有云、社区云、混合云
传输层安全
Web安全需求
Web安全威胁
Web流量安全方法
1.使用IPSec。它对终端用户和应用是透明的,具有过滤功能,使得只用IPSec处理所选流量。
2.仅在TCP上实现安全,最典型的例子就是安全套接字层SSL和被称为第二代互联网安全标准TLS
3.特定安全服务在特定的应用中得以体现,比如Kerberos
安全套接字层和传输层安全
SSL体系结构
SSL(安全套接字层)使用TCP提供一种可靠的端对端的安全服务。SSL不是单个协议,它由两层协议组成,如图6.2所示。SSL记录协议对各种更高层协议提供基本的安全服务。
SSL协议中最重要的两个概念是SSL会话和SSL连接,按照规范文件,他们的定义如下:
- 连接:连接是一种能够提供合适服务类型的传输。对SSL来说,这种连接是点对点的关系而且都是短暂的。每一条连接都与一个会话相关联。
- 会话:SSL会话是客户与服务器之间的一种关联。会话是通过握手协议来创建的。所有会话都定义了密码安全参数集合,这些参数可以在多个安全连接之间共享。会话通常来减少每次连接建立安全参数的昂贵协商花费。
SSL记录协议
SSL记录协议为SSL连接提供如下两种服务。
- 机密性:握手协议定义一个可用于加密SSL载荷的传统加密共享密钥
- 消息完整性:握手协议还定义一个用于产生消息认证码(MAC)的共享密钥
SSL记录协议的运行流程:
修改密码规格协议
修改密码规格协议是应用SSL记录协议的3个SSL规格协议之一,也是最简单的一个协议。本协议只包含一条消息(见图6.5 (a)), 由一个值为1的字节组成。这条消息的唯功能是使得挂起状态改变为当前状态,用于更新此连接使用的密码套件。
警报协议
警报协议用于将与SSL相关的警报传达给对等实体。与使用SSL的其他应用一样,警报消息也要按照当前状态的规格进行压缩和加密操作。
这一协议过程中的每一条消息都由两个字节组成。其中第一个字 节可以取值为警告(1)或致命(2)以表示消息的严重程度。如果严重程度为致命,SSL 将立即结束当前连接。虽然该会话中的其他连接还可以继续进行,但是本次会话不允许建立新的连接。第二个字节包括一种用于指明具体警告的编码。
握手协议
SSL最复杂的部分是握手协议。这一协议允许客户端和服务器相互认证,并协商加密和mac算法,以及用于数据保护使用的密钥通过SSL记录传送。握手协议在任何应用数据被传输之前使用。
四个阶段:
- 客户端发起建立连接请求
- 服务器认证和密钥交换
- 客户端认证和密钥交换
- 完成
密码计算
主要关注以下两个问题:
- 通过密钥交换创建一个共享主密钥
- 从共享主密钥中产生密码参数
主密钥的创建:共享主密钥是通过安全密钥交换方式为本次会话创建的一一个一次性48字节(384比特)的值。创建过程分两步完成。第一步,交换预备主密钥。第二步,双方计算主密钥。
密码参数产生:密码规格要求客户端写MAC值的密钥、服务器写MAC值密钥、客户端写密钥、服务器写密钥、客户端写初始向量IV、服务器写初始向量IV,这些都是按顺序由主密钥产生的。其方法是主密钥利用散列函数来产生安全字节序列,字节序列足够长以便生成所有需要的参数。
HTTPS
HTTPS是指用HTTP和SSL的结合来实现网络浏览器和服务器之间的安全通信。
标准http使用80端口,https使用443端口
连接的初始化
用户在合适的端口向服务器发起一个连接,然后发送TLS ClientHello,开始TLS信号交换。当TLS信号交换完毕后,用户将发起第一次HTTP请求。所有HTTP数据都要以TLS应用数据形式发送。然后是包括保持连接在内的传统HTTP操作。
连接关闭
一个HTTP用户或者服务器可以通过在HTTP记录中加入“connection: close”的字样来指示一个连接的关闭。这意味着该连接将会在该条记录传输之后关闭。
关闭一个HTTPS连接要求关闭TLS与其对应的远程终端之间的连接,这要求关闭潜在的TCP连接。在TLS层,关闭一个连接的适当做法是两端都是用TLS警报通信协议发出一个“close notify” 警告。TLS实例必须在关闭连接之前发起一个关闭警报的交换。在发出一个关闭警告后,一个TLS实例会关闭这个连接,而不会等待它的另一端发来关闭警告,这造成了一个“不完整的关闭”。如果一个用户这么做了,可能是为了之后再次使用该会话。这只有在这个应用层知道(通常是通过检查HTTP消息边界)它接收了所有它关心的数据之后才可以完成。
SSH
SSH由三个通信协议组织而成,通常运行在TCP之上:
- 传输层协议:提供服务器身份验证、数据保密性、带前向安全的数据完整性(比如,如果一个密钥在-一个会话期中泄密,这个消息不会影响之前会话期的安全)。传输层会有选择地提供压缩。
- 用户身份验证协议:验证服务器的用户。
- 连接协议:在一个单一、基础的SSH连接上复用多个逻辑的通信信道。
传输层协议
主机密钥:服务器认证发生在传输层,基于拥有-对公共/私有密钥的服务器。一个服务器会有多个主机密钥运用多重不同的非对称加密算法。多个主机会公用一个主机密钥。在任何情况下,服务器的主机密钥在密钥交换时被用来确认主机的身份。为了使这成为可能,用户必须掌握有关服务器的公共主机密钥的先验知识。
分组交换
用户身份认证协议
用户身份认证协议提供用户向服务器证明自己身份的方法。
身份认证方式:
- 公开密钥
- 口令密码
- 基于主机
连接协议
SSH连接协议在SSH传输层协议之上运行,并假设使用了安全的认证连接。安全的认证连接是指连接协议用一个通道虚拟出多条逻辑信道。
信道机制:所有使用SSH的通信类型,例如一个终端会话,都由不同的信道支持。双方中的任意一方都可能开启一个信道。对于每个信道,每一方都有一个独一无二的信道序列号,两方的序列号不用一致。 信道是通过一个窗口机制进行流量控制的。只有当接收的信息指明有窗口空间时,才可能有数据发送到信道。
信道的生命周期有三个阶段:开启信道、数据传送和关闭信道。
信道类型:
- 会话
- X11
- 前向tcpip
- 直接tcpip
端口转发:SSH最有用的特征之一就是端口转发。本质上来说,端口转发能够将任何不安全的TCP连接转换成安全的SSH连接。这也称为SSH隧道技术。我们需要知道在这种环境下端口的含义。一个端口是一个TCP用户的标识符。所以,任何运行在TCP上的应用程序都具有一个端口号。基于该端口号,TCP链路向合适的应用程序发送数据。一个应用程序可能使用多个端口号。比如,简单邮件传输协议(SMTP),服务器端通常会在端口25监听,所以一个SMTP请求需要使用TCP并使数据到达目的端口25。TCP辨别这是SMTP服务器地址,同时发送数据到SMTP服务器应用程序。
问题思考
1.SSL有哪些协议组成?
SSL更改密码规范协议,SSL警报协议,SSL记录协议
2.SSL会话和连接的区别?
对于SSL来说,连接是临时的,每个连接都与一个会话关联。会话是客户机和服务器之间的关联,会话是由握手协议创建。会话会定义一组加密安全参数,这些参数可以在多个连接之间共享,会话的作用是为了避免为每个连接进行昂贵的新安全参数协商。
无线网络安全
无线安全
威胁无线网络安全的关键因素列举如下:
- 信道:与有线网络相比,更易受监听和干扰的影响
- 移动性:无线设备相较于有线设备更具有移动性和便捷性,造成很多安全隐患
- 资源:一些无线设备,具有复杂的操作系统,但是只有有限的存储空间和资源供我们抵抗诸如拒绝服务和恶意软件的攻击
- 易接近性:一些无线设备经常会被单独放在遥远的或者地方的环境中,这大大增加了它们收到物理攻击的可能性
无线网络安全威胁
无线网络的安全威胁:
- 偶然连接:相邻的公司无线局域网或连接到有线局域网的无线接入点之间,可能会产生互相重叠的传送区间。当一个用户想要连接到一个局域网之中时,会无意中被锁定在相邻的无线接入点。尽管安全缺口时偶然出现的,但是它足以将这个局域网的资源暴露给一个偶然闯入的用户。
- 恶意连接:在这种情况下,一个无线设备被配置伪装成了一个合法的接入点,使得攻击者可以从合法用户那里盗取密码,然后再使用盗取的密码侵入合法接入点。
- Ad hoc网络:Ad hoc网络:这种网络是不包含接入点的、无线计算机之间的、对等方式的网络。由于没有中心点的控制,这种网络可能存在安全隐患。
- 非传统型网络:非传统型网络和链接,如个人网络蓝牙设备、条形码识别器和手持型PDA,面临着被监听和欺诈的安全隐患。
- 身份盗窃(MAC欺诈):身份盗窃(MAC欺诈):这种威胁发生在攻击者可以通过网络权限监听网络信息流
通量,并认证计算机的MAC地址的时候。 - 中间人攻击
- 拒绝服务
- 网络注入:网络注入攻击的目标是暴露于未过滤的网络信息流之中的无线接入点,例如路由选择协议信息或网络管理信息。实现这种攻击的一个例子是,使用伪造的重配置命令,来影响路由器和交换机,从而降低网络性能。
无线安全措施
安全无线传输:
- 信息隐藏技术:组织很多手段可以使得攻击者定位无线接入点变得更难,包括取消广播服务,设置初始化校验器SSID,给SSID分配加密的名称,保证提供必要覆盖率的情况下,将信号强度降到最低水平,使用定向天线
- 加密
安全的无线接入点:802.1X
安全的无线网络:
- 使用加密手段
- 使用防火墙
- 关闭标识符广播
- 改变默认标识符
- 改变路由器的预设密码
- 只允许专用的计算机访问无线网络
IEEE 802.11无线局域网概述
关键术语:
IEEE802协议架构
物理层:最底层就是物理层,该层的功能包括信号的加密和解密,比特流的传输和接收,对于802.11,物理层还定义了频率范围和天线特性。
媒体访问控制MAC:所有局域网都包含有共享网络传输容量的设施,就有需要一些方法来控制传输介质的接口,以便使这些容量能够得到有序高效的应用。功能主要有:
- 传输时将数据组装成帧
- 接收时,将帧拆开,并进行地址确认和错误检测
- 控制局域网传输介质的接口
逻辑链路控制LLC:在大多数的数据链路控制协议中,数据链路协议不仅利用CRC来进行错误检测,而且利用重传的损坏的数据帧进行恢复。MAC负责检测错误并丢弃包含错误的帧,LLC层可选择地追踪成功接收的帧或者重传不成功的帧。
IEEE 802.11网络组成与架构模型
一个无线局域网最小的组成块是基本服务单元(BSS), 包含执行相同MAC协议和竞争同一无线介质接口的多个无线站点。一个BSS可能是独立的,也可能是通过**访问接入点(AP)链接到分布式系统(DS)**。 访问接入点具有桥梁和中继作用。在一个基本服务单元中,同一基本服务单元中的用户站点不直接进行相互通信,来自初始站点的数据帧先发送到访问接入点,然后从访问接入点发送到目的站点。而从一个基本服务单元的站点到一个遥远站点发送帧,先由该站点到访问接入点,然后通过访问接入点中继到分配系统,最终到达目的站点。基本服务单元可以看成一个细
胞,而分配系统可以是交换机、有线网络,也可以是无线网络。
若一个基本服务单元BSS中的站点都是移动站点,并且相互之间能够通信而不用通过访问接入点,则该基本服务单元BSS称为**独立基本服务单元(IBSS)。 独立基本服务单元是一个典型的点对点模式的网络。在独立基本服务单中,所有站点直接通信,没有访问接入点涉入其中。一个扩展服务单元(ESS)**包含两个或多个通过分配系统相连的基本服务单元。而对于逻辑链路控制层来说,扩展服务单元对该逻辑链路控制层相当于一个单一的逻辑局域网。
IEEE 802.11i 无线局域网安全
IEEE 802.11i服务
802.11i的RSN安全规范定义了以下几种服务。
- 认证:一种定义了用户和认证服务器之间交换的协议,能够相互认证,并产生暂时密钥用于通过无线连接的用户和访问接入点之间。
- 访问控制: 该功能迫使认证功能的使用,合理安排信息,帮助密钥交换,能够在一系列的认证协议下工作。
- 信号完整性加密: MAC层数据(例如,LLC协议数据单元)与信号完整性字段一起加密,以确保数据没有被篡改。
IEEE 802.11i操作阶段
5个操作阶段:
- 发现:访问接入点使用信标和探测响应信息来发布其IEEE 802.11i安全策略。站点则通过这些来确认希望进行通信的无线局域网访问接入点的身份。站点连接访问接入点,当信标和探测响应提供选择时,选择加密套件和认证机制。
- 认证:在本阶段,站点和认证服务器相互证明各自的身份。访问接入点阻止站点和认证服务器之间直到认证成功之前尚未被认证的传输。访问接入点不参与认证,参与认证的是转发站点和认证服务器之间的数据传输。
- 密钥的产生及配送: 访问接入点和站点执行几种操作之后产生加密密钥,并配送到访问接入点和站点。数据帧只在访问接入点和站点之间进行交换。
- 保密数据传输:数据帧在站点和终端站点之间通过访问接入点进行交换。安全数据传输只发生在站点和访问接入点之间,而不能确保端到端的安全。
- 连接终止:访问接入点和站点交换数据帧。在本阶段,安全连接被解除,连接恢复到初始状态。
发现阶段
该阶段功能是站点和网络接入点相互确认身份,协商一系列安全策略,并建立连接一边将来进行通信。
MPDU交换:包含三个交换:
- 网络和安全通道的发现
- 开放系统认证
- 连接
思考题
1.什么是802.11 WLAN的基本构建块?
基本服务集BSS。
2.什么是扩展服务集?
由一个配电系统互连的两个或者多个基本服务集。
IP安全
IP安全概述
IPSec的应用
IPSec提供了在LAN、专用和公用WAN以及互联网中安全通信的性能,它的用途包括如下方面:
- 通过互联网安全分支机构接入
- 通过互联网进行安全远程访问
- 与合作者建立企业间联网和企业内联网接入
- 加强电子商务安全性
IPSec的好处
- 当路由器或者防火墙中使用IPSec时,它对通过其边界的所有通信流提供了强安全性。
- 防火墙内IPSec能在所有的外部流量必须使用IP时阻止旁路,因为防火墙是从互联网进入组织内部的唯一通道。
- IPSec位于传输层(TCP、UDP)之下,所以对所有的应用都是透明的
- IPSec可以对终端用户透明
- 若有必要,IPSec可以对个人用户提供安全性
路由应用
除了支持终端用户和保护上述系统及网络外,IPSec在互联网结构中扮演者非常重要的角色,IPSec可确保:
- 路由器广播(新的路由器公告它的存在)来自授权的路由器
- 邻居广播(路由器试图建立或者维护与其他路由区域中路由器的邻居关系)来自授权服务器
- 重定向报文,它来自被发送给初始包的路由器
- 路由更新未被伪造
IPSec服务
- 访问控制
- 无连接完整性
- 数据源认证
- 拒绝重放包
- 保密性
- 受限制的流量保密性
传输模式和隧道模式
传输模式:传输模式主要为上层协议提供保护。也就是说,传输模式保护增强了对IP包载荷的保护,如对TCP段、UDP段或ICMP包的保护(这些均直接运行在主机协议栈的IP之上)。一般地,传输模式用于在两个主机(如客户端和服务器、两个工作站)之间进行端对端的通信。当主机在IPv4上运行AH或ESP时,其载荷通常是接在IP报头后面的数据。对于IPv6而言,其载荷通常是接在IP报头后面的数据和任何存在的IPv6扩展报头,其中可能会把目的选项报头除外,因为它可能在保护状态下。
传输模式下的ESP加密和认证(认证可选) IP载荷,但不包括IP报头。传输模式的AH认证IP载荷和IP报头的选中部分。
隧道模式: 隧道模式对整个IP 包提供保护。为了达到这个目的,在把AH或者ESP域添加到IP包中后,整个包加上安全域被作为带有新外部IP报头的新“外部”IP包的载荷。整个原始的或者说是内部的包在“隧道”上从IP网络中的一一个节点传输到另一个节点,沿途的路由器不能检查内部的IP报头。因为原始的包被封装,新的更大的包有完全不同的源地址和目的地址,因此增加了安全性。隧道模式被使用在当SA的一端或者两端为安全网关时,比如使用IPSec的防火墙和路由器。在传输模式下,即使不使用IPSec,位于防火墙后的主机间也可能进行安全通信。这种主机产生的未受保护的包借助隧道模式SA穿越外部网络,隧道模式SA是由防火墙中的IPSec 软件或本地网络边缘的安全路由器建立的。
IP安全策略
安全关联
IPSec操作的基础是应用于每个由源地址到目的地址传输中IP包安全策略的概念。IPSec安全策略本质上由两个交互的数据库,安全关联数据库SAD(定义与每个SA相关的安全参数)和安全策略数据库SPD(IP流量与特定SA相关联的方法)确定,对应关系如下:
在IP认证和加密机制中都会出现的一个重要的概念就是安全关联SA。安全关联是发送端和接收端之间用于对它们之间传递的数据流提供安全服务的一个单向逻辑连接。一个安全关联由如下三个参数唯一确定:
- 安全参数索引SPI
- IP目的地址
- 安全协议标识
IP通信进程
IPSec是在报文到报文的基础上进行的。当IPSec执行时,发往外部的包在传送前经过IPSec处理,而发往内部的包在接收之后并且在发送报文内容到更高层之前经过IPSec处理。
出站报文:
(1) IPSec 查询SPD对该报文寻找匹配。
(2) 如果没有匹配,报文被丢弃并生成错误信息。
(3) 如果发现匹配,则进一步的处理由SPD中的第-一个匹配接口决定。如果对该报文的策略是丢弃,则该报文被丢弃。如果策略是通过,则没有进一步的IPSec 处理:报文传向网络以便发送。
(4) 如果策略是保护,则查询SAD来寻找匹配接口。如果没有发现接口,则引入IKE 生成具有合适密钥的SA,并在SA上产生接口。
(5) SA上的匹配接口决定报文的进一步处理。对报文加密或者认证,或者两者都被执行,并且既可以使用传输模式,也可以使用隧道模式。报文传向网络以便发送。
入站报文:
(1)通过检测IP协议域(IPv4)或者下一个头域(IPv6), IPSec决定这是一个不安全的IP包,还是一个有ESP或者AH头/尾的报文。
(2)如果报文不安全,IPSec 查询SPD为该报文寻找匹配。如果第一个匹配接口的策略是通过,则IP头经过处理后被剥离,而IP数据体传输到更高层(如TCP)。如果第一个匹配接口的策略是保护或者丢弃,或者没有匹配接口,则报文被丢弃。
(3)对于安全报文,IPSec查询SAD。如果没有匹配,报文被丢弃。否则,IPSec使用合理的ESP或者AH进程。然后IP头经过处理后被剥离,而IP数据体传输到更高层(如TCP)。
封装安全载荷
ESP格式
- 安全参数索引
- 序列号
- 载荷数据
- 填充域
- 填充长度
- 邻接报头
- 完整性校验值
加密和认证算法
ESP服务加密载荷数据、填充域、填充长度和邻接报头域,如果用于加密载荷的算法需要使用密码同步数据,如初始向量IV,则这些数据可以在载荷数据域的开始处显式地传输。如果包括IV,它虽然会被看成密文的一部分,但是不会被加密。
ICV域是可选的,仅当选择了完整性服务且该服务由一个单独的完整性算法提供,或者由用于ICV的组合式算法提供时,该域才会出现。ICV的值是在加密完成后才会被计算。
防止重放服务
IP是一个无连接不可靠的服务,协议不能保证数据包按照顺序传输,也不能保证所有的包均被传输,因此规定了接收方应实现一个大小为W的窗口(默认值为64),处理过程如下:
(1)如果接收到的包在窗口中而且是新包,则验证消息认证码(MAC)。若验证通过,就标记窗口中相应的位置。
(2)如果接收到的包超过了窗口的右边界而且是新包,则验证MAC,若验证通过,就让窗口前进以使得这个序列号成为窗口的右边界,并标记窗口中的相应位置。
(3)如果接收到的包超过了窗口的左边界或者没有通过验证,就丢掉这个包,这是一个可审计事件。
传输模式和隧道模式
下图说明了IPSec ESP服务的两种方式:
传输模式ESP用于加密和认证(认证可选)IP携带的数据。
隧道模式ESP用来加密整个IP包。
两种模式下的协议架构:
安全关联组合
安全关联可以通过如下两种方式组合成安全关联束:
- 传输邻接:在没有激活隧道的情况下,对一个IP包使用多个安全协议。这种组合AH和ESP的方法仅考虑了单层组合,更多层次的嵌套不会带来收益,因为所有的处理都是在一个IPSec实例执行的。
- 隧道迭代:指通过IP隧道应用多层安全协议。这种方法考虑了多层嵌套,因为每个隧道都能在路径上的不同IPSec点处起始或者终止。
认证加保密
加密和认证组合起来以实现主机之间传送同时需要保密和认证的IP包。
带认证选项的ESP
- 传输模式ESP:被传送到主机的IP载荷使用了认证和加密,但是IP报头不受保护。
- 隧道模式ESP:认证作用于被发送到外部IP目的地址的整个IP包,并在目的地进行认证。整个内部IP包由专用机制保护,这是为了传送到内部IP目的地
这两种情况下,认证作用于密文而不是明文。
传输邻接
在加密之后使用认证的另一种方法就是使用两个捆绑在一起的传输SA,内部是ESP SA 外部是AH SA,在这种情况下使用的ESP没有认证选项。由于内部SA是一个传输SA,所以加密仅作用于IP载荷。
传输-隧道束
在加密之前使用认证有几个优点。1.加密可以保护认证数据。2.可能会希望在目的地存储带着报文的认证信息以便将来查阅。
安全关联的基本组合
对于主机对主机的SA来说,既可以是传输模式,也可以是隧道模式,除此之外都是隧道模式
因特网密钥交换
IPSec的密钥管理部分包括密钥的确定和分发。一个典型要求是两个应用之间的通信需要四个密钥:用于完整性和机密性的发送对和接收对。IPSec的体系结构文档要求支持如下两种类型的密钥管理。
- 手动类型
- 自动类型
默认的IPSec自动类型密钥管理协议是ISAKMP/Oakley,它由以下几部分组成。
- Oakley密钥确定协议:基于DH算法的密钥交换协议
- 互联网安全关联和密钥管理协议ISAKMP:为互联网密钥管理提供了一个框架,并提供了特定的协议支持,包括格式和安全属性协商
思考题
1.举出使用IPSec的例子
公司之间通过互联网间隙安全虚拟专用网络。增强电子商务的安全性。安全远程访问等等
2.IPSec提供哪些服务?
访问控制、无连接完整性、数据源认证、拒绝重放攻击包、机密性、有限流量的机密性
3.哪些参数标识了SA?哪些参数表现了一个特定SA的本质?
安全关联由三个参数唯一标识:安全参数索引、IP目标地址、安全协议标识符
4.传输模式和隧道模式有何区别?
传输模式主要为上层协议提供保护,也就是说传输模式保护扩展到IP的有效负载。隧道模式为整个IP数据包进行保护。
5.ESP为社么包括一个填充域?
如果加密算法要求明文是某些字节数的倍数,则填充字段用于将明文扩展到所需长度。ESP格式要求pad-length和next-header字段在32位字内右对齐,填充字段用于确保此对齐。可以添加额外填充,通过隐藏有效负载的实际长度来提供部分流量机密。
6.捆绑SA的基本方法是什么?
传输相邻和迭代隧道(多个隧道组合)
7.Oakley密钥确定协议和ISAKMP在IPSec中起到什么作用?
密钥交换等安全属性的协商
系统安全
- 恶意软件是指为了恶意的目的而蓄意植入系统的软件
- 病毒是指通过修改其他程序而达到“感染”目的的软件,这种更改包括复制一个能够继续感染其他程序的病毒程序。
- 蠕虫是指通过复制自身,并将副本通过网络传到其他计算机上的程序。当传到其他计算机上,它又开始重复做同样的事情,除了不断繁殖传播之外,蠕虫还经常含有其他有害的功能。
- 拒绝服务攻击是指阻止合法用户正常地使用服务。
- 分布式拒绝服务攻击是指从多个源端发起的拒绝服务攻击。
恶意软件
恶意软件类型
恶意软件分类
传播-感染内容-病毒
病毒的本质
计算机病毒是能够通过修改而达到感染其他程序的一段软件,或者说实际上任何形式的可执行内容都可被感染。这种修改操作包括在原始代码中注入能够复制病毒代码的例程,而这些例程又能够继续感染其他内容。
病毒的四个阶段
- 潜伏阶段,处于休眠,直至被触发
- 传染阶段,复制自身,传染其他
- 触发阶段,被特定事件所激活
- 发作阶段,条件成熟,发作破坏
病毒的结构
- 病毒可以被放在可执行文件首部、尾部或以其他方式嵌入宿主程序,首先被执行的应当是病毒
- 简单的病毒
- 压缩的病毒
病毒的压缩过程
感染后的程序比感染之前的程序长,为防止被检测到,对可执行文件进行压缩,使得无论该程序是否被感染,它的长度都是相同的。
病毒分类
按照感染目标分类,包括以下类型:
- 引导扇区感染病毒:感染主引导记录或者其他引导记录,当系统从包含这种病毒的磁盘启动时,病毒将传播开来。
- 文件感染病毒:感染被操作系统或Shell认为是可执行的文件
- 宏病毒:在一个应用程序解释宏代码或脚本代码时感染文件
- 混合体病毒:用多种方式感染文件。能够感染多种类型的文件,清除该病毒要处理所有可能感染的地方
按隐藏策略进行分类的病毒包括以下几种:
- 加密病毒:生成密钥加密病毒。当一个受感染的程序调用时,解密该病毒。当病毒被复制时,另选一个不同的随机密钥加密病毒。
- 隐蔽性病毒:具有较好的隐蔽性,逃避反病毒软件的检测
- 多态病毒:每次感染表现为不同的形态,使通过病毒特征的检测方法无效。
- 变形病毒:每次感染过程中也会表现为不同形态。但变形病毒会改写自身的代码,从而增加检测的难度,既可以改变它们的行为,也可以改变其外观。
分布式拒绝服务攻击DDos
分布式SYN突发流量攻击:
分布式ICMP攻击:
基于DDoS攻击的洪泛攻击分类
DDos防护
攻击前:攻击预防
攻击中:攻击检测和过滤
攻击后:攻击源追踪
思考题
1.恶意软件用于传播的三种主要机制是什么?
恶意软件可用于传播的三种广泛机制是:病毒感染现有可执行文件或解释内容,随后病毒传播到其他系统。利用软件漏洞,通过蠕虫或驱动下载在本地或网络上进行攻击,以允许恶意软件复制。以及社会工程攻击,即说服用户绕过安全机制安装特洛伊木马,或响应网络钓鱼攻击。
2.恶意软件携带的四种主要类型的载荷是什么?
恶意软件可能携带的四大类有效负载是:系统或数据文件的损坏;为了使系统成为僵尸代理而窃取服务作为僵尸网的一部分;窃取系统中的信息,尤其是通过键盘记录或问谍软件程序窃取登录、密码或其他个人详细信息;以及恶意软件隐藏了它在系统上的存在,以防止系统试图检测和阻止它。
入侵者
- 对计算机系统或网络的入侵已成为计算机安全最严重的威胁之一。
- 入侵检测系统可以提供早期的预警,从而避免或减轻入侵所造成的损失。
- 入侵检测涉及对正常行为的模式检测和对与入侵相关的异常行为的模式检测。
- 防备入侵一个重要的组成部分就是口令管理,其目标是阻止非授权用户获得其他用户的口令。
入侵者
入侵者行为模式
- 用户非法入侵(黑客)与软件非法入侵(病毒)
- 三类入侵者 (hackers or crackers):
- 伪装者Masquerader
- 违法行为者Misfeasor
- 秘密用户Clandestine user
- 系统入侵已经明显地发展成为一个社会问题
- 许多入侵看起来是无害的,但仍消耗大量资源
- 可以通过被控制的系统向其他机器发起攻击
入侵技术
系统通常维护一个与每个授权用户相关的口令文件。如果系统对该口令文件没有保护,敌手很容易获得口令。
口令文件及其保护
- One-way encryption(单向加密), 用口令产生一个密钥用于加密
- Access Control(访问控制),限制对口令文件的访问
猜测口令的技术
- 尝试默认口令
- 穷尽所有短口令(1到3个字符)
- 尝试在线词典中的单词或看似口令的单词表(60,000)
- 收集用户信息,如爱好、生日、配偶或孩子名
- 尝试用户电话、社会安全号,住址
- 使用特洛伊木马
- 窃听远程用户和主机之间的线路
入侵检测
- 有效的入侵检测系统可以看成阻止入侵的屏障
- 入侵检测可以收集入侵技术的信息,用以增强入侵阻止工具
- 入侵检测建立的前提是假设入侵者的行为在某些情况下不同于合法用户的行为,然而两者仍有重叠部分。放宽定义入侵者行为,会发现更多的入侵者,也会产生大量的“错误肯定”
- 为减少错误肯定,严格定义入侵者的行为,将导致错误否定的增加,即无法判断出入侵者。因此在入侵的实践中存在巧妙的折衷
入侵检测方法
统计异常检测Statistical anomaly detection,定义通常的或期望的行为
- 阈值检测Treshold detection
- 基于形态的检测Profile based
基于规则的检测Rule based detection,定义合适的行为
- 异常检测Anomaly detection
- 渗透识别Penetration identidication
审计记录,入侵检测的基本工具
- 原有审计记录
- 专门用于检测的审计记录
基于规则的入侵检测
通过观察系统中的事件,应用决定给定活动模式是否可疑的规则集来检测入侵行为
- 异常检测,类似于统计的异常检测
- 基于规则的渗透标识:采用基于专家系统技术的方法, 使用规则来识别已知的渗透, 或那些利用已知弱点的渗透行为。
NDIX采用启发式规则对行为分配可疑程度
IDES使用渗透标识模式,当生成审计记录时进行检查,并与规则库相匹配;如果找到匹配,用户的可疑等级会提高;匹配了足够多的规则,等级超过阈值,导致异常报告
分布式入侵检测
分布式入侵检测系统要考虑的几个问题
- 分布式入侵检测系统可能需要处理不同的审计记录格式
- 网络上一个或多个结点将作为数据收集和分析点,需要保证数据完整性和机密性
- 集中的或分散的体系结构都可以使用
分布式入侵检测系统的组成
- 主机代理模块:收集主机上有关事件数据,送给中央管理者
- 局域网监视代理模块:与主机代理模块类似
- 中央管理者模块:接收事件报告,关联事件,检测入侵
蜜罐技术
蜜罐是诱导潜在的攻击者远离重要系统的圈套
- 转移攻击重要系统的攻击者
- 收集攻击者活动的信息
- 希望攻击者在系统中逗留足够的时间,使管理员能对此攻击做出响应
蜜罐充满合法用户不会访问、但表面看起来有价值的虚假信息,任何对蜜罐的访问都是可疑的
蜜罐系统使用的工具包括灵敏的监视器和事件日志
初始使用一台有IP地址的机器吸引黑客,现在是建立蜜罐网络,用来模拟一个企业网络。使用实际的或模拟的通信量和数据,一旦黑客进入,管理员可以详细观察到他们的行为,提出防范措施。
口令管理
用户ID的作用
- 确定用户是否获得访问系统的授权
- 确定分配给用户的相应权利
- 用于自主的访问控制
UNIX口令模式
用户选择长度大于8个可打印字符的口令, 转换成56位的值, 作为加密例程的密钥输入。加密例程cryp(3)是基于DES的,使用12位的盐值salt修改DES算法。使用由0组成的64位数据输入执行DES算法,输出作为二次加密的输入,加密过程重复25次。
产生的64位输出被转换成11个字符序列,密文口令和明文盐值副本一起存放在口令文件相应用户ID项中。
口令选择策略
用户教育
计算机生成的口令
如果口令本质上完全随机,难以被用户接受
后验的口令检查
系统定期运行口令破解程序来找到可猜测的口令并通知用户修正
预先的口令检查
- 允许用户选择口令,系统检查口令是否是允许的,使用户在相当大的空间中选择可记忆的且在词典攻击中不太可能猜出的口令。
- 简单的规则约束系统,如口令至少8个字符,且应混用
- 编译一个可能的口令大词典,不允许用户选择
- 基于Bloom过滤器的口令检查技术:一种高效的先验口令检查技术,基于拒绝列表上的单词,已经在许多系统上使用了,包括Linux系统。
防火墙
简介
信息系统不断发展完善,每个人都希望与互联网相连或连接到网上,存在安全忧虑,不能很容易地使组织中的各系统得到安全保护,典型地使用防火墙,用以提供边界防御,作为复杂的安全策略的一部分
什么是防火墙?
- 是网络控制和监视的关键点
- 用不同的信任与网络相连接
- 对网络服务进行强制性限制
- 对访问进行审查和控制
- 提供NAT和使用监视
- 用 IPSec 实现VPN
- 对于渗透是免疫的
防火墙设计目标
所有通信都必须经过防火墙
只有被授权的通信才能通过防火墙
防火墙本身不能被攻破
防火墙的四种机制
服务控制
确定可以访问的互联网服务类型,在IP地址、协议,或端口号的基础上对数据流进行过滤,或提供委托代理,自身作为服务器。
方向控制
确定特定服务请求发起和通过的方向,即允许通过防火墙的进入或者离开。
用户控制
根据试图访问服务器的用户来控制服务器的访问权限。
行为控制
控制特定服务的使用方法。如防火墙可以过滤电子邮件来清除垃圾邮件,或者控制外部用户只能对本地Web服务器上的部分信息访问。
防火墙的局限性
- 防火墙防外不防内
- 不能防范绕过防火墙的攻击
- 安全性不当的局域网可能受到外部访问
- 不能防范病毒
- 配置复杂,容易出现漏洞
- 往往只认机器不认人,控制粒度较粗
防火墙类型
- 包过滤防火墙:对每个传入传出IP数据包的一组应用规则,然后转发或者丢弃该数据包
- 状态检测防火墙:状态检测包过滤器通过建造了一个出站TCP连接目录加强了TCP流量的规则。
- 应用层网关:也称代理服务器,充当应用程序级流量的中继
- 链路层网关