网络安全概述

网络安全基本属性:机密性、可用性、完整性

PDRR 安全模型

从“静态防护”转向“动态循环”的标志

保护→检测→响应→恢复

  • 保护:采用一切手段(静态 防护)保护信息系统的五大特性
  • 检测:检测网络安全漏洞和非法信息流
  • 响应:对安全事件做出反应,阻止进一步破坏并将损失降至最低
  • 恢复及时 恢复系统服务

攻击类型

被动攻击:传输报文泄露、通信流量分析

根据安全属性主动攻击分四类 :

  1. 阻断攻击:破坏系统资产,使其无法使用,针对可用性
  2. 截取攻击:非授权者获得资产访问权,针对机密性
  3. 篡改攻击:非授权者不仅访问且修改信息,针对完整性
  4. 伪造攻击:非授权者在系统中插入伪造信息,针对真实性

阻可用、截机密、篡完整、伪真实

网络信息安全服务

  • 机密性服务:防止信息泄露给非授权者
  • 完整性服务:提供消息正确性,确保没被改过
  • 可用性服务:确保授权用户在需要时能访问资源
  • 可审性服务:本身不防攻击,需与其他服务结合,确保行为可审计、可追溯

纵深防御与 IATF

  • 纵深防御策略:层层设防,打破一层还有下一层
  • IATF (信息保障技术框架):强调技术操作 三要素,构建多层保护

网络攻击

恶意代码

  • 病毒 (破坏狂):必须寄生在文件或进程上 ,主要目的是破坏数据
  • 蠕虫 (大胃王):独立性强,不需要寄生,主要在网络里跑 ,主要目的是耗尽资源
  • 木马 (间谍):不具有传染性,但隐蔽性极强 ,主要目的是窃取信息或留后门

对比

  • 病毒看宿主:没文件活不成,见了数据就搞破坏
  • 蠕虫看网络:传播能力最强,挤爆带宽是它强项
  • 木马看欺骗:不求传染只求隐蔽,偷了你的账号就溜

远线程注入 DLL

木马高级隐藏手段
核心函数 CreateRemoteThread()

提权 → 找进程 → 扩内存 → 写路径 → 找函数 → 启线程

  • 拿权限:先把自己的权限提升到调试级别 (SeDebugPrivilege)
  • 找目标:通过 OpenProcess() 拿到对方进程的控制句柄
  • 占地盘:在对方进程里用 VirtualAllocEx() 申请一块内存空间
  • 塞东西:用 WriteProcessMemory() 把你的 DLL 路径写进去
  • 找帮手:获取关键函数 LoadLibraryA() 的地址
  • 点火:调用 CreateRemoteThread() 强制让对方进程运行你的 DLL

ARP 欺骗

ARP 协议:地址解析协议,用于根据 IP 地址获取物理 (MAC) 地址,是TCP/IP协议

  • 原理:利用 ARP 协议不验证身份的漏洞,发送伪造的应答包
  • 动作:告诉 A 我是 B,告诉 B 我是 A
  • 结果:形成中间人攻击 (MITM),所有数据都经过攻击者
  • 注意:ARP 映射会自动过期,所以攻击者必须持续发包维持骗局

拒绝服务攻击

利用漏洞型

  • Ping of Death
    • 超大 ICMP Echo 包 (65535字节),内存溢出
  • Teardrop
    • 分段偏移异常使分片重叠,memcpy 拷贝时堆栈溢出

耗尽连接型

  • SYN Flood
    • 半开连接,利用 TCP 三次握手
    • 只发第一个 SYN 包(通常用假 IP)
  • Land 攻击
    • 自己打自己
    • 源地址和目的地址是受害者服务器
    • 死循环
  • HTTP Flood
    • 快速反复发 HTTP GET
    • Web 服务器或数据库进程爆掉

放大流量型

  • Smurf 攻击
    • 广播放大
    • 向广播地址发 ICMP 请求,源地址伪造成受害者
    • 网络所有主机同时向受害者回包

web 安全

跨站脚本攻击 XSS

信任你的浏览器
攻击者在网页里“埋雷”(插入恶意 JS 代码),当其他用户访问这个网页时,代码在用户的浏览器里悄悄执行

主要类型

  • 反射型 (非持久型)
    • 套路:骗你点一个带恶意代码的 URL 链接
    • 特点:代码不在服务器存着,点一次火一次
  • 存储型 (持久型) —— 威力最大
    • 套路:把恶意脚本通过表单(如留言板)写入服务器数据库
    • 特点:谁看谁中招,甚至能发动 DDoS 攻击
  • 基于字符集/跳转:利用编码规则漏洞或 302 跳转漏洞执行脚本

危害
盗取 Cookie(以此冒充用户身份)、显示伪造文章、骗取个人信息

跨站请求伪造攻击 CSRF

借你的身份干坏事
利用你已经登录网站 A 的身份 (Cookie),在你不点开 A 站的情况下,诱导你访问恶意网站 B,由 B 站假冒你向 A 站发请求

达成攻击的“三个必要条件”

  • 用户在网站 A 登录了,且 Cookie 没过期
  • 用户在没登出 A 的情况下,点击了攻击者提供的恶意链接 B
  • 网站 A 没有做 CSRF 防御

防御策略

  • 规范使用 GET/POST:GET 只读,POST 才能改数据
  • 增加 Token (非 GET 请求中):为每个表单生成唯一的伪随机 Token,提交时校验
  • 验证码:最有效但用户体验最差

流程

  • 用户登录信任网站 A 。
  • 验证通过,浏览器产生了 Cookie
  • 没登出网站 A 的情况下,访问危险网站 B
  • 网站 B 藏有发往网站 A 的请求
  • 浏览器执行 B 网站的脚本,带着 Cookie 请求访问网站 A
  • 网站 A 看到有效的 Cookie,直接执行非法指令

XSS vs CSRF

  • 利用用户 \rightarrowXSS
  • 利用网站 \rightarrowCSRF

SQL 注入

核心逻辑:把 SQL 命令塞进 Web 表单或查询字符串里,骗服务器去执行这些恶意命令

寻找注入点 → 信息采集 → 权限判断 → 攻击系统

  • ASP/SQL:利用 ' or 1=1 结合注释符 -- 绕过登录验证
  • PHP/MySQL:利用 1 or 1=1 结合注释符 # 绕过

DNS

查询方式

  • 递归查询:客户端与本地 DNS 服务器之间,服务器会代劳直到返回结果或报错
  • 迭代查询:服务器与服务器之间,服务器只提供已知信息或告诉你要去问谁

验证准则

  1. 域名信息一致:应答包与请求包的 question 域信息一致
  2. Transaction ID 一致:应答包与请求包的Transaction ID(事务ID)一致
  3. 源 IP 一致:应答包的源 IP 必须是请求包的目的 IP
  4. 目的信息一致:应答包的目的 IP 和端口必须是请求包的源 IP 和端口
  5. 先到先得:第一个到达并符合上述四个条件的应答包

域、ID、源、目、快

为什么DNS容易被攻击

  • ID 太薄弱:只靠一个 16 位的 Transaction ID 校验,黑客容易猜出来或暴力破解
  • 夹带私货:协议允许在应答包里附加无关信息,黑客借机塞入恶意域名记录
  • 缓存有毒:为了省事用了缓存,结果一旦存了假信息,所有用户都会被带偏

DNS 欺骗

  • 动作:在公网上监听你的请求,抢在真服务器之前给你发个假答案
  • 结果:你接受了假包,真包来晚了被你丢掉
  • 针对个人用户,核心是抢跑

DNS 缓存投毒

  • 动作:给 DNS 服务器发假应答,把错误的域名-IP 映射强行塞进服务器的缓存里
  • 结果:这台服务器负责的所有用户全被导向钓鱼网站
  • 针对服务器,核心是污染缓存

问题

  • 问:怎么防 DNS 欺骗?答:因为欺骗需要监听,重点在加密通信或限制广播域
  • 问:DNS 验证中防伪造的核心字段是什么?答:Transaction ID

网络安全扫描

  • 核心原理:向目标端口发探测包,根据返回的是 ACK、RST 还是没反应来判断端口状态
  • 主要目的:摸清对方开了什么服务,找系统漏洞
扫描类型 核心标志 权限要求 隐蔽性
全连接扫描 connect() 不需要 root 差(留日志)
半连接 (SYN) 只发 SYN 需要 root 好(无记录)

全连接扫描
TCP connect 扫描
执行流程:初始化 → 构造套接字 → Connect() 尝试连接 → 成功则端口开启

半连接扫描
TCP SYN 扫描
核心动作:只给对方发一个 SYN 包

  • 收到 SYN+ACK:端口打开
  • 收到 RST:端口关闭

问:为什么非 root 用户通常只能用全连接扫描?答:因为构造 SYN 半连接包需要原始套接字权限

例题
端口扫描某服务器,若发现53号端口开放,则该服务器可能开放的服务是_DNS_;若发现23号端口开放,则该服务器可能开放的服务是_Telnet_;若发现21号端口开放,则该服务器可能开放的服务是_FTP_

访问控制

三要素

  • 主体S:提出访问资源具体请求
  • 客体O:被访问资源的实体
  • 控制策略A:主体对客体的相关访问规则集合

访问控制策略

  • 最小特权原则
  • 最小泄漏原则
    • 指主体执行任务时,按照主体所需要知道的信息最小化的原则分配给主体权力
  • 多级安全策略
    • 主体和客体间的数据流向权限控制按五级划分
    • 绝密(TS)、秘密(S)、机密(C)、限制(RS)、无级别(U)

访问控制模型 DAC/MAC

自主访问控制 DAC

  • 用户作为资源所有者,可以自主地把权限分给别人
  • 访问控制列表 (ACL) 实现

强制访问控制 MAC

  • 系统强加的硬性规则,用户不能私自更改
  • 系统给每个人和每个文件都打上标签(安全级别属性) 主体等级 \geq 客体等级放行

MAC 的四种访问方式

  • 向下读 (rd):主体级别 > 客体级别(高读低)
  • 向上读 (ru):主体级别 < 客体级别(低读高)
  • 向下写 (wd):主体级别 > 客体级别(高写低)
  • 向上写 (wu):主体级别 < 客体级别(低写高)
模型名称 核心关注点 核心原则 应用场景与缺点
BLP 模型 (Bell-LaPadula) 机密性(防止泄密) 无上读、无下写 军事系统。缺点:忽略了完整性,可能被非法篡改。
Biba 模型 完整性(防止篡改) 无下读、无上写 防止低级别信息污染高级别信息。
  • BLP 保机密:高不能下传,低不能上偷
  • Biba 保完整:低不能上染,高不能下信

问题
问:Windows 属于哪种访问控制模式?答:DAC
问:MAC 判定权限的基本公式是什么?答:若主体等级 大于等于 客体等级,则满足偏序关系

防火墙

速记

  • 三原则:必过防火墙、必经策略、自身免疫。
  • 四控制:控服务、控方向、控用户、控行为。
  • DMZ 区域:在典型形态图中,WWW、Mail、DNS 等对外服务器应放置在 DMZ 区域

防火墙是位于两个(或多个)网络间实施网间访问控制的一组组件的集合

必须满足

  • 全通过性:所有进出被保护网络的通信必须通过防火墙
  • 全过滤性:所有通过防火墙的通信必须经过安全策略的过滤或防火墙的授权
  • 自身免疫性:防火墙自身应对渗透免疫

功能

  • 核心控制:访问控制(最核心)、应用程序代理
  • 安全增强:内容过滤、用户认证、VPN
  • 监控审计:日志、IDS(入侵检测)与报警
  • 网络基础:NAT(地址转换)

防火墙访问控制方法

维度 控制内容
服务控制 确定可以访问的 服务类型
方向控制 确定特定的 服务请求 可以发起并允许通过防火墙的方向
用户控制 不同 用户 具有不同服务访问的权限
行为控制 控制 怎样使用 特定服务(例如:过滤垃圾邮件)

防火墙分类

  • 从形态上分:软件防火墙、硬件防火墙
  • 从技术实现上分:包过滤、应用网关、代理防火墙、状态检测、电路级网关
  • 从部署位置上分:主机防火墙、网络防火墙
防火墙类型 核心层级 检查对象(原理关键词) 核心动作
包过滤 网络层、传输层 IP/TCP报头 匹配过滤规则(允许/拒绝)
应用网关 应用层 数据区(Payload) 代理转发、身份验证
状态检测 网络层、传输层 上下文、连接状态 连接跟踪、综合分析前后包

速记

  • 包过滤 \rightarrow 看报头 \rightarrow 很快但很笨(看不懂数据内容,层级低)
  • 应用网关 \rightarrow 拆开看数据内容 \rightarrow 很安全但很慢(需要代理,层级高)
  • 状态检测 \rightarrow 盯着前后包的逻辑 \rightarrow 聪明一点的包过滤(层级还是低)

包过滤防火墙

核心定义与分类

  • 定义:通过检查每一个数据包,并根据安全规则决定“允许”还是“拒绝”该包通过
  • 分类:分为静态包过滤(仅看单包报头信息)与动态包过滤(能捕获一个“连接”,对回程包做标记)

工作原理与判断依据

  • 原理:防火墙拆开数据包报头,提取信息与控制策略表匹配
  • 判断依据
    • 基本信息:源/目的IP、协议类型(TCP/UDP/ICMP/IGMP)、源/目的端口
    • 协议细节:IP选项(源路由)、TCP选项(SYN/ACK/FIN/RST标志位)、ICMP消息类型
    • 流向接口:in/out 流向、物理网卡接口(eth0/eth1)

优缺点逻辑

  • 优点:逻辑简单、成本低、速度快(对性能影响小)、对应用层透明
  • 缺点无法处理应用层数据;安全性较低,不能防IP欺骗,无用户识别机制

应用网关

又称代理防火墙
支持协议:E-mail、Web (HTTP)、DNS、FTP 等

工作原理

  • 深度拆包:不仅看报头,还会对数据包的 数据区(Payload) 进行分析
  • 代理机制:不允许内外网直接连接。它会对 用户身份 进行验证(认证输入/输出两个方向),并监控用户操作

优缺点逻辑

  • 优点安全性最高(内外网隔离、隐藏IP);支持 认证用户(而非设备);能审计详细的应用层日志
  • 缺点性能最慢;对用户不透明(使用不便);每种协议都需要专门的代理服务

状态检测防火墙

在动态包过滤基础上增加了 状态检测机制,具有 连接跟踪能力

工作原理

  • 上下文分析:结合 前后数据包 的信息进行综合分析
  • TCP特定检查:除了标志位,还关注 序列号(Sequence Number)、窗口大小等信息,防止逻辑攻击

优缺点逻辑

  • 优点:比单纯包过滤安全性更高,逻辑更严密
  • 缺点:仍工作在网络层/传输层,无法抵抗应用层攻击;性能比动态包过滤稍差

防火墙体系架构

体系结构名称 核心组件构成 堡垒主机位置 关键特征(采分点)
双重宿主主机 1台双网卡主机 位于内外网之间 禁止IP转发,完全靠代理通信
屏蔽主机 1个过滤路由器 + 1个堡垒主机 位于内部网络 双重保护;外部访问必须经过堡垒
屏蔽子网 2个过滤路由器 + 1个堡垒主机 位于周边网络(DMZ) 最安全;入侵者需突破3个设备

堡垒主机位置

  • 在内外网交界线上(没路由器) \rightarrow 双重宿主主机
  • 在内部网里面(外侧有1个路由器) \rightarrow 屏蔽主机体系结构
  • 在两个路由器中间的“夹层”里 \rightarrow 屏蔽子网(周边网络/DMZ)

核心术语

  • DMZ (周边网络):放置“牺牲主机”(服务器)的隔离区域
  • 禁止IP转发:双重宿主主机的核心防御手段
  • 应用层代理:堡垒主机执行的核心任务
  • 包过滤规则:路由器实现安全的关键

双重宿主主机

  • 物理描述:拥有至少两个网络接口
  • 流量路径:主机充当网关,但禁止IP层直接发送数据包;内外网通信必须通过应用层代理
  • 安全逻辑:内外网物理断开,用户口令是安全核心
  • 短板单点失效,一旦该主机破防,内网全开

屏蔽主机

  • 物理描述:由包过滤路由器和堡垒主机组成
  • 流量路径
    • 入站:路由器强迫外部连接必须指向堡垒主机
    • 出站:允许内部主机有条件地与外部直接连接
  • 安全逻辑:结合了网络层(包过滤)和应用层(代理)的安全
  • 短板配置依赖性高,如果路由器配置错误导致穿透,堡垒主机将失去防护作用

屏蔽子网

  • 物理描述:在屏蔽主机基础上增加周边网络(DMZ),使用内、外两个路由器
  • 流量路径:外部路由器将流量引入DMZ的堡垒主机;内部路由器严格限制DMZ与内网的通信
  • 安全逻辑
    • 三道关卡:外部路由器(防欺骗)、堡垒主机(代理)、内部路由器(防泄密)
    • 内部不可见:对外只宣告DMZ地址,内网完全隐身
  • 短板:虽然最安全,但配置最为复杂,且如果两个路由器规则不一致会有隐患

网络地址翻译 NAT

速记

  • 为什么用?(缺地址、想隐藏)
  • 怎么实现?(网关改 IP 头)
  • 有哪几类?
    • 死板型(静态 NAT):一个坑(私有IP)对应一个死位置(合法IP)
    • 排队型(NAT 池):一堆私有 IP 抢一堆合法 IP,谁用谁占
    • 极致省钱型(PNAT):几百个私有 IP 共用 1 个合法 IP,靠端口号区分

核心目的

  • 解决 IP 不足:让大量私有地址主机共享少数合法 IP
  • 隐藏内网:使外界无法获知内部真实 IP 结构

工作原理

  • 双向转换:出站时将源地址(私有)换成外部地址(合法);入站时将目的地址换回私有地址

三大类型

  • 静态 NAT:1对1永久映射
  • NAT 池:M对N动态映射(从合法地址池里抢)
  • 端口 NAT (PNAT):M对1映射,通过 不同端口号 区分不同内部主机

入侵检测系统 IDS

速记

  • 三核心: 收集信息、分析信息、做出反应
  • 两阵营: HIDS (看主机)、NIDS (看网络)
  • 两原理: 异常检测 (找不同)、误用检测 (对号入座)
  • CIDF 四组件: 生成器 (拿)、分析器 (算)、响应单元 (动)、数据库 (存)

核心定义: 从计算机网络或系统的关键点收集分析信息,从中发现违反安全策略的行为或被攻击迹象的机制

是一种主动保护自己的网络和系统免遭非法攻击的网络安全技术

入侵检测的分类

维度 类型 核心特征
数据来源 HIDS (基于主机) 细、内:监控粒度极细,能看加密/交换环境数据
NIDS (基于网络) 广、隐:视野宽、不影响系统性能、隐蔽不留痕迹
检测原理 异常检测 找不同:基于“正常轮廓”,偏离即报警(查未知)
误用检测 对指纹:基于“已知特征”,匹配即报警(查已知)
体系结构 集中式 一点控全网:多处审计,一个服务器统一分析
等级式 层级汇报:分层分区监控,结果逐级上报分析
协作式 去中心协作:不分等级、各司其职、任务分配给多点
工作方式 在线 / 离线 实时 vs 事后:在线侧重实时防御,离线侧重事后审计
  • HIDS vs NIDS:
    • “哪种能看物理层以上的加密数据?”,选 HIDS
    • “哪种不会增加服务器负担?”,选 NIDS
  • 异常 vs 误用
    • 异常检测:优点是能发现未知攻击,缺点是误报率高
    • 误用检测:优点是准确率高,缺点是无法发现攻击。
  • 等级式 vs 协作式
    • “哪种结构适合处理超大规模网络数据”,优先考虑等级式
    • “任务分摊且去中心化”,选协作式

HIDS vs NIDS

维度 HIDS (基于主机) NIDS (基于网络)
数据源 日志/审计 (系统内部) 流量/报文 (网路接口)
核心优点 看加密、粒度细、性价比高 独立性、隐蔽、不占服务器资源
核心缺点 占性能、依赖日志、视野单一 瞎加密(看不见加密)、算力瓶颈
  • HIDS看内(日志),能破加密,但累死主机
  • NIDS看外(流量),身轻如燕,但怕见加密

基于主机系统结构 HIDS

  • 原理: 根据主机的审计数据和系统日志发现可疑事件
  • 优点: 审计内容全面细腻;视野集中;适用于加密及交换环境;性价比高
  • 缺点: 占用服务器性能;依赖日志的完整性;主机多时代价大;无法监控网络整体情况

基于网络系统结构 NIDS

  • 原理: 根据网络流量、协议分析及多机审计数据检测入侵
  • 优点: 平台独立性(不影响服务器);配置简单(普通网口即可);标识众多(可监视多种协议攻击)
  • 缺点: 无法检测跨网段包;难处理复杂/高计算量攻击;协作能力弱;难以处理加密会话

异常 vs 误用

异常检测技术——找不同

  • 原理: 建立正常轮廓 → 偏离门限 = 入侵
  • 算法: 统计分析(均值、标准偏差、Markov 过程、时间序列)
  • 关键词: 未知攻击检测冒用高误报计算量大

误用检测技术——对指纹

  • 原理: 匹配已知攻击特征
  • 算法: 专家系统、模型推理、完整性分析
  • 关键词: 准确率高低误报查已知模式库维护

入侵检测结构

CIDF (通用入侵检测框架):G-A-R-D

  • G (Generators):事件产生器 —— (采集数据:日志、流量)
  • A (Analyzers):事件分析器 —— (IDS 的核心,判断入侵)
  • R (Response):响应单元 —— (告警、切断连接)
  • D (Database):事件数据库 —— (存结果、存规则)

Denning 模型

  • 主体:谁干的?(用户/实体)
  • 对象:干谁?(文件/设备)
  • 审计记录:干了啥?(原始记录)
  • 活动档案:平时啥样?(正常模型)
  • 异常记录:哪不对劲?(异常事件)
  • 活动规则:怎么判?(判断准则)

检测方法实例:snort

Snort = 规则 = 误用检测 = 准确率高

规则分为两部分:规则头 + 规则选项

部分 组成要素 (按顺序) 速记逻辑
规则头 行为 协议 源IP 源端口 方向 目的IP 目的端口 谁从哪来,去哪干嘛
规则选项 (msg; content; flags; flow; classtype; sid; rev; ...) 抓取特征与元数据
  • 常用行为: alert (报警并记录), log (仅记录), pass (忽略)
  • 常用方向: -> (单向), <> (双向)

Snort 规则选项

选项名 考试必考点
msg 报警描述,引号包围
content 载荷里的特征码(核心中的核心)
flags 检查 TCP 标志位(S, A, F, P, U, R, 0)
flow 控制流向(如 from_client)和状态
classtype 攻击的分类(让管理员知道轻重缓急)
sid 唯一标识,通常 > 1,000,000 是自定义的

Snort 规则实例

攻击名称 攻击目的 核心逻辑 必填关键词
DoS Land 拒绝服务/系统崩溃 自己连自己 (死循环) sameip + flags:S
TCP NULL 扫描 探测端口/搜集情报 发空旗包 (探测反应) flags:0
SQL 注入 窃取数据/绕过验证 连接后发非法指令 flow:established + content
  • 写 Land 攻击规则时,用什么关键字判断内外一致? —— 答:sameip
  • TCP NULL 扫描的标志位怎么写? —— 答:flags:0
  • 检测 SQL 注入时,数据流向通常设为什么? —— 答:from_clientestablished

虚拟专用网 VPN

  • 定义:利用公共网络基础设施,通过隧道技术访问控制建立的临时、安全、逻辑的专用网络
  • 核心逻辑:在公网中挖“隧道”,让外地分支像在局域网内一样通信

三大特点

  • 封闭性
  • 安全性
  • 质量性

三大实现要求

  • 透明传输
  • 安全功能
  • 质量保证

VPN 解决的四大安全问题:机密性、完整性、身份认证、重放攻击保护

VPN 四大核心技术

  • 隧道技术封装。将私有数据包包装在公有数据包中传输
  • 加解密技术:保密
  • 身份认证技术:合法
  • 访问控制:权限

隧道技术

实际是一种数据封装

  • 乘客协议:要运输的私有数据(如内部 IP 包)
  • 封装协议:用于包装乘客协议的隧道头(如 GRE、IPSec)
  • 运载协议:公网中负责搬运的协议(如公网 IP 协议)

“客包装车” —— 乘客(数据)被封装(包装)后由运载协议(车)拉走

VPN 分类

按网络类型差异分

  • Client-LAN
  • LAN-LAN

按 VPN 业务类型划分

类型 场景 核心受众
Access VPN Client-LAN 远程接入 出差员工、SOHO 办公。
Intranet VPN LAN-LAN 内联网 公司总部与各分支机构(如异地厂区)。
Extranet VPN LAN-LAN 外联网 公司与合作伙伴、供应商之间。

按 VPN 发起主体划分

  • 基于客户的 VPN
  • 基于网络的 VPN(客户透明方式)

VPN 协议分层

层次 协议名称 典型特点
第二层 (数据链路层) L2TP / PPTP 主要是点对点,支持多种协议
第三层 (网络层) IPSec 最重要。透明性好,安全性最高
第四层 (传输层/应用层) SSL / TLS 无客户端(浏览器即 VPN)

PPTP vs L2TP(第二层)

  • PPTP 封装流数据包PPPGREIP (公网)
  • L2TP 封装流数据包PPPL2TPUDPIP (公网)

PPTP (点对点通道协议)

  • 出身:微软设计的,基于 PPP 协议
  • 隧道原理:“PPP 封装在 GRE 里”
    • 控制通道:TCP 1723 端口(用于建立、维护隧道)
    • 数据通道:采用 GRE (通用路由封装) 协议来封装数据
  • 安全/加密
    • MPPE (微软点对点加密):采用 RC4 流加密算法
    • 注意:安全性较低,现在基本被淘汰

PPTP 速记:微软家、TCP 1723、GRE 封装、RC4 加密

L2TP (二层通道协议)

  • 出身:Cisco 的 L2F + 微软的 PPTP = L2TP
  • 隧道原理:“PPP 封装在 UDP 里”
    • 控制与数据:都使用 UDP 1701 端口
  • 两大核心组件
    1. LAC (L2TP 接入集中器):位于用户侧,负责把用户的 PPP 流量打入隧道
    2. LNS (L2TP 网络服务器):位于企业内网侧,负责接收隧道流量并还原
  • 安全/加密
    • 本身不加密:L2TP 只负责挖隧道,不负责加密数据
    • 黄金搭档:通常配合 IPSec 使用(即 L2TP/IPSec),由 IPSec 负责加密

L2TP 速记:大杂烩、UDP 1701、LAC 进 LNS 出、没加密(靠 IPSec)

IPSec(第三层)

IP层安全协议
体系结构

核心定位:网络层的“全能保镖”

  • 层级:工作在网络层
  • 特性透明性。对上层应用(HTTP、FTP等)完全透明
  • 功能:机密性、完整性、身份认证、抗重放攻击

核心协议:AH vs ESP

ESP 是 AH 的加强版

协议名称 缩写意义 核心功能
AH 认证头 认证、完整性、抗重放
ESP 封装安全载荷 认证、完整性、抗重放、加密

协议号:ESP 是 50,AH 是 51

工作模式:传输 vs 隧道

传输模式 —— 插在中间

  • 逻辑:只保护“数据(载荷)”,不改 IP 头。
  • 场景:主机到主机(端到端)

隧道模式 —— 全部打包

  • 逻辑:把整个原始 IP 包都加密,外面套个新 IP 头
  • 场景:网关到网关(站点到站点,隐藏内部真实 IP 地址)

画图

  • AH 协议(没尾)
    • 传输模式:[原 IP 头] + [AH 头] + [数据]
    • 隧道模式:[新 IP 头] + [AH 头] + [原 IP 头] + [数据]
  • ESP 协议(有尾)
    • 传输模式:[原 IP 头] + [ESP 头] + [数据] + [ESP 尾] + [ESP 认证]
    • 隧道模式:[新 IP 头] + [ESP 头] + [原 IP 头] + [数据] + [ESP 尾] + [ESP 认证]
    • ESP认证数据不被加密

核心组件与数据库

SA (安全联盟)

  • “协议书”:双方商量好用什么算法、什么密钥
  • 单向性,两个方向通信需要 2 个 SA
  • A→Association→联盟

SPI (安全参数索引)

  • “查询号”:一个 32 位的数字,包头里就有,专门用来在 SADB 里找对应的 SA
  • I→Index→索引

SPD (安全策略数据库)

  • “决策者”:决定哪些包要丢弃、绕过(放行)还是保护(加密)
  • 流量进入 IPSec 处理流程的第一站
  • P→Policy→策略
  • D→Database→数据库

SADB (安全联盟数据库)

  • “资料库”:存放所有活跃 SA 具体参数的地方
  • 它记录了每个 SA 到底用哪个密钥、哪种算法、寿命还有多久
  • A→Association→联盟
  • D→Database→数据库

联动逻辑速记

  • 发包时:先查 SPD,如果结论是“保护”,则去 SADB 找对应的 SA 和密钥进行加密
  • 收包时:根据包头里的 SPI+目的IP地址+安全协议(AH/ESP),直接去 SADB 找对应的 SA 和密钥进行解密

答题

  • 问:谁决定包的去留? 答:SPD
  • 问:具体的算法密钥存在哪? 答:SADB
  • 问:怎么在数据库里秒找 SA? 答:看 SPI

安全套接字层 SSL(第四层)

层级:位于 TCP 协议之上,应用层协议之下
作用:为应用层(HTTP、FTP 等)提供机密性、完整性和认证服务

会话 vs 连接

维度 会话 (Session) 连接 (Connection)
定义 是一组安全参数的集合 是具体的对等实体通信过程
关系 一个会话可以包含多个连接 它是暂时的、转瞬即逝的
目的 减少握手次数,提高效率 执行数据传输

会话长,连接短;一个会话多连接

协议结构:两个层次

底层:SSL 记录协议

  • 分段、压缩、添加 MAC (消息认证码)加密

高层:三个辅助协议

  1. 握手协议:最复杂,负责协商算法和密钥
  2. 密码变化协议
  3. 警告协议:传达错误信息 (如证书过期)
握手协议
  • 换 Hello:定算法,拿随机数
  • 换参数:为了算 premaster secret
  • 换证书:为了身份认证(你是谁,我是谁)
  • 产密钥:算出最终的 master secret
  • 给记录层:把钥匙交给干活的底层
  • 做检验:确认双方参数一致

1 步打招呼,2-3 步掏证件给材料,4-6 步算钥匙搞验收

问题

  • TLS 1.0 对应 SSL 的哪个版本? 答:SSL 3.1
  • TLS 和 SSL 的层次结构一样吗? 答:完全一样 (都在 TCP 和应用层之间)
  • 哪个组织负责 TLS 的标准化? 答:IETF

互联网密钥交换 IKE

作用:在通信双方之间通过协商建立SA

  • 阶段一:建立 ISAKMP SA (管理通道)
    • 目的:为了给后面的协商搭一个安全台子
  • 阶段二:建立 IPSec SA (数据通道)
    • 目的:在第一阶段的保护下,商量出真正用来加密数据的 SA

主 vs 野蛮(阶段一)

维度 主模式 野蛮模式
消息数 6条 3条
协商逻辑 先加密,再传身份 身份随数据直接传
优点 身份保护,更安全 速度极快,开销小
缺点 慢,无法用于动态IP 不安全,泄露身份
  • 主模式:协商策略、交换密钥材料(DH共享值)、身份验证(ID)
  • 野蛮模式:发起方打包发 → 响应方确认回传 → 发起方确认

主六稳:12谈协议,34换钥匙,56看证件
野三快:全部打包一次清

快速模式(阶段二)

在阶段一建立的 ISAKMP SA(安全隧道)保护下进行,所有的消息都是加密的

  • 第一条:发起方提要求。发出一组 SA 提议(加密算法等),带上随机数 (Nonce),如果想开启 PFS,就额外带上一个 DH 公开值
  • 第二条:响应方给回复。从提议里选一个好的,也带上自己的随机数 (Nonce)DH 公开值(如果需要)
  • 第三条:发起方做确认。发送一个哈希值 (Hash)

躲在隧道里,三条消息定合同,Nonce 防重放,DH 保 PFS,最后 Hash 签个字

问题

  • 问:快速模式的安全性靠谁? 答:靠阶段一的保护以及自己的哈希认证
  • 问:Nonce 是干嘛的? 答:防重放
  • 问:PFS 怎么实现的? 答:在快速模式里增加一次 DH 交换

安全电子邮件系统 PGP

PGP是一个提供保密性、认证、压缩、电子邮件兼容性和分段服务的软件包,可用于电子邮件文件存储应用

五大基本服务

  • 认证:使用数字签名确保来源真实 (DSS/SHA 或 RSA/SHA)
  • 机密性:使用对称加密保护内容 (CAST-128、IDEA 或 3DES)
  • 压缩:在发送前进行压缩 (ZIP 算法)
  • 电子邮件兼容性:将二进制转为 Radix-64 格式 (保证在旧邮件系统中传输不乱码)
  • 分段与重组:处理超大邮件的分块传输

PGP 核心符号

符号 含义
KsK_s 传统加密中的会话密钥
KRaKRa 用户 A 的私有密钥
KUaKUa 用户 A 的公开密钥
EPEP 公开密钥加密
DPDP 公开密钥解密
ECEC 加密
DCDC 常规解密
HH 散列函数
|| 串接操作
ZZ ZIP 压缩
R64R64 Radix-64 转换
  • PPEPEPDPDP非对称算法
  • CCECECDCDC对称算法
  • RR私钥
  • UU公钥

认证 (签名) 流程

  • 先算哈希:H(M)H(M)
  • 用私钥加密哈希:EP(KRa,H(M))EP(KRa, H(M))
  • 拼在消息后面:MEP(KRa,H(M))M || EP(KRa, H(M))

机密性 (加密) 流程

  • 用会话密钥加密:EC(Ks,M)EC(K_s, M)
  • 用公钥加密钥匙:EP(KUb,Ks)EP(KUb, K_s)

功能实现

身份认证功能

认证 (签名) 流程

  • 先算哈希:H(M)H(M)
  • 用私钥加密哈希:EP(KRa,H(M))EP(KRa, H(M))
  • 拼在消息后面:MEP(KRa,H(M))M || EP(KRa, H(M))

实现认证性完整性

核心流程

  • 发送方:用私钥 (KRa) 对消息的哈希值进行 EP (公钥加密),把签名挂在消息 M 的后面发送
  • 接收方:拆出签名,用 A 的 公钥 (KUa) 解密 DP,对 M 算哈希对比

保密性功能

对称加密传内容 + 非对称加密传钥匙

机密性 (加密) 流程

  • 用会话密钥加密:EC(Ks,M)EC(K_s, M)
  • 用公钥加密钥匙:EP(KUb,Ks)EP(KUb, K_s)

实现机密性

核心流程

  • 发送方:生成 Ks 对消息进行 EC (对称加密),再用接收方的 公钥 (KUb) 对 Ks 进行 EP (公钥加密),发送 EP(KUb, Ks) || EC(Ks, M)
  • 接收方:用自己的 私钥 KRb 解密得到 会话密钥 Ks,用 Ks 解密内容

签名+压缩+加密

PGP 执行顺序:签名 → 压缩 → 加密

  • 先签名后加密:防止他人剥离签名或在加密包上伪造签名
  • 先压缩后加密:加密后的数据随机性太强,无法再压缩
  • 兼容性处理 (Radix-64):将加密后的二进制流转为 ASCII 字符,防止在只支持文本的旧邮件系统中传输乱码

密钥管理与钥匙环

两大钥匙环

  • 私钥环:存储用户自己的公钥/私钥对
  • 公钥环:存储用户收集到的所有其他人的公钥

私钥的安全存储

  • 口令 \rightarrow 哈希(128位) \rightarrow 对称加密私钥 \rightarrow 存入私钥环
  • 口令短语:人记(长句子)
  • 128位密钥:机器算的(口令哈希后的结果)
  • 谁锁谁:128 位密钥锁住私钥,存进私钥环
  • 怎么开:输入口令 → 还原 128 位密钥 → 解开私钥

KeyID

  • 公钥太长,取低 64 位作为标识符,方便在环中查找

信任模型

去中心化

  • 所有者信任手动设置,代表对某人“签署公钥能力”的信任程度
  • 密钥合法性:由 PGP 自动计算出,代表公钥可信度

画图

DNS

DNS欺骗

DNS 缓存投毒

ARP

ARP欺骗的原理

XSS

反射型 XSS

存储型 XSS

CSRF

防火墙

屏蔽主机的体系结构

屏蔽子网的体系结构

VPN

IPsec 工作模式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
原始: [ IP 头 ] [ TCP/UDP 数据 ]
AH:
传输: [ 原 IP 头* ] [ AH 头 ] [ TCP/UDP 数据 ]
└─────────────────────────────────────┘
认证范围
(*注:原 IP 头中的易变字段如 TTL、Check-sum 等不参与认证)

隧道: [ 新 IP 头* ] [ AH 头 ] [ 原 IP 头 ] [ TCP/UDP 数据 ]
└───────────────────────────────────────────────┘
认证范围
(*注:同样排除新 IP 头中的易变字段)

ESP:
传输: [ 原 IP 头 ] [ ESP 头 ] [ TCP/UDP 数据 ] [ ESP 尾部 ] [ ESP 认证数据 ]
┃ └───────────────┘ ┃
┃ 加密范围 (E) ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
认证范围 (A)

隧道: [ 新 IP 头 ] [ ESP 头 ] [ 原 IP 头 ] [ TCP/UDP 数据 ] [ ESP 尾部 ] [ ESP 认证数据 ]
┃ └─────────────────────────┘ ┃
┃ 加密范围 (E) ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
认证范围 (A)

IKE

IKE 第一阶段:主模式

IKE 第一阶段:野蛮模式

IKE 第二阶段:快速模式

SSL

SSL 握手协议

PGP

PGP的验证算法

分析与设计题

威胁分析

  • 这事儿哪儿不安全?是人容易被骗?还是系统有漏洞?或者是数据没加密?

技术手段

  • 加密:IPSec、SSL、PGP(选一个)
  • 认证:所知、所有、特征
  • 挡住:防火墙、隔离区(DMZ)
  • 监控:入侵检测(IDS)

管理手段

  • 要加强员工培训,定期备份数据,法律防范

设计原则

  1. 动态化:移动目标防御 MTD、动态口令
  2. 多层化:纵深防御
  3. 最小特权
  4. 隔离:加密隧道、屏蔽子网、沙箱

身份认证机制

列举三类身份认证机制,分析其优劣,并设计一个高安全的认证方案

  • 所知:如口令、密码。:实现简单、成本低。:易被猜测、撞库、暴力破解
  • 所有:如U盾、硬件令牌、手机验证码。:难以复制。:易丢失,依赖硬件
  • 特征:如指纹、人脸、声纹。:随身携带、唯一性高。:采集成本高,且一旦泄露无法更改(如脸部数据被窃)

自行设计方案(多因素认证 MFA)

方案:基于“密码 + 动态令牌 + 生物特征”的协同认证系统

社会工程学

分析电信诈骗的成因及其专业防范

  • 原理
    • 大白话:利用人的害怕(假警察)、贪心(中大奖)、信任(我是你领导)
  • 为什么防不住
    • 技术原因:黑客有“改号软件”和“伪基站”,看起来像真的一样
    • 源头原因:你的个人信息早就在黑客手里卖来卖去了(信息泄露)
  • 技术防范
    • 给所有电话装个“黑名单库”;关键操作(转账)必须加个双重验证;国家搞大数据监控,发现异常通话直接掐断

高级持续性威胁 APT

描述APT攻击的阶段,并设计一个针对APT的防御体系

  • 侦查:通过社工手段搜集目标信息
  • 潜伏与渗透:植入后门程序,获取初步控制权
  • 权限提升:利用系统漏洞在内网横向移动
  • 数据窃取:长期潜伏,分批次加密传出敏感数据

防御体系设计(纵深防御)

  • 网络边缘:部署基于行为模式的入侵检测系统(IDS)和高级防火墙
  • 数据层面:对敏感数据进行强加密,并监控异常的数据流量流向
  • 意识层面:定期进行社工演练,提高员工防范钓鱼邮件的能力

移动目标防御 MTD

针对网络扫描攻击,设计一个基于移动目标防御(MTD)的防御机制

原理:通过主动、随机地改变网络参数,使攻击者收集到的情报(如IP、端口)迅速“过时”

具体机制(随机响应算法)

  1. 监听流量:当系统收到非法的TCP包(如端口扫描)时。
  2. 随机化逻辑:系统不再固定返回“端口关闭”,而是从以下方式中随机选择:
    1. 返回 SYN-ACK(假装开放)
    2. 返回 ACK(假装连接已建立)
    3. 直接 Drop(静默丢弃)

效果分析:这种机制让Nmap等扫描工具得到相互矛盾的结果,从而无法判断真实的业务端口。这改变了“防守方静态、攻击者主动”的被动局面,实现了主动防御