黑客攻击与防范
一、黑客攻击基础概念
1.1 定义与核心目标
黑客攻击:通过非法手段获取系统访问权限、窃取数据或破坏系统可用性的恶意行为。
核心目标:
- 机密性破坏:窃取用户隐私、商业机密(如钓鱼攻击)
- 完整性破坏:篡改数据(如网页篡改、交易记录伪造)
- 可用性破坏:导致系统瘫痪(如DDoS攻击)
- 控制权获取:植入后门长期控制主机(如木马攻击)
1.2 攻击分类
| 分类维度 | 类型 | 特点 | 典型案例 |
|---|---|---|---|
| 攻击性质 | 主动攻击 | 篡改数据或伪造请求(如SQL注入、XSS) | 破坏网页内容 |
| 被动攻击 | 窃取信息但不修改(如嗅探、流量监控) | 监听用户登录凭证 | |
| 攻击目标 | 主机攻击 | 针对操作系统/应用漏洞(如缓冲区溢出) | 勒索软件加密文件 |
| 网络攻击 | 利用网络协议缺陷(如DDoS、ARP欺骗) | 阻断网络通信 | |
| 技术手段 | 漏洞利用攻击 | 利用已知/未知漏洞(如永恒之蓝MS17-010) | WannaCry病毒传播 |
| 社会工程攻击 | 利用人性弱点(如钓鱼邮件、社工库) | 骗取用户账号密码 |
1.3 攻击生命周期(5阶段)
- 侦察阶段:收集目标信息(域名、IP、开放端口)
- 工具:Whois查询、Nmap端口扫描、Shodan物联网搜索
- 扫描阶段:探测漏洞(如Web漏洞扫描、弱密码检测)
- 入侵阶段:利用漏洞获取权限(如远程代码执行、口令爆破)
- 维持访问:植入后门(如木马、SSH隧道)、创建隐藏账户
- 数据窃取/破坏: exfiltration敏感数据或实施破坏
二、常见攻击类型与技术原理
2.1 恶意软件攻击
2.1.1 病毒(Virus)
- 原理:依附宿主文件自我复制,破坏系统或数据
- 分类:
- 文件型病毒(感染.exe/.com,如CIH)
- 宏病毒(感染Office文档,如爱虫病毒)
- 防范:禁用宏功能、安装杀毒软件并更新特征库
2.1.2 木马(Trojan)
- 原理:伪装合法程序,远程控制主机(C2通信)
- 典型手段:
- 钓鱼邮件附件、恶意下载链接
- 端口转发(如正向/反向木马)
- 防范:验证文件哈希值、启用防火墙阻断可疑连接
2.1.3 勒索软件(Ransomware)
- 原理:加密用户文件后索要赎金(如WannaCry、NotPetya)
- 传播途径:
- 漏洞利用(永恒之蓝)、钓鱼邮件、盗版软件
- 防范:定期离线备份、关闭非必要端口(445/SMB)
2.2 注入攻击
2.2.1 SQL注入(SQLi)
- 原理:在输入参数中注入恶意SQL语句,篡改数据库查询
- 分类:
- 联合查询注入(UNION SELECT)、盲注(布尔/时间延迟)
- 漏洞代码示例:php
$id = $_GET['id']; $sql = "SELECT * FROM users WHERE id = $id"; // 未过滤输入 - 防范:参数化查询(Prepared Statements)、输入过滤
2.2.2 命令注入(Command Injection)
- 原理:拼接操作系统命令(如
&、|)执行恶意指令 - 示例:php
system("ping " . $_GET['ip']); // 恶意输入:127.0.0.1 && rm -rf / - 防范:禁用危险函数(system/exec)、过滤特殊字符
2.3 Web应用攻击
2.3.1 跨站脚本(XSS)
- 原理:在页面注入恶意脚本,窃取Cookie/会话令牌
- 分类:
- 反射型(URL携带恶意代码,即时执行)
- 存储型(恶意代码存储数据库,长期有效)
- 防范:HTML转义、启用CSP(Content Security Policy)
2.3.2 跨站请求伪造(CSRF)
- 原理:利用用户已登录会话,伪造请求执行非预期操作
- 攻击流程:
- 用户登录站点A并保持会话
- 访问恶意站点B,B向A发送伪造请求
- 防范:CSRF Token验证、检查Referer头
2.4 拒绝服务攻击(DoS/DDoS)
2.4.1 原理
- DoS(单主机):耗尽目标资源(CPU/内存/连接数)
- DDoS(分布式):利用僵尸网络(Botnet)发起大规模攻击
- 常见手段:
- SYN Flood(半开连接耗尽TCP队列)
- DNS放大攻击(利用反射机制放大流量)
2.4.2 防范
- 流量清洗(如阿里云DDoS防护)
- 限制单IP连接数、启用SYN Cookie
2.5 身份认证攻击
2.5.1 暴力破解
- 原理:穷举账号密码组合(如SSH/RDP爆破)
- 防范:登录失败锁定(如3次失败锁定10分钟)、验证码
2.5.2 会话劫持
- 原理:窃取会话Cookie/Token,冒充用户身份
- 手段:
- 中间人攻击(MITM)、XSS窃取Cookie
- 防范:HTTPS加密传输、Cookie设置HttpOnly/Secure
三、攻击防范核心技术
3.1 技术防范措施
3.1.1 边界防护
- 防火墙:
- 访问控制(ACL):禁止外部访问内部敏感端口(如3389/RDP)
- 状态检测(Stateful Inspection):过滤异常连接
- IDS/IPS:
- IDS(检测):旁路部署,识别攻击特征并报警
- IPS(防御):串联部署,实时阻断攻击流量(如Snort IPS模式)
3.1.2 漏洞管理
- 补丁更新:定期安装系统/软件补丁(微软Patch Tuesday)
- 漏洞扫描:使用Nessus、OpenVAS检测弱口令、未授权服务
3.1.3 数据保护
- 加密技术:
- 传输加密:HTTPS(TLS/SSL)、SFTP
- 存储加密:数据库TDE(透明数据加密)、磁盘BitLocker
- 访问控制:
- RBAC(角色权限):最小化用户权限(如普通用户禁止管理员操作)
- 双因素认证(2FA):密码+动态令牌(如Google Authenticator)
3.1.4 Web安全增强
- 输入输出过滤:
- 白名单校验(仅允许特定字符输入)
- HTML/URL转义(防止XSS/SQLi)
- 安全头配置:
X-XSS-Protection: 1; mode=block // 启用XSS过滤 Content-Security-Policy: default-src 'self' // 限制资源加载来源
3.2 管理防范措施
3.2.1 安全策略制定
- 编写《访问控制策略》《密码管理规范》,明确:
- 密码复杂度(8位以上,大小写+数字+特殊字符)
- 第三方访问流程(临时账号申请、权限回收)
3.2.2 人员安全意识培训
- 重点内容:
- 识别钓鱼邮件(检查发件人域名、链接真实性)
- 禁止使用弱密码(如“123456”“admin”)
- 演练方式:模拟钓鱼邮件测试,统计员工点击通过率
3.2.3 应急响应机制
- 事件分级:
- 重大事件(数据泄露、系统瘫痪)
- 一般事件(扫描攻击、密码暴力破解)
- 响应流程:
- 隔离感染主机(断开网络连接)
- 分析攻击源(流量日志、系统日志)
- 恢复系统(补丁修复、备份恢复)
- 复盘总结(更新防护规则)
四、合规要求
4.1 典型攻击防范案例
4.1.1 SQL注入防范
- 错误做法:直接拼接用户输入到SQL语句
- 正确做法:php
// 参数化查询(PDO示例) $stmt = $pdo->prepare("SELECT * FROM users WHERE id = ?"); $stmt->execute([$id]); - 工具辅助:使用ORM框架(Hibernate、MyBatis)避免手写SQL
4.1.2 DDoS防御
- 分层防御:
- 边缘清洗(CDN节点过滤恶意流量)
- 核心防护(运营商级流量清洗中心)
- 主机加固(限制SYN连接速率)
4.2 相关标准与合规
4.2.1 等保2.0(GB/T 22239-2019)
- 三级系统要求:
✅ 部署防火墙、IDS/IPS,覆盖关键网络节点
✅ 定期进行漏洞扫描和渗透测试(每年至少一次)
✅ 日志留存不少于6个月(网络设备、安全设备日志)
4.2.2 ISO 27001
- 控制目标:
- A.9.1.1 访问控制策略,防止未授权访问
- A.12.4 恶意软件防范,部署防病毒软件并更新
4.2.3 NIST SP 800-53
- 推荐控制措施:
- 标识与认证(IA):多因素认证
- 访问控制(AC):最小权限原则
练习题
单选题
- 以下属于被动攻击的是?
A. SQL注入攻击
B. 网络嗅探窃取密码
C. DDoS攻击导致系统瘫痪
D. 木马远程控制主机
答案:B
解析:被动攻击不修改数据,仅窃取信息(如嗅探);A/C/D均为主动攻击(篡改/破坏/控制)。
- 防范SQL注入最有效的方法是?
A. 过滤输入中的特殊字符
B. 使用参数化查询
C. 安装Web应用防火墙(WAF)
D. 限制数据库账户权限
答案:B
解析:参数化查询从根本上避免SQL语句拼接,是最核心防范措施;A/C/D为辅助手段。
多选题
- 以下属于社会工程攻击手段的有?(多选)
A. 钓鱼邮件骗取账号密码
B. 利用永恒之蓝漏洞传播病毒
C. 通过社工库查询用户信息
D. 伪造客服电话诱导转账
答案:ACD
解析:社会工程攻击依赖人的弱点(欺骗、诱导),B属于漏洞利用技术,非社会工程。
- 等保2.0对三级系统的要求包括?(多选)
A. 日志留存不少于3个月
B. 部署入侵检测系统(IDS)
C. 定期进行渗透测试
D. 禁用HTTP协议,强制使用HTTPS
答案:BC
解析:等保要求日志留存≥6个月(A错误),未强制禁用HTTP(D错误),BC正确。
判断题
- DDoS攻击通过耗尽目标主机资源实现瘫痪,无法防御只能被动承受。( )
答案:×
解析:DDoS可通过流量清洗、限制连接数等技术进行防御,并非无法防范。
- 跨站脚本攻击(XSS)的恶意代码存储在用户浏览器中。( )
答案:×
解析:存储型XSS代码存储在服务器数据库,反射型XSS代码存在于URL中,均非浏览器存储。
