信息安全技术复习
第1章 信息安全概述
信息安全属性
- 1、机密性
- 确保敏感或机密数据在传输和存储时不遭受
未授权
的浏览。
- 确保敏感或机密数据在传输和存储时不遭受
- 2、完整性
- 保障被传输、接收或存储的数据是
完整和未被篡改
的,在被篡改时能够发现篡改的事实或者篡改的位置。
- 保障被传输、接收或存储的数据是
- 3、可用性
- 即使在网络攻击、计算机病毒感染、系统崩溃、战争破坏、自然灾害等突发事件下,依然能够保障数据和服务的任何时候都
正常可用
。
- 即使在网络攻击、计算机病毒感染、系统崩溃、战争破坏、自然灾害等突发事件下,依然能够保障数据和服务的任何时候都
- 4、真实性
- 能够确保实体(如人、进程或系统)
身份
或信息
、信息来源
的真实性。
- 能够确保实体(如人、进程或系统)
- 5、不可否认性
- 保证信息系统操作者或信息的处理者
不能否认
其行为或处理结果。
- 保证信息系统操作者或信息的处理者
- 6、可控性
- 能够保证掌握和控制信息与信息系统基本情况,可对信息和信息系统的使用实施可靠的授权、审计、责任认定、传播源追踪和监管等控制。
安全攻击
- 主动攻击:更改数据流,或伪造假的数据流。
- 伪装:即冒名顶替。一般而言,伪装攻击的同时往往还伴随着其他形式的主动攻击;
- 重放:先被动地窃取通信数据,然后再有目的地重新发送;
- 篡改:即修改报文的内容。或者对截获的报文延迟、重新排序;
- 拒绝服务:拒绝服务阻止或占据对通信设施的正常使用或管理。针对特定目标或是某个网络;
- 被动攻击:对传输进行偷听与监视,获得传输信息。
- 报文分析:窃听和分析所传输的报文内容;
- 流量分析:分析通信主机的位置、通信的频繁程度、报文长度等信息;
安全服务
- 定义:由系统提供的对系统资源进行特定保护的处理或通信服务。
- 目的:对抗安全攻击
- 1、认证服务
- 最基本的安全服务,保证真实性。
- 认证可以分为:对等实体认证和数据源认证
- 对等实体认证:在开放系统的两个同层对等实体间建立连接和传输数据期间,为证实一个或多个连接实体的
身份
而提供的服务; - 数据源认证:对数据单元的
来源
提供认证,需要确认某个数据是由某个发送者发送的;
- 对等实体认证:在开放系统的两个同层对等实体间建立连接和传输数据期间,为证实一个或多个连接实体的
- 2、访问控制服务
- 访问控制用于防止对资源的未授权使用;
- 访问控制服务的目标:
- 通过进程对数据、不同进程或其他计算机资源的访问控制;
- 在一个安全域内的访问或跨越一个或多个安全域的访问控制;
- 按照其上下文进行的访问控制。如根据试图访问的时间、访问地点或访问路由器等因素的访问控制;
- 在访问期间对授权更改做出反应的访问控制;
- 3、数据保密性服务
- 保密性服务对信息提供保护,使得信息不泄露、不暴露给那些未授权的实体。
- 保密性可以分为以下四类:
- 连接保密:即对连接上的所有用户数据提供保密;
- 无连接保密:即对无连接的数据报的所有用户数据提供保密;
- 选择字段保密:即对一个协议数据单元中的用户数据的一些经选择的字段提供保密;
- 信息流安全:即对可能从观察信息流就能推导出的信息提供保密;
- 4、数据完整性服务
- 数据完整性保护数据在存储和传输中的完整性(不会发生更改、插入、删除或者重放)。
- 数据完整性有五种:
- 带恢复的连接完整性:对连接中的数据流进行验证,保证发送信息和接受信息的一致性,可进行补救与恢复;
- 不带恢复的连接完整性:同带恢复的连接完整性,只是不做补救恢复。
- 选择字段的连接完整性:为连接上传送的用户数据中的选择字段提供完整性保护,确定被选择字段是否遭受了篡改、插入、删除或不可用;
- 无连接完整性:为无连接的数据单元提供完整性保护,检测接收到的数据是否被篡改,并在一定程序上提供对连接重放检测;
- 选择字段无连接完整性:为无连接上的数据单元中的选择字段提供完整性保护,检测被选择字段是否遭受了篡改;
- 5、不可否认服务
- 不可否认服务的目的是保护通信实体免遭来自其他合法实体的威胁。
- OSI定义的不可否认服务有以下两种类型:
- 有数据原发证明的不可否认性:为数据的接收者提供数据的原发证据,使发送者不能否认这些数据的发送或否认发送内容;
- 有交付证明的不可否认性:为数据的发送者提供数据交付证据,使接收者不能否认收到这些数据或否认接收内容;
安全机制
- 安全机制,是指用来检测、预防或从安全攻击中恢复的机制;
- 安全机制可以分为两类:
- 一类是与安全服务有关,它们被用来实现安全服务,即特定的安全机制;
- 另一类与管理功能有关,它们被用于加强对安全系统的管理,即普遍的安全机制;
- 1、加密/解密
- 加密是提供数据保密的最常用方法,用加密的方法与其他技术相结合,可以提供数据的保密性和完整性;
- 2、数据完整性
- 数据完整性机制能够保护数据的完整性;
- 数据单元序列的完整性是要求数据编号的连续性和时间标记的正确性,以防止假冒、丢失、重发、插入或修改数据;
- 数据完整性包括两种形式:
- 一种是数据单元的完整性;
- 另一种是数据单元序列的完整性。
- 保证数据完整性的一般方法是:
- 发送实体在一个数据单元上加一个标记,这个标记是数据本身的函数,如一个分组校验,或密码校验函数,它本身是经过加密的。
- 接收实体产生一个对应的标记,并将所产生的标记与接收的标记相比较,以确定在传输过程中数据是否被修改过。
- 3、数字签名
- 解决网络通信中特有的安全问题的有效方法。特别是针对通信双方发生争执时可能产生的如下安全问题:
- 否认:
发送者
事后不承认
自己发送过某份文件。 - 伪造:接收者
伪造一份文件
,声称它发自发送者。 - 冒充:网上的某个用户
冒充另一个用户
接收或发送信息。 - 篡改:
接收者
对收到的信息进行部分篡改
。
- 否认:
- 数字签名的特性:
- 签名是
可信
的 - 签名是
不可伪造
的 - 签名是
不可复制
的 - 签名的消息是
不可改变
的 - 签名是
不可抵赖
的
- 签名是
- 数字签名是附加在数据单元上的一些数据,这种附加数据可以起如下作用:
- 供接收者确认
数据来源
。 - 供接收者确认
数据完整性
。 - 保护数据,
防止他人伪造
- 供接收者确认
- 数字签名需要确定以下两个过程:
- 对数据单元签名。使用签名者
私有信息
。 - 验证签过名的数据单元。使用的过程和信息是
公开的
,但不能推断出签名者的私有信息。
- 对数据单元签名。使用签名者
- 解决网络通信中特有的安全问题的有效方法。特别是针对通信双方发生争执时可能产生的如下安全问题:
- 4、认证交换
- 以交换信息的方式来确认实体身份的机制。通过在对等实体间交换认证信息,以检验和确认对等实体的合法性,是
实现访问控制的先决条件
。 - 用于交换认证的技术有:
- 口令:由发方实体提供,收方实体检测。
- 密码技术:将交换的数据加密,只有合法用户才能解密,的出有意义的明文。在许多情况下,这种技术与下列技术一起使用:
- 时间标记和同步时钟
- 双方或三方“握手”
- 数字签名和公证机构
- 利用实体的特征或所有权。常采用的技术是指纹识别和身份卡等。
- 以交换信息的方式来确认实体身份的机制。通过在对等实体间交换认证信息,以检验和确认对等实体的合法性,是
- 5、访问控制
- 访问控制是一种实施对资源访问或操作加以限制的策略,按事先确定的规则决定主体对客体的访问是否合法。
- 访问控制机制可以建立在下列手段上:
- 访问控制信息库
- 认证信息(如口令)
- 权限
- 安全标记
- 试图访问的时间、路由、访问持续期等
- 6、流量业务填充
- 对抗非法者在线路上监听数据并对其进行流量和流向分析。
- 采用的具体方法一般由保密装置在无信息传输时,连续发出伪随机序列,使得非法者不知哪些是有用信息、哪些是无用信息等。
- 7、路由控制
- 在一个大型网络中,从源节点到目的节点可能有多条线路,有些线路可能是安全的,而另一些线路是不安全的。
- 路由控制机制可使信息发送者选择特殊的路由,以保证数据安全。
- 检测到持续的攻击,可以为端系统建立不同的路由的连接。
- 依据安全策略,使某些带有安全标记的数据禁止通过某些子网、中继或链路。
- 允许连接的发起者指定路由选择,或回避某些子网、中继或链路。
- 8、公证机制
- 引入一个各方都信任的公证机构,提供公证服务,仲裁出现的问题。
- 一旦引入公证机制,通信双方进行数据通信时必须经过这个机构来转换,以确保公证机构能得到必要的信息,供以后仲裁。
中华人民共和国网络安全法
- 实施时间:2017年6月1日
- 一是明确了网络空间主权的原则;
- 二是明确了网络产品和服务提供者的安全义务;
- 三是明确了网络运营者的安全义务;
- 四是进一步完善了个人信息保护规则;
- 五是建立了关键信息基础设施安全保护制度;
- 六是确立了关键信息基础设施重要数据跨境传输的规则。
第2章 密码技术及应用
- 哈希函数又称为散列函数、杂凑函数,属于一种单向加密算法。
- 特性
- 一致性:相同的输入总是产生相同的输出。
- 唯一性:不同的消息不能产生相同的输出。
- 单向性:给出输出,不能推导出输入。
- 随机性:输出必须随机,以防猜出源消息。
- 特性
- 常见Hash算法
- MD2:是一个速度很慢但相当安全的算法,它产生128位的摘要值;
- MD4:速度很快,但安全性下降。同样产生128位的摘要值;易产生碰撞。
- MD5:是MD4的一个更安全的版本,同时速度更快,也产生128位的摘要值。
- SHA:安全哈希算法,产生一个160位的摘要值。
- SHA-1:在克服SHA的一些缺陷基础上形成的哈希算法。
- SHA-256、SHA-512 提供更长的指纹,摘要值分别是256位、512位。
- 国家商用密码标准:SM3:杂凑值为256位。
- 哈希函数的 应用
- 保证数据的完整性
- 实现:对比消息摘要
- 身份认证
- 保证数据的完整性
- 公钥密码
- 加密密钥和解密密钥不相同,从一个很难推出另一个。
- 其中的一个密钥可以公开,又称公开密钥(public key),简称公钥;另一个密钥必须保密,又称私有密钥(private key),简称私钥。
- 用一个密钥进行加密,而用另一个进行解密。
- 常见公钥密码算法:RSA、ECC。
- 国产密码:SM2。
- 加密密钥和解密密钥不相同,从一个很难推出另一个。
- 公钥密码体制的应用
- 机密性
- 用某一公钥加密的消息只能用与之配对的私钥才能解密
- 运算速度较慢
- 完整性
- 利用哈希函数及公钥密码算法共同解决这一问题
- 用发方的私钥加密摘要
- 可认证性和不可否认性
- 用发方私钥加密的消息,任何一个拥有其公钥的对方都能解密,并且使用发方之外的其它人的公钥都无法解密
- 在实际应用中通常是对摘要进行加密来实现——数字签名
- 会话密钥的传递
- 每次会话所使用的的对称的加解密密钥
- 发送方使用接收方的公钥加密会话密钥,接收方使用其私钥解密得到会话密钥(“数字信封”技术)
- 数字信封(概念,原理,作用):
- 即发送方先产生一个对称密钥,并用该对称密钥加密敏感数据。同时,发送方还用接收方的公钥加密对称密钥,就像把它装入一个“数字信封”。然后,把被加密的对称密钥(“数字信封”)和被加密的敏感数据一起传送给接收方。接收方用自己的私钥拆开“数字信封”,并得到对称密钥,再用对称密钥解开被加密的敏感数据。
- 数字信封(概念,原理,作用):
- 机密性
- 数字签名:使用发方私钥加密,任何人使用其公钥皆可解密
- 能与所签文件“绑定”
- 签名者不能否认自己的签名
- 产生签名比较容易
- 容易被自动验证
- 签名不能被伪造
- 对称密码体制和公钥密码体制
- 对称密码体制
- 优点:
- 加解密速度快,加密强度高。
- 缺点:
- 密钥分发困难,管理复杂。
- 不便于应用在网络开放的环境中。
- 优点:
- 公钥密码体制
- 加密与解密使用不同的密钥,解密密钥很难由加密密钥计算得到,如RSA、ECC等。
- 安全性基于数学难题问题。
- 优点:
- 密钥分发简单。
- 秘密保存的密钥量减少。
- 可用来数字签名。
- 缺点:
- 运算量大,加密速度慢,不适合用来加密大量数据。
- 对称密码体制
- 密码学在信息安全中的作用
- 机密性:数据加密
- 认证:数据加密、散列函数或数字签名
- 完整性:数据加密、散列函数或数字签名
- 不可否认性:通过对称加密或非对称加密,以及数字签名等,并借助可信的注册机构或证书机构的辅助,提供这种服务
第3章 网络攻击技术
网络攻击的一般过程
- 预攻击
- 目的:
- 寻找目标,收集信息,为进一步攻击做决策
- 内容:
- 获得域名
- 获取IP分布
- 获得OS及应用系统
- 获得端口和服务
- 获得漏洞
- 目的:
- 攻击
- 目的
- 选择合适的方法进行攻击,获得系统的一定权限
- 内容:
- 获得远程访问权限
- 进入远程系统
- 提升本地权限
- 进行实质性操作
- 目的
- 后攻击
- 目的:
- 消除痕迹,长期维持一定的权限
- 内容:
- 植入后门木马
- 删除日志
- 修补明显的漏洞
- 进一步渗透扩展
- 目的:
信息收集
- 1、找到初始信息
- Whois:为Internet提供目录服务,包括名字、通讯地址、电话号码、电子邮箱、IP地址等信息
- Nslookup:是一个功能强大的客户程序,可查到域名服务器IP地址。
- 2、找到活动的机器
- Ping:用来判断远程设备可访问性最常用的方法
- 原理:发送ICMP Echo消息,然后等待ICMP Reply消息
- PING域名是得到IP地址的简单方法
- Fping类似于ping,但比ping强大。
- Fping可以在命令行中指定要ping的主机数量范围,也可以指定含有要ping的主机列表文件。
- Ping:用来判断远程设备可访问性最常用的方法
- 3、找到网络的地址范围
- Tracert/Traceroute
- 用于路由跟踪,判断从你的主机到目标主机经过哪些路由器、跳计数、响应时间等等,可以推测出网络物理布局,判断出响应较慢的节点和数据包在路由过程中的跳数;
- 原理:给目标的一个无效端口发送一系列UDP,其TTL依次增一,中间路由器返回一个ICMP Time Exceeded消息
- Tracert/Traceroute
- 4、找到开放端口和入口点
- Nmap
- Nessus
- 5、弄清操作系统
- Nmap
- 6、弄清端口运行的服务
- 使用扫描技术
- 利用大众心理上的弱点,以欺骗、假冒等手段让用户疏于防范套取用户的敏感信息的攻击通常被称为社会工程学攻击。
扫描技术(原理、作用、NMAP扫描分析(开放扫描、半开扫描))
- 扫描器
- 一种通过收集系统的信息来自动检测远程或本地主机安全性弱点的程序。
- 安全评估工具:系统管理员保障系统安全的有效工具。
- 网络攻击工具:网络入侵者收集信息的重要手段。
- 主要功能:
- 扫描目标主机识别其工作状态(开/关机)
- 识别目标主机端口的状态(监听/关闭)
- 识别目标主机系统及服务程序的类型和版本
- 根据已知漏洞信息,分析系统脆弱点
- 生成扫描结果报告
- 一种通过收集系统的信息来自动检测远程或本地主机安全性弱点的程序。
- 扫描器的工作原理
- 地址扫描
- 地址扫描的目的是确定在目标网络上的主机是否可达。这是信息收集的初级阶段,其效果直接影响到后续的扫描。
- 这个阶段通过发送不同类型的ICMP或者TCP、UDP请求,从多个方面检测目标主机是否在线。
- 原理:运用Ping探测目标地址,对此作出响应的表示主机存在。
- 防御:在防火墙上过滤掉ICMP应答消息。
- 端口扫描
- 主机可使用的端口号为0~65535,前1024个端口是保留端口,这些端口被提供给特定的服务使用。
- 常用的服务都是使用标准的端口,只要扫描到相应的端口开着,就能知道目标主机上运行着什么服务。然后入侵者才能针对这些服务进行相应的攻击。
- 端口扫描是要取得目标主机开放的端口和服务信息,从而为下一步的漏洞检测做准备。
- 地址扫描
- 常用端口扫描技术
- 开放扫描
- 开放扫描使用完整的TCP三次握手来对目标主机的端口进行尝试性的连接。
- TCP Connect()扫描 :使用Socket的函数connect()来探测对方的端口是否是活动的。
- 如果connect()返回成功,则说明该端口是开放的,否则该端口就是关闭的。
- 优点:
- 非常易于实现,只需使用系统调用即可完成,而且不需要用户有特殊的权限。
- 扫描结果准确。
- 缺点:
- 扫描方式不隐蔽,服务器日志会记录下大量密集的连接和错误记录 。
- 很容易被对方的入侵检测系统或防火墙检测到。
- 开放扫描使用完整的TCP三次握手来对目标主机的端口进行尝试性的连接。
- 半开放扫描
- 与开放扫描相反,半开(Half-open)扫描方法并不使用完整的TCP三次握手来进行连接尝试。根据发送的初始TCP包的标志位的不同,存在多种半开扫描方式。
- TCP SYN扫描
- 向目标主机的特定端口发送一个SYN包:
- 如果应答包为RST包,则说明该端口是关闭的;
- 否则,会收到一个SYN|ACK包。然后,向目标主机发送一个RST,停止建立连接。
- 向目标主机的特定端口发送一个SYN包:
- 由于连接没有完全建立,所以称为“半开连接扫描”。
- 优点:
- 比开放连接要隐蔽一些。另外它的扫描结果也是相当准确的,能达到很快的速度。
- 缺点:
- 1、SYN洪水是一种常见的拒绝服务的攻击方法,许多防火墙和入侵检测系统对SYN包都建立了报警和过滤机制。因此SYN扫描的隐蔽性逐渐下降。
- 2、用户构造SYN数据包需要管理员权限。
- 秘密扫描
- 不包含标准的TCP三次握手协议的任何部分
- TCP FIN扫描
- 当FIN数据包到达的端口关闭时,返回RST;
- 当FIN数据包到达的端口正在监听时,数据包被丢弃。
- 优点:
- 由于这种技术不包含标准的TCP三次握手协议的任何部分,所以无法被记录下来,从而比SYN扫描隐蔽得多,FIN数据包能够通过只监测SYN包的包过滤器。
- 缺点:
- 跟SYN扫描类似,需要自己构造数据包,要求由超级用户或者授权用户访问专门的系统调用;
- 通常适用于UNIX目标主机,除过少量的应当丢弃数据包却发送RST包的操作系统(包括CISCO,HP/UX,MVS和IRIX)。但在Windows95/NT环境下,该方法无效,因为不论目标端口是否打开,操作系统都返回RST包。
- 开放扫描
- 操作系统扫描
- 目的
- 绝大部分安全漏洞与缺陷都与操作系统相关,因此远程操作系统探测是系统管理员关心的一个问题。
- 从操作系统或者应用系统的具体实现中发掘出来的攻击手段都需要辨识系统。
- PING中的TTL字段值可以帮助我们识别操作系统类型
- TTL:Time To Live,即数据包的“存活时间”,表示⼀个数据包在被丢弃之前可以通过多少跃点(Hop)
- 目的
- 漏洞扫描
- 漏洞扫描是使用漏洞扫描程序对目标系统进行信息查询,通过漏洞扫描,可以发现系统中存在的不安全的地方
- 常用的网络扫描技术
- Netcat
- 网络映射程序Nmap
- SATAN
- X-scan
拒绝服务攻击(LAND、SYN Flood、ICMP Flood、 Smurf等常见攻击方式的原理)
- 什么是拒绝服务攻击
- 拒绝服务攻击,Denial of Service,简称DoS
- 通常攻击者利用TCP/IP协议中的弱点或者系统的漏洞,对目标系统发起大规模的进攻,致使攻击目标无法对合法用户提供正常的服务。
- 发送大量的无用请求,致使目标网络系统整体的网络性能大大降低,丧失与外界通信的能力。
- 两类DoS攻击手段
- 带宽攻击
- 以极大的通信量冲击网络,使得所有可用网络资源都被消耗殆尽,最后导致合法的用户请求无法通过。
- 连通性攻击
- 用大量的连接请求冲击计算机,使得所有可用的操作系统资源都被消耗殆尽,最终计算机无法再处理合法用户的请求。
- 带宽攻击
- 常见的拒绝服务攻击的方式
- 利用系统漏洞
- 利用网络协议漏洞
- 利用合理服务请求
- 分布式拒绝服务攻击
- 常见的拒绝服务攻击
- LAND 攻击
- 原理:利用向目标机发送大量源地址和目标地址相同的包,造成目标机解析Land包时占用大量系统资源,从而使网络功能瘫痪。
- 防御:打最新补丁;配置防火墙,将在外部接口入站的内部源地址过滤掉包括(10.、127.、192.168.、172.16-31)。
- SYN flood(TCP同步泛滥)
- 原理:攻击者伪造大量虚假源地址的包,连接到目标机的一个或多个端口,目标机会向假IP地址发送等待确认包,当这些等待连接添满了未完成连接队列时,正常用户发送的TCP连接请求就被丢弃了,造成拒绝服务。
- 防御:在防火墙上过滤来自同一主机的后续连接。
- Smurf攻击
- Smurf攻击是一种具有放大效果的攻击方式。
- 原理:攻击者冒充被攻击者向网络上的某个广播设备发送请求,然后广播设备将请求转发给该网络上的大量设备,于是所有的这些设备都向被攻击者进行回应,这样就达到了使用很小的代价来进行大量攻击的目的。
- ICMP Flood(洪⽔攻击)
- 原理:是一种DDOS攻击,该攻击在短时间内向目的主机发送大量ping包,消耗主机资源,主机资源耗尽后就会瘫痪或者无法提供其他服务
- Teardrop
- 死亡之ping
- LAND 攻击
- 分布式拒绝服务攻击
- 分布式拒绝服务攻击,就是攻击在客户端控制大量的攻击源,同时向目标发起攻击的一种拒绝服务攻击。
- 以破坏系统或网络的可用性为目标,很难防范。
- 伪造源地址,流量加密,因此很难跟踪。
- 预防:
- 防火墙设置
- 路由器设置
- 增强操作系统的TCP/IP栈
- 安装入侵检测系统,检测DDoS攻击通信
嗅探器(原理、防范)
- 什么是嗅探器
- 嗅探器(Sniffer)就是能够捕获网络报文的设备,同时所有的协议分析程序也都称为嗅探器。嗅探器既可指危害网络安全的嗅探程序,也可指网络管理工具。
- 嗅探器的正当用途:作为网管工具,监视网络的状态、数据流动情况以及网络上传输的信息,以便找出所关心的网络中潜在的问题。
- 如果作为一种黒客工具,那么它就是一种威胁极大的被动攻击工具。
- 嗅探器的工作原理
- 以太网卡的工作原理
- 以太网采用了CSMA/CD技术,由于使用了广播机制,所有与网络连接的工作站都可以看到网络上传递的数据。
- 网卡的MAC地址(48位)
- 通过ARP来解析MAC与IP地址的转换
- 用ipconfig可以查看MAC地址
- 网卡
- 网络中主机接收发送数据的硬件设备,完成收发数据包的工作。
- 网卡对于数据的接收有四种模式:
- 广播模式:该模式下的网卡能够接收网络中的广播数据。MAC地址是 0Xffffff 的帧为广播帧。
- 组播模式:该模式下的网卡能够接收组播数据。组播的地址是保留的D类地址从224.0.0.0—239.255.255.255。
- 直接模式:在这种模式下,只有匹配目的MAC地址的网卡才能接收该数据。
- 混杂模式:在这种模式下,无论其目的MAC地址是什么,网卡都能够接收一切监听到的数据。
- 正常情况下,网卡应该只接收这样的包
- MAC地址与自己相匹配的数据帧
- 广播包
- 网络监听原理
- 利用以太网的特性把网卡置为混杂模式状态的工具,一旦网卡设置为这种模式,它就能接收经过它的每一个信息包。
- 嗅探器对获取的信息的处理
- 接收信息包的同时还要对信息包进行处理,即解析。
- 以太网卡的工作原理
- 防范
- 数据加密:使嗅探器得不到明文数据
- 安全的拓扑结构:分段技术
- 交换机
- 路由器
- 网桥
ARP欺骗攻击(原理)
- 在局域网内,数据传输是通过MAC地址实现的。IP地址与MAC地址的映射依赖ARP缓存表。但是,ARP缓存表的实现不具备任何认证机制。
- 在没有主机发送ARP请求的情况下,任何主机都可以发送ARP应答数据报。并且,这将导致源主机内ARP缓存表的⾮法更新
缓冲区溢出攻击(基本原理)
- 基本概念
- 向缓冲区中填入过多的数据,超出边界,导致数据溢出,覆盖了相邻的内存空间
- 利用缓冲区溢出,可以改变程序执行流程,执行非授权指令,取得系统最高权限。
- 原理
- 进程空间分配
- 0x00000000-0x0000FFFF
- 为NULL指针分配而保留的,访问该区域内存将导致“非法访问”错误
- 0x00010000-0x7FFEFFFF
- 用户进程空间。
- .EXE和DLL被加载到其中起始地址为0x00400000的空间
- 0x7FFEFFFF-0x80000000
- 保留区域,对此区域的任何访问都将导致“非法访问”错误
- 0x80000000-0xFFFFFFFF
- 仅供操作系统使用。用于加载设备驱动程序和其他核心级代码。从用户级应用程序访问此区域将导致“非法访问”错误
- 在用户进程空间中,又分为三个段:
- 程序段区域用于放置程序代码
- 数据段区域放置静态全局变量
- 堆栈区用于存放函数参数、函数返回值、函数返回地址、局部动态变量
- 0x00000000-0x0000FFFF
- 栈的结构
- 栈是一种后进先出的数据结构。
- 使用两个指针。
- CPU的ESP寄存器存放当前进程的栈顶指针
- EBP寄存器保存当前进程的栈底指针
- 栈还用于保存函数的参数和函数返回值,为函数中使用的局部变量动态分配空间。
- 缓冲区溢出攻击的原理
- 所调函数的一些参数入栈,函数调用时要保护现场,返回地址入栈
- 为缓冲区分配空间buffer,现在要调一块数据到buffer
- 数据明显比buffer大,满则溢出,返回地址被修改
- 在程序的地址空间里安排适当的代码
- 通过适当地初始化寄存器和存储器,让程序跳转到攻击者安排的地址空间执行
- 百科:通过往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,使程序转而执行其它指令,以达到攻击的目的。
- 进程空间分配
第4章 恶意代码
蠕虫(传染机制、特点)
- 定义:
- Internet 蠕虫是无须计算机使用者干预即可运行的独立程序,它通过不停的获得网络中存在漏洞的计算机上的部分或全部控制权来进行传播。
- 蠕虫与其它病毒的最大不同在于它不需要人为干预,且能够自主不断地复制和传播。
- 由于蠕虫向网络中发送大量的探测数据,很容易造成网络堵塞,这也是蠕虫病毒的最大危害之一 。
- 工作机制
- 信息收集
- 按照一定的策略搜索网络中存活的主机,收集目标主机的信息,并进行漏洞探测,确认下一步要感染的目标。
- 攻击渗透
- 通过主机漏洞尝试攻击,一旦攻击成功,则获得控制该主机的权限,将蠕虫代码渗透到被攻击主机。
- 现场处理
- 对被攻击的主机进行一些处理,将攻击代码隐藏,为了能使被攻击主机运行蠕虫代码,还要通过注册表将蠕虫程序设为自启动状态;可以完成其它行为,如恶意占用CPU资源等。
- 信息收集
- 行为特征
- 自我繁殖
- 蠕虫在本质上已经演变为黑客入侵的自动化工具, 当蠕虫被释放(release)后,从搜索漏洞,到利用搜索结果攻击系统,到复制副本,整个流程全由蠕虫自身主动完成。就自主性而言,这一点有别于通常的病毒。
- 利用软件漏洞
- 造成网络拥塞
- 在扫描漏洞主机的过程中,蠕虫需要:判断其它计算机是否存在;判断特定应用服务是否存在;判断漏洞是否存在等等,这不可避免的会产生附加的网络数据流量。
- 同时蠕虫副本在不同机器之间传递,或者向随机目标的发出的攻击数据都不可避免的会产生大量的网络数据流量。即使是不包含破坏系统正常工作的恶意代码的蠕虫,也会因为它产生了巨量的网络流量,导致整个网络瘫痪,造成经济损失。
- 消耗系统资源
- 蠕虫入侵到计算机系统之后,会在被感染的计算机上产生自己的多个副本,每个副本启动搜索程序寻找新的攻击目标。大量的进程会耗费系统的资源,导致系统的性能下降。这对网络服务器的影响尤其明显。
- 留下安全隐患
- 大部分蠕虫会搜集、扩散、暴露系统敏感信息(如用户信息等),并在系统中留下后门。这些都会导致未来的安全隐患。
- 自我繁殖
木马
- 概述
- 木马,也称特洛伊木马,伪装成为能提供正常功能或在系统中正常运行的程序,而悄悄地执行用户所不知道的非授权行为。
- Windows下:Netbus、subseven、BO、灰鸽子、冰河、网络神偷等
- UNIX下:Rhost++、Login后门、rootkit等
- 远程控制技术原理
- 远程控制软件实际上是一种客户机/服务器程序,服务器程序安装在被控主机上,客户机程序安装在控制端。
- 作为服务器的主机一般会打开一个默认的端口并进行监听,如果有客户机向服务器的这一端口提出连接请求,服务器上相应程序就会自动运行,来应答客户机的请求,从而实现远程控制。
- 木马组成
- 对木马程序而言,它一般包括两个部分:客户端和服务器端。
- 服务器端
- 通过各种手段植入被控制的目标机器。
- 一般通过电子邮件或其他手段让用户在其计算机中运行,以达到控制该用户计算机的目的。
- 客户端
- 安装在攻击者机器上,由控制者所使用
- 用于对受控的计算机进行控制。
- 服务器端程序和客户端程序建立起连接就可以实现对远程计算机的控制了。
- 木马的特征
- 隐蔽性
- 隐蔽性是木马的首要特征。木马类软件的服务端程序在被控主机系统上运行时,会使用各种方法来隐藏自己。
- 自动运行性
- 木马程序通过修改系统配置文件,在目标主机系统启动时自动运行或加载。
- 欺骗性
- 木马程序要达到其长期隐蔽的目的,就必需借助系统中已有的文件,以防用户发现。
- 自动恢复性
- 很多的木马程序中的功能模块已不再是由单一的文件组成,而是具有多重备份,可以相互恢复,只删除某一个木马文件来进行清除是无法清除干净的。
- 破坏或信息收集
- 木马通常具有搜索Cache中的口令、设置口令、扫描目标机器的IP地址、进行键盘记录、远程注册表的操作、以及锁定鼠标等功能。
- 隐蔽性
- 植入技术(传播方式)
- 直接攻击
- 电子邮件
- 文件下载
- 浏览网页
- 合并文件
- 木马自动加载的主要方式
- 修改
- 修改系统自动运行文件:
- win.ini文件
- system.ini文件
- winstart.bat文件
- wininit.ini文件 - 系统注册表
- HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion下所有以Run开头的键值;
- HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion下所有以Run开头的键值;
- HKEY_USER\Default\Software\Microsoft\Windows\CurrentVersion下所有以Run开头的键值。
- 修改文件关联
- 任务计划
- 组策略
- 修改系统自动运行文件:
- 替换
- 系统自动运行的文件
- 系统DLL
- 其他
- 作为服务启动
- 利用AppInit_DLLs 注入
- 修改
- 隐藏技术
- 木马程序隐藏技术
- 文件隐藏主要方式
- 采用欺骗的方式伪装成其它文件
- 伪装成系统文件
- 设置文件隐藏
- 木马进程隐藏技术
- DLL注入,动态链接库注入技术,将“木马”程序做成一个DLL文件,并将调用动态链接库函数的语句插入到目标进程,这个函数类似于普通程序中的入口程序。
- Hooking API技术,钩子函数。通过修改API函数的入口地址的方法来欺骗试图列举本地所有进程的程序。
- 木马通信隐藏
- 端口隐藏
- 复用正常服务端口
- 反向连接
- 反弹端口:
- 由木马的服务端主动连接客户端所在主机的80端口;
- 通常防火墙不会拦截这样的连接(因为它们一般认为这是用户在浏览网页),所以反弹端口型木马可以穿越防火墙。
- 反弹端口:
- 隐藏通道
- 端口隐藏
- 木马程序隐藏技术
- 远程控制木马的防御
- 注册表监控
- Regmon
- 文件监控
- Filemon
- 端口查看
- Netstat命令
- 进程查看
- Process Explorer
- 使用专用的查杀工具
- 加强使用者的安全意识
- 注册表监控
第5章 认证技术
认证概述和常用的身份认证方法
- 认证服务是最基本的安全服务,保证真实性。
- 对等实体认证,即身份认证;
- 数据来源认证,通常由数字签名或加密技术实现。
- 定义:
- 认证(Authentication)是证实实体(客户、代理、进程)与其所声称的身份是否相符的过程,即实体真实性证明。认证可以对抗假冒攻击和重放攻击的威胁。
- 认证系统
- 身份认证系统通常由认证服务器、认证系统客户端和认证设备组成。
- 系统主要通过身份认证协议和认证系统软硬件进行实现。
- 物理依据
- 用户所知道的:
- 如口令、密码等
- 用户所拥有的:
- 如智能卡、身份证、护照、密钥盘等
- 用户的特征:
- 如指纹、声音、视网膜、DNA、笔迹等
- 用户所知道的:
- 协议基础
- 根据是否依赖第三方分为:
- 基于可信第三方认证协议;
- 双方认证协议。
- 根据认证使用的密码体制分为:
- 基于对称密码体制的认证协议:
- 基于对称密码算法的认证协议往往需要双方已经事先通过其他方式(比如电话、信件、传递等物理方法)拥有了共同的密钥。
- 例:Needham/Schroeder、Denning、Kerberos
- 基于公钥密码体制的认证协议:
- 基于公钥的认证协议的双方一般需要知道对方的公钥。而公钥的获得相对于秘密密钥要简便,比如通过CA获得对方的数字证书,这是基于公钥认证协议的优势。但是公钥的缺点的加解密速度慢。
- 例:WOO92b、X.509
- 基于对称密码体制的认证协议:
- 根据认证参与实体:
- 单向认证
- 双向认证
- 根据是否依赖第三方分为:
- 静态口令认证(原理、缺陷分析)
- 安全威胁
- 外部泄露
- 口令猜测(字典式、穷举式)
- 线路窃听
- 认证信息截获/重放
- 对验证方的攻击(拖库、撞库)
- 直接明文存储口令
- Hash散列存储口令
- 两种静态口令方案:
- 口令方案一:声称者明文传输口令,进行哈希后与验证者存储的哈希值进行比对,不能防范线路窃听,也不能抵御重放攻击;
- 口令方案二:声称者密文传输口令,进行哈希后与验证者存储的哈希值进行比对,虽然在网络上没有明文传输口令,但依然无法抵御重放攻击。
- 安全威胁
- 一次性口令认证(原理、作用)
- 一次性口令方案
- 口令方案三:设口令为p,动态值NRV
- 首先将口令p加密,设密文为q
- 将q和NRV一起哈希,得到r
- 将NRV和r一起传输,比对时将NRV和事先存储的q哈希后的结果与r做对比
- 口令方案三:设口令为p,动态值NRV
- 一次性口令认证机制
- 根据不同的NRV(随机数字、时间等),形成了不同的一次性口令认证技术:
- 基于时间同步认证技术
- 把流逝的时间作为NRV,一般以60秒为单位。
- 所谓同步,是指用户密码卡和认证服务所产生的密码在时间上必须同步。
- 基于事件同步认证技术
- 把变化的数字序列(事件序列)作为NRV,与用户的私有密钥共同产生动态密码。
- 所谓同步,是指每次认证时,认证服务器与密码卡保持相同的事件序列。
- 挑战/应答方式的非同步认证技术
- 由认证服务器产生的随机数字序列(challenge)作为NRV,它也是密码卡生成密码的变动因子。
- 由于每个challenge都是唯一的,不会重复使用,所以不存在同步问题。
- 基于时间同步认证技术
- 根据不同的NRV(随机数字、时间等),形成了不同的一次性口令认证技术:
- 一次性口令方案
Kerberos协议(了解协议的作用)
- 解决方案:
- 在分布式的client/server体系机构中采用集中的认证服务器AS,实现用户到应用服务器和应用服务器到用户的认证服务。
- AS知道所有用户的口令并将它们存储在一个中央数据库中。
- AS与每一个应用服务器共有一个唯一的保密密钥。这些密钥已经用物理方式或更安全的手段分发了。
- Kerberos采用对称加密体制,而不使用公钥加密体制。
- 在分布式的client/server体系机构中采用集中的认证服务器AS,实现用户到应用服务器和应用服务器到用户的认证服务。
- 基本流程
- 用户向AS发送请求,AS返回票据服务器的Ticket TGS
- 用户使用Ticket TGS向票据服务器发出请求,票据服务器返回允许使用设备的Ticket S
- 用户使用Ticket S使用设备
- 功能
- 可信第三方
- 所需的共享密钥分配和管理变得十分简单
- AS担负认证工作,减轻应用服务器的负担
- 安全相关数据的集中管理和保护,从而使攻击者的入侵很难成功
- Ticket
- AS的鉴别结果和会话密钥安全地传送给应用服务器
- 在生存期内可重用,减少认证开销,提高方便性
- Ticket发放服务
- 降低用户口令的使用频度,更好地保护口令
- 减轻AS的负担,提高认证系统的效率
- 时间戳
- 防止对Ticket和Authenticator的重放攻击
- 以共享秘密(密钥)为认证依据
- 可信第三方
- 特点
- 基于口令的认证协议
- 利用对称密码技术建立起来的认证协议
- 可伸缩性——可适用于分布式网络环境
- 环境特点
- User-to-server authentication
数字证书
- 什么是数字证书
- 数字证书,也称数字身份证、数字ID,由权威的认证机构(CA)颁发给用户的一组数字信息。
- 证书的内容
- 1、证书的版本信息;
- 2、证书的序列号,每个证书都有一个唯一的证书序列号;
- 3、证书所使用的签名算法;
- 4、证书的发行机构名称,命名规则一般采用X.500格式;
- 5、证书的有效期,通用的证书一般采用UTC时间格式;
- 6、证书所有人的名称,命名规则一般采用X.500格式;
- 7、证书所有人的公开密钥;
- 8、证书发行者对证书的签名,使用CA的私钥加密。
- 特点
- 主体名字:可以用于证明用户的身份。
- 主体公钥:可用于数据加密,还可用于数据签名,保证通信过程的安全和不可抵赖。
- CA签名:CA是可信的认证机构,因此具有很高的公信度。签名保证了证书的真实性和完整性。
- 验证证书未被篡改:
- 证书所有者把证书和指纹(证书的哈希值并用自己的私钥加密)发给用户;
- 用户根据证书计算出一个哈希值;
- 用证书所有人的公钥解密指纹得到一个哈希值;
- 对比两者是否相同,相同即证明证书未被篡改。
- 验证证书的可信
- 使用证书发行者的公钥解密证书中附的证书发行者对证书的签名
- 数字证书的应用
PKI(概念,组成)
- PKI的概念
- PKI(Public Key Infrastructure),公钥基础设施,是一个利用公钥加密(非对称密码算法)理论和技术来实现并提供信息安全服务的具有通用性的安全基础设施。
- 具体地说,就是以公钥加密为基础,创建、管理、存储、分发和撤销证书所需要的一组硬件、软件、人力资源、相关政策和操作规范以及为PKI体系中的各成员提供全部的安全服务。
- PKI的组成
- CA(数字证书认证中心)
- 提供网络身份认证服务,负责签发和管理数字证书的机构
- 具有权威性和公正性的第三方信任机构
- 作用类似于颁发证件的公司-如护照办理机构
- RA(数字证书注册审批机构)
- 申请:个人、集团或企业向提出证书申请(面向用户)
- 过程:接收申请,审查资格,决定是否同息CA发证,并CA证书送往Lp(面向CA和LDAP)
- 地点:设置在直接面对客户的业务部门:银行的营业部、公司的人事部
- KMC(密钥管理中心)
- 密钥的构成:单证书/双证书
- 一对加密(A),⼀对签名(B)
- 密钥产生:
- A可以在客户端产生,也可以在CA产生;B只能在客户端产生
- 密钥备份和恢复:防止丢失(A)
- 密钥更新:过期,作废时用
- 密钥归档:预备对以前的信息进行解密(A)
- LDAP(轻型目录服务器)
- 非实时,存放证书列表,CRL(证书撤消列表)
- OCSP(在线证书状态查询)
- 实时
- 目录服务器是PKI的一个可选部件
- 当CA发布一张证书或者CRL时,可一并将证书/CRL发到目录服务器
- CA也可以保存证书和/或CRL在本地的数据库
- CA使用LDAP协议与目录服务器通信
- CA(数字证书认证中心)
第6章 授权与访问控制技术
访问控制概述
- 授权:给已通过认证的用户授予相应操作权限的过程
- 访问控制的三个要素:
- 主体(Subject) :发出访问操作、存取要求的主动方
- 客体(Object) :被访问的对象,即要保护的资源
- 控制策略:主体对客体的访问规则集,用以确定一个主体是否拥有对客体的访问权限。
- 访问控制的一般概念
- 控制资源只能按照所授予的权限被访问,是针对越权使用资源的防御措施。
- 目标:防止对任何资源(如计算资源、通信资源或信息资源)进行未授权的访问
- 未授权的访问包括:未经授权的使用、泄露、修改、销毁信息以及颁发指令等。
访问控制实现方法
- (1)访问控制矩阵(Access Matrix)
- (2)访问能力表(Capabilities List,CL)
- 决定主体是否可以访问客体以及以什么方式访问客体。
- (3)访问控制表(Access Control List,ACL)
- 对于客体,系统中哪些主体能够以何种方式对它访问。
- ACL是目前采用最多的一种方式。
- 它可以对特定资源指定任意用户的访问权限,还可以将有相同权限的用户分组,并授予组的访问权。
- ACL的优点在于它的表述直观、易于理解,而且比较容易查出对某一特定资源拥有访问权限的所有用户,有效地实施授权管理。
- (4)授权关系表(Authorization Relations)
- 每一行表示了主体和客体的一个权限关系;
- 这种实现方式特别适合采用关系数据库。
- (5)访问控制标签列表
- 安全标签是限制和附属在主体或客体上的一组安全属性信息。
- 访问控制标签列表的最大优点就是能够通过安全标签对敏感信息进行区分,分级管理。
访问控制策略
- 自主访问控制(DAC)
- 基于对主体或主体所属的主体组的识别来限制对客体的访问。
- 特点:
- 根据主体的身份和授权来决定访问模式。
- 缺点:
- 信息在移动过程中其访问权限关系会被改变。如用户A可将其对目标O的访问权限传递给用户B,从而使不具备对O访问权限的B可访问O。
- 自主访问控制模型一般采用访问控制矩阵和访问控制表来存放不同主体的访问控制信息,从而达到对主体访问权限的限制目的。
- 强制访问控制(MAC)
- 强制访问控制方式中,系统对主体和客体都分配一个特殊的安全属性,用户不能改变自身或任何客体的安全属性,即不允许单个用户确定访问权限,只有系统管理员可确定用户和用户组的访问权限。
- 系统通过比较主体和客体的安全属性来决定一个主体是否能够访问某个客体。
- 强制访问控制不允许一个进程生成共享文件,从而防止进程通过共享文件将信息从一个进程传送到另一个进程。
- 特点:
- 将主题和客体分级,根据主体和客体的级别标记来决定访问模式。如,绝密级,机密级,秘密级,无密级。
- 其访问控制关系分为:
- 上读/下写——(完整性)
- 下读/上写——(机密性)
- 通过梯度安全标签实现单向信息流通模式。
- BLP模型
- 主要解决面向机密性的访问控制
- 下读,向级别低的读,即主体安全级别高于客体时,允许读
- 上写,即主体安全级别低于客体时,允许写
- BIBA模型,BLP变体
- 保护数据的完整性
- 上读,主体安全级别低于客体时,允许读
- 下写,主体安全级别高于客体时,允许写
- 防止木马窃取信息的原理
- 自主访问控制下:Alice诱导Bob运行带有木马的程序,由于Bob对生成的文件有写入的权限,因此带木马的程序可以获取敏感信息并写入生成的文件中
- 强制访问控制下:Bob为主体,生成的文件为客体,根据BLP模型的保护机密性,下读上写,带有木马的程序无法向生成的文件中写入Bob的敏感信息。
- Windows 7系统中的访问控制机制和策略
第7章 网络安全协议
网络安全协议概述
- TCP/IP协议的安全性
- TCP/IP协议没有验证通信双方真实性的能力,缺乏有效的认证机制。
- TCP/IP协议没有能力保护网上数据的隐私性,缺乏保密机制。
- TCP/IP协议自身设计的某些细节和实现中的一些 安全漏洞,也引发了各种安全攻击。
- 数据链路层协议
- 链路层主要功能
- 完成数据帧的发送与接收,为网络层提供传送数据的功能
- 数据链路的差错处理
- 数据链路的流量控制
- 链路层协议
- 针对本地链路局域网(LAN)
- IEEE 802局域网协议标准
- 针对广域网(WAN)
- 点对点协议(PPP)
- 链路层主要功能
- 网络层
- 具有向传输层提供服务、路由选择、流量控制、网络互连的功能。
- 网络层协议:IP协议、ICMP协议、IGMP协议、ARP协议等。
- 典型安全隐患
- IP地址欺骗
- 针对IP协议的攻击——死亡之Ping
- 针对IP协议的攻击——泪滴攻击
- 针对IP协议的攻击——源路由选项攻击
- 针对ICMP协议的攻击——Smurf攻击
- 针对ARP协议的攻击——ARP欺骗攻击
- 传输层
- 提供应用程序之间的通信服务,负责为两台互连主机上的应用程序提供端到端的通信。
- 传输层协议:TCP协议、UDP协议。
- 典型安全隐患
- 针对TCP 协议—— LAND 攻击
- 针对TCP 协议—— SYN FLOOD攻击
- 针对TCP 协议——序列号猜测攻击
- 针对UDP协议——Fraggle 攻击
- 应用层
- 负责处理特定的应用程序细节。
- 应用层协议:FTP、HTTP、TELNET、SNMP、SMTP、DNS。
- 典型安全隐患
- 被窃听
- DNS欺骗
- 网络安全需求
- 机密性:防止数据未授权公开。
- 完整性:防止数据被篡改。
- 可控性:阻止未授权使用资源。
- 不可否认性:通信实体对自己的行为负责。
- 可用性:合法用户在需要使用资源时,能够获取正常的服务。
- 网络安全协议的定义
- 是基于密码学的通信协议,通过信息的安全交换来实现某种安全目的所共同约定的逻辑操作规则。
- 网络安全协议以密码学为基础。
- 网络安全协议也是通信协议。
- 网络接口层的安全性
- 链路级安全
- 链路加密机实现
- 例如,大型网络通信中心之间可以采取这类技术保护它们之间的数据传输。
- 网络层的安全性
- 主机到主机的安全。
- 网络层的安全协议可用来在Internet上建立安全的IP通道和虚拟专用网。
- 网络层实现安全的优缺点:
- 优点
- 透明性,也就是说,安全服务的提供不需要应用程序、其他通信层次和网络部件做任何改动。
- 传输层和应用层可共享网络层的密钥管理构架,密钥协商的开销大大减少。
- 比起网络层,在应用层中实现安全协议需要对相应的应用程序修改。
- 缺点
- Internet层一般对属于不同进程和相应应用的包不作区别。对所有去往同一地址的包,它将按照同样的加密密钥和访问控制策略来处理。这可能导致提供不了所需的功能,也会导致性能下降。
- 优点
- 传输层的安全性
- 在端系统中实现。
- 在传输层提供安全服务,主要是解决点到点的数据安全传输和传输方的身份鉴别。
- 安全协议在传输层和应用层之间,并依赖于TCP协议。
- 优点:
- 不必要求每种应用做相应的修改。
- 应用层的安全性
- 应用层安全必须在终端主机上实施。
- 优点
- 以用户为背景执行,更容易访问用户数据。
- 对用户想保护的数据具有完整的访问权。
- 应用可以自由扩展。
- 应用程序对数据有着充分的理解。
- 缺点
- 针对每个应用须设计一套安全机制
- 可实现抗抵赖服务。
SSL/TLS
- 协议的目标
- SSL/TLS被设计用来使用TCP提供一个可靠的端到端安全服务,为两个通讯个体之间提供保密性和完整性(身份鉴别)。
- SSL/TLS提供3种标准服务:信息保密、信息完整性和双向认证
- SSL的功能
- 采用两种加密技术
- 非对称加密(公钥密码技术)
- 认证服务器端身份
- 传递加密密钥
- 对称加密:加密传输数据
- 非对称加密(公钥密码技术)
- 原因:对称密钥算法在速度上比公钥算法快很多,但是,公钥算法可以实现更加方便的安全验证。
- 采用两种加密技术
- SSL/TLS体系结构
- 协议分为两层
- 底层:SSL记录协议,为上层协议提供基本的安全业务。
- 上层:SSL握手协议、SSL修改密码说明协议、SSL警告协议,用于SSL交换过程的管理。
- 协议分为两层
- SSL记录协议(作用)
- 用来封装高层的协议
- SSL Record Protocol为连接提供两种服务
- 保密性:Handshake Protocol定义一个共享的保密密钥用于对SSL有效载荷进行常规加密。
- 消息完整性:Handshake Protocol还定义了一个共享的保密密钥用于形成MAC。
- SSL握手协议(作用、具体流程)
- 客户和服务器之间相互认证
- 协商加密算法、MAC算法和会话密钥
- 提供连接安全性
- 身份鉴别,至少对一方实现认证,也可以是双向认证
- 协商得到的共享密钥是安全的,中间人不能知道
- 协商过程是可靠的
- 握手协议的流程
- 1、客户机向服务器端发送客户端SSL的版本号、加密算法设置、随机产生的数据和其他服务器需要用于同客户端通信的数据。
- 2、服务器向客户机发送服务器的SSL的版本号、加密算法设置、随机产生的数据和其他客户端需要用于同服务器通信的数据。另外,服务器还要发送自己的证书,如果客户端正在请求需要认证的信息,那么服务器同时也要请求获得客户端的证书。
- 3、客户端用服务器发送的信息验证服务器的身份。如果认证不成功,用户将得到一个警告,加密数据连接将无法建立。如果成功,继续下一步。
- 4、用户用握手过程至今产生的所有数据,创建连接所用的Premaster Secret,用服务器的公钥加密,传送给服务器。
- 5、如果服务器也请求客户端验证,那么客户端将重新产生随机数并进行签名。在这种情况下,客户端会把这次产生的数据和自己的证书同时传送给服务器用来产生Premaster Secret。
- 6、如果客户端不能获得认证,连接将终止,如果认证成功,服务器用自己的私钥解密Premaster Secret,然后执行一系列步骤产生Master Secret。
- 7、服务器和客户端同时产生Session Key,之后的所有数据传输都用对称密钥算法来交流数据。
- 8、客户端向服务器发送信息说明以后的所有信息都将用Session Key加密。并且,它会传送一个单独的信息标示客户端的握手部分已经结束。
- 9、服务器也向客户端发送信息说明以后的所有信息都将用Session Key加密。并且,它会传送一个单独的信息标示服务器的握手部分已经结束。
- 10、SSL握手过程结束,SSL数据传送过程建立。客户端和服务器用Session Key加密、解密双方交互的所有数据。
IPSec
- IPv4的缺陷
- 缺乏对通信双方身份真实性的鉴别能力
- 缺乏对传输数据的完整性和机密性保护的机制
- 由于IP地址可软件配置以及基于源IP地址的鉴别机制,IP层存在:业务流被监听和捕获、IP地址欺骗、信息泄露和数据项篡改等攻击
- AH协议(认证报头)
- 是插入IP数据包内的一个协议头,具有为IP数据包提供数据完整性、数据源认证和抗重传攻击等功能。
- 为IP包提供数据完整性和认证功能
- ESP协议(封装安全载荷)
- 是插入IP数据包内的一个协议头,具有为IP数据包提供机密性、数据完整性、数据源认证和抗重传攻击等功能。
- 功能:
- 信息源的认证
- 信息的完整性
- 数据的私密性
- 防御报文重发
- IPSec提供的服务
- IPSec提供了数据机密性、完整性、认证和抗重放攻击等安全服务。
- IPSec在网络层提供安全服务,使得系统可以选择所需要的安全协议,确定该服务所用的算法,并提供安全服务所需任何加密密钥。
- IPSec的两种工作模式
- 传输模式(transport mode)
- 传输模式主要用于对上层协议的保护,即将其保护推广到IP数据报的负载。
- 典型地用于主机到主机间的VPN通信。
- 隧道模式(tunnel mode)
- 隧道模式用于对整个IP数据报的保护,它是将一个数据报用一个新的数据报包装,即给原数据报加一个新的报头。
- 用于安全网关与安全网关间,或者远程主机到安全网关之间建立安全信道。
- 传输模式(transport mode)
第8章 网络与系统安全防护技术
VPN
- VPN是利用共享的公用网络建立特定用户数据传输通道,提供端到端的、有一定安全和服务质量保证的数据通信服务的网络技术。
- VPN基本原理(隧道技术)
- VPN需要在两台直接与公网连接的设备之间建立一条专用安全通道。
- 采用隧道技术(Tunnelling) ,对数据进行封装,在公共网络上建立一条数据通道(隧道),让数据包通过这条隧道传输。
- 隧道,实质上是一种封装,是将一种协议封装在另一种协议中传输,从而实现内部网络协议对公用网络的透明性。
- 隧道在VPN中的作用:
- 负责隧道的建立、保持和拆除
- 对数据进行封装,传输,解封。
- 提供数据完整性和机密性等安全服务。
- VPN使用的隧道技术涉及三种数据格式:
- 用户数据包格式
- 封装格式
- 公用网传输格式
- 而这三种格式分别对应三种协议:
- 乘客协议
- 隧道协议
- 传输协议
防火墙
- 静态包过滤
- 检查每个经过的IP包,根据过滤规则决定是否允许该数据包通过。
- 状态监测防火墙
- 具有包过滤防火墙的功能
- 增加了对连接状态的控制。通过建立一个出站的TCP连接目录而加强了TCP数据流的监测规则。表中包含每一个当前已建立连接的入口,包过滤机制只允许那些和目录中某个入口匹配的、流向本地高端口号的数据流通过防火墙。
- 可动态生成/删除规则。
- 分析高层协议。
- 特点
- 这种防火墙采用了一个在网关上执行网络安全策略的软件引擎,称之为监测模块。
- 对网络通信的各层实施监测分析,提取相关的通信和状态信息,并在动态连接表中进行状态及上下文信息的存储和更新,这些表被持续更新,为下一个通信检查提供累积的数据。
- DMZ
- 称为"停火区"或"非军事区"(DeMilitarised Zone,DMZ)
- 处于Internet和内部网络之间
- 包含两个包过滤路由器和一个/多个堡垒主机
- 可以放置一些信息和服务器,如WWW和FTP服务器,以便于公众访问,这些服务器可能会受到攻击,因为它们是应用服务器,但内部网络还被保护着
- 是最安全的防火墙系统,因为在定义了“非军事区"网络后,它支持网络层和应用层安全功能
IDS
- 入侵检测,顾名思义,是指对入侵行为的发觉。它通过在计算机网络或计算机系统中的若干关键点收集信息并对收集到的信息进行分析,从而判断网络或系统中是否有违反安全策略的行为和被攻击的迹象。
- 入侵检测系统(Intrusion Detection System,IDS),是完成入侵检测功能的软件、硬件及其组合。它试图检测、识别和隔离“入侵”企图或计算机的不恰当未授权使用。
- 基于主机的IDS——HIDS
- 安装于被保护的主机中,通过查询、监听当前系统的各种资源的使用运行状态,发现系统资源被非法使用和修改的事件,进行上报和处理。
- 实现方式:通过主机代理(agent)来实现,代理是运行在目标主机上的小的可执行程序,它们与控制台(console)通信。
- 占用一定的系统资源。
- 基于网络的IDS——NIDS
- 在比较重要的网段安装探测器来监测和保护整个网段。
- 操作系统无关性,不会增加网络中主机的负载。
- 误用检测(Misuse Detection):
- 这种检测方法是收集非正常操作(入侵)行为的特征,建立误用模式特征库;在后续的检测过程中,将收集到的数据与特征库中的特征代码进行比较,得出是否有入侵行为。
- 异常检测(Anomaly Detection ):
- 这种检测方法是首先总结正常操作应该具有的特征;在得出正常操作的模型之后,对后续的操作进行监视,一旦发现偏离正常统计学意义上的操作模式,即进行报警。
即便不高谈理想,也要心存信仰。