网络安全大纲下总结
一、 计算机网络概述
1.1 计算机网络结构和组成,典型的网络体系结构;网络协议及封装协议;
1.1.1计算机网络结构和组成
1.1.2 典型的网络体系结构
OSI((Open System Interconnect))体系结构参考模型
TCP/IP体系结构
TCP/IP是一个四层的体系结构;
网际层是为了解决不同网络的互连问题;
网络接口层没有具体内容。
计算机网络体系结构
1.1.3 网络协议和封装协议
一个网络协议主要由以下三个要素组成:
语法,即数据与协议控制信息的结构或格式。其中数据是服务用户要求传输的信息;协议控制信息俗称首部,是控制协议操作的信息。例如,图1-5和图1-6分别给出了以太网MAC帧的语法格式和IP数据报的语法格式。
层与层交换数据的封装过程:
TCP/IP协议的封装关系
1.1.4 网络协议及协议封装
在计算机网络中,每层都有各自的传送数据单位,这个数据单位因为是协议之间交换的,故称作协议数据单元。
N层的协议数据单元记作(N)协议数据单元。
应用层的协议数据单元称作用户数据或用户信息;
传输层的协议数据单元称作数据段(segment),也称作报文(message);
网络层的协议数据单元称作分组或包(packet);
数据链路层的协议数据单元称作帧(frame);
物理层协议数据单元称作位(bit)。
1.2 信息安全定义,主要安全特性
1.2.1 信息安全定义
【名词解释】信息安全定义:安全是指不受威胁,没有危险、危害和损失。因此,信息安全是指信息系统中的信息不会因为偶然的,或者恶意的原因而遭受破坏、更改和泄露,信息系统能够持续、不间断地提供信息服务。
1.2.2 主要安全特性
可用性:是信息被授权实体访问并按需使用的特性。
保密性:是防止信息泄露给非授权个人或实体,只为授权用户使用的特性。
完整性:是信息未经授权不能改变的特性。
不可抵赖性:是信息交互过程中,所有参与者不能否认曾经完成的操作或承诺的特性 。
可控制性:是对信息的传播过程及内容具有控制能力的特性。
1.3 网络安全模型,计算机网络的脆弱性
1.3.1网络安全模型
安全模型含义
安全模型以建模的方式给出解决安全问题的方法和过程。精确地描述信息系统行为与保障信息系统安全所涉及的要素之间的相互关系。
P2DR安全模型
P2DR安全模型组成:
策略:为实现信息系统的安全目标,对所有与信息系统安全相关的活动所制订的规则。
防护:信息系统的安全保护措施,由安全技术实现。
检测:了解和评估信息系统的安全状态,发现信息系统异常行为的机制。
响应:发现信息系统异常行为后采取的行动。
定义以下时间参数
Pt:信息系统采取安全保护措施后的防护时间,也是入侵者完成入侵过程需要的时间。
Dt:从入侵者开始入侵到检测工具检测到入侵行为所需要的时间。
Rt:从检测工具发现入侵行为,到信息系统通过适当的反应,重新将信息系统调整到正常状态所需要的时间。
如果某个信息系统的时间参数满足以下不等式:
Pt>Dt+Rt
表明该信息系统是安全的信息系统。
如果某个信息系统的时间参数满足以下不等式:
Pt<Dt+Rt
表明该信息系统是不安全的信息系统。
如果Et为暴露时间。
Et=Dt+Rt-Pt。
1.3.2计算机网络的脆弱性
1. 分组交换容易受到攻击
因特网是基于分组交换的,这使得它比采用电路交换的电信网更容易受攻击,主要表现在:
- 所有用户共享所有资源,给予一个用户的服务会受到其他用户的影响;
- 攻击数据包在被判断为是否恶意之前都会被转发到受害者;
- 路由分散决策,流量无序等。
2 .缺乏认证与可追踪性
因特网没有认证机制,任何一个终端接入即可访问全网(而电信网则不是,有UNI、NNI接口之分),这导致了一个严重的问题就是IP欺骗:
攻击者可以伪造数据包中的任何区域的内容然后发送数据包到Internet中。通常情况下,路由器不具备数据追踪功能,因此很难去验证一个数据包是否来自其所声称的地方。
通过IP欺骗隐藏来源,攻击者就可以发起攻击而无须担心对由此造成的损失负责。
3. 尽力而为(best-effort)的服务策略
因特网采取的是尽力而为策略,即只要是交给网络的数据,不管其是正常用户发送的正常数据,还是攻击者发送的攻击流量,网络都会尽可能地将其送到目的地。把网络资源的分配和公平性完全寄托在终端的自律上,在现在看来,这显然是不现实的。
4.匿名与隐私
网络上的身份是虚拟的,普通用户无法知道对方的真实身份,也无法拒绝来路不明的信息(如邮件)。
5.对全球网络基础实施的依赖
全球网络基础设施不提供可靠性、安全性保证,这使得攻击者可以放大其攻击效力:
首先,一些不恰当的协议设计导致一些(尤其是畸形的)数据包比其他数据包耗费更多的资源(如TCP 协议的连接请求SYN包比其他的TCP包占用的目标资源更多);
其次,Internet是一个大“集体”,其中存在的很多不安全系统会严重威胁整个网络的安全。
6.无尺度网络
全球网络基础设施不提供可靠性、安全性保证,这使得攻击者可以放大其攻击效力:
因特网是一种无尺度网络。
** n 。**
这种关键节点(称为“枢纽”或“集散节点”)的存在使得无尺度网络对意外故障有强大的承受能力(删除大部分网络节点而不会引发网络分裂),但面对针对枢纽节点的协同性攻击时则显得脆弱
7.互联网的级联特性
互联网是一个由路由器将众多小的网络级联而成的大网络。当网络中的一条通信线路发生变化时,附近的路由器会通过“边界网关协议(BGP)”向其邻近的路由器发出通知。这些路由器接着又向其他邻近路由器发出通知,最后将新路径的情况发布到整个互联网。
“网络数字大炮”就是针对互联网的这种级联结构发起的一种拒绝服务攻击武器,利用伪造的BGP协议消息攻击路由器,导致网络中几乎所有路由器都被占用,正常的路由中断无法得到修复,最终可导致互联网大面积瘫痪。
8.中间盒子带来新的安全风险
例如:用于改善性能的DNS 缓存(cache)、https代理/缓存、CDN等,用于协议转换的NAT(Network Address Translation)、IPv4-IPv6转换器等,用于安全防护的防火墙、入侵检测系统/入侵防御系统(IDS/IPS)等不同类型的中间盒子大量被插入互联网之中
在网络中引入了单一故障点和新的网络攻击点,削弱了网络的健壮性和安全性。同时,大量不同厂家实现的中间盒子对同一协议的理解和实现的不一致性也给网络带来了新的安全风险。
二、 网络攻击
2.1主要的定义及分类
2.1.1定义
【名词解释】网络安全威胁是指网络环境下的信息系统中分布在主机、链路和转发节点中的信息受到威胁,存在危险,遭受损失,信息系统无法持续正常提供服务。
【名词解释】网络攻击是指利用网络存在的漏洞和安全缺陷对网络中的硬件、软件及信息进行的攻击,其目的是破坏网络中信息的保密性、完整性、可用性、可控制性和不可抵赖性等安全特性,削弱、甚至瘫痪网络的服务功能。
2.1.2 分类
可以分为主动攻击和被动攻击。被动攻击由于对网络和主机都是透明的,因此难以检测,防御被动攻击的主要方法是防患于未然。
主动攻击:是指会改变网络中的信息、状态和信息流模式的攻击行为,并且可以破坏信息的保密性、完整性和可用性。
被动攻击:是指不会对经过网络传输的信息、网络状态和网络信息流模式产生影响的攻击行为,一般只破坏信息的保密性。
以下网络攻击属于主动攻击
篡改信息:篡改信息是指截获经过网络传输的信息,并对信息进行篡改;或者对存储在主机中的信息进行篡改的攻击行为。
欺骗攻击:欺骗攻击是一种用错误的信息误导网络数据传输过程和用户资源访问过程的攻击行为。源IP地址欺骗攻击是用伪造的IP地址作为用以发动攻击的IP分组的源IP地址。域名系统(DNS)欺骗攻击是将伪造的IP地址作为域名解析结果,返回给用户。路由项欺骗攻击是用伪造的路由项来改变路由器中路由表的内容。
拒绝服务攻击:拒绝服务攻击是通过消耗链路带宽、转发节点处理能力和主机计算能力使网络丧失服务功能的攻击行为。
重放攻击:截获经过网络传输的信息,延迟一段时间后,再转发该信息,或者延迟一段时间后,反复多次转发该信息的攻击行为。
以下网络攻击属于被动攻击
嗅探信息(大部分):复制经过网络传输的信息,但不会改变信息和信息传输过程。
非法访问:读取主机存储的信息,但不对信息做任何改变。
数据流分析:对经过网络传输的数据流进行统计,并通过分析统计结果,得出网络中的信息传输模式。如通过记录每一个IP分组的源和目的IP地址及IP分组的净荷字段长度,可以得出每一对终端之间传输的数据量,并因此推导出终端之间的流量分布。
2.2嗅探攻击,定义及原理
【名词解释】嗅探攻击定义
嗅探攻击是指攻击者使用网络嗅探工具(如Wireshark、Tcpdump等)监视网络数据包,以窃取和分析网络中的敏感信息。攻击者可以通过连接到受害者所在的网络或使用恶意软件在受害者设备上进行数据包捕获。
【名词解释】嗅探攻击原理
嗅探攻击是被动攻击,主要是黑客终端通过接入嗅探目标终端的信息传输路径,然后复制经过网络传输的信息
终端A向终端B传输信息过程中,信息不仅沿着终端A至终端B的传输路径传输,还沿着终端A至黑客终端的传输路径传输,终端A至黑客终端的传输路径对终端A和终端B都是透明的。
2.3!**==拒绝服务攻击原理/防御机制==**
2.3.1 拒绝服务攻击原理
1. 基本概念
- 拒绝服务(DoS)攻击:通过某种手段,有意造成计算机或网络不能正常运转,从而不能向合法用户提供服务或降低服务质量。
- 分布式拒绝服务(DDoS)攻击:多个攻击者或被控制的主机向同一目标发起攻击。
2. 攻击分类
- 按攻击方式:资源破坏型、物理破坏型、服务终止型
- 按攻击目标:直接型、间接型
- 按攻击机制:剧毒包型、风暴型、重定向型
3. 主要攻击原理
(1) 剧毒包型攻击
- 利用协议或软件漏洞,发送异常数据包使目标系统崩溃
- 例如:WinNuke攻击、Land攻击、Ping of Death攻击等
(2) 风暴型攻击
向目标发送大量数据包,耗尽系统资源
例如:SYN Flood、ICMP Flood、UDP Flood、https Flood等
对付风暴型DDoS攻击的方案主要有四种:
1.通过丢弃恶意分组的方法保护网络;
2.在源端控制DDoS攻击;
3.追溯 (Traceback) 攻击的源端, 然后阻止它发起新的攻击;
4.路由器动态检测流量并进行控制。
最有效的对抗风暴型DDoS的方法是:==流量清洗==
(3) 反射型攻击
- 利用中间服务器(反射器)向目标发送大量响应包
- 例如:NTP反射攻击、DNS放大攻击等
2.3.2 防御机制
从原理上讲,主要有四种应对DoS攻击的方法
- 分组过滤:通过丢弃恶意分组的方法保护受攻击的网络或系统
- 源端控制:在源端控制DoS攻击
- 追溯:追湖(traceback)发起攻击的源端,然后阻止它发起新的攻击
- 路由器动态检测和控制:在路由器上动态检测和控制DoS攻击引起的拥塞
==拒绝服务攻击是最容易实现,却最难防护的攻击手段==
2.4 截获攻击,Mac地址欺骗攻击; 欺骗攻击
- 攻击者改变信息传输路径,使数据经过攻击者的设备。
- 攻击者截获信息后可以篡改、延迟转发或重复转发信息。
- 属于主动攻击。
攻击者伪造MAC地址,使自己的MAC地址与目标IP绑定。
导致其他设备将数据错误地发送给攻击者而非目标设备。
利用了设备无法验证ARP报文中IP和MAC绑定的真实性。
MAC 地址欺骗攻击:
- 黑客终端将自己的 MAC 地址修改为终端 A 的 MAC 地址,发送以 MAC A 为源 MAC 地址、以广播地址为目的 MAC 地址的 MAC 帧,使得以太网中各个交换机的转发表中 MAC 地址为 MAC A 的转发项将通过黑客终端的交换路径作为目的 MAC 地址为 MAC A 的 MAC 帧的传输路径。
- 防御机制:阻止黑客终端接入以太网,阻止黑客终端发送的以伪造的 MAC 地址为源 MAC 地址的 MAC 帧进入以太网。
攻击者发送伪造的ARP报文,使其他设备错误更新ARP缓存。导致数据被错误地发送到攻击者而非真正的目标。通常会先攻击使目标设备瘫痪,以稳妥地截获数据。
ARP 欺骗攻击原理:以太网中终端无法鉴别 ARP 请求报文中给出的 IP 地址与 MAC 地址绑定项的真伪。
ARP 欺骗攻击过程:黑客终端在发送的 ARP 请求报文中给出 IP 地址 IP B 和 MAC 地址 MAC A 的绑定项,其他终端在 ARP 缓冲区中记录 IP B 与 MAC A 的绑定项,如果需要向 IP 地址为 IP B 的结点传输 IP 分组,该 IP 分组被封装成以 MAC A 为目的 MAC 地址的 MAC 帧,该 MAC 帧经过以太网传输后,到达终端 A,而不是到达终端 B。
防御机制:**==以太网交换机提供鉴别 ARP 请求和响应报文中 IP 地址与 MAC 地址绑定项真伪的功能。==**
2.5! ==路由欺骗攻击,原理及过程==
- 原理:
攻击者向路由器发送伪造的路由项信息。
使路由器更新错误的路由表。
导致数据被错误地转发到攻击者。
黑客终端向路由器 R1 发送一项伪造的路由项,该伪造的路由项将通往网络 W 的距离设置为 0,路由器 R1 接收到该路由项后,选择黑客终端作为通往网络 W 的传输路径的下一跳,并将所有目的网络为网络 W 的 IP 分组转发给黑客终端。
- 攻击过程:
攻击者发送伪造的路由消息,声称到某网络距离最短。
路由器更新路由表,将该网络的下一跳改为攻击者。
发往该网络的数据被错误地转发给攻击者。
攻击者可以截获、篡改或转发这些数据。
路由器接收到路由消息后,首先需要鉴别路由消息的发送端,并对路由消息进行完整性检测,确定路由消息是由经过认证的相邻路由器发送,且路由消息传输过程中没有被篡改后,才处理该路由消息,并根据处理结果更新路由表。
三、 IP与路由安全
3.1==! IPv4协议,主要的安全问题==
3.1.1.IPv4协议
3.1.2 主要的安全问题
IPv4协议没有认证机制:
没有消息源认证:源地址假冒
没有完整性认证:篡改
IPv4没有加密机制
无机密性:监听应用数据
泄露拓扑等信息:网络侦察
无带宽控制
DDoS攻击
3.2 ==! IPSec安全策略,运行模式==
3.2.1 IPSec安全策略
安全关联 (SA): 安全关联是通信双方之间建立的一种逻辑连接,用于协商和管理 IPSec 连接的参数,包括加密算法、身份验证方法、密钥等。每个 SA 都是单向的,双向通信需要建立两个 SA。
安全策略数据库 (SPD): SPD 是一个存储 IPSec 策略规则的数据库,用于决定对哪些数据流应用 IPSec 保护以及如何应用。SPD 中的规则通常基于 IP 地址、端口号、协议类型等信息。
安全协议 (AH/ES P):
IPSec 使用两种安全协议来提供安全服务:
- 身份验证头 (AH): 提供数据源身份验证和数据完整性校验,但不加密数据。
- 封装安全载荷 (ESP): 提供数据机密性、数据源身份验证和数据完整性校验。
密钥管理: IPSec 需要密钥来进行加密和身份验证。密钥管理机制用于协商、生成、分发和管理密钥。常见的密钥管理协议包括手动配置和 IKE(Internet Key Exchange,互联网密钥交换)。
IPsec操作的基础是应用于每一个从源端到目的端传输的IP包上的安全策略。
IPsec安全策略主要由两个交互的数据库:
安全关联数据库(Security Association Database, SAD)
安全策略数据库(Security Policy Database, SPD)
安全关联SA
IPsec 安全关联 (security association, SA) 指定由通信主机识别的安全属性。单个 SA 保护单一方向的数据,此保护针对单个主机或一组(多点传送)地址。
安全关联(Security Association, SA)
一个SA:发送端和接收端之间的单向逻辑连接,为数据流提供安全服务;经过同一SA的数据流会得到相同的安全服务,如AH或ESP
SA对:双向安全数据交换
同时支持AH、ESP且双向:需两对SA
一个SA由以下参数确定
安全参数索引(Security Parameters Index, SPI):32位,接收方根据SPI选择合适的SA处理接收到的数据包
IP目的地址:仅允许单播地址
安全协议标识(Security Protocol Identifier):AH / ESP
IPsec协议模式:隧道、传输或通配符
不同SA可以用多种方式组合以获得理想的用户配置。此外,IPsec对需要IPsec保护的流量和不需要IPsec保护的流量提供多种粒度的控制
安全策略SP
安全策略(Security Policy, SP)
指定对IP数据包提供何种保护,并以何种方式实施保护
主要根据源IP、目的IP、入数据还是出数据等来标识
用户设定自己的安全策略的粒度:IP地址,传输层协议,TCP/UDP端口号
操作:Discard、Bypass、Protect
SPD中的每一条SP包括:
本地IP
远程IP
下一层协议
名称
本地或远程端口
3.2.2 运行模式
IPSec传输模式用于端到端通信,例如,用于客户端与服务器之间或工作站与网关之间的通信(如果网关被视为主机)。一个很好的例子是从工作站到服务器的加密Telnet或远程桌面会话
传输模式通过AH或ESP头提供对我们数据的保护,也称为IP有效负载,由TCP / UDP头+数据组成。有效负载由IPSec头和尾封装。原始IP标头保持不变,只是IP协议字段更改为ESP(50)或AH(51),并且原始协议值保存在IPsec尾部中,以便在解密数据包时进行恢复。
通常在以下情况下使用IPSec传输模式:使用另一个隧道协议(如GRE)首先封装IP数据包,然后使用IPSec保护GRE隧道包。IPSec在传输模式下保护GRE隧道流量。
IPSec隧道模式是默认模式。在隧道模式下,整个原始IP数据包均受IPSec保护。这意味着IPSec包装原始数据包,对其进行加密,添加新的IP标头并将其发送到VPN隧道的另一端(IPSec对等方)。
隧道模式最常用于网关之间(Cisco路由器或ASA防火墙),或在网关的终端站,网关充当其后的主机的代理。
隧道模式用于加密安全IPSec网关(例如,通过IPSec VPN通过Internet连接的两个Cisco路由器)之间的通信。我们的站点到站点IPSec VPN文章中广泛介绍了此拓扑的配置和设置。在此示例中,每个路由器都充当其LAN的IPSec网关,提供到远程网络的安全连接:
隧道模式的另一个示例是Cisco VPN客户端和IPSec网关(例如ASA5510或PIX防火墙)之间的IPSec隧道。客户端连接到IPSec网关。来自客户端的流量经过加密,封装在新的IP数据包中,然后发送到另一端。一旦由防火墙设备解密,客户端的原始IP数据包将发送到本地网络。
在隧道模式下,IPSec头(AH或ESP头)插入IP头和上层协议之间。在AH和ESP之间,ESP最常用于IPSec VPN隧道配置中。
3.3IPv6地址及端口(找不到)
IPv6地址
长度:128位
表示方法:八组16位十六进制数,用冒号分隔,例如:
2001:0db8:85a3:0000:0000:8a2e:0370:7334
简写规则
省略前导零:
2001:db8:85a3:0:0:8a2e:370:7334
连续零压缩:
2001:db8:85a3::8a2e:370:7334
IPv6端口
端口号范围
- 公认端口:0-1023
- 注册端口:1024-49151
- 动态/私有端口:49152-65535
IPv4 和 IPv6 的端口号和地址
端口号
相同点:
- IPv4 和 IPv6 都使用 16 位 整数表示端口号,范围从 0 到 65535。
- 端口号用于标识特定设备上的特定应用程序或服务。
区别:
- 没有区别。 IPv4 和 IPv6 使用相同的端口号系统。
地址
区别:
特性 | IPv4 | IPv6 |
---|---|---|
地址长度 | 32 位 (4 字节) | 128 位 (16 字节) |
表示方法 | 点分十进制,例如:192.168.1.1 | 冒号十六进制,例如:2001:0db8:85a3:0000:0000:8a2e:0370:7334 |
地址空间 | 大约 43 亿个地址 | 理论上可以提供 2^128 个地址 |
广播地址 | 支持 | 不支持,使用组播地址替代 |
地址分配 | 相对紧张,需要 NAT 等技术 | 非常充足,无需 NAT |
安全性 | IPSec 可选 | IPSec 集成 |
举例说明:
IPv4 地址:
192.168.1.100:80
- 192.168.1.100 是 IPv4 地址
- 80 是端口号,通常用于 HTTP 服务
IPv6 地址:
- 2001:0db8:85a3:0000:0000:8a2e:0370:7334 是 IPv6 地址
- 443 是端口号,通常用于 HTTPS 服务
3.4AH协议,定义及结构
3.4.1【名词解释】AH协议定义
3.4.2 AH协议结构
3.5ESP协议,定义及结构
3.5.1【名词解释】ESP协议定义
3.5.2ESP协议结构
ESP认证范围不包含首部,所以可以与NAT兼容
3.6网络密钥交换,定义及结构
IPsec密钥管理
- 手动(manual):管理员为每个系统手动配 置所需密钥
- 自动(automated):系统通过IKE(Internet Key Exchange)协议自动为SA创建密钥
定义
Internet密钥交换(Internet Key Exchange, IKE)是用于建立安全通信会话的协议,广泛用于虚拟专用网络(VPN)。它通过动态协商和建立安全关联(SA),在两端设备之间安全地交换加密密钥。
结构
IKE协议包括两个主要版本:IKEv1和IKEv2。以下是IKE的基本结构和工作过程:
阶段1(Phase 1):建立安全关联和共享密钥
模式:主要有主模式(Main Mode)和野蛮模式(Aggressive Mode)。
步骤
- 协商加密算法和哈希函数:双方协商用于保护通信的算法。
- DH密钥交换:使用Diffie-Hellman算法生成共享密钥。
- 身份验证:通过预共享密钥(PSK)、数字证书或其他方法验证身份。
阶段2(Phase 2):建立IPsec SA
快速模式(Quick Mode):在已建立的安全通道上,协商IPsec的具体参数,如ESP(封装安全有效载荷)或AH(认证头)的加密和哈希算法。
步骤
- 协商IPsec SA参数:选择具体的加密和哈希算法。
- 共享密钥生成:基于阶段1的共享密钥生成新的会话密钥。
- 建立IPsec SA:创建保护数据流的IPsec安全关联。
工作过程
- 初始协商:客户端和服务器通过IKE协议进行初始协商,选择合适的加密和哈希算法。
- 密钥交换:双方通过DH密钥交换生成共享密钥。
- 身份验证:双方通过预先配置的PSK或数字证书验证对方身份。
- 建立SA:完成初始协商和身份验证后,双方建立安全关联(SA)。
- 保护通信:使用协商的算法和生成的密钥保护实际的数据通信。
安全功能
- 加密:通过协商的对称加密算法(如AES)保护数据的机密性。
- 完整性:通过哈希算法(如SHA-256)确保数据未被篡改。
- 身份验证:确保通信双方的身份真实性。
- 密钥管理:自动生成和管理密钥,确保密钥的安全性和生命周期管理。
四、 区块链安全
4.1 ==!区块链结构==,链式结构、哈希链、区块结构
4.1.1 区块链的结构特点:
区块链是一种链式结构,区块按时间顺序相连。
区块链分叉现象是指由于网络传输延迟,区块链矿工节点可能在同一时间点产生两个或多个有 效的区块。
硬分叉是软件升级是新老软件不兼容,旧节点不愿意接受新节点产生的区块所形成的分叉现 象。
软分叉是当新共识规则发布后,在去中心化架构中节点不一定要升级到新的共识规则,新老节 点最终都接受新老规则产出的区块并相互认可。
链式结构、哈希链(PPT未涉及很多,搜的)
区块链是一种按时间顺序将数据区块以顺序相连的方式组合成的链式数据结构。区块链构建了一种分布式的价值传输网络,允许缺乏信任的个体之间进行价值互联和数据共享。
1. 链式结构:
- 区块链就像一条链条,由一个个区块(Block)链接而成。
- 每个区块都包含着交易信息、时间戳、哈希值等数据。
- 区块之间通过哈希指针连接,形成一条不可断裂的时间链条。
2. 哈希链:
- 每个区块都包含前一个区块的哈希值,就像每个区块都握着前一个区块的手,形成一条牢固的链条。
- 任何一个区块数据的改动都会导致其哈希值改变,进而影响后续所有区块的哈希值,很容易被发现。
- 这种链式结构和哈希指针的结合,保证了区块链数据的不可篡改性。
4.1.2 区块结构
区块是容纳了多笔交易的数据单元。每个区块包含两种数据结构,分别是区块头和区块体。
4.2!==区块链主要协议,共识协议、地址生成==
区块链主要协议
- 比特币(Bitcoin):首个区块链协议,专注于点对点数字货币交易。
- 以太坊(Ethereum):支持智能合约和去中心化应用的平台。
共识协议
共识协议是区块链网络中所有节点就数据状态达成一致的机制,它确保了在去中心化的网络中,只有一个版本的区块链被认为是有效的,即使部分节点出现故障或恶意行为,也能保证整个网络的稳定和安全。
- 工作量证明(Proof of Work, PoW):通过计算复杂数学问题来达成共识(如比特币)。
- 权益证明(Proof of Stake, PoS):通过持有代币数量和时间来达成共识(如以太坊2.0)。
- 委托权益证明(Delegated Proof of Stake, DPoS):通过投票选出代表节点进行区块验证(如EOS)。
- 拜占庭容错(Byzantine Fault Tolerance, BFT):处理分布式系统中的拜占庭将军问题(如Hyperledger Fabric)。
地址生成
- 私钥:随机生成的256位数,用于签名交易。
- 公钥:通过椭圆曲线加密算法从私钥生成,用于生成区块链地址。
- 地址:通过哈希函数(如SHA-256和RIPEMD-160)对公钥进行哈希处理生成,用于接收和发送区块链资产。
4.2.2. 地址生成:保障资产安全的“身份标识”
区块链地址是用户在区块链网络上的身份标识,类似于银行账号,用于接收和发送加密货币或数字资产。地址生成机制确保了每个地址的唯一性和安全性。
常见的地址生成方式:
- 基于公钥加密: 通过非对称加密算法生成一对密钥:私钥和公钥。公钥可以公开分享,用于接收资产,而私钥必须妥善保管,用于授权交易。区块链地址通常是由公钥经过一系列哈希运算和编码生成的。
- 哈希函数: 使用哈希函数对用户的公钥或其他身份信息进行运算,生成一个固定长度的字符串作为地址。
地址生成机制的特点:
- 唯一性: 每个地址都是唯一的,可以避免资产混淆和误操作。
- 安全性: 地址生成算法保证了地址的随机性和不可预测性,难以被破解或伪造。
- 匿名性: 地址本身不直接包含用户的真实身份信息,保护用户隐私。
4.3 节点运行机制,==P2P点对点网络==
P2P 对等式网络,又称点对点技术,是去中心化、依靠用户群交换信息的互联网体系,它的作用在于,减低以往网路传输中的节点,以降低资料遗失的风险。与有中心服务器的中央网络系统不同,对等网络的每个用户端既是一个节点,也有服务器的功能,任何一个节点无法直接找到其他节点,必须依靠其户群进行信息交流
网络层是系统节点之间进行数据交互的组成部分, 目前大多数区块链网络层采用的是分布式 P2P 组网架构, 依赖 P2P 组网架构, 区块链节点可以在无须依赖可信的第三方节点来完成通信
网络层是系统节点之间进行数据交互的组成部分, 目前大多数区块链网络层采用的是分布式 P2P 组网架构, 依赖 P2P 组网架构, 区块链节点可以在无须依赖可信的第三方节点来完成通信
区块链网络层的主要功能是为共识层提供可靠、 对等和安全的网络结构及通信环境
P2P网络:是指两个或多个对等节点之间直接共享文件的网络架构, 在区块链网络中各个节点无主次之分。然而,安全性不高的节点很容易受到攻击者的直接攻击从而带来隐私数据的泄露
目前存在多种威胁网络层安全的攻击方式:日蚀攻击、BGP劫持攻击、窃听攻击和拒绝服务攻击等
五、 传输层安全
5.1传输层协议,UDP协议、TCP协议
5.1.1 UDP协议
IP层的报头指明了源主机和目的主机地址,而UDP层的报头指明了主机上的源端口和目的端口。
UDP传输的段(segment)有8个字节的报头和有效载荷字段构成。
应用程序访问UDP层然后使用IP层传送数据报。IP数据包的数据部分即为UDP数据报。IP层的报头指明了源主机和目的主机地址,而UDP层的报头指明了主机上的源端口和目的端口。UDP传输的段(segment)有8个字节的报头和有效载荷字段构成。
源端口:源端口号,占2字节。由于UDP协议提供的是不可靠的数据传输服务,所有不需要应答,因而UDP的源端口号是可选的,如果不用,设置为0.
目的端口:目的端口号,占2字节。
长度:UDP用户数据报的长度(包括首部和数据部分在内的总的字节数),占2字节。最小值是8(数据报中只有固定的首部,没有数据)
检验和:防止UDP用户数据报在传输中出错,占2字节。由于UDP不保证可靠性,所有该字段是可选的。
UDP协议使用报头中的校验值来保证数据的安全。
校验值首先在数据发送方通过特殊的算法计算得出,在传递到接收方之后,还需要再重新计算。
如果某个数据报在传输过程中被第三方篡改或者由于线路噪音等原因受到损坏,发送和接收方的校验计算值将不会相符,由此UDP协议可以检测是否出错。
IP数据报的检验和只检验IP数据报的首部。
5.1.2 TCP协议
标志符(9比特长)
TCP连接有关的控制比特(标志位):
确认位(ACK):当ACK=1时,确认号字段才有效;当ACK=0时,确认号无效。
复位号(RST):当RST=1时,表明TCP连接中出现严重差错,如由于主机崩溃或其他原因,必须释放连接,然后再重新建立传输连接。
同步位(SYN):在连接建立时用来同步序号。当SYN=1而ACK=0时,表明这是一个连接请求报文段。对方若同意建立连接,则应在响应的报文段中使SYN=1和ACK=1.
终止位(FIN):用来释放一个连接。当FIN=1时,表明此报文段的发送端的数据已发 送完毕,并要求释放传输连接。
5.2!==SSL体系结构、协议模式,握手协议==
5.2.1 SSL体系结构、协议模式
SSL有两种使用模式:
一种是将SSL(或TLS)作为传输层之上、应用层之下的一个独立协议子层,对应用程序完全透明;
另一种是将SSL(或TLS)嵌入到特定的应用里,比如绝大多数浏览器和Web服务器中都实现了SSL(或TLS)协议。
SSL分两个子层,下面一层是SSL记录协议(Record Protocol),为高层协议,如https协议,提供基本的安全服务;
上面一层包括三个协议:SSL握手协议(Handshake Protocol)、SSL密码变更规格协议(Change Cipher Specification Protocol)和SSL报警协议(Alert Protocol),这些协议对SSL信息交换进行管理
有了SSL后,应用层数据不再直接传递给传输层,而是传递给SSL层,由SSL层对从应用层收到的数据进行加密,并增加自己的SSL首部
SSL几个协议之间的关系是:
使用握手协议协商加密和MAC算法以及保密密钥,以及身份认证
使用密码变更规格协议变更连接上使用的密码机制
使用记录协议对交换的数据进行加密和签名
使用报警协议定义数据传输过程中出现的问题并通知相关方
5.2.2 握手协议
SSL握手协议是客户端和服务器用SSL连接通信时使用的第一个子协议,在开始传输上层应用数据之前使用。
该协议允许服务器和客户端相互验证,协商加密和MAC算法以及加密密钥,用来保护在SSL记录协议中发送的数据
5.3TLS结构与协议模式,TLS与SSL差异
5.3.1 TLS结构与协议模式
TLS(Transport Layer Security,传输层安全协议)是互联网上应用最广泛的安全协议之一,它为网络通信提供身份验证、加密和数据完整性保护,确保信息在传输过程中不被窃听、篡改或伪造。
TLS结构
- 记录协议(Record Protocol):基础协议,负责分段、压缩、加密和传输数据。
- 握手协议(Handshake Protocol):建立安全连接,协商加密算法、认证客户端和服务器、生成会话密钥。
- 警报协议(Alert Protocol):处理和传递警报信息(如错误和警告),终止连接。
- 变更密码规范协议(Change Cipher Spec Protocol):指示通信双方开始使用协商的加密算法和密钥。
- 应用数据协议(Application Data Protocol):传输经过加密和完整性保护的应用层数据。
一、TLS 结构:分层协作,各司其职
TLS 协议采用分层结构,主要分为两层:
- TLS 记录协议(TLS Record Protocol): 负责数据的加密、解密、完整性校验和消息认证,确保数据在传输过程中的机密性和完整性。
- TLS 握手协议(TLS Handshake Protocol): 负责在客户端和服务器之间建立安全连接,协商加密算法、交换密钥等,为后续数据传输做好准备。
TLS 协议栈:
1 |
|
二、TLS 协议模式:灵活应对不同场景
TLS 协议支持多种协议模式,以适应不同的应用场景和安全需求:
1. TLS 握手模式:
- 单向认证: 只有服务器需要验证身份,客户端不需要验证。例如,访问 httpsS 网站时,浏览器只需要验证网站的证书,而网站不需要验证用户的身份。
- 双向认证: 客户端和服务器都需要验证身份,例如,访问网上银行时,银行需要验证用户的身份,用户也需要验证银行的证书。
2. TLS 会话模式:
- 会话恢复: 在已经建立连接的基础上,快速恢复之前的会话状态,减少握手过程的开销,提高通信效率。
5.3.2 TLS与SSL差异
版本号
TLS 1.0 的主版本为3, 次版本为1,而与之对应的SSL 3.0的主版本为3,次版本为0。TLS 1.1的主版本为3,次版本为2
消息认证码
TLS的MAC与SSL3.0的MAC有两点不同:TLS使用RFC2104中定义的HMAC算法;TLS使用称为“PRF”的伪随机函数
报警码
除no_certificate外,TLS继承了SSL3.0中定义的所有报警码。另外,还定义了新的报警码
密码套件
TLS和SSL3.0存在细小差别,即TLS不支持Fortezza密钥交换、加密算法,而SSL3.0是支持的
客户端证书类型
在CertificateRequest消息中,TLS支持SSL3.0中定义的rsa_sign, dss_sign, rsa_fixed_dh和dss_fixed_dh证书,但不支持SSL 3.0支持的rsa_ephemeral_dh, dss_ephemeral和fortezza_kea证书
CertificateVerify消息
TLS在CertificateVerify消息中计算MD5和SHA-1散列码时,计算的输入与SSL 3.0有少许差别,但安全性相当
仅对handshake_message进行MD5或SHA-1散列值计算,而在SSL 3.0中散列值计算还包括主密钥和填充,但这些额外信息似乎并没有增加安全性
Finished消息
TLS在Finished消息中计算MD5和SHA-1散列码时,计算的输入与SSL 3.0有少许差别,但安全性相当
密码计算
TLS和SSL 3.0在计算主密钥值(master secret)时采用的方式不同,过程如下:
填充
在SSL中,填充后的数据长度正好是分组加密算法中分组长度的最小整数倍。而TLS填充后的数据长度可以是分组长度的任意整数倍(但填充最大长度为255字节)。
例如,如果明文(如果使用了压缩算法则是压缩后的明文)加MAC再加上表示填充长度的1个字节共79字节,则填充长度按字节计算时可以是1、9、17、25等,直到249。这种可变填充长度可以防止基于对报文长度进行分析的攻击
六、 DNS安全
6.1DNS服务,定义及原理
6.1.1 DNS服务定义
【名词解释】域名系统(Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。
DNS使用UDP端口53。
6.1.2 DNS服务原理(找不到,网上搜的)
DNS服务的工作原理可以概括为以下步骤:
- 用户访问网站: 当你在浏览器地址栏输入域名并按下回车键时,浏览器会首先检查本地缓存中是否保存着该域名的IP地址。
- 本地DNS查询: 如果本地缓存中没有找到,浏览器会向本地DNS服务器发送查询请求。本地DNS服务器通常由网络服务提供商(ISP)提供,它会尝试解析该域名。
- 根域名服务器查询: 如果本地DNS服务器也无法解析该域名,它会向根域名服务器发送查询请求。根域名服务器是DNS系统的最高层级,它存储着所有顶级域名(例如 .com、.net、.org 等)的权威DNS服务器地址。
- 顶级域名服务器查询: 根域名服务器会告诉本地DNS服务器该顶级域名的权威DNS服务器地址,本地DNS服务器再向该服务器发送查询请求。
- 权威域名服务器查询: 权威域名服务器存储着该域名的完整DNS记录,包括对应的IP地址。它会将IP地址返回给本地DNS服务器。
- 本地DNS服务器缓存: 本地DNS服务器收到IP地址后,会将其缓存起来,以便下次查询时可以直接使用,同时将IP地址返回给浏览器。
- 浏览器访问网站: 浏览器收到IP地址后,就可以直接与该IP地址对应的Web服务器建立连接,并获取网页内容。
6.2 DNS运营机制
1. 分层结构:
DNS采用分层结构来管理海量域名信息,主要分为以下几层:
- 根域名服务器: 位于DNS树状结构的最顶层,全球只有13台根服务器,负责管理所有顶级域名(如 .com、.net、.org)的权威域名服务器地址。
- 顶级域名服务器: 负责管理特定顶级域名下的所有域名信息,例如 .com 顶级域名服务器负责管理所有以 .com 结尾的域名。
- 权威域名服务器: 由域名注册商或网站管理员维护,存储着特定域名的完整DNS记录,包括对应的IP地址、邮件服务器地址等。
- 本地DNS服务器: 由网络服务提供商(ISP)提供,用户设备首先向本地DNS服务器发起域名解析请求。
2. 递归查询与迭代查询:
- 递归查询: 用户向本地DNS服务器发起查询请求,本地DNS服务器负责递归地向上一级DNS服务器查询,直到找到目标域名的IP地址并返回给用户。
- 迭代查询: 本地DNS服务器向上一级DNS服务器查询时,如果上一级服务器无法解析该域名,则会返回一个更接近目标域名权威服务器的地址,本地DNS服务器需要根据返回的地址继续迭代查询,直到找到最终结果。
3. 缓存机制:
为了提高域名解析效率,DNS系统在各个层级都设置了缓存机制:
- 本地DNS服务器缓存: 缓存近期解析过的域名记录,下次查询相同域名时可以直接返回结果。
- 权威域名服务器缓存: 缓存自身管理的域名记录,提高解析速度。
4. 全球协作:
- 根域名服务器: 由互联网名称与数字地址分配机构(ICANN)管理,全球同步更新,确保域名解析的准确性。
- 顶级域名服务器: 由各个机构或组织负责运营维护,例如 Verisign 运营 .com 顶级域名服务器。
- 权威域名服务器: 由域名注册商或网站管理员负责维护,保证域名记录的及时更新。
5. 安全机制:
- DNSSEC (DNS Security Extensions): 通过数字签名验证DNS数据的真实性和完整性,防止域名劫持和缓存污染等攻击
6.3 !==域名系统,主要流转流程==
DNS查询有两种方式:递归和迭代。
DNS客户端设置使用的DNS服务器一般都是递归服务器,它负责全权处理客户端的DNS查询请求,直到返回最终结果
DNS服务器之间一般采用迭代查询方式。
浏览器导航栏中键入网站的域名或单击 URL 链接后,浏览器将启动 DNS 解析过程来查找这些 IP 地址
浏览器会向“解析器”(resolver)发送一个查询,解析器会在本地保留以前查询过的问题的答案副本(缓存),如果存在直接响应浏览器。如果缓存中没有,则解析器会执行完整的 DNS 解析过程。
向 13 个根服务器中的任意一个根服务器发送包含网站域名的查询,询问该网站对应的 IP 地址。收到查询请求的根服务器会返回一个“引荐”(referral)作为响应,包含网站域名 TLD 的名称服务器的列表
将同一查询发送到引荐响应中收到的其中一个 TLD 的名称服务器。TLD 名称服务器通常也只包含它们负责的域的名称服务器信息。因此,就像发送到根服务器的查询一样,发送到 TLD 名称服务器的查询也会收到引荐响应,提供一个有关所查询的二级域的名称服务器列表。
此解析过程将一直继续,直到将查询发送到符合以下条件之一的域名服务器:拥有答案,即Web 服务器的 IP 地址;或者域名服务器能够发布权威性声明,表示所查询的域名不存在。
例如,如果您尝试访问网站 www.example.com,您的解析器将向其中一个根服务器发送一个查询,询问该域名的 IP 地址,此时,根服务器将返回一个列出了 “.com”(我们示例中的 TLD)的所有名称服务器的列表。
如前例,解析器将向其中一个“.com”名称服务器发送对“www. example.com”的查询,询问该域名的 IP 地址,“.com” 名称服务器将返回一个列出“example.com”的所有名称服务器的列表。
在示例中,解析器将向其中一个“example.com”的名称服务器发送对“www.example.com”的查询,该名称服务器可能知道与“www.example.com”相关的 IP 地址,并返回这些地址。
6.4 DNS主要安全威胁
6.4.1 协议脆弱性
1.域名欺骗
(1) 事务ID欺骗
由于客户端会用该ID作为响应数据报是否与查询数据报匹配的判断依据,因此可以通过伪装DNS服务器提前向客户发送与查询数据报ID相同的响应报文,只要该伪造的响应报文在真正的响应报文之前到达客户端,就可以实现域名欺骗。
对ID是获取主要采用网络监听和序列号猜测两种方法:
网络监听比较简单,由于DNS数据报文都没有加密,因此如果攻击者能够监听到客户的网络流量即可获得事务ID。
攻击者通常使用ARP(Address Resolution Protocol,地址解析协议)欺骗的方法进行监听,但是这种方法要求攻击者必须与客户处于同一网络环境中。
为了突破这种限制,攻击者采用序列号猜测的方法来进行欺骗。由于DNS查询报文的事务ID字段为2个字节,限制了其ID值只能是0~65535,大大降低了猜测成功的难度。
在此过程中,攻击者通常对提供真实报文的名字服务器发动DoS攻击,延缓正确应答报文返回,从而保证虚假的应答报文提前返回给客户端。
(2) 缓存投毒
缓存投毒是指攻击者将“污染”的缓存记录插入到正常的DNS服务器的缓存记录中,所谓污染的缓存记录指DNS解析服务器中域名所对应的IP地址不是真实的地址,而是由攻击者篡改的地址,这些地址通常对应着由攻击者控制的服务器
攻击者利用DNS协议中缓存机制中对附加区数据不做任何检查的漏洞,诱骗名字服务器缓存具有较大TTL的虚假资源记录从而达到长期欺骗客户端的目的
缓存投毒的特点
攻击具有隐蔽性,不用消耗太多网络资源就可以使性能急剧受损;
采用间接攻击方式使得客户端和服务器都受到攻击;
使用貌似合法的记录来污染缓存,很难检测出来;
目前的缓存设计缺乏相应的反污染机制,对于精心组织的恶意缓存投毒攻击束手无策。
2.网络通信攻击
针对 DNS 的网络通信攻击主要是分布式拒绝服务攻击(DDoS攻击)、恶意网址重定向和中间人(man-in-the-middle, MITM)攻击。
针对DNS的拒绝服务器攻击通常有两种方式:
一种是攻击DNS系统本身,包括对名字服务器和客户端进行攻击
另一种是利用DNS系统作为反射点来攻击其他目标
在针对DNS系统客户端的DoS攻击中,主要通过发送否定回答显示域名不存在,从而制造黑洞效应,对客户端造成事实上的DoS攻击。
在反射式攻击中,攻击者利用域名服务器作为反射点,用DNS应答对目标进行泛洪攻击。虽然攻击目标不是DNS系统本身,但由于DNS承担域名和IP地址映射任务,攻击者通过查询被攻击目标的域名IP地址,使得DNS收到大量的查询请求从而同样间接受到DoS攻击。
DNS域名解析过程劫持
通过对DNS数据包“请求阶段”中的解析路径进行划分,将DNS解析路径分为四类。首先是正常的DNS解析路径,用户的DNS请求只到达指定的公共DNS服务器。此时,权威域名服务器应当只看到一个来自公共服务器的请求。剩下三类均属于DNS解析路径劫持。
第一类劫持方法是请求转发,用户的DNS请求将直接被定向到其他的服务器。此时,权威域名服务器只收到来自这个服务器的请求,用户指定的公共DNS服务器完全被排除在外。
第二类劫持方法是请求复制,用户的DNS请求被网络中间设备复制,一份去往原来的目的地,一份去往劫持者使用的解析服务器,此时,权威域名服务器将收到两个相同的查询。
第三类劫持方法是直接应答,用户发生的请求同样被转发,但解析服务器并未进行后续查询而是直接返回一个响应,此时,权威域名服务器没有收到任何查询,但是客户端却收到解析结果。
6.4.2 实现脆弱性
DNS 软件,BIND 的漏洞和缺陷 缓冲区溢出漏洞
6.4.3 操作脆弱性
由于人为操作或配置错误所带来的安全隐患:域名配置攻击、域名注册攻击和信息泄漏等
七、 安全多方计算
7.1 主要技术路线分类
隐私计算主要有三种技术路线:基于密码学的安全多方计算、联邦学习、可信硬件TEE
1. 按计算参与方可信程度分类:
- 不经意传输(Oblivious Transfer, OT): 参与方之间互不信任,需要借助密码学协议来保证数据传输的安全性。
- 零知识证明:证明者向验证者证明并使其相信自己知道或拥有某一消息,但证明过程不能向验证者泄漏任何关于被证明消息的任何信息。
- 秘密分享(Secret Sharing, SS): 数据被拆分成多份,分别存储在不同的参与方,任何一方都无法单独恢复原始数据。设秘密s被分成n个部分,每一部分被称为一个子秘密并由一个持有者持有,并且大于等于t个参与者所持有的子秘密可以重构秘密s,而少于t个参与者所持有的子秘密无法重构秘密并且无法获得秘密s的任何信息。
- 同态加密(Homomorphic Encryption, HE): 可以直接对加密数据进行计算,而无需解密,计算结果解密后与对明文计算的结果一致。
- 隐私集合求交:允许持有各自集合的多方来共同计算集合的交集,而计算的最后,各参与方只能得到正确的交集,而不会得到交集以外另一方集合中的任何信息。
- 混合协议: 实际应用中,通常会结合多种技术来实现安全多方计算,例如结合秘密共享和同态加密。
7.2 基础秘密分享协议,三元加法分享、三元乘法分享等
P20-P37 案例(题)
八、 Web安全
8.1 万维网,主要的体系架构
万维网以客户服务器方式工作。
在用户计算机上运行的万维网客户程序称为浏览器。
(360浏览器,IE浏览器,Chrome浏览器)
万维网文档所驻留的计算机则运行服务器程序,因此,这个计算机也称为万维网服务器或Web服务器。
(IIS服务器,Apache https服务器)
客户程序通过http或httpsS协议向服务器程序发出请求,服务器程序向客户程序返回客户所要的万维网文档。
在一个客户程序主窗口上显示出的万维网文档称为页面。
它是一种基于超文本和超文本传输协议(http)的、全球性的、动态交互的、跨平台的分布式图形信息系统。
以下是网上搜的:
万维网 (World Wide Web, WWW) 是一个基于互联网的庞大信息空间,它采用客户端/服务器架构,主要由以下几个核心组件构成:
1. 统一资源定位符 (URL): 网页的“地址”
URL 用于标识和定位万维网上的资源,例如网页、图片、视频等。它就像网络资源的门牌号,告诉浏览器去哪里找到所需的资源。
示例:
1
https://www.example.com/index.html
httpss
: 协议类型,表示使用安全超文本传输协议。www.example.com
: 域名,表示服务器的地址。/index.html
: 路径,表示服务器上具体资源的位置。
2. 超文本传输协议 (https): 网页的“信使”
https 是一种应用层协议,用于客户端和服务器之间传输超文本数据。它定义了浏览器和服务器之间如何建立连接、请求和传输数据,以及如何处理响应等规则。
- 请求 (Request): 浏览器向服务器发送请求,例如获取网页、提交表单数据等。
- 响应 (Response): 服务器根据请求返回相应的数据,例如网页内容、状态码等。
3. 超文本标记语言 (HTML): 网页的“内容”
HTML 是一种标记语言,用于创建网页的结构和内容。它使用标签来定义文本、图像、链接和其他元素,浏览器根据这些标签来解析和显示网页。
- 示例:
<h1>这是一个标题</h1> <p>这是一段文本。</p>
4. 网页浏览器: 网页的“阅读器”
网页浏览器是用户访问万维网的入口,它负责解析和渲染网页,将 HTML 代码转换成用户可读的内容。常见的浏览器有 Chrome、Firefox、Safari 等。
- 功能:
- 发送 https 请求获取网页数据。
- 解析 HTML 代码,构建网页结构。
- 渲染网页内容,包括文本、图像、视频等。
- 处理用户交互,例如点击链接、填写表单等。
5. Web 服务器: 网页的“保管员”
Web 服务器是存储和提供网页资源的计算机,它接收来自浏览器的 https 请求,并返回相应的网页数据。常见的 Web 服务器有 Apache、Nginx 等。
- 功能:
- 监听特定端口,接收 https 请求。
- 处理 https 请求,找到对应的网页资源。
- 返回 https 响应,将网页数据发送给浏览器。
8.2SQL注入攻击、风险,典型的SQL注入过程
SQL注入攻击通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,它目前是黑客对数据库进行攻击的最常用手段之一。
SQL注入攻击以网站数据库为目标,利用Web应用程序对特殊字符串过滤分完全的缺陷,通过把精心构造的SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串中,欺骗服务器执行恶意的SQL命令,最终达到非法访问网站数据库内容、篡改数据库中的数据、绕过认证(不需要掌握用户名和口令就可登录应用程序)、运行程序、浏览或编辑文件等目的。
!看案例(ppt太多,不整理)
九、 网路防火墙
9.1防火墙工作原理
允许数据流通过
拒绝数据流通过,并向发送者回复一条消息,提示发送者该数据流已被拒绝。
将数据流丢弃,不对这些数据包进行任何处理,也不会向发送者发送任何提示信息。
所有进出网络的数据流都必须经过防火墙。
只允许经过授权的数据流通过防火墙
防火墙自身对入侵是免疫的。
9.2防火墙主要的技术方式
9.2.1 包过滤技术
包过滤(Packet Filtering)作用在网络层和传输层,根据数据包的包头信息(源和目的IP地址、端口号、标志位等),依据事先设定的过滤规则,决定是否允许数据包通过。包过滤防火墙相当于一个具有包过滤功能的路由器
包过滤操作的六项要求:
包过滤防火墙相当于一个具有包过滤功能的路由器
包过滤设备必须存储包过滤规则;
当包到达端口时,分析IP、TCP或UDP报文头中的字段。
包过滤规则的存储顺序与应用顺序相同;
如果一条规则阻止包传输,此包便被丢弃;
如果一条规则允许包传输,此包可正常通过;
如果一个包不满足任何一条规则,则丢弃
包过滤技术的优点:
用一个放置在重要位置上的包过滤路由器即可保护整个网络,这样,不管内部网的站点规模多大,只要在路由器上设置合适的包过滤,各站点均可获得良好的安全保护;
包过滤工作对用户来说是透明的。包过滤不需用户软件支持,也不要对客户机做特殊设置;
包过滤技术是一种有效而通用的控制网络流量的方法,经常作为不可信网络的第一层防卫;可以有效阻塞公开的恶意站点的信息流。
包过滤技术的缺点:
仅依赖网络层和传输层信息,如IP地址、端口号、TCP标志等,只能“就事论事”地进行安全判决。由于缺少信息,一些协议如RPC、UDP难以有效过滤;
支持规则的数量有限,规则过多会降低效率。
正确制定规则并不容易
9.2.2 状态检测技术
状态检测又称动态包过滤,在网络层由一个检查引擎截获数据包,抽取出与应用层状态有关的信息,并以此作为依据决定对该数据包是接受还是拒绝。
检查引擎维护一个动态的状态信息表并对后续的数据包进行检查。一旦发现任何连接的参数有意外变化,该连接就被中止
它在协议底层截取数据包,然后分析这些数据包,并且将当前数据包和状态信息与前一时刻的数据包和状态信息进行比较,从而得到该数据包的控制信息,来达到保护网络安全的目的
9.2.3 应用网关防火墙
问题:网络内部如果有一个存在安全漏洞的应用,但厂商尚未发布相应的补丁信息来弥补该缺陷,怎么办?
应用代理可以有效解决该问题,应用代理可以被配置来识别尝试攻击应用程序安全漏洞的恶意流量,进而保护运行了不安全应用的系统。
新型的自适应代理(Adaptive proxy)防火墙,本质上也属于代理服务技术,但它也结合了动态包过滤(状态检测)技术组成这类防火墙的基本要素有两个:自适应代理服务器与动态包过滤器。自适应代理就可以根据用户的配置信息,决定是使用代理服务器从应用层代理请求,还是使用动态包过滤器从网络层转发包。