本文基于软考信息安全工程师课程笔记整理,系统梳理网络攻击的基础原理、攻击模型与常见技术方法,涵盖核心概念、关键机制与典型攻击手段。
2.1 网络攻击基础与模型
2.1.1 网络攻击原理
攻击者类型
| 攻击者类型 | 动机与特征 |
|---|---|
| 黑客 | 技术挑战与好奇心驱动 |
| 间谍 | 以情报获取为目的 |
| 恐怖主义者 | 制造恐怖事件与社会恐慌 |
| 公司职员(内鬼) | 报复或利益驱动,典型案例如"删库跑路" |
| 职业犯罪分子 | 以经济利益为核心目标 |
| 破坏者 | 以单纯破坏为目的,如熊猫烧香病毒作者 |
攻击内容与访问方式
攻击内容包括:用户命令(初级攻击方式)、脚本或程序(高级攻击者使用)、自治主体(自定义攻击工具)、电磁泄露(通过电磁感应窃密,防护方案为光纤或屏蔽网线)。
访问方式分为:本地访问(内鬼常用)与远程访问(黑客主要方式)。
攻击效果与CIA属性对应
| 攻击效果 | 对应安全属性 |
|---|---|
| 破坏信息 | 完整性 |
| 信息泄密 | 机密性 |
| 窃取服务 | 机密性 |
| 拒绝服务 | 可用性 |
2.1.2 网络攻击模型
攻击树模型
- 起源:由故障树分析方法扩展而来
- 结构特征:采用AND-OR形式的树结构对目标对象进行网络安全威胁分析
- 应用场景:红队(Red Team)用于渗透测试,蓝队(Blue Team)用于研究防御机制
- 优势:支持专家头脑风暴整合、可进行费效分析或概率分析、适合复杂攻击场景建模
- 局限性:无法处理多重尝试攻击与时间依赖场景,不适用于大规模网络(结构过于复杂)
MITRE ATT&CK模型
- 数据基础:基于真实观察到的网络攻击数据提炼形成
- 核心特征:攻击矩阵模型,将攻击活动分解为多个阶段(初始访问→执行→持久化→特权提升→躲避防御→凭据访问→发现→横向移动→收集→指挥控制→外泄→影响)
- 典型应用:网络红蓝对抗模拟、网络安全渗透测试、网络防御差距评估、网络威胁情报收集
网络杀伤链(Kill Chain)模型
将网络攻击活动划分为七个阶段:
目标侦查 → 武器构造 → 载荷投递 → 漏洞利用 → 安装植入 → 指挥控制 → 目标行动
考试中出现"七步攻击模型"即对应网络杀伤链模型。
2.1.3 网络攻击发展趋势
| 趋势 | 特征 |
|---|---|
| 攻击智能化、自动化 | 从手动操作发展为集成化平台,攻击时间成本大幅降低 |
| 攻击者群体普适化 | 技术门槛降低,非专业人员经短期学习即可实施攻击 |
| 攻击目标多样化与隐蔽性 | 从传统服务器扩展至电信诈骗、网络欺诈等领域,采用代理跳板与流量混淆技术 |
| 计算资源获取方便 | 通过僵尸网络控制"肉鸡"形成攻击集群,利用云计算服务进行密码爆破 |
| 攻击活动持续化(APT) | 典型APT攻击可持续数年,如震网病毒攻击伊朗核设施;更关注数据窃取而非系统破坏 |
| 攻击主体组织化 | 从个人行为发展为集团化运作,具有完整培训体系与分工,常利用跨国司法协作困难逃避追查 |
2.1.4 网络攻击一般过程
网络攻击通常遵循八个步骤:
| 步骤 | 内容 |
|---|---|
| ① 隐藏攻击源 | 通过多国服务器中转、代理网关与伪造IP增加追溯难度 |
| ② 收集攻击目标信息 | 获取系统配置、安全措施、用户权限结构等全方位情报 |
| ③ 挖掘漏洞信息 | 包括软件漏洞、信任链漏洞、协议漏洞等,与已知漏洞库匹配 |
| ④ 获取目标访问权限 | 通过口令破解、漏洞利用或社会工程获取控制权 |
| ⑤ 隐蔽攻击行为 | 采用无文件攻击、进程注入、合法进程伪装等方式规避检测 |
| ⑥ 实施攻击 | 根据目标价值选择数据窃取、服务瘫痪或数据篡改 |
| ⑦ 开辟后门 | 修改系统配置、植入Rootkit、创建隐蔽通信信道,建立持久访问通道 |
| ⑧ 清除攻击痕迹 | 清除安全日志与审计记录,关闭审计服务,干扰入侵检测系统 |
2.2 网络攻击常见技术方法
2.2.1 端口扫描
TCP三次握手
TCP传输数据前需通过三次握手建立连接:
- 主机A发送SYN=1的同步请求(seq=x)
- 主机B回复SYN=1、ACK=1的确认(seq=y,ack=x+1)
- 主机A发送ACK=1的最终确认(seq=x+1,ack=y+1)
控制位含义:SYN为同步请求(表示希望建立连接),ACK为确认响应(表示收到对方请求)。
端口扫描类型
端口扫描的目的是逐个尝试与TCP/UDP端口连接,根据服务器反馈推断目标系统运行的服务。
| 扫描类型 | 原理与特征 |
|---|---|
| 完全连接扫描 | 完成完整TCP三次握手,连接成功则端口开放;可靠性高但痕迹明显 |
| 半连接扫描/SYN扫描 | 仅完成前两次握手,不建立完整连接;收到SYN+ACK则开放,无响应则关闭 |
| ID头信息扫描 | 需第三方哑主机(dumb主机)配合,通过观察ID头递增规律判断端口状态;隐蔽性高 |
| 隐蔽扫描 | 绕过IDS、防火墙与监视系统获取端口信息 |
| SYN|ACK扫描 | 直接发送SYN|ACK包而非初始SYN;返回RST则关闭,无响应则开放 |
| FIN扫描 | 发送FIN包;返回RST则关闭,无响应则开放 |
| ACK扫描 | 分析返回包的TTL与窗口值;开放端口TTL<64且WIN>0,关闭端口TTL>64且WIN=0;无法直接判断端口状态,用于探测防火墙策略 |
| NULL扫描 | 所有控制位置空;无响应则开放,返回RST则关闭 |
| XMAS扫描 | 所有控制位置1(与NULL相反);响应模式与NULL一致 |
共同规律:多数扫描技术中,RST响应均表示端口关闭。核心区别在于连接完整性、隐蔽性与判断依据。
2.2.2 口令破解
攻击者常以弱口令为突破口获取系统访问权限,核心流程:
- 建立与目标网络服务的网络连接
- 选取用户列表文件及字典文件
- 选取一组用户和口令,按协议规范发送至目标服务端口
- 检测远程服务返回信息,判断口令尝试是否成功
- 重复循环直至字典穷尽
技术本质属于暴力破解(Brute-force Attack)的穷举法应用。防御关键在于设置包含大小写字母、数字与特殊字符的强口令。
2.2.3 缓冲区溢出攻击
定义与原理
通过向程序缓冲区写入超出其长度的内容,造成缓冲区溢出,破坏程序堆栈,使程序转而执行预设的恶意指令,以达到攻击目的。
攻击后果
- 初级影响:程序执行异常崩溃
- 高级攻击:精确覆盖返回地址等关键数据,执行任意预设操作(如获取系统权限),实现持久化控制(植入后门程序)
防护措施
| 措施 | 说明 |
|---|---|
| 输入验证 | 严格检查输入长度 |
| 安全函数 | 使用具有边界检查的标准库函数(如strncpy替代strcpy) |
| 栈保护技术 | StackGuard等编译器保护机制 |
| 数据执行保护(DEP) | 标记数据页为不可执行 |
| 地址空间布局随机化(ASLR) | 随机化内存布局,增加攻击难度 |
2.2.4 恶意代码
恶意代码是指为达到恶意目的而专门设计的程序或代码,旨在破坏系统可靠性、可用性、安全性与数据完整性。
| 类型 | 特征 | 代表 |
|---|---|---|
| 计算机病毒 | 侧重直接破坏,需宿主程序传播 | 熊猫烧香 |
| 网络蠕虫 | 具有自我复制传播功能,可自动感染网络中其他主机 | 红色代码、震网 |
| 特洛伊木马 | 隐蔽的远程控制程序,功能类似合法远控软件但通过非授权方式植入 | 冰河、灰鸽子 |
| 后门程序 | 提供持久访问通道,避免重复攻击 | --- |
| 逻辑炸弹 | 具有预置触发条件(时间条件或系统状态),满足条件后激活 | --- |
| 僵尸网络 | 由被木马控制的终端设备与攻击者控制服务器组成,可集中发起DDoS等协同攻击 | --- |
2.2.5 拒绝服务攻击(DoS/DDoS)
基本原理
攻击者恶意消耗系统资源(CPU、内存、硬盘、网络带宽),导致目标系统无法为正常用户提供服务,本质是对系统可用性的破坏。
典型DoS攻击类型
| 攻击类型 | 原理 |
|---|---|
| SYN Flood | 利用TCP三次握手缺陷,发送大量伪造SYN包但不完成第三次确认,耗尽半连接队列与内存资源 |
| UDP Flood | 持续发送海量UDP报文耗尽目标网络带宽 |
| Land攻击 | 伪造源/目的IP均为目标主机的SYN包,诱导目标与自身建立无效连接 |
| Smurf攻击 | 冒充目标向广播地址发送ICMP请求,利用局域网主机群组响应形成流量放大 |
| Ping of Death | 发送超过65535字节的畸形IP包,导致TCP/IP协议栈崩溃 |
| Teardrop攻击 | 构造IP分片重叠的畸形报文,使目标系统重组失败崩溃 |
| Hash DoS | 利用哈希算法漏洞构造碰撞数据集,强制高复杂度计算耗尽CPU/内存 |
| 邮件炸弹 | 发送海量垃圾邮件占满目标邮箱存储空间 |
| Winnuke攻击 | 向Windows 139端口发送带URG标志的TCP OOB数据,导致系统蓝屏 |
分布式拒绝服务(DDoS)
通过僵尸网络控制多台代理主机协同攻击,形成更大规模流量冲击。现代主流攻击方式,传统单机DoS已逐渐淘汰。
2.2.6 其他攻击方法
| 攻击方法 | 原理与特征 |
|---|---|
| 网络钓鱼(Phishing) | 仿冒正规网站诱导用户输入敏感信息;通过欺骗性电子邮件与伪造网站实施诈骗 |
| 网络窃听 | 将网卡设置为混杂模式(Promiscuous Mode,缩写PROMISC)捕获网络中所有数据包;常见手段为网络嗅探与中间人攻击;核心防御为数据加密 |
| SQL注入 | 利用Web脚本对输入缺少安全检查的漏洞,将恶意SQL命令插入表单输入域或查询字符串,欺骗服务器执行恶意SQL;防御措施为输入检测、数据库防火墙与参数化查询 |
| 社交工程 | 通过人际互动实施攻击,核心手段为"坑蒙拐骗",利用人性弱点而非技术漏洞;典型如电信诈骗、杀猪盘、伪造身份钓鱼 |
| 电子监听 | 通过灵敏无线电接收装置远距离捕获电磁波信号,非接触式攻击;监听对象包括键盘输入电磁泄漏、屏幕显示电磁辐射等 |
| 会话劫持 | 在初始授权建立连接后进行劫持,获取合法用户特权权限,绕过身份认证环节;如TCP会话劫持 |
| 漏洞扫描 | 自动检测远程或本地主机安全漏洞的软件;类型包括CGI漏洞扫描、弱口令扫描、操作系统漏洞扫描、数据库漏洞扫描;兼具攻击侦察与防御自查双重用途 |
| 代理技术 | 使用代理服务器作为"攻击跳板"隐藏真实IP,采用多级代理增加追踪难度;被控主机称为"肉鸡" |
| 数据加密(攻击者用) | 攻击者采用加密技术逃避安全管理人员追踪,保护攻击数据;安全原则为所有攻击相关数据必须加密存储或立即销毁 |
本章小结
本章2.1-2.2节系统梳理了网络攻击的基础框架与技术方法:
- 基础层面:明确六类攻击者、四种攻击内容、两类访问方式及攻击效果与CIA属性的对应关系
- 模型层面:掌握攻击树模型(AND-OR树结构)、MITRE ATT&CK(攻击矩阵)与网络杀伤链(七阶段)三大模型的特征与应用
- 趋势层面:理解智能化、普适化、隐蔽化、持续化(APT)与组织化六大发展趋势
- 技术层面:重点掌握端口扫描九种类型的响应特征差异、缓冲区溢出原理与防护、六类恶意代码的区分、九种DoS攻击的原理,以及SQL注入、网络窃听、社交工程等常见攻击方法的机制与防御
上述内容为软考上午选择题与下午案例分析题的高频考点,建议结合对比表格与攻击流程强化理解。