百度网盘链接:https://pan.baidu.com/s/1LT2qyIvZ9--bHM9el6HDrg?pwd=awsh
提取码:awsh
网络空间安全导论重点总结
- 网络空间安全基本机制
- 沙箱:
安全目标:沙箱的安全目标主要是防范恶意程序对系统环境的破坏
核心思想:隔离和限制
通过隔离程序的运行环境、限制程序执行不安全的操作,防止恶意程序对系统可能造成的破坏,限制可信性不能保证的程序
原理:沙箱内部运行可信性无法保证的程序X,与沙箱外部的程序不同,程序X只能对沙箱内部的资源进行自由的访问,不能访问或只能根据安全规则有限制地访问沙箱外部的资源
- 入侵容忍:
安全目标:入侵容忍的安全目标主要是在攻击可能存在的前提下使系统的机密性、完整性和可用性能够得到一定程度的保证
核心思想:容忍、忍错
在攻击、故障事件发生时,入侵容忍机制能够使系统在一定的时间内保证其功能的运转并完成任务(在遭受攻击后,系统仍能有效工作一段时间)
原理:容忍防御环节的疏漏,在攻击和异常发生时仍然能够提供有效的服务
错误容忍和处理是入侵容忍的核心(容忍错误发生并及时进行处理)
- 可信计算:
安全目标:可信计算的总体目标是提升计算机系统安全性和可信性,包括系统数据的完整性、数据的安全存储和平台可信性的远程证明等
核心思想:可信根、信任链
从信任根出发构建信任链,通过信任链确保每一个环节的身份可信
- 类免疫防御:
安全目标:类免疫防御的目标是使计算机系统像生物系统一样,具有发现和消灭外来安全威胁(病毒、入侵)的能力,从而实现计算机系统的安全
核心思想:特征识别、威胁清除
识别正常和非正常信息,修改、隔离或删除有害信息,以一种自适应的方式实现对攻击威胁的识别和清除
- 移动目标防御:
安全目标:移动目标防御的安全目标主要是增加攻击者的难度、使攻击难以达成,从而瓦解攻击
核心思想:动态、异构、不确定(动态变化)
建立一种动态、异构、不确定的网络空间环境,增加攻击者的攻击成本,通过增加系统的随机性和不可预测性来防范网络攻击
实现方法:IP地址跳变、端口跳变、动态路由、网络和主机身份随机化、地址空间随机化、数据存放形式随机化……
- 拟态防御:
安全目标:拟态防御的安全目标主要是对攻击者形成“测不准”效应、获得内生安全/广义鲁棒控制功能
核心思想:动态、异构、冗余
动态变化,对攻击者表现为难以观测、无法预测,增加攻击成本
- 零信任网络:
外网不安全,内网也不安全
五个基本假设:
(1)网络无时无刻不处于危险的环境中
(2)网络中自始至终存在外部或内部威胁
(3)网络的位置不足以决定网络的可信程度
(4)所有的设备、用户和网络流量都应当经过认证和授权
(5)安全策略必须是动态的,并基于尽可能多的数据源计算而来
核心思想:从来不信任,始终在校验(持续验证,动态授权)
不信任任何设备,对访问设备进行持续监测;使访问目标满足最小权限原则,进行权限动态判定
本质是以身份为基石的动态可信访问控制
- 数据加密
- 对称密码
加密和解密使用相同的密钥
对称加密算法对称密码算法的两条基本设计原则:混淆(Confusion)和扩散(Diffusion)
经典密码学常用的两种基本混淆技术是代换和置换
- 公钥密码
A向B发送消息,用B的公钥加密
B收到密文后,用B的私钥解密
- 摘要与签名
一段信息,经过哈希算法得到一串哈希值,就是摘要
数字签名则通过非对称加密算法对数据进行签名
- 静态口令与动态口令
静态口令是由大小写字母、数字、特殊符号组成的一系列字符串,也就是我们传统意义上的密码。
动态口令是一次性口令,具有动态性、随机性、一次性、抗窃听性、方便性等优点,较静态口令而言,具有较高的安全性。
- 隐私保护
匿名化:
- k-anonymity:将k个记录放入一个等价类中,要求任意一条记录与其他至少k-1条记录相似而不可区分
- l-diversity在k-anonymity的基础上,要求保证每一个等价类的敏感属性至少有 l 个不同的值,即每个用户的敏感属性值在等价类中可以找到与此值不同的至少 l -1个属性值,使攻击者最多只能以 1/ l 的概率确认某个用户的敏感信息
- 在k-anonymity和 l-diversity的基础上,t-closeness考虑了敏感属性的分布问题,要求所有等价类中的敏感属性的分布尽量接近该敏感属性的全局分布,差异不能超过阈值 t
差分隐私:
要求保证任意一个个体在数据集中或者不在数据集中时,对最终发布的查询结果几乎没有影响,也就是说对于两个只有一个记录不同,除此以外几乎完全相同的数据集来说,分别对这两个数据集进行查询访问,同一查询在两个数据集上产生相同结果的概论的比值接近于1
算法M满足:
P_r[M(D)∈S_M]≤exp(ε)×P_r[M(D′)∈S_M]
则称算法M提供ε−差分隐私保护,其中参数ε称为隐私保护预算,ε增大:保护程度越来越低。ε=0:攻击者无法区分相邻数据集,保护程度最高,数据可用性最差
同态加密:
思想:对密文直接进行操作,且计算结果的解密值与对应明文的计算结果相同
半同态加密:仅支持加法同态(或乘法同态)的加密体制
浅同态加密:同时满足加同态和乘同态性质,只能进行有限次的加和乘运算
全同态加密:同时满足加同态和乘同态性质,可以进行任意多次加和乘运算
安全多方计算:
解决了一组互不信任的参与方之间保护隐私的协同计算问题
当有两方或者多方参与者决定互相合作并且各自需要提供自己的隐私或者秘密数据时,任意一方都不愿意让其他一方知晓自己提供的信息
安全多方计算特征:输入独立性、计算正确性、去中心化性
- 系统硬件
系统硬件所面临的主要硬件攻击技术:
漏洞攻击:利用硬件设计中存在的缺陷(硬件漏洞主要指硬件设计和生产中存在的缺陷)
硬件木马:指被第三方故意植入或设计者有意留下的特殊模块和电路,硬件木马一般由触发器和有效负载两部分组成。这些模块或电路潜伏在正常硬件中,仅在特定条件下被触发,实施恶意功能(如窃取敏感信息、拒绝服务等)
侧信道攻击:利用硬件系统的旁路信息实施攻击,例如时间信息、功率消耗、缓存使用等
故障注入攻击:一般通过在密码设备中引入电路故障或运算错误来恢复密钥、窃取敏感数据
第八章 协议栈安全
APR协议的安全问题:在ARP回复时,主机A并不会验证ARP回复包的真实性。由此即引出了ARP欺骗
网络层安全:
- IPsec协议:
- IPSec协议工作在网络层,工作在TCP/IP协议的第三层
- IPSec提供了两种安全机制:认证(AH)和加密(ESP)
认证(AH):提供数据源认证、数据完整性校验和防报文重放功能,它能保护通信免受篡改,但不能防止窃听,适合用于传输非机密数据
AH的工作原理是在每一个数据包上添加一个身份验证报文头,此报文头插在标准IP包头后面,对数据提供完整性保护
加密(ESP):提供加密、数据源认证、数据完整性校验和防报文重放功能。
ESP的工作原理是在每一个数据包的标准IP包头后面添加一个ESP报文头,并在数据包后面追加一个ESP尾
同时使用AH和ESP时,设备支持的AH和ESP联合使用的方式为:先对报文进行ESP封装,再对报文进行AH封装
封装之后的报文从内到外依次是原始IP报文、ESP头、AH头和外部IP头
- IPSec的两种工作模式:
传输(transport)模式:只是传输层数据被用来计算AH或ESP头,AH或ESP头以及ESP加密的用户数据被放置在原IP包头后面
封装方式:不改变原有的IP包头,在原数据包头后面插入IPSec包头,只封装数据部分
隧道(tunnel)模式:用户的整个IP数据包被用来计算AH或ESP头,AH或ESP头以及ESP加密的用户数据被封装在一个新的IP数据包中
封装方式:增加新的IP(外网IP)头,其后是IPSec包头,之后再将原来的整个数据包封装
- 网络入侵检测系统
入侵检测系统(IDS)是一种网络安全设备或应用软件,可以监控网络数据传输(NIDS),或者主机系统行为(HIDS),检查是否有可疑活动或者违反预定义的安全策略
从数据来源角度,可以分为三类:基于网络、基于主机和分布式入侵检测系统
基于主机的入侵检测系统(HIDS):安装在单个主机上,监视主机内部活动。
基于网络的入侵检测系统(NIDS):部署在网络流量路径上,分析通过网络的数据包。
分布式入侵检测系统(DIDS):由多个IDS节点组成,协同工作以覆盖更大范围的网络环境
(1)基于特征匹配的IDS
基于专家知识或经验,预定义攻击行为特征或规则,然后对网络流量或主机行为进行匹配,如果匹配成功,则判定为攻击事件
(2)基于异常检测的IDS
首先通过学习建模的方法,构建网络或主机的正常行为基线。然后结合当前网络或主机态势进行判断,如果网络或主机的行为偏离该基线,则判断发生了入侵或攻击,进行告警
传输层安全:
常见的传输层协议主要包括两类:TCP和UDP(TLS/SSL工作在传输层)
- 拒绝服务攻击:使服务器资源耗尽,无法提供正常服务
SYN Flooding是针对TCP协议主要的DoS攻击方式之一,通过发送大量伪造的TCP连接请求,使被攻击方资源耗尽,CPU满负荷或内存不足
SYN Flooding攻击,发生在TCP协议中的三次握手阶段
- TCP劫持攻击
TCP劫持攻击是指,一个TCP连接外的的非法攻击者(即Client和Server之外的一个Attacker),将自己伪造的TCP报文,注入到TCP连接双方的合法数据流中,进而对连接进行攻击破坏,包括伪造控制报文、伪造数据报文
- TCP协议的实现引入了32位随机的序列号和确认号,以及16位随机的源端口号。因此攻击者要成功地将恶意报文注入到目标TCP流中,必须正确预测这些值(序列号、确认号、源端口号)
- 三种攻击模型:In-Path,On-Path,Off-Path,其中Off-Path最难实现,前两种能够获得原始TCP连接中的序列号
- 基于challenge ACK侧信道漏洞的TCP连接劫持
一个旁路的攻击者,可以通过观测该侧信道漏洞,猜测出TCP连接的三个主要参数,即源端口号、序列号、确认号,进而构造伪造报文,劫持目标TCP连接
(4)基于IPID侧信道漏洞的TCP连接劫持
- TLS协议
TLS 协议通常在TCP等传输层协议之上运行,工作在传输层,提供以下三个安全功能:
加密:阻止第三方对传输数据的窃听
身份验证:确保交换信息的各方是他们声称的身份
完整性:验证数据是否伪造而来或未遭篡改过
SSL握手协议的功能:完成加密算法的协商、完成会话密钥的协商、完成通信双方身份验证
- DNS攻击
DNA攻击:
- 缓存中毒攻击:
本地缓存中毒攻击:利用本地DNS服务器的缓存机制,将被篡改的虚假信息缓存到本地DNS 服务器,将 DNS 缓存内的合法地址替换为虚假的 DNS 地址,达到持续造成危害的目的(由于可以嗅探到DNS请求,无需猜测端口号等信息)
- 针对回复部分伪造,影响面:一个主机名(把主机名映射到攻击地址)
- 针对授权部分攻击,影响面:整个域(将ns.attack.com放在授权部分,查询目标域内任何一个主机名时,本地DNS服务器把请求发给ns.attack.com)
远程缓存中毒攻击:成功的攻击需要实现三个任务
1.触发目标DNS服务器发送DNS请求;
2.发送欺骗回复;
3.使缓存失效
远程缓存中毒攻击的难点:
由于不能嗅探DNS请求,很难获取两个数据:
一是UDP16bit的头部端口号(源端口号)
二是DNS头部的16bit交易ID
2.恶意DNS服务器回复伪造:
(1)DNS服务器在附加部分伪造数据
防御策略:本地DNS服务器接受回复字段内容,对于附加字段,若是域外信息,则丢弃;若是域内信息,则发出一个新的请求查询
- DNS服务器在授权部分伪造数据:攻击者在授权部分放入NS记录,伪造同一个域名权威服务器
防御策略:本地DNS服务器检查该记录,如只发送了attack.com域的请求,则不接受thucsnet.com对应的授权记录
(3)DNS服务器在反向查找回复部分伪造数据:伪造IP对应的域名,故意回复错误的域名
防御策略:得到反向查询结果时,用这个结果做一次正向查询,并将查询得到的IP地址与原来的IP地址进行比较
3.拒绝服务攻击
(1)攻击根服务器—难以成功
(2)攻击顶级服务器—巨大威胁
(3)攻击特定域名服务器—影响深远
DNS攻击预防策略:
- 基于密码技术:通过非对称加密验证身份—DNSSEC
部署DNSSEC的权威域名服务器对其区域文件中资源记录用私钥进行数字签名
接收方用公钥验证签名,判定域名解析结果是否在传输过程被篡改
DNSSEC 采用基于公共密钥加密的数字签名
2.基于系统管理
1.限制用户在短时间内发起大量DNS查询
2.增加端口猜测难度,如用于查询的UDP端口不再是默认的53,而在UDP端口范围内随机选择(排除预留端口)
3.分布式部署、恶意流量过滤等方案
第十一章 公钥基础设施
PKI概述:
- 数字证书:主体将其身份信息和公钥以安全的方式提交给CA认证中心,CA用自己的私钥对主体公钥和身份ID进行签名,生成由公钥、身份ID和CA签名三部分组成的证书
- PKI体系通常由终端实体用户、证书认证机构(CA)、证书注册机构(RA)和证书数据库,以及安全服务器组成
- CA的核心功能就是发放和管理数字证书
PKI安全问题:
数字证书颁发过程中的安全问题:误发证书、恶意颁发证书、钓鱼网站证书(证书的合法性难以保证)
数字证书维护过程中的安全问题:证书过期、证书撤销(证书的有效性难以验证)
PKI主要应用场景:
- 加密数据传输:采用数字信封技术传输信息,发送方用对称密钥对消息加密,再用接收方的公钥对加密后的消息进行加密
- 通过HTTPS登录Web
- SSL VPN
- RPKI
第十二章 分布式系统安全
交互信道中的安全威胁:
- 数据包丢失和重复:当网络出现拥塞或被攻击时,客户端发送的数据包可能会丢失;此时客户端重传数据包可能导致服务端收到重复数据包
- 信息泄漏:明文传输数据包时可能会发生,节点可以将监听到的数据包进行重组,从而获取应用层数据信息
- 数据包篡改:中间转发节点可能篡改经过的数据包、其它节点伪造
- 数据包伪造:中间转发节点或其它节点伪造数据包、其它节点伪造客户端发送应用层请求
- 重放攻击:恶意节点通过监听数据包构造客户端发往服务端的应用层请求,重新将该请求多次发送给服务端
防御措施:
- 构建TCP交互信道:解决数据包丢失和重复,TCP协议采用滑动窗口协议确保数据包有序提交,并解决重复问题;采用超时重传机制解决链路拥塞导致的数据包丢失问题
- 构建TLS交互信道:防止数据篡改和泄露(TLS 协议提供三个功能:数据完整性,身份认证,数据加密)
问题:TLS是否可以完全解决重放攻击?
TLS不可以完全解决重放攻击,只能防部分重放攻击
- 基于时间戳的防重放攻击:在消息中附带时间戳
- 基于随机数的防重放攻击:在消息中附带随机数
P2P:
P2P (Peer-to-Peer)又称对等网络技术,也是建立在Internet之上的分布式Overlay网络,能够不依赖中心节点而只依靠对等协作实现资源发现与共享
P2P网络的建立主要包含网络节点发现和邻居节点维护两部分
- 网络节点发现:新加入的节点获取其他节点的ip
- 邻居节点维护:节点与其他节点建立邻居关系
日蚀攻击:
攻击目标:针对网络节点发现以及邻居节点维护两个过程进行攻击,使得受害节点的所有邻居节点都是由攻击者所控制的恶意节点。
- 挤占入向连接:攻击者控制大量节点主动向受害者请求建立邻居关系
防御手段:周期性更换邻居节点
- 挤占出向连接:攻击者发送大量由自己所控制的节点地址信息,等待受害者主动请求建立连接
防御手段:增加网络信息表项的大小
增加出向连接个数
选择少量不易受攻击的可信权威节点作为邻居节点
- 应用安全
应用安全问题:
- XSS (Cross-Site Scripting):跨站脚本攻击
恶意攻击者往 Web 页面里插入恶意可执行网页脚本代码,用户浏览此网页之时嵌入其中 Web 里面的脚本代码会被执行
分为反射型和持久型
反射型:攻击者发送带有恶意脚本参数的URL诱骗受害者点击
持久型:通过攻击者使用网站漏洞,将可执行的代码永久存在服务器中,从而任意访问被攻击网站的用户都会执行恶意代码的攻击
- CSRF(Cross Site Request Forgery):跨站请求伪造
完成 CSRF 攻击必须要有三个条件:
用户已经登录了站点 A,并在本地记录了 cookie
在用户没有登出站点 A 的情况下(cookie 生效的情况下),访问了攻击者提供的恶意站网站B,而后网站B要求访问网站A
站点 A 没有做任何 CSRF 防御
- SQL注入
SQL注入是指web应用程序对用户输入数据的合法性没有判断或过滤不严,导致攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,获得数据
- Web安全-点击劫持:点击劫持是一种视觉欺骗的攻击手段
- Web安全-URL跳转漏洞:借助未验证的URL跳转,将应用程序引导到不安全的第三方区域
- Web安全-OS命令注入攻击:执行非法的操作系统命令达到攻击的目的
- CDN安全-RangeAmp攻击:通过一些漏洞,可以通过CDN进行DoS攻击
小字节范围攻击:利用CDN进行Range放大攻击打目标源站,请求尽量大的内容,返回的内容仍然range头预期的小内容(适用于删除型、扩展型的CDN)
重叠字节范围攻击:堆叠Range范围数量(适用于懒惰型的CDN)
- 社交网络安全-网络钓鱼:攻击者可以伪装成为合法用户的好友,通过各种诱惑手段使用户访问恶意URL
- 社交网络安全-女巫攻击:伪装成为多种身份参与到正常网络中,盗取数据,影响网络的可用性,散播垃圾邮件,钓鱼URL,传播恶意程序,发布虚假信息
- 云计算安全-虚拟机逃逸:虚拟机逃逸指程序脱离虚拟机的过程
- 云计算安全-提权攻击:提权攻击是指用户通过系统漏洞,提升自己操作系统的使用权限的攻击,最简单的方法就是直接猜测管理员的弱口令
- 云计算安全-侧信道:侧信道攻击通过共享的信息通道,可以窃取到通道中的额外秘密,云计算中,虚拟机共享宿主硬件(CPU、内存、网络接口),因此可以通过CPU的计算时间,网络接口的占用时间,一定程度分析出其他用户的数据
- 云计算安全-镜像和快照攻击
应用安全网络攻击的共性特征:
- 资源有限:攻击者可以消耗大量应用资源导致其他用户无法访问
- 资源共享:攻击者可以合法、或者不合法的获取应用数据、推理构造出目标数据
- 系统漏洞:攻击者利用各种软硬件漏洞进行攻击
应用安全的基本防御原理:
- 身份认证与访问控制:用户在被确认身份之后在信息系统中根据身份所有的权限享受相应的信息服务
- 隐私保护:利用一些隐私保护算法或者技术来对隐私数据进行保护
- 应用安全监控防御
第十四章 人工智能安全
- 投毒攻击:通过混入特殊样本的形式,在训练过程中直接对模型产生影响,而不修改测试数据(聚焦于训练阶段)
- 对抗攻击:攻击者不改变目标机器学习系统,通过构造特定输入样本(也就是对抗样本)以欺骗目标系统。在原始样本添加一些人眼无法察觉的扰动(这样的扰动不会影响人类的识别,但是却很容易愚弄模型),致使机器做出错误的判断。如基于梯度的攻击方法FGSM等(聚焦于测试阶段)
- 人工智能算法的局限性:
数据局限性
成本局限性
偏见局限性
伦理局限性