信息安全概论复习
信息安全概论复习
第一章 信息安全概述
1.2 信息安全基本概念
什么是信息安全
信息安全就是在信息产生、存储、传输与处理的整个过程中,信息网络能够稳定、可靠地
运行,受控、合法地使用,从而保证信息的保密性、完整性、可用性、真实性、可控性及不
可否认性等安全属性。
安全属性
①保密性
是指维护信息的保密性,确保信息没有泄漏给非授权的使用者。
(信息对于未被授权的使用者来说,是不可获得或者即使获得也无法理解的。)
保密性的保护手段:物理保护(隔离、防辐射、防窃听),信息加密,访问控制。
②完整性
是指维护信息的一致性,即保证信息的完整和准确,防止信息被未经授权(非
法)的篡改。
完整性的保护手段:预防篡改(物理保护、信息加密、访问控制);检测篡改(散列函数、MAC、数字签名)。
③可用性
保证服务的连续性,确保基础信息网络与重要信息系统的正常运行,被授权的用户根据需要能够从系统中获得所需的信息资源服务。
可用性保护手段:扩容备份、灾难恢复
④真实性(可认证性)
能够对实体(如人、进程或系统)的真实身份或信息来源进行鉴别
真实性保护手段:数字签名、认证技术、公证(可信第三方认证)
⑤可控性
对信息和信息系统实施安全监控管理,能够保证掌握和控制信息与信息系统基本情况,防止非法利用信息和信息系统。可对信息和信息系统的使用实施可靠的授权、审计、责任认定、传播源追踪和监管等控制。互联网上针对特定信息和信息流的过滤、限制、阻断等控制。
可控性保护手段:信息监控、内容审查、访问控制、责任认定。
⑥不可否认性(抗抵赖性)
信息交换双方在交互过程中发送信息或接收信息的行为均不可抵赖。证明某一动作或事件已经发生的能力,以使事后不能否认这一动作或事件。
保护手段:数字签名、数字证书、公证(可信第三方认证)
1.3安全威胁与安全攻击
安全威胁(threat)指人、物、事件等因素对某一信息资源或系统可能造成的危害。例如:操作失误、恶意代码、网络攻击、物理攻击等。
安全攻击(attack)一般把可能威胁信息安全的行为称为攻击
主动攻击
1、伪装(假冒)攻击
即冒名顶替。一般而言,伪装攻击的同时往往还伴随着其他形式的主动攻击。假冒攻击例子之一(钓鱼)。
2、重放攻击
先被动地窃取通信数据,然后再有目的地重新发送。主要针对身份认证。
3、篡改攻击
即修改报文的内容。或者对截获的报文延迟、重新排序等。
4、拒绝服务攻击(DoS)
阻止或占据对通信设施的正常使用或管理。这种攻击可能是针对某个特定的目标(如:拦截报文,使服务器过载等),也有可能是针对某个网络区域(如:使网络拥塞而瘫痪)
被动攻击
1、报文分析
即窃听和分析所传输的报文内容。如电话、邮件的内容等。
2、流量分析
对于加密后的通信,对手虽然不能获得报文的内容,但可以通过流量分析来分析通信主机
的位置、通信的频繁程度、报文长度等信息。
安全攻击的防范
1、对于被动攻击,重在防范,而不在于检测。因为被动攻击不修改数据,检测相对困难。
2、防范主动攻击非常困难,检测并恢复主动攻击造成的损坏和延迟是可行的
第二章 密码技术及应用
2.1密码学简介
加解密原理
加密原理
明文:未加密的信息;
密文:已加密的信息;
密钥:控制密码变换的随机数序列。(必须保密)
加密(E):将明文变换成密文的过程。
解密 (D):将密文变换成明文的过程。
密码算法(cipher algorithm):密码算法是加密算法和解密算法的统称,是密
码系统的核心。(可以公开)
保密通信系统模型
2.2哈希函数及应用
哈希函数简介
1、又称为散列函数、杂凑函数、消息摘要函数。
2、将任意长度的报文映射成一个较短的固定长度的输出报文的函数
3、该定长的输出报文称为输入报文的“哈希值”或“消息摘要”或“摘要”或“指纹”
4、h=H(M),M是变长的报文,h是定长的哈希值
5、在数学上保证:只要改动消息M的任何一位,重新计算出的消息摘要h’就会与原先消息摘要值h不符
哈希函数的特性
1、压缩性:将一个有限长的输入M映射为一个固定长的短输出h。
2、易计算:给出H和输入M,容易计算出H(M)。
3、单向性:给定散列值h,推导输入值M是计算困难的。
4、弱碰撞阻止性:给定消息M的散列值,找到另一个输入M′ ≠M,使得H(M′)=H(M),是非常困难的。
5、碰撞阻止性:也称为强碰撞阻止性。找到散列值相同的两个不同的输入M和 M′ ,是非常
困难的。
常见的哈希函数算法
MD族算法
SHA族算法:SHA-1、SHA-2、SHA-3
SM族算法:SM3。SM3算法为国际标准
哈希函数的应用
保护消息的完整性
支持认证
支持口令认证
支撑消息认证
与公钥密码算法结合,生成数字签名
与共享密钥相结合,生成消息认证码
2.3 对称密码体制及应用
对称密码简介
1、对称密码算法,又称单钥密码算法。加密密钥和解密密钥相同,或实质上等同,即从
一个易于推出另一个。
2、要求发送者和接收者在安全通信之前,商定一个共享密钥。
3、安全性依赖于密钥,只要通信需要保密,密钥就必须保密。
对称密码算法
DES
AES
SM4,商用分组密码算法
ZUC算法是中国第一个成为国际密码标准的密码算法。
对称密码技术的应用
机密性
加密/解密
对称加密的安全取决于密钥的保密性而非算法的保密性
消息认证与完整性
MAC消息认证码,C为MAC算法, 输入M是变长消息,输入K是收发双方共享的密钥,输出固定长度的MAC值。
只有通信双方拥有共享密钥才能计算消息的消息认证码。
消息认证码不仅能够确认数据完整性,还可以实现数据源的认证。
对称密码算法使用的问题
密钥分发问题,即如何安全地让加、解密双方拥有相同的密钥。手动分发、自动分发。
密钥管理问题,即在多方通信时,例如有N个通信方时,至少需要维护N*(N-1)/2个对称密钥。随着通信人数增加,密钥管理量将急剧增长。密钥管理中心,KMC
对称密码体制
优点:加解密速度快,加密效率高。
缺点:密钥分发困难,管理复杂。不便于应用在网络开放的环境中。
2.4 公钥密码体制及应用
公钥密码
公钥密码简介
对称密码体制的主要问题:1、如何在网络上安全传送对称密钥;无法实现抗抵赖。
又称非对称密码(体制)
一个密钥称为公开密钥(public key),简称公钥;另一个密钥称为私有密钥(private key),简称私钥。
常用的公钥密码算法:SM2(商用公钥密码算法),SM9(商用公钥密码算法),RSA
基本模型
加密模型(公钥加密)
认证模型(数字签名)
公钥密码的应用
机密性-------->公钥加密
真实性&不可否认性----------->数字签名
公钥加密
与对称加密相比,加解密速度慢,不适合用于加解密大量数据。
(对称)密钥分发
解决对称密码体制中密钥安全传递的问题
公钥加密(混合加密)
数字信封:结合了对称密码和公钥密码的优点,只有指定接收方才能阅读“信”的内容。
数字签名
如果明文数据量大,直接进行签名、验签运算,将因为运算速度慢导致性能差。解决方案:缩短签名的明文长度,提升性能。
数字签名(先摘要后签名)
公钥加密+数字签名
2.5 密码技术发展趋势
量子密钥属于对称密码体系
密码学在信息安全中的作用
1、机密性:提供只允许特定用户访问和阅读信息,任何非授权用户对信息都不可理解的服务。
——[一般通过加密实现]
2、认证:提供与数据来源认证和身份认证有关的服务。
——[一般通过Hash、MAC或数字签名实现]
3、完整性:提供确保数据在存储和传输过程中不被未授权修改(窜改、删除、插入和重放等)的服务。
——[一般通过Hash、MAC或数字签名实现]
4、不可否认性:提供阻止用户否认先前的言论或行为的服务。
——[一般通过数字签名实现]
第三章 身份认证技术
3.1身份认证概述
信息安全系统基本结构
一个基本的信息安全系统至少应包括身份认证、访问控制和审计功能。身份认证是最基本的安全服务,访问控制和审计服务的实现都要依赖于身份认证系统所识别的用户身份。
什么是身份认证
1、身份认证(Authentication)是证实实体(客户、代理、进程、设备等)与其所声称的身份是否相符的过程,即实体真实性证明。
2、身份认证可以对抗假冒攻击和重放攻击的威胁。
3、身份认证系统通常由认证服务器、认证系统客户端和认证设备组成。
4、身份认证系统主要通过身份认证协议和认证系统软硬件进行实现。
身份认证的物理依据
用户所知道的(例如口令)
用户所拥有的(something the user possesses)例如智能卡、密钥
用户的特征(something the user is or how he/she behaves)例如指纹、声音、视网膜、签名、步态
身份认证分类
根据所使用的安全因素数量,可将身份认证分为以下两类:1、单因素身份认证(登录口令);2、多因素身份认证(银行卡+PIN码)
根据需要认证的通信方只对单方认证还是双方互相认证,认证协议可以分为:1、单向认证(只认证服务器端);双向认证(服务器端和客户端都要认证)
生物特征认证主要用于本地认证。
3.2 常见的身份认证方式(基于口令认证)
使用二元组信息来表示某用户的身份:<用户账号(用户 ID),口令(Password)>
明文口令方案
安全风险
窃听风险、离线攻击、在线猜测、重放攻击
哈希口令方案
口令离线破解
穷举法
缩小口令空间
字典法
有规律的数字、任何名字、常用的词、特殊的弱口令。
穷举法和字典法的防御
强口令原则:
长度长度:至少八位
复杂度:同时有字母、数字和特殊符号
随机性:没有任何规律
使用口令管理软件
彩虹表法
以时间换空间
预计算——构造反查表(彩虹表)
存储——只存关键数据(只存链首链尾)(降低空间代价)
查找——边算边找(增加时间代价)
关键思路:定位该哈希值所在的链
1、通过R-H运算链找到与所计算的链尾相同的链尾
2、定位该链后确定对应的链首
3、从链首通过H-R运算链找到明文字串
4、适合并行计算
防御彩虹表法
时空平衡点
R-H运算
明文字串?=用户口令
q=H(用户口令 )
q=H(用户口令 || 随机数)
明文字串=(用户口令 ||随机数)
增加反查的时空代价:1、增加Hash函数计算的时间代价;2、增加彩虹表存储的空间代价
慢哈希函数(口令哈希函数)
主要算法:CRYPT / ARGON2 / PBKDF
1.使用高迭代次数C,增加计算时间
2.选择一个盐值S q=H(psw,salt)
增加时间代价、空间代价
主要步骤:1.选择一个迭代次数C;2.选择一个盐值S;3.选择产生的哈希值的长度len;4.将口令P,盐值S,迭代次数C和长度len用于PBKDF,产生一个哈希值。
基于慢哈希的口令方案
风险:窃听泄露、 离线破解、重放攻击、 在线猜测
重放攻击的安全防御
NRV (NonRepeatedValue)非重复值、不确定因子、 客户端和服务器共有
一次性口令机制原理
一次性口令:在登录过程中加入不确定因子NRV,使每次登录过程中传送的信息都不相同,以提高登录过程安全性
1、 基于口令序列认证
2、基于时间同步认证
时间同步技术原理
1、将流逝的时间T作为NRV;2、客户端和服务器事先协商共享密钥K、口令生成算法F
时间同步口令算法
P =Truncate(F(K, T))%10^N
T:时间因子(时间窗口技术)
T = T0/Tc
T0是以 UTC时间或用户选择的时间标准为计量标准的一个8字节整数
Tc是以秒为单位的时间窗口大小,通常最大值为60
F()函数:使用SM3或SM4
Truncate()是截位函数, 输出结果长度为32比特
N:显示的口令位数
时间同步实例:1、硬件令牌及应用;2、软件令牌;3、软件令牌应用
3、基于事件同步认证
又名计数器同步机制--无时间同步条件场景
变动的数字序列(事件序列) 作为NRV
4、基于挑战应答认证
由服务器产生的随机数字序列(挑战值*)作NRV——无任何同步条件场景
3.3 身份认证协议——kerberos认证
认证(authentication) 、记帐(accounting)、审计(audit)
Kerberos概述
Kerberos采用对称加密体制
在分布式的client/server体系中采用集中密钥分发中心(KDC) 来支持用户与应用服务器之间的认证服务
KDC知道所有用户口令相关信息
KDC与每一个应用服务器有一个共同的、唯一的对称密钥
KDC有两个部件:一个认证服务器AS和一个票据授权服务器TGS
Kerberos认证过程(rfc1510)
1.请求“访问票据许可服务器的票据”(票据许可票据)
2.票据许可票据
3.出示票据许可票据,请求“访问应用服务的票据”
4.服务访问票据
5.出示服务访问票据
涉及的票据
涉及的会话秘钥
Kerberos 协议的安全性
口令猜测攻击问题、时钟同步攻击问题、密钥管理问题
Kerberos 协议的应用
Windows Server系统提供对Kerberos认证的支持,用于实现客户机和服务器之间的认证
Hadoop云计算平台提供对Kerberos认证的支持,用于服务器集群的认证
3.4 数字证书与PKI
基于公私钥对的认证
1、双方需要知道对方的公钥
2、能使用其公钥验签的信息是且仅是相应的唯一私钥签名的,因此持有该私钥的人可以得到身份的认证
3、通过数字签名机制完成身份认证
数字证书的基本概念
是持有者在网络上证明自己身份的凭证。是一个经认证机构签名的包含证书所有者公钥等信
息的文件。
数字证书的生成流程
1、公钥以证书形式发放。
2、证书需经认证机构签名
X.509标准
数字证书的内容中有如下(部分重点)
签名算法标识符:标识用于证书签名的散列函数类型和签名算法类型
有效期:定义证书有效的开始日期和终止日期
颁发者名称:用于标识签发证书的认证机构
使用者信息:证书所认证的与证书中公钥对应的个人或者实体的名字
主体公钥信息:包含证书验证的主体的公钥、使用公钥的算法标识符和相关参数
签名:用CA的私钥加密证书摘要
扩展:在不改变证书格式的前题下,允许证书中编码加入额外的信息
指纹:包括签名的证书信息的摘要值
数字证书的验证
数字签名保证证书的真实可信
验证证书中CA的数字签名
根CA证书
自签名证书
信任锚
数字证书的应用实例
证明服务器身份
层级证书结构
逐层颁发
从根证书到用户证书
逐层验证
用证书中的公钥验签下级证书
验证CA签名是否有效
验证证书是否失效
验证域名是否一致
证明代码来源
数字证书的应用
证书是一个经权威机构数字签名的包含公钥所有者信息及其公钥的文件
它包含了身份信息,因此可以用于证明用户的身份
它包含了公钥,既可用于数据加密,保证通信的机密性;还可用于验签,保护信息的真实性和不可否认性
数字证书与安全属性
机密性—— 公钥加密
真实性 】
完整性 】------------->数字签名
不可否认性 】
数字证书的失效
1、超出有效期
2、有效期内被撤销(用户身份发生变化;用户私钥丢失、泄漏、怀疑泄漏等;用户擅自将证书用于CA不允许的用途)
数字证书的撤销
1、CRL
证书撤销列表,由证书机构签发的一张无效证书名单(证书黑名单)
定期更新
CRL中列出了被撤销的证书序列号,放于网上供用户查询
2、OCSP
用户客户机形成查询指定证书状态请求,并将请求转发到一个OCSP服务器,服务器查询CA证书库而获得该证书的状态,应答器返回客户机有关证书有效性信息
3、OCSP Staplin
数字证书和PKI
以数字证书为核心元素的电子认证服务,是构建网络信任体系的重要基础,是数字时代的
信任基石。
PKI基本概念
1、利用公钥密码理论和技术来实现信息安全服务的具有通用性的安全基础设施
2、以公钥加密为基础,创建、管理、存储、分发和撤销数字证书所需要的一组硬件、软件、人力资源、相关政策和操作规范以及为PKI 体系中的各成员提供全部的安全服务
3、通过数字证书提供机密性、完整性、真实性和不可否认性的安全服务
PKI体系框架
PKI系统的最核心部件是CA,可以认为PKI的其他部件是依附于CA的
CA对证书的管理:
证书的签发和更新
证书的作废
证书的冻结和解冻
证书的查询或下载
CA给用户签发证书的过程:
(1)将用户身份、公钥等信息按照特定格式组装成数据D
(2)对D进行摘要计算得到摘要值H
(3)用CA自己的私钥对H进行签名运算,得到签名值S
(4)D+S按照特定格式封装成数字证书
KMC:1、密钥管理中心;2、证书对应的密钥对的管理
RA:注册中心;对用户提供面对面的证书业务服务,如证书申请,身份审核等。
第四章 访问控制技术
4.1 访问控制概述
访问控制基本概念
访问控制:限制哪些主体能够以哪种方式访问哪些对象。
访问控制的三要素
主体:发出访问操作、存取要求的主动方。通常可以是用户或代表用户的进程等。
客体:被访问的对象,即,要保护的资源。(文件、系统、网络设备、数据、信息、程序、进程。)
访问策略(授权信息):主体对客体的访问规则集,用来确定一个主体是否拥有对客体的访问权限。【包括(但不限于)读、写、修改、删除、执行、创建、销毁、复制、导
出、导入等操作】
访问控制(Access Control):满足合法用户的合法访问,防止对资源的未授权使用。【非法用户的任何访问、合法用户的非法访问】。
授权(authorization):授予“访问权”的管理活动,给发起者或目标分配访问控制信息。
访问控制目标
主要目标:对抗涉及计算机或通信系统的非授权操作的威胁,包括:
泄露、修改、破坏、拒绝服务、非授权使用
访问控制与身份认证
1、访问控制依赖身份认证
身份认证解决——“你是谁,你是否真的是你所声称的身份”(真实性)
访问控制解决——“你能做什么”(机密性、完整性、可用性、可控性)
2、身份认证和访问控制不能互相取代
2021年Top1: 失效的访问控制。
指的是未对通过身份验证的用户,实施恰当的访问控制。
攻击者可以利用这一漏洞,访问未经授权的功能或数据。比如,访问其他用户的账户、查看敏感文件、修改其他用户的数据,更改访问权限等等,都属于失效的访问控制造成的后果。
访问控制的实现机制
1、访问控制机制
通常用三元组(S,O,A)进行描述,S表示主体集体,O表示客体集合,A表示访问操作类型集合。
访问控制通过确定函数𝑓完成。
𝑓: 𝑆 × 𝑂 → 2^A
2、访问控制矩阵AM
最初实现访问控制机制的概念模型,以二维矩阵来体现主体、客体和访问操作。
访问控制可以很自然的表示成一个矩阵的形式。
行表示主体(通常为用户);列表示客体(各种资源);行和列的交叉点表示某个主体对某个客体的访问权限(比如读、写、执行、修改、删除、拥有等)
实际的系统中虽然可能有很多的主体和客体,但主体和客体之间的关系可能并不多,这样就存在着很多的冗余项。
矩阵的行来表达访问控制信息——访问能力表
矩阵的列来表达访问控制信息——访问控制列表
3、访问能力表CL
Cap(John)= { (File1{读、写、拥有}),(File3{读、写}) }
Cap(Alice)= { (File2{读、写、拥有}),(File3{写}) }
Cap(Bob) ={ (File1{读、写}),(File2{读}) }
CL是基于行(主体)的访问控制,能力(Capabilities)决定主体是否可以访问客体以及以什么方式访问客体。
以用户为中心建立的访问权限表。
4、访问控制列表ACL
ACL(File1)= { (John{拥有、读、写}),(Bob{读、写}) }
ACL(File2)= { (Alice{拥有、读、写}),(Bob{读}) }
ACL(File3)= { (John{读、写}),(Alice{写}) }
ACL是基于列(客体)的访问控制,在一个客体上附加一个主体明细表,来表示各个主体对这个客体的访问权限。
以资源为中心建立访问权限表。
ACL是目前采用最多的一种方式。
它可以对特定资源指定任意用户的访问权限,还可以将有相同权限的用户分组,并授予组的访问权。
ACL的优点在于它的表述直观、易于理解,比较容易查出对某一特定资源拥有访问权限的所有用户,有效地实施权限管理。
5、操作系统的访问控制列表ACL
Linux系统中,文件的权限类型一般包括读(r)、写(w)、执行(x)。
权限的属组:拥有者 、群组 、其它组 三种。
使用chmod命令修改文件、目录的权限。
4.2 常见的访问控制技术
访问控制策略、模型和机制
1、访问控制策略是一种高级安全需求,它规定如何管理访问,以及谁可以在何种情况下访问哪些资源。
例如,自主访问控制策略、强制访问控制策略、基于角色访问控制策略
2、访问控制机制通过转换用户访问请求来实施访问控制策略。
例如,访问控制列表(ACL)、访问能力表(CL)
3、访问控制模型是系统执行的安全策略的形式化表示,是对安全策略所表达的安全需求简单、抽象和无歧义的描述,有助于从理论上证明访问控制系统的正确性与局限性。安全模型为安全系统的设计提供指导。
例如,Bell LaPadula模型,Biba模型
访问控制策略
自主访问控制和强制访问控制属于传统访问控制方式。
该标准将计算机系统的安全程序从高到低划分为A1、B3、B2、B1、C2、C1、D七个等级,每一等级对访问控制都提出了不同的要求。例如,C级要求至少具有自主型访问控制,B级以上要求具有强制型访问控制。
基于角色的访问控制RBAC是20世纪90年代后涌现出的新的访问控制方式。
自主访问控制(DAC)——概念
自主访问控制(DAC)是根据主体(访问者)和(或)主体所属组的身份来控制对客体目标的授权访问。
自主访问控制中,具有访问许可的主体可以依据自己的意愿决定哪些用户可以对他们的资源进行访问,可以直接或者间接地向其他主体进行访问权限的授予与收回。
DAC是目前计算机系统中实现最多的访问控制方式。
常用的Linux、UNIX、Windows操作系统基本都提供自主访问控制的功能。
自主访问控制(DAC)——实现机制
自主访问控制策略一般采用访问控制列表(ACL)、访问能力表(CL) 来存放不同主体的访问控制信息,从而达到对主体访问权限的限制目的。
ACL,每个客体被绑定一个访问控制列表,记录系统中哪些主体能够以何种方式对它访问。
CL,每个主体被分配一个描述其权限的文件、记录或数据结构,注明了所绑定的主体能够以何种方式对何种客体进行访问
自主访问控制(DAC)——特点
特点:根据主体的身份和授权来决定访问模式。
缺点:用户之间可以进行任意的权限传递。如用户A可将其对目标O的访问权限传递给用户B,从而使不具备对O访问权限的B可访问O。
强制访问控制(MAC)——概念
强制访问控制中,对所有主体及其所控制的客体(如进程、文件、设备)等实施强制访问控制。
强制访问控制方式中,系统对主体和客体都分配一个特殊的安全属性(也称为安全标签或安全标记),如文件的密级(绝密级、机密级、秘密级或无密级)可以作为文件的安全属性。
用户不能改变自身或任何客体的安全属性,即不允许单个用户确定访问权限,只有系统管理员可确定用户和用户组的访问权限。
系统通过比较主体和客体的安全属性来决定一个主体是否能够访问某个客体。
强制访问控制(MAC)与自主访问控制(DAC)结合
强制访问控制(MAC)通常会与自主访问控制(DAC)结合使用,实施某些更强的、附加的访问限制。
强制访问控制适用于安全性要求较为严格的应用场景,通常用于多级安全军事系统。
强制访问控制(MAC)——特点
1、特点:将主题和客体分级,根据主体和客体的级别标记来决定访问模式。如,绝密级,机密级,秘密级,无密级。
2、通过分级安全标签实现单向信息流通模式。
上读/下写——(完整性)
下读/上写——(机密性)
强制访问控制(MAC)——BLP模型
1、主要解决面向机密性的访问控制
2、下读,主体安全级别高于等于客体时,允许读
3、上写,主体安全级别低于等于客体时,允许写
防止木马窃取信息
强制访问控制(MAC)——BIBA模型
BIBA模型,BLP变体
保护数据的完整性
上读,主体安全级别低于等于客体时,允许读
下写,主体安全级别高于等于客体时,允许写
已确定安全保护等级的系统分为第一级、第二级、第三级、第四级和第五级,每一等级对访问控制都提出了不同的要求。
二级实施以用户为基本粒度的自主访问控制
三级实现强制访问控制
基于角色的访问控制(RBAC)
在基于角色的访问控制中,用户不是至始至终以同样的注册身份和权限访问系统,而是以一定的角色访问,不同的角色被赋予不同的访问权限,系统的访问控制机制只看到角色,而看不到用户。
用户在访问系统前,经过角色认证而充当相应的角色。
用户获得特定角色后,系统依然可以按照自主访问控制或强制访问控制机制控制角色的访问能力。
RBAC的基本思想是将访问权限分配给指定的角色,用户通过分配不同的角色来获得该角色所拥有的访问权限。
角色是指一个组织或任务中的工作或者位置,它代表了一种权利、资格和责任。
基于角色的访问控制就是通过各种角色的不同搭配授权来尽可能实现主体的最小权限。
角色与组的区别:
组:用户集
角色:用户集+权限集
基于角色访问控制的优势
便于授权管理:
• 改变客体的访问权限
• 改变角色的访问权限
•改变主体所担任的角色
便于角色划分。
便于赋予最小权限原则。
便于职责分离。
便于客体分类。
其它访问控制模型
基于任务的访问控制
分布式基于角色的访问控制
与时空相关的访问控制
上下文相关的访问控制模型
基于时态的访问控制模型
基于信任的访问控制模型
基于属性的访问控制模型
基于行为的访问控制模型
自主访问控制模型、强制访问控制模型、基于角色的访问控制模型常用于操作系统、数据库系统的资源访问。
基于任务的访问控制(Task-based Access Control Model,TBAC)
TBAC模型依工作流中的任务建模,可以根据任务和任务状态的不同,对权限进行动态管理。
TBAC模型比较适合分布式计算环境中对信息的访问控制,可在办公和商业领域得到广泛应用。
4.3 安全审计
基本概念
安全目标
跟踪和监测系统中的异常事件(直接)
检测系统中其他安全机制的运行情况和可信度(间接)
主要作用
对潜在攻击者起到威慑和警示作用
对已出现的破坏事件,做出评估并提供依据
对系统安全策略进行评价和反馈,以便修订和完善(安全评估)
协助发现入侵或潜在的系统漏洞及隐患
取证
分类
按照审计分析
按照审计分析的对象,可分为2类
主机审计
对系统文件、注册表等的文件操作进行记录和审计
网络审计
对网络数据流进行记录和分析
按照工作方式
按照工作方式的对象,可分为2类
集中式
所有收集到的日志记录集中分析审计
分布式
分布式进行日志收集和分析审计
根据需要将结果上报
按照审计级别
从审计级别上可分为3种类型:
系统级审计
主要针对系统的登入情况、用户识别号、登入尝试的日期和具体时间、退出的日期和时间、所使用的设备、登入后运行程序等事件信息进行审查
应用级审计
主要针对的是应用程序的活动信息
用户级审计
主要是审计用户的操作活动信息
安全审计系统基本结构
安全审计系统
日志收集和记录
1、数据源:主机和网络
2、基于主机的数据源
(1) 操作系统日志
(2)系统日志
(3)应用程序日志
3、基于网络的数据源
(1)网络流量/网络数据包
4、其它数据源
(1)来自其它安全产品的数据源
(2)来自网络设备的数据源
日志分析(审计分析)
日志分析审计的主要目的是在大量的记录日志信息中找到与系统或网络安全相关的数据,并分析系统运行情况。
方法
基于规则库
基于统计
基于数据挖掘(关联分析)
基于机器学习
审计跟踪(Audit Trail)
1、指按事件顺序检查、审查、检验其运行环境及相关事件活动的过程
2、主要用于实现重现事件、评估损失、检测系统产生的问题区域、提供有效的应急灾难恢复、防止系统故障或使用不当等方面
3、记录的活动包括系统活动和用户活动,系统活动包括操作系统和应用程序进程的活动;用户活动包括用户在操作系统中和应用程序中的活动
4、具备记录活动、并跟踪到对这些活动应负责任的人员的能力(取证、为责任认定提供支撑)
(1)通过对安全事件的收集、积累和分析,可对其中的某些站点或用户进行审计跟踪,以提供发现可能产生破坏性行为的证据
(2)可以确定事件和攻击源,用于检查计算机犯罪
5、发现违反安全策略的活动、影响运行效率的问题以及程序中的错误
行为审计
6、不但有助于帮助系统管理员确保系统及其资源免遭非法授权用户的侵害,同时还能提供对数据恢复的帮助
可帮助分析系统状态转移过程
7、是安全审计的高级功能,依赖于审计系统完整、连续的活动记录能力,以及系统对复杂记录的深度挖掘和智能分析能力
8、审计跟踪重点考虑
选择记录信息内容
确定审计跟踪信息所采用的语法和语义
第五章 网络攻击与防御技术
5.1 网络攻击概述
网络攻击一般步骤
1.收集目标计算机信息
目的——尽可能多地收集目标的相关信息,为下一步攻击决策做准备
内容——收集的信息包括
网络信息(如域名、IP地址、网络拓扑)
系统信息(如操作系统版本、开放的各种网络服务版本)
用户信息(用户标识、共享资源、即时通信账号、邮件账号)等
参考渗透测试执行标准(PTES)
方法——信息收集与获取技术
1、利用搜索引擎等手段;
2、网络信息查询。包括IP查询(使用PING、NSLOOKUP、WHOIS、TRACERT等命令,或http://stool.chinaz.com/same等工具网站)
3、利用NMAP等扫描工具获取目标信息
4、利用社会工程学攻击
2.寻找目标计算机的漏洞
任何计算机系统都存在漏洞
漏洞包括缓冲区溢出、操作系统漏洞、网络服务漏洞、网络协议漏洞、配置漏洞等
3.选择合适的入侵方法进行攻击
获取目标系统的一定权限
攻击的手段主要有口令猜测、缓存区溢出攻击、拒绝服务攻击等
4.留下后门
目的是在目标系统中安装后门程序,以更加方便、更加隐蔽的方式对目标系统进行操控。
主要方法是利用各种后门程序以及特洛伊木马。
5.深入攻击,扩大影响
目的是以目标系统为“跳板”,对目标所属网络的其他主机进行攻击,最大程度的扩大影响
由于内部网的攻击避开了防火墙、NAT等网络安全工具的防范,因而更容易实施,也更容易得手
6.清除痕迹
目的是消除一切攻击的痕迹,尽量做到使管理员无法察觉系统已被侵入,并防止被识别、追踪
主要方法是针对目标所采取的安全措施清除各种日志及审核信息
一般渗透测试流程
渗透测试,经过授权,模拟黑客进行攻击来评估计算机网络系统安全的一种评估方法。
5.2 社会工程学攻击
社会工程学是一种利用人的弱点,如人的本能反应、好奇心、信任、贪便宜等弱点,进行诸如欺骗、伤害等危害手段,获取自身利益的手法
5.3 扫描器
扫描技术是进行信息收集的重要技术
基于扫描技术的扫描器可以完成大量的重复性工作,为使用者收集与系统相关的必要信息
扫描器
扫描器是一种通过收集系统的信息来自动检测远程或本地主机安全性弱点的程序
安全评估工具:系统管理员保障系统安全的有效工具
网络攻击工具:网络入侵者收集信息的重要手段
扫描器的主要功能
发现目标主机或网络
发现目标主机后,进一步搜集目标信息,包括操作系统类型、运行的服务以及服务软件的版本等;如果目标是一个网络,还可以进一步搜集该网络的拓扑结构、路由设备以及各主机的信息
判断或进一步测试系统存在哪些安全漏洞
扫描器技术
ping扫射
ping:用来判断远程设备可访问性最常用的方法
ping命令是基于ICMP(Internet Control Message Protocol)实现的
ping向目标主机发送ICMP Echo Request 数据包,如果主机可达,会回复ICMP Echo Reply包
PING扫射,也称为ICMP扫射(ICMP sweep),探测多个主机地址是否处于活动状态
Ping扫射通过向多个目标主机发送ICMP Echo Request 数据包,并等待主机的响应,来判断目标主机是否在线
常用的工具如fping、nmap等
端口扫描
TCP/IP协议上的端口有TCP端口和UDP端口两类。针对TCP端口的扫描方法比较多,主要可分为开放扫描、半开放扫描、秘密扫描等
开放扫描
开放扫描需要扫描方通过三次握手过程与目标主机建立完整的TCP连接,例如TCP CONNET扫描
利用操作系统提供的connect()系统调用进行扫描,扫描器调用socket的connect()函数发起一个正常的连接
如果connect()连接成功,说明目标端口处于监听状态
若连接失败,则说明该端口是关闭的或者被防火墙等过滤
TCP connect()方法的优点
不需要任何特殊权限
速度快
TCP connect()方法的缺点
很容易被发觉
容易被防火墙过滤掉
SYN扫描(半开扫描)
也叫半开放式扫描
利用TCP连接三次握手的第一次进行扫描
优点
一般不会在目标计算机上留下记录
缺点
SYN洪水是一种常见的拒绝服务的攻击方法,许多防火墙和入侵检测系统对SYN包都建立了报警和过滤机制。因此SYN扫描的隐蔽性逐渐下降
必须要有root权限才能构造SYN数据包
秘密扫描
秘密扫描不包含标准的TCP三次握手协议的任何部分,例如TCP FIN扫描
向一个远端主机某端口发送只有FIN标志位的TCP数据包如果端口是关闭的,则远程主机丢弃该包,并送回一个RST包;否则,远程主机丢弃该包,不回送
缺点:
在Windows下平台无效,因为WINDOWS系统中无论端口是否开放,总是发送RST包
在通过网络时容易被丢弃从而产生错误的探测信息
优点:
不是TCP建立连接的过程,所以比较隐蔽
操作系统探测
通过向目标主机发送应用服务连接或访问目标主机开放的有关服务记录,探测出目标主机的操作系统(包括相应的版本号)
例如,通过http、ftp等一些服务的提示信息识别操作系统
利用TCP/IP协议栈实现上的特点来辨识一个操作系统
不同的操作系统在TCP/IP协议栈的实现上细微的差别构成了操作系统的栈指纹
寻找不同操作系统之间在处理网络数据包上的差异,并且把足够多的差异组合起来,识别出一个系统的OS版本
操作系统的信息还可以与其他信息结合起来,比如漏洞库
栈指纹技术
利用TCP/IP协议栈实现上的特点来辨识一个操作系统。通过研究其对各种探测的响应形成识别指纹,进而识别目标主机运行的操作系统
各种操作系统的协议栈的实现存在细微的差异。这些差异称作网络协议栈的“指纹”
对TCP协议族来说,这些差异通常表现在数据包头的标志字段中。如window size、ACK序号、TTL等的不同取值。通过对这些差别进行归纳和总结,可以比较准确地识别出远程系统的OS类型
漏洞扫描
1、通过采用一定的技术主动地发现系统中的安全漏洞,如,操作系统漏洞、弱口令用户、应用程序漏洞、配置错误等
(1)对未知漏洞的检测。目的在于发现软件系统中可能存在但尚未发现的漏洞
(2)对已知漏洞的检测。主要通过采用模拟黑客攻击的方式对目标可能存在的安全漏洞进行逐项检测来检测系统是否存在已公布的安全漏洞
2、漏洞扫描技术是建立在端口扫描技术和操作系统识别技术的基础之上的,主要方法:
(1)特征匹配方法
(2)插件技术
漏洞扫描的种类
系统漏洞扫描
特定服务的漏洞扫描
• Web服务 • 数据库服务 • Mail服务
网络及管理设备漏洞扫描
•路由器 •交换机
人为管理漏洞扫描
•弱口令•错误配置
信息泄漏漏洞扫描
• 用户信息 • 共享信息
5.4 嗅探器
基本概念
嗅探器是利用计算机的网络接口截获目的地为其他计算机的数据报文的一种工具,可以用来进行网络监听
也称为协议分析仪或协议分析程序
网络管理工具。使网络管理员了解网络状况和分析网络的流量,以便找出所关心的网络中潜在的问题
被动攻击工具。监视网络的状态、数据流动情况以及网络上传输的信息。当信息以明文的形式在网络上传输时,便可以使用网络监听的方式来进行攻击,截获用户敏感信息
嗅探器的分类
软件嗅探器
如,Wireshark、NetXray、Packetboy、Netmonitor等
硬件嗅探器
通常称为协议分析仪,一般都是商业性的,价格较贵
嗅探器的危害
能够捕获口令、机密的或者专用的信息
如果嗅探器运行在路由器,或有路由器功能的主机上,就能对大量的数据进行监控
嗅探器的工作原理
以太网卡的工作原理
网卡是网络中主机接收发送数据的硬件设备。网卡完成收发数据包的工作
网卡的MAC地址(48位)
通过ARP来解析MAC与IP地址的转换
用ipconfig可以查看MAC地址
网卡对于数据的接收有四种模式:
广播模式:该模式下的网卡能够接收网络中的广播数据。MAC地址是0Xffffff 的帧为广播帧
组播模式:该模式下的网卡能够接收组播数据。组播的地址是保留的D类地址从224.0.0.0—239.255.255.255
直接模式:在这种模式下,只有匹配目的MAC地址的网卡才能接收该数据
混杂模式:在这种模式下,不管数据帧中的目的MAC地址是否与自己的MAC地址匹配,都接收下来
正常情况下,网卡应该只接收这样的包
MAC地址与自己相匹配的数据帧
广播包
网络嗅探器的原理
网络嗅探器利用以太网的特性把网卡置为混杂模式状态
一旦网卡设置为这种模式,网络嗅探器就能接收经过它的每一个数据包
共享式网络
通过网络的所有数据包发往每一个主机
最常见的是通过HUB连接起来的子网
交换式网络
通过交换机连接网络
由交换机构造一个“MAC地址-端口”映射表
发送包的时候,只发到特定的端口上
交换网络监听原理
在交换网络下若想实现网络嗅探,需要使用ARP欺骗技术
监听者C发送伪造的ARP应答包,谎称自己是B。通过这样的方法欺骗交换机,让交换机将本应发给B的数据包发给监听者C
网络监听的防范
方法一:数据加密。使得嗅探器得不到明文数据
方法二:使用安全的拓扑结构——分段技术。(交换机、路由器、网桥)
5.5 口令攻击
基本概念
攻击者试图获得其他人口令而采取的攻击
口令攻击的分类
针对客户端的口令攻击
针对传输过程的口令攻击
针对服务器端的口令攻击
针对客户端的口令攻击
针对在线登录的口令猜测攻击
在线主动攻击
例如,邮箱登录界面、远程桌面服务、数据库服务等各种在线登录界面
针对加密的口令文件或口令数据包的口令破解攻击
离线主动攻击
例如,unix的口令文件、WiFi接入的握手数据包、拖库攻击得到的用户口令散列值等
口令猜测
猜测——基于候选口令尝试猜测
穷举
一般是指穷举口令的字符空间
口令穷举非常耗时耗力
字典
使用口令空间中的一个小集合进行尝试
被选中的所有口令构成了字典
撞库
攻击者通过收集网络上已泄漏的用户名、口令组合,生成字典或者直接使用这些组合尝试登录其他网站
口令攻击的防范
1、网络传输过程
(1)检测监听——antisniffer、antiarp
(2)防止监听
建立交换网络、使用加密技术、使用一次性口令
防范在线密码猜测攻击
2、服务器端
(1)及时修复漏洞
(2)安全编程
普通用户与系统管理员用户的权限要有严格的区分
加强对用户输入的验证
必要的情况下使用专业的漏洞扫描工具来寻找可能被攻击的点
(3)采用高强度口令存储机制
(4)管理员提高安全意识,抵抗社工攻击
(5)具备审计日志
3、客户端——使用相对安全的口令
(1)加强口令强度(长口令、强口令、个人信息无关口令)
(2)不在不同系统上使用同一口令,抵抗撞库攻击
(3)防范窥探:不将口令写下来/不让他人看见自己输入口令
5.6 欺骗攻击
ARP攻击
在局域网内,数据传输是通过MAC地址实现的。IP地址与MAC地址的映射依赖ARP缓存表。但ARP缓存表的实现不具备任何认证机制
在没有主机发送ARP请求的情况下,任何主机都可以发送ARP应答数据报。而且,这将导致源主机内ARP缓存表的非法更新
利用ARP欺骗实现网页劫持
截获、修改Web服务器发送给客户机的Web页面,达到窃听、篡改的目的
客户端网页劫持
服务器端网页劫持
客户端网页劫持
服务器端网页劫持
IP欺骗
IP欺骗是利用不同主机之间的信任关系而进行欺骗攻击的一种手段,这种信任关系以IP地址验证为基础
IP欺骗通过IP地址使得某台主机能够伪装成另外一台主机,从而骗取对目标主机的访问权限,入侵目标主机
IP数据包在进行路由、接收和处理时,路由器、目标主机都不对源IP地址的合法性进行判断,而TCP/IP协议栈在发送数据时,又允许用户修改IP报文的头部。这样,通过修改IP源地址,就可以达到欺骗的目的。
种类
单向攻击
源路由攻击
TCP会话劫持
单向攻击
单向攻击:攻击者使用假冒的IP地址向一台机器发送数据包,但不会收到任何返回的数据包
源路由攻击
源路由攻击:利用IP数据报的源路由选项机制来控制数据报转发路径,进而实现会话监听
137——严格的源站选择
131——宽松的源站选择
TCP会话劫持
会话劫持(Session Hijack)是指在一次正常的通信中,攻击者作为第三方参与其中,它可以对会话进行监听,也可以将恶意数据插入到会话流中,甚至可以取代某一方接管会话
会话劫持不仅可以实现监听,而且攻击者可以绕过身份认证
TCP序列号猜测技术
DNS欺骗
域名解析原理
域名可以划分为各个子域名,子域名还可以继续划分为子域名的子域,这样就会出现顶级域名、二级域名、三级域名等
域名是分层结构,域名服务器也是对应的层级结构
域名需要由遍及全世界的域名服务器去解析,域名服务器实际上就是装有域名系统的主机
1.每个层的域名都有自己的域名服务器,最顶级的是根域名服务器。
2.每一级域名服务器都知道下级域名服务器的IP地址。
3.为了容灾,每一级至少设置两个或以上的域名服务器
Cookie欺骗
Cookie
网站为了识别用户和跟踪会话等,存储在用户本地终端中的文本信息(通过浏览器),如用户ID和口令相关信息、浏览过的网页、停留时间等等
两类
会话 cookie:保存在内存,当浏览器的会话关闭之后目动消失
持久cookie:保存在硬盘,只有当失效时间到期了才会目动消失
例子:利用Cookie中存储的用户ID、口令等相关信息,获取他人Cookie,向服务器提交,冒充他人身份,通过登录认证
Session欺骗
Web常用技术之一
Web服务器给客户端分配的一个编号:当服务器运行时,可能有若干用户正在浏览该服务器。当每个用户机首次与服务器建立连接时,就与该服务器建立了Session,并未该Session分配了相应的Session ID(24个字符组成的字符串),用以标识该用户机的唯一身份。客户端在浏览器关闭后Session ID自动撤销,服务器上的Session ID会保留一段时间(默认20分钟)。
保留时间内服务器“只认ID”,只要ID符合,即认为是合法用户
常用方法:利用网站本身的XSS漏洞或诱骗被攻击着点击相应链接,以使其隐蔽访问攻击者事先设置好的URL并执行恶意代码,获取被攻击者的Cookie信息从而得到Session,然后伪装被攻击者的SessionID合法登录网站
欺骗攻击的防范
针对ARP欺骗
IP和MAC绑定
网关信息设置成静态ARP
针对IP欺骗
禁止使用源路由
使用IPSec等安全协议
针对DNS欺骗
DNS流量加密
直接访问IP
针对Cookie和Session欺骗
Cookie中不直接存用户口令相关信息
5.7 漏洞利用
基本概念
漏洞
软件、硬件、协议设计与实现中存在的缺陷。
软件漏洞类型有很多种,最典型如缓冲区溢出漏洞、格式化字符串漏洞、堆溢出漏洞等。
漏洞利用(exploit)
利用软件中存在的某些漏洞来获取计算机系统的控制权。
利用缓冲区溢出可以轻而易举地获得root权限,具有非常大的威胁性。
缓冲区溢出攻击
基本概念
在当前网络与分布式系统安全攻击中,被广泛利用的漏洞中很多都是缓冲区溢出漏洞。
缓冲区溢出, Buffer Overflow
向缓冲区中填入过多的数据,超出边界
导致数据溢出,覆盖了相邻的内存空间
原理
进程空间分配
在用户进程空间(图中program data)中,又分为三个段:程序段区域、数据段区域、堆栈段区域
1、程序段区域用于放置程序代码
2、数据段区域放置静态全局变量
3、堆栈区用于存放函数参数、函数返回值、函数返回地址、局部动态变量
栈的结构
栈是一种后进先出的数据结构。
栈用于保存函数的参数和函数返回值,为函数中使用的局部变量动态分配空间。
函数调用时,完成如下操作:
1.函数参数入栈
2.指令寄存器(EIP)中的内容作为返回地址入栈
3.压入调用者的基址寄存器(EBP)
4.Mov EBP,ESP
5.为函数内本地变量分配空间
原理分析
指针和数组越界不保护是缓冲区溢出的根源
在C语言标准库中有许多会造成溢出的函数,如strcat(),strcpy(), strncpy(), sprintf(), scanf(), bcopy(),gets()等
防范方法
根据缓冲区溢出的特点,主要考虑四种基本方法来保护计算机内存缓冲区免受攻击和影响:
正确地编写代码
使缓冲区成为非执行的缓冲区
利用编译器的边界检查来实现缓冲区的保护
程序指针完整性检查
5.8 拒绝服务攻击
同步泛滥(SYN flooding),这是一种分布式拒绝服务攻击(DDoS)。就是通过大量的虚假IP地址,建立不完整连接,使服务超载,从而不能提供正常的服务。”
域名劫持通过攻击域名解析服务器(DNS),把目标网站域名解析到错误的地址而达到无法访问目标网站的目的。
DoS
DoS(Denial of Service)攻击是利用TCP/IP协议中的弱点或者系统中的漏洞,对目标发起攻击,使得提供服务资源的目标主机出现错误或资源耗尽,从而让目标主机停止提供服务或资源访问的一种攻击手段。
在目标系统或网络实施的安全措施很完善的时候,攻击者可能会发起DoS攻击。
目前,从所有网络攻击的方法和效果来看,DoS攻击是一种直接而又有效的攻击方式。
DDoS
分布式拒绝服务攻击是拒绝服务攻击的一种演变。
攻击者控制多台机器同时向一个目标主机或网络发起攻击,导致目标主机不能提供正常的服务或网络瘫痪。
分布式拒绝服务攻击使防御的难度加大,源于被攻击者在一定时间内收到的大量数据包不只是从一台主机发送来的,同时,由于攻击来自于范围广泛的IP 地址,而且来自每台主机的少量数据包有可能被入侵检测系统忽略,所以使检测和防范变得愈加困难。
特点:
1、攻击来自于众多来源,发出不计其数的IP数据包。
2、攻击的众多来源来自不同的地理位置。
3、会过渡地利用网络资源
4、拒绝合法用户访问在线资源。
5、洪水般的攻击包堵塞住企业与互联网的全部连接。
6、终端客户的内部设备都不能有效抵御这种攻击。
LAND攻击
SYN Flood
特点:
1、SYN_RECV状态
2、半开连接队列
◼ 遍历,消耗CPU和内存
◼ SYN|ACK 重试
◼ SYN Timeout:30秒~2分钟
3、无暇理睬正常的连接请求—拒绝服务
UDP Flood
特点:
1、大量UDP冲击服务器
2、目标主机带宽消耗
3、UDP Flood流量不仅仅影响服务器,还会对整个传输链路造成阻塞
4、对于需要维持会话表的网络设备,比如防火墙、IPS、负载均衡器等具备非常严重的杀伤力
ICMP Flood
特点
1、针对同一目标的ICMP包在一侧大量出现
2、内容和大小都比较固定
Smurf攻击
CC Proxy
CC:Challenge Collapsar
特点:
1、利用代理服务器向受害者发起大量HTTP Get请求
2、主要请求动态页面,涉及到数据库访问操作
3、数据库负载以及数据库连接池负载极高,无法响应正常请求
分布式反射拒绝服务攻击(DRDDoS)
借助现网百万级甚至千万级开放服务器的反射及放大作用,以极小的攻击资源轻松形成几百G甚至上T的攻击带宽
攻击态势
1、T级攻击时代到来,超500Gbps攻击异常活跃
2、攻击包速率呈大幅上升趋势,防御成本明显提升
超500Gbps攻击:2018年94次,2019年1468次;全年平均每天发生4
次超500Gbps攻击
3、攻击手法多样,威胁范围扩大
多种攻击混合
多种新型UDP反射被挖掘
4、攻击具有很强的持久性特点,受攻击IP会持续遭受攻击
5、恶意竞争依然是主要攻击动机
6、攻击资源具有明显的共享性
攻击服务化
同一攻击手法会在不同地域数据中心交替出现
防范
开源
BGP(Border Gateway Protocol,边界网关协议)
CDN(Content Delivery Network,内容分发网络)
限流
过滤限速
流量识别
流量清洗
完全抵挡住分布式拒绝服务攻击比较困难,可以应用各种安全和保护策略来
尽量减少因受到攻击所造成的损失:
得到ISP的协助和合作
分布式拒绝服务攻击主要是耗用带宽,如果单凭自己管理网络是无法
对付这些攻击的。与ISP协商,确保对方同意帮助实施正确的路由访问
控制策略以保护带宽和内部网络
优化路由和网络结构
例如,为了防止SYN flood攻击,应设置TCP监听功能。另外,禁止网
络不用的UDP和ICMP包通过,尤其是不应该允许出站ICMP“不可到达”
的消息
对所有可能成为目标的主机都进行优化,禁止所有不必要的服务
例如,使用多IP地址技术
正在遭到攻击时,必须立刻采取对应策略
尽可能迅速地阻止攻击数据包,如果发现这些数据包来自某些ISP时应尽
快和他们取得联系
系统管理员应该经常检查服务器的配置和安全问题,及时更新最新的软件版本,只运行必要的服务
安装防火墙,禁止访问不该访问的服务端口,过滤不正常的畸形数据包,使用NAT隐藏内部网络结构
安装入侵检测系统,检测拒绝服务攻击行为
防御系统
抗拒绝服务系统基本功能
流量型攻击防护
作为网络边界的第一道闸门,对各种危害网络的流量型攻击有效过滤
应用层协议和端口攻击防护
对于应用层的各种协议端口进行控制和保护,如:FTP、POP3、SMTP、SSH
特殊应用的防护
多种针对特殊应用的攻击防护模块,如:WEB防护模块,DNS防护模块,语音聊天室防护模块,游戏防护模块
流量控制
基于三层的流量控制,对于进出流量进行合理分配
数据包规则过滤
自定义数据包过滤规则,包括数据包内端口,协议、标志位、关键字
数据包捕获功能
可对进出数据包进行实时捕获
5.9 APT
基本概念
APT,Advanced Persistent Threat,高级持续性渗透攻击
攻击阶段
情报收集
黑客透过一些公开的数据源 (LinkedIn、Facebook等等) 搜寻和锁定特定人员并加以研究,然后开发出客制化攻击
这个阶段是黑客信息收集阶段,其可以通过搜索引擎,配合诸如爬网系统,在网上搜索需要的信息,并通过过滤方式筛选自己所需要的信息
信息的来源很多,包括社交网站,博客,公司网站,甚至通过一些渠道购买相关信息(如公司通讯录等)
突破防线
黑客在确定好攻击目标后,将会通过各种方式来试图突破攻击目标的防线
常见的渗透突破的方法包括:电子邮件;即时通信;网站挂马;通过社会工程学手段欺骗企业内部员工下载或执行包含零日漏洞的恶意软件(一般安全软件还无法检测),软件运行之后即建立了后门,等待黑客下一步操作
幕后操纵通讯
幕后操纵 (Command & Control,C&C) 服务器是黑客用来操纵受感染计算机与恶意软件以对网络发动后续攻击的外部主机
黑客在感染或控制一定数量的计算机之后,为了保证程序能够不被安全软件检测和查杀,会建立命令,控制及更新服务器(C&C服务器),对自身的恶意软件进行版本升级,以达到免
杀效果
一旦时机成熟,还可以通过这些服务器下达指令
采用http/https标准协议来建立沟通,突破防火墙等安全设备
C&C服务器会采用动态迁移方式来规避企业的封锁
黑客会定期对程序进行检查,确认是否免杀,只有当程序被安全软件检测到时,才会进行版本更新,降低被IDS/IPS发现的概率;
横向移动
黑客入侵之后,会尝试通过各种手段进一步入侵企业内部的其他计算机,同时尽量提高自己的权限
黑客入侵主要利用系统漏洞方式进行
企业在部署漏洞防御补丁过程存在时差,甚至部分系统由于稳定性考虑,无法部署相关漏洞补丁
在入侵过程中可能会留下一些审计报错信息,但是这些信息一般会被忽略
资产/资料发掘
在入侵进行到一定程度后,黑客就可以接触到一些敏感信息,可通过C&C服务器下发资料发掘指令
采用端口扫描方式获取有价值的服务器或设备
通过列表命令,获取计算机上的文档列表或程列表
防御建议
1、针对情报收集
加强员工安全意识以及建议相应信息防护规章制度
2、针对首次突破防线
针对黑客的首次突破,可采用以下方式进行防御寻找遭到渗透的迹象
(1)寻到遭到渗透的对象
多数 APT 攻击都是使用鱼叉式网络钓鱼。因此,检查看看是否有遭到窜改和注入恶意代码的电子邮件附件。检查一下这些邮件,就能看出黑客是否正尝试进行渗透。可通过安全邮件网关来对外来邮件进行检查和识别
(2)安全弱点评估
发掘并修补对外网站应用程序和服务的漏洞
(3)内部教育
教育员工有关鱼叉式网络钓鱼的攻击手法,要员工小心可疑电子邮件、小心电子邮件内随附的链接与附件档案
3、针对幕后操纵通讯
针对存在的幕后操纵通讯,可采用以下措施进行检测和防御
(1)、监测网络流量是否出现幕后操纵通讯
建置一些可掌握恶意软件与幕后操纵服务器通讯的网络安全控管措施,有助于企业发掘遭到入侵的主机,并且切断这类通讯
(2)、识别判断攻击者幕后操纵服务器的通讯
企业可在沙盒隔离环境 (sandbox) 当中分析内嵌恶意软件的文件 (如鱼叉式网络钓鱼电子邮件的附件) 来判断幕后操纵服务器的 IP 地址和网域
(3)、更新网关安全政策拦截幕后通讯
一旦找出幕后操纵服务器的网域和 IP 地址,就可更新网关的安全政策来拦截后续的幕后操纵通讯
4、横向移动阶段
可采取以下措施进行防护
(1)、漏洞防护
漏洞防护是一种主机式技术,能侦测任何针对主机漏洞的攻击并加以拦截,进而保护未修补的主机。这类解决方案可保护未套用修补程序的主机,防止已知和零时差 (zero-day) 漏洞攻击
(2)、档案/系统一致性监控
黑客有可能留下一些蛛丝马迹,如果系统安装了能够侦测可疑与异常系统与组态变更的一致性监控软件,黑客有可能也会触动一些警示
(3)、限制并监控使用者存取与权限的使用
黑客常用的一种手法是,搜集技术支持系统管理员的登入信息,因为他们经常要权限较高的账号来登入出现问题的端点系统/主机。将系统管理员的访问权限与关键系统/数据的访问权限分开,能有效预防黑客透过端点上的键盘侧录程序搜集高权限的账号登入信息
(4)、运用安全信息与事件管理 (Security Information & Events Management,简称SIEM) 工具来辅助记录文件 / 事件分析
对网络上的事件进行交叉关联分析,有助于企业发掘潜在的黑客渗透与横向移动行为。单一事件或个案本身虽不具太大意义。但如果数量一多,就可能是问题的征兆
5、针对资产/资料发掘
针对APT对内部资料进行挖掘和探测的防御,可采用以下防护措施
运用安全信息与事件管理 (SIEM) 工具来辅助记录文件/事件分析
漏洞防护
档案/系统一致性监控
黑客有可能留下一些蛛丝马迹,如果系统安装了能够侦测可疑与异常系统与组态变更的一致性监控软件,黑客有可能也会触动一些警示
6、针对资料外传
(1)加密和资料外泄防护 (DLP)
将关键、敏感、机密的数据加密,是降低数据外泄风险的一种方法DLP 可提供一层额外的防护来防止数据外泄。然而,这类工具通常很复杂,而且有些部署条件,例如:数据要分类,要定义政策和规则
(2)事件管理制度建立
制定一套事件管理计划来处理 APT 相关攻击针对APT 的每一个攻击阶段清楚定义并实行因应计划,包括:评估、监控与矫正
第六章 防火墙技术
6.1 网络边界
网络边界概述
在《信息保障技术框架》(IATF)定义了区域边界是信息系统的一个门户(包括逻辑上、物理上的),是区域与外部网络发生信息交换的部分。
从信息系统的安全保护的角度来看,区域边界是一个控制点。
区域边界确保进入的信息不会影响区域内资源的安全,而离开的信息也是经过合法授权的。
连接不同安全级别的网络之间的边界就称为网络边界。
企业网络的常见边界包括:
企业内部网络与外部网络之间
企业部门之间
重要部门与其它部门之间
分公司与分公司(或总部)之间
等保2.0标准中要求边界防护:
应保证跨越边界的访问和数据流通过边界设备提供的受控接口进行通信;
应能够对非授权设备私自联到内部网络的行为进行检查或限制;
应能够对内部用户非授权联到外部网络的行为进行检查或限制;
应限制无线网络的使用,保证无线网络通过受控的边界设备接入内部网络。
边界防御
防火墙
1、防火墙是不同网络区域互联时最初的安全网关,其作用就是建立网络的“城门”,控制进入网络的必经通道。
2、防火墙的主要缺点是不能对应用层进行识别,无法防范隐藏在应用层中的病毒和恶意程序。
多重安全网关
1、多重安全网关,也称统一威胁管理(Unified Threat Management,UTM)网关。
2、UTM网关将多种安全特性集成于一个硬件设备里,构成一个标准的统一管理平台,提供网络防火墙、网络入侵检测/防御和防病毒等一项或多项安全功能。
3、UTM网关能够防御的攻击比防火墙多。但是,UTM安全设备在性能、稳定性、安全性等方面普遍弱于单一功能的安全设备。
网闸
内网与外网不直接建立连接。
网闸在两个不同的安全域之间,通过协议转换的手段,以信息摆渡的方式实现数据交换,且只有被系统明确要求传输的信息才可以通过。
安全隔离网闸从物理上隔离、阻断了具有潜在攻击可能的一切连接。
安全隔离网闸难以保证数据传输的实时性和传输效率。无法防御某些应用层攻击。
网闸产品
例如:天融信网闸、启明星辰网闸等。
虚拟专用网
虚拟专用网,(Virtual Private Network,VPN)提供一种在公共网络上建立专用数据通道的技术。
虚拟专用网是对企业内部网的扩展,通过它可以帮助分支机构、远程用户与企业内部网建立可信的安全连接,实现网络安全保密通信。
6.2 防火墙概述
防火墙定义
一种高级访问控制设备,是指设置在不同网络(如可信任的企业内部网和不可信的公共网)或网络安全域之间的一系列部件的组合,用于加强网络之间访问控制。
它是不同网络或网络安全域之间信息的唯一出入口,能按照一定的安全策略(允许、拒绝、监测)控制出入网络的信息流,达到保护内部网络的信息不受外部非授权用户的访问和过滤不良信息的目的。
防火墙通常具有以下特性:
1、所有内部网络和外部网络之间传输的数据都必须通过防火墙;
2、只有被授权的合法数据,即防火墙系统中安全策略允许的数据才能通过防火墙;
3、防火墙本身具有良好的安全性;
4、人机界面良好,用户配置使用方便,易于管理。
串口:可对防火墙进行初始化的配置
防火墙种类
防火墙的执行准则
防火墙在执行时一般依据以下两个基本准则。
一切未被允许的就是禁止的。基于该准则,防火墙封锁所有信息流,然后对用户需要的服务逐项开放。例如,Windows防火墙的默认入站规则。
一切未被禁止的就是允许的。基于该准则,防火墙转发所有信息流,然后逐项屏蔽可能有害的服务。例如,Windows防火墙的默认出站规则。
防火墙的局限性
SQL注入攻击防不住
1、防火墙无法防范不通过防火墙的攻击。
2、防火墙很难防范来自内部的恶意用户和缺乏安全意识的用户带来的安全威胁。
3、防火墙不能防止传送已感染病毒的软件或文件。
4、防火墙无法防范数据驱动型的攻击。
5、防火墙对用户不完全透明,可能带来传输延迟、瓶颈及单点失效等不良影响。
6.3 防火墙关键技术
包过滤技术
1、工作在网络层,对网络层的数据包进行分析和过滤,关注的是网络层和传输层的保护
2、包过滤可以控制站点与站点、站点与网络、网络与网络之间的相互访问,但无法根据传输数据的内容进行过滤
3、过滤依据防火墙系统内设置的过滤规则表,只有满足过滤规则的数据包才被转发至相应的目的地址,其余的数据包则被丢弃
包过滤模块可以检查数据包中的所有信息,一般是网络层的IP头和TCP、UDP、ICMP头中的数据
包过滤模块可以检查数据包中的所有信息,一般是网络层的IP头和TCP、UDP、ICMP头中的数据
优点
简单快速
对用户透明,不需安装特定的软件
很多路由器可以用于进行数据包过滤,因此无须专门添加设备
缺点
对信息处理能力有限,只能访问包头中的部分信息,不能理解通信的上下文
过滤规则增多时维护困难,规则之间的包含冲突关系复杂,配置难于检验
对于采用动态分配端口的服务很难进行有效的过滤
状态检测技术
1、主要工作在网络层和传输层,也称为“动态包过滤技术”
2、基于连接的状态检测机制,将属于同一个连接的所有包作为一个整体的数据流看待,建立连接状态表,并对该表进行维护,通过规则表和状态表的共同配合,动态地决定数据包是否能够通过
3、根据连接的状态进行检查,当一个初始数据的报文到达防火墙时,首先检查该报文是否符合安全过滤规则的规定
如果符合,将这条连接记录下来并且添加允许这条连接通过的过滤规则,之后向目的地址转发报文。以后凡是属于这个连接的数据防火墙一律通过(双向的)。在通信结束后,防火墙将自动删除关于这条连接的过滤规则
优点
操作简单
执行效率高
安全性高于静态包过滤
缺点
不能对应用层数据进行过滤
代理服务器技术
1、工作在应用层,也称为“应用层代理技术”
2、运行在防火墙主机上的专门的应用程序或服务器程序,这些程序根据安全策略处理用户对网络服务的请求
3、位于内部网络和外部网络之间,处理其间的通信以替代相互直接的通信
4、当客户机需要使用服务器上的数据时,首先将数据请求发给代理服务器,代理服务器检验数据合法性。如果合法,代理服务器再根据这一请求向服务器索取数据,然后再由代理服务器将数据传输给客户机
5、从客户机来看,代理服务器相当于一台真正的服务器;从服务器来看,代理服务器仅是一台客户机
6、代理服务器本身由一组以特定应用分类的代理服务器和身份验证服务器组成
每个代理服务器本身具有一定的入侵免疫和审计功能,可与身份验证服务器一起完成访问控制和操作级的控制
例如,某个用户只能用 FTP 接收数据而不能发送数据
优点
将内外网完全隔离,安全性好
可进行用户身份认证
可分析数据包内部的应用命令
缺点
对于每一种应用服务都必须为其设计一个代理软件模块来进行安全控制,而每一种网络应用服务的安全问题各不相同,难以分析,因此也难以实现
第七章 入侵检测技术
7.1 入侵检测概述
防火墙的局限
1、防火墙不能防止通向站点的后门
2、防火墙一般不提供对内部的保护
3、防火墙无法防范数据驱动型的攻击
4、防火墙不能防止用户由Internet上下载被病毒感染的计算机程序或者将该类程序附在电子邮件上传输
入侵检测系统的作用
形象地说,IDS就是智能的监控设备,它能够捕获并记录网络上的所有数据,分析并提炼出可疑的、异常的内容,尤其是它能够洞察一些巧妙的伪装,抓住内容的实质。此外,它还能够对入侵行为自动地进行响应:报警、阻断连接、关闭道路(与防火墙联动)
什么是入侵检测
1、入侵检测
(1)指对入侵行为的发觉
(2)通过在计算机网络或计算机系统中的若干关键点收集信息并对收集到的信息进行分析,从而判断网络或系统中是否有违反安全策略的行为和被攻击的迹
2、Intrusion Detection System,IDS
完成入侵检测功能的软件、硬件及其组合
试图检测、识别和隔离“入侵”企图或计算机的不恰当未授权使用
IDS是网络管理员经验积累的一种体现,极大地减轻了网络管理员的负担,降低了对网络管理员的技术要求,提高了网络安全管理的效率和准确性
3、需要解决三方面的问题
(1)采集网络和系统中的数据,提取描述网络和系统行为的特征(数据采集)
系统和网络的日志文件、目录和文件中的异常改变、程序执行中的异常行为、物理形式的入侵信息
(2)判断网络和系统行为的性质(分析检测)
模式匹配、统计分析、完整性分析
(3)对入侵行为提供响应手段(响应)
主动响应、被动响应
入侵检测系统框架
7.2 入侵检测系统分类
按数据来源分
基于主机的入侵检测系统(HIDS)
基于网络的入侵检测系统(NIDS)
基于主机的入侵检测系统
1、运行于被检测的主机之上,通过查询、监听当前系统的各种资源的使用运行状态,发现系统资源被非法使用和修改的事件,进行上报和处理
2、监测的资源主要包括:文件、进程、系统日志、注册表等
3、实现方式:通过主机代理(agent)来实现,代理是运行在目标主机上的小的可执行程序,它们与控制台(console)通信。
基于网络的入侵检测系统
通过在网络上对通信数据的侦听采集数据,分析可疑现象
不需要主机提供严格的审计,对主机资源消耗少,并可以提供对网络通用的保护而无需顾及异构主机的不同架构
实现方式:往往将一台机器(网络传感器)的一个网卡设于混杂模式,监听所有本网段内的数据包并进行事件收集和分析、执行响应策略以及与控制台通信
NIDS和HIDS的比较
NIDS的主要优点有
成本低
攻击者转移证据很困难
实时检测和应答
能够检测未成功的攻击企图
操作系统独立
HIDS的主要优势有
非常适用于加密和交换环境
实时检测和应答
不需要额外的硬件
深度分析
对网络流量不敏感
7.3 入侵检测技术
入侵检测技术
根据识别入侵行为所采用的的技术,分为
误用检测(Misuse Detection)——基于知识(特征)的检测
1、收集非正常操作(入侵)行为的特征,建立误用模式特征库
2、后续检测中,将收集到的数据与特征库中的特征代码进行比较,得出是否有入侵行为
异常检测(Anomaly Detection) ——基于行为的检测
1、总结正常操作应该具有的特征,得出正常操作的模型
2、对后续的操作进行监视,一旦发现偏离正常操作模式,即进行报警
误用检测技术
1、 前提:所有的入侵行为都有可被检测到的特征
2、攻击特征库: 当监测的用户或系统行为与库中的记录相匹配时,系统就认为这种行为是入侵
3、过程
监控 ➔ 特征提取 ➔ 匹配 ➔ 判定
4、指标:误报低、漏报高
5、只能检测已知的攻击。
误用检测实例
入侵检测引擎捕获到一个协议数据包,提交给协议分析模块,发现这是一个IP->TCP->Http的协议数据,将其提交给HTTP协议的数据分析模块。
1、Http请求如下
Get /scripts/..%c1%9c../winnt/system32/cmd.exe?/c+dir+C:
2、入侵检测系统存在如下特征条件
alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS 80
(msg:"WEB-IIS scripts access"; flow:to_server; urlcontent:"/scripts/";
nocase; classtype:web-application-activity;)
3、匹配成功,表明这是一个攻击数据包。
4、数据分析模块很快通知引擎管理模块,引擎管理模块根据用户的配置作出相应的策略,比如会立即发出Alert: WEB-IIS scripts access ,表明黑客试图通过IIS的unicode漏洞进行网络入侵。
异常检测技术
如果正常的用户行为与入侵特征匹配,则系统会发生误报
如果没有特征能与某种新的攻击行为匹配,则系统会发生漏报
1、前提:入侵是异常活动的子集
2、用户轮廓(Profile): 通常定义为各种行为参数及其阀值的集合,用于描述正常行为范围;检查实际用户行为和系统的运行情况是否偏离预设的门限?
3、过程: 监控 ➔ 量化 ➔ 比较 ➔ 判定
↓
修正
4、指标:漏报率低,误报率高
5、可以检测未知的攻击
异常检测实例
实例一:暴力攻击Mail服务
通过提交上千次相同命令,来实施对POP3服务器的拒绝服务攻击.
入侵检测系统发现该行为发生次数超过预定义阈值,认为是异常事件。
实例二:暴力破解FTP账号密码
黑客得知FTP Server存在用户名admin
使用字典程序对admin用户暴力猜密码
入侵检测系统会发现在很短的时间内会出现大量如下数据包:user ** pass ***,此时入侵检测系统就会发出Alert,表明FTP服务器正在遭受暴力破解的攻击。
7.4 入侵检测系统的部署
思考题
可能是什么攻击?
源地址一直在变,SYN攻击。
利用什么服务?
使用哪种入侵检测技术?为什么?
异常检测。.0地址,可能是一个子网地址。
某局域网如图所示,其中:1号设备是路由器,4号设备是交换机,5和6号设备是DMZ区服务器,7、8和9号设备是个人计算机。请回答下列问题:
(1)2号和3号设备中,哪个设备是防火墙?哪个设备是交换机?
2号是防火墙,3号是交换机(防火墙要放在网络边界)
(2)若可以选择两个位置部署网络入侵检测系统(NIDS),请指出两套NIDS应该部署的位置(在图中标明),并说明这两个位置NIDS的作用
入侵检测系统无法直接阻断通信,性能要求高,内存等,如果直接放在外内连接处,内外通信的性能受影响,延迟大。并行结构下,如果崩溃了也不会影响通信过程。
放在3、4号设备,两边的攻击都可以被观测到。
第八章 网络安全协议
8.1 概述
1.OSI模型和TCP/IP协议模型
数据包的封装
2.TCP/IP协议的安全性分析
TCP/IP脆弱性
TCP/IP协议没有验证通信双方真实性的能力,缺乏有效的认证机制。
TCP/IP协议没有能力保护网上数据的隐私性,缺乏保密机制。
TCP/IP协议自身设计的某些细节和实现中的一些安全漏洞,容易引发各种安全攻击。
针对TCP/IP的攻击
窃取:TCP/IP协议数据流采用明文传输,因此数据信息很容易被在线窃听、篡改和伪造。
欺骗:欺骗(Spoofing)可发生在IP系统的所有层次上,物理层、数据链路层、IP层、传输层及应用层都容易受到影响。
IP地址欺骗
针对IP协议的攻击——源路由选项攻击
针对ARP协议的攻击——ARP欺骗攻击
针对TCP 协议的攻击——TCP序列号欺骗攻击
针对DNS协议的攻击——DNS欺骗攻击
认证攻击:TCP/IP协议只能以IP地址进行鉴别,而不能对节点上的用户进行有效的身份认证,因此服务器无法鉴别登录用户的身份有效性。
3. TCP/IP体系结构中各层的安全协议(图可能考)
网络安全协议是基于密码学的通信协议,通过信息的安全交换来实现某种安全目的所共同约定的逻辑操作规则。
安全协议的研究目标都与安全性有关,例如,认证主体的身份;在主体之间分配会话密钥;实现机密性、完整性、不可否认性、可用性等。
网络接口层
链路级安全
例如,大型网络通信中心之间可以采取这类技术保护它们之间的数据传输
PPTP(Point to Point Tunneling Protocol,点到点隧道协议)。在公用TCP/IP网络上使用PPP(Point to Point Protocol,点对点协议)生成和维护隧道。典型的PPP应用是远程网络连接。PPTP可以实现认证和加密。
二层隧道协议(L2TP)。目前,L2TP通常被应用在虚拟专用网的实现中。
网络层
网络层安全协议是在网络层对数据进行加密和认证的协议。
网络层的安全协议可用来在Internet上建立安全的IP通道和虚拟专用网。
IPSec协议
传输层
传输层安全协议在传输层上提供实现保密、认证和完整性。
TLS/SSL协议
应用层
应用层安全协议为不同网络应用提供认证、机密性、完整性等方面的安全保护。
SSH、SHTTP、SET、Kerberos、PGP等安全协议。
4.各层网络安全协议
8.2 IPSec
1. IPSec简介
IPSec功能
IPSec在网络层提供安全服务。
IPSec提供了数据机密性、完整性、认证和抗重放攻击等安全服务。
IPSec的功能:保证数据来源可靠、保证数据完整性、保证数据机密性、作为隧道协议实现VPN通信
IPSec简介
2.AH、ESP和IKE协议
AH协议
AH协议,Authentication Header,认证头协议
AH协议为IP数据包提供如下三种服务:
(1)数据完整性
通过哈希函数产生的校验值来保证
(2)数据源认证
通过在计算MAC值时加入一个共享密钥来实现(HMAC)
(3)防重放攻击
AH报头中的序列号用于防止重放攻击
Next Header: 8比特,认证头下一个报头(负载的类型)的类型
Payload Length:8比特,AH的长度(32位为单位),默认值为4
SPI(安全参数索引):32比特,用来标识SA
Sequence Number:32比特,用来避免重放攻击
Authentication Data:可变长度的域
ESP协议
ESP协议,Encapsulating Security Payload,封装安全负载协议
ESP协议为IP数据包提供如下安全服务
数据源认证
数据完整性
数据机密性
防御报文重发
AH与ESP协议比较
ESP协议功能更为强大,提供AH不具备的机密性服务。
都提供认证服务时,ESP协议只认证ESP头之后的信息,覆盖范围较AH窄;而AH还要对外部IP包头各部分进行认证。
安全特性 | AH | ESP |
---|---|---|
协议号 | 51 | 50 |
数据源验证 | 支持 | 支持 |
数据加解密 | 不支持 | 支持 |
抗重放服务 | 支持 | 支持 |
NAT-T(NAT穿越) | 不支持 | 支持 |
IKE协议
IPSec协议中的密钥管理包括密钥的确定和分发。
两种方式:
手工的:小型系统、管理员配置完成
自动的:大型系统,为SA创建密钥,由IKE协议支持
IKE协议,Internet Key Exchange,互联网密钥交换协议
应用层协议,基于UDP,使用端口500
采用Internet安全关联和密钥管理协议(ISAKMP,Internet Security Association and Key Management Protocol)定义的框架,同时借鉴了Oakley密钥确定协议(Oakley Key Determination Protocal)的一部分。
IKE作用:在IPSec通信双方之间,建立起共享安全参数及验证过的密钥(建立SA)。
IKE代表IPSec对SA进行协商,并对SADB数据库进行填充。
3.IPSec的工作模式
传输模式(transport mode)
传输模式主要用于对上层协议的保护,即将其保护推广到IP数据报的负载。
典型地用于主机到主机间的VPN通信。
隧道模式(tunnel mode)
隧道模式用于对整个IP数据报的保护,它是将一个数据报用一个新的数据报包装,即给原数据报加一个新的报头。
用于安全网关与安全网关间,或者远程主机到安全网关之间建立安全信道。
IPSec传输模式
IPSec隧道模式
传输模式和隧道模式的比较
传输模式,仅适用于主机实现
即使内网中的其它用户,也不能理解或篡改IPSec通信
各终端主机分担了IPSec处理负荷,避免了IPSec处理中的瓶颈问
不能实现对端用户的透明服务
端用户获得传输模式的安全服务是以内存、处理器时间等方面的代价
隧道模式,适用于路由器、安全网关实现
子网内部的各主机可借助于安全网关得到透明的安全服务
隐藏子网的拓扑结构
子网内可使用私有IP地址
IPSec集中在路由器或网关,容易形成通信的瓶颈
内部的诸多安全问题(如篡改)不可控
8.3 TLS/SSL
SSL/TLS-概述
1、SSL,安全套接字层,Secure Socket Layer
2、工作于可靠的传输层协议和应用层协议之间
3、主要用于支持HTTP服务(端口号443)
4、也可支持任何应用层协议,如SMTP(端口号465)、POP(端口号995)
5、提供可靠的端到端安全服务
机密性——3DES、IDEA等对称加密算法
完整性——HMAC
身份认证——X.509 v3 数字证书
6、由协商过程和通信过程组成
协商过程用于确定加密机制和算法、交换会话密钥、服务器认证以及可选的客户端认证
通信过程秘密传送上层数据
7、通信步骤
(1)建立TCP“连接”
(2)SSL握手,建立SSL“会话”(Session)
协商、认证身份
(3)通过“会话”安全传送数据包
机密性、完整性
(4)释放连接,“会话”过期
SSL/TLS协议族
TLS握手协议
TLS握手协议使得服务器和客户能相互认证对方的身份、协商加密和
MAC算法以及用来保护在TLS记录中应用协议数据的会话密钥
客户端和服务器只要建立连接,就必须进行握手过程
握手协议可分为4个阶段:
(1)建立安全能力,包括协议版本、会话ID、密码算法、压缩方法和初始随机数等
(2)服务器认证和密钥交换
(3)客户端认证和密钥交换
(4)结束,这个阶段完成安全连接的建立
握手过程
Client_hello:
client产生的随机数
客户端使用的ssl版本号、
支持的密码套件信息
支持的压缩方法列表等
客户端发送client hello
服务器发送server hello
Server_hello:
从客户端列表中选出密码套件和压缩算法
服务器端产生的随机数
服务器端使用的ssl版本号等
Certificate:
由可信CA签发的X.509证书,包括服务器的信息和公钥,客户端可以使用这个公钥向服务器发送加密信息
Server_key_exchange
服务器端根据需要发送计算,预主密钥的随机数及相应的签名等信息
certificate_request:
客户端证书是可选的
Server_hello_done
完成通信,等待客户端应答
服务器发送证书链、密钥协商信息和server hello done消息
126服务器整数信息
为126颁发证书的中级CA证书信息
服务器协商密钥信息
服务器发送server hello done
客户端发送协商密钥信息
Certificate:
客户的X.509证书。
client_key_exchange :
随机数,用于会话密钥的建立
certificate_verify:
若用户提供了证书,将用私钥对信息签名
Change_cipher_spec
表示将使用选定的密码算法和参数处理将来的通信
但是客户端不需要将密钥告诉服务器,因为服务器可使用前面的随机数和算法计算出同样的密钥
Finished:
使用算出的会话密钥对发送过的消息的摘要进行处理
客户端发送change cipher spec消息
客户端发送finish消息
客户端发送密文应用数据
服务器发送change cipher spec消息
Change_cipher_spec:
向客户端显示它也将使用与客户端相同的参数,加密将来所有的通信
Finished:
使用会话密钥加密发送过的消息的摘要
服务器发送finish消息
服务器发送加密的应用数据
SSL修改密文规约协议
Change Cipher Spec Protocol
用来将挂起状态转至当前状态,将这一连接将要使用的密码组件修改为刚刚协商好的
共1个字节,取值固定为1
SSL记录协议
面向连接的可靠传输协议
所有发送和接收数据的封装都靠记录协议
提供的功能:
保密性:利用握手协议协商的共享密钥对数据进行加密
完整性:利用握手协议协商的MAC密钥生成数据的校验码
执行过程
SSL告警协议
Alert Protocol,当握手过程或数据加密等操作出错误或发生异常情况时,向对方发出警告或中止当前连接
共2个字节
第一个字节的取值表示警告的类型:
1:warning,警告型
2:fatal,致命型
SSL将立即关闭本连接,本会话的其它连接可以继续,但不能创建新连接
第二个字节的取值表示警告的具体内容:
具体警告编码,如:
40,Handshake_failure(无法协调密钥参数)
45,Certificate_expired(证书已过期)
设计一个安全协议需要考虑的
1、协议基本要素:语法、语义、时序
2、安全服务需求:机密性、完整性、认证(数据来源认证和实体身份认证)等。
3、结合实际应用需求考虑
不同应用的需求上的差异可能导致协议设计的不同。
例如,SSL协议流程中必须进行服务器认证,而客户端认证是可选;而在IPSec中,必须实现通信双方的相互认证。
4、应用背景的差异也会影响算法协商、认证和密钥生成方式等。
例如,在保护Web安全中,一台服务器面对多个客户端,无法为服务器和每个客户端之间都预设密钥,因此基于预共享密钥的认证方式不适用。
5、在哪个协议栈层实现
在各个协议层都可以实现安全,根据需求选择。
6、协议本身的安全性,抗攻击能力
8.4 VPN
VPN概述-通信线路上存在的数据安全风险
在端到端的数据通路上随处都有可能发生数据的泄漏,包括:
拨入段链路上
ISP接入设备上
在因特网上
在安全网关上
在企业内部网上
拨入段数据泄露风险
- 拨入段用户数据以明文方式直接传递到ISP,攻击者可以很容易的在拨入链路上实施监听
- ISP很容易检查用户的数据
- 可以通过链路加密来防止被动的监听,但无法防范恶意窃取数据的ISP。
因特网上数据泄露风险
- 数据在到达终点之前要经过许多路由器,明文传输的报文很容易在路由器上被查看和修改。
- 监听者可以在其中任一段链路上监听数据。
- 逐段加密不能防范在路由器上查看报文,因为路由器需要解密报文选择路由信息,然后再重新加密发送。
- 恶意的ISP可以修改通道的终点到一台假冒的网关
安全网关中数据泄漏的风险
- 数据在安全网关中是明文的,因而网关管理员可以直接查看机密数据。
- 网关本身可能会受到攻击,一旦被攻破,流经安全网关的数据将面临
风险
内部网中数据泄漏的风险
- 内部网中可能存在不信任的主机、路由器等。
- 内部员工可以监听、篡改、重定向企业内部网的数据报文。
- 来自企业网内部员工的其他攻击方式。
如何有效保护通信
- 需要采用某种技术有效的
保护通信系统 - 使用基于密码技术的VPN
- VPN技术采用认证、访问控制、保密性、完整性等措施,防止信息被泄露、篡改和假冒等。
(防窃听、防业务流分析、防篡改、防假冒)
VPN
基本概念
VPN:Visual Private Network
Private:利用公共网络基础设施,通过“隧道”技术等手段达到类似
私有专网的数据安全传输
VPN并不是某个公司专有的封闭线路或者是租用某个网络服务商提供的封闭线路,但同时VPN又具有专线的数据传输功能,因为VPN能够像专线一样在公共网络上处理自己公司的信息
优点
1、成本低
企业不必租用长途专线建设专网,不必大量的网络维护人员和设备投资
2、易扩展
网络路由设备配置简单,无需增加太多的设备,省时省钱
3、完全的主动控制权
VPN上的设施和服务完全掌握在企业手中
VPN工作原理
VPN需要在两台直接与公网连接的设备之间建立一条专用安全通道。
采用隧道技术(Tunnelling) ,对数据进行封装,在公共网络上
建立一条数据通道(隧道),让数据包通过这条隧道传输。
隧道,实质上是一种封装,是将一种协议封装在另一种协议中
传输,从而实现内部网络协议对公用网络的透明性。
隧道在VPN中的作用
负责隧道的建立、保持和拆除
对数据进行封装,传输,解封。
提供数据完整性和机密性等安全服务。
主要类型
IPSec VPN
SSL VPN
PPTP VPN
L2TP VPN
MPLS VPN
IPSec VPN
部署
用VPN连接分支机构
用VPN连接合作伙伴
用VPN连接远程用户
SSL VPN
SSL VPN的实现方式就是在防火墙后面放置一个SSL代理服务器
用户与服务器之间的安全通信建立过程:
SSL服务器对用户进行身份验证
SSL代理服务器提供用户与各种不同应用服务器之间的连接
保护应用(应用服务器)
SSL VPN 与 IPSec VPN 比较
1、TLS VPN有很多优点,但并不能取代 IPSec VPN
2、IPSec VPN主要提供LAN-to-LAN的隧道安全连接
3、在为企业高级用户提供远程访问及为企业提供LAN-to-LAN隧道连接方面,IPSec 具有无可比拟的优势
4、IPSec VPN厂商开始研究让 IPSec VPN兼容TLS VPN,以增强
可用性。届时,IPSec VPN的扩展性将大大加强
隧道技术
VPN使用的隧道技术涉及三种数据格式:
用户数据包格式
封装格式
公用网传输格式
这三种格式分别对应三种协议:
乘客协议
隧道协议
传输协议
隧道可在网络的任一层实现。
隧道由隧道协议形成。
二层隧道协议
PPTP,Ponit-to-Point Tunneling Protocol,点对点隧道协议,RFC2637
L2F,Layer 2 Forwarding,第2层转发协议,RFC2341
L2TP,Layer 2 Tunneling Protocol,第2层隧道协议,RFC2661
MPLS,Multiprotocol Label Switching,多协议标记交换,RFC3031
三层隧道协议
IP in IP,
IPSec,Internet Protocol Security,Internet协议安全
GRE,Generic Routing Encapsulation,通用路由选择封装,RFC2784
高层隧道协议
SSL,Security Socket Layer,安全套接字层