Skip to content

黑客攻击与防范

一、黑客攻击基础概念

1.1 定义与核心目标

黑客攻击:通过非法手段获取系统访问权限、窃取数据或破坏系统可用性的恶意行为。
核心目标

  • 机密性破坏:窃取用户隐私、商业机密(如钓鱼攻击)
  • 完整性破坏:篡改数据(如网页篡改、交易记录伪造)
  • 可用性破坏:导致系统瘫痪(如DDoS攻击)
  • 控制权获取:植入后门长期控制主机(如木马攻击)

1.2 攻击分类

分类维度类型特点典型案例
攻击性质主动攻击篡改数据或伪造请求(如SQL注入、XSS)破坏网页内容
被动攻击窃取信息但不修改(如嗅探、流量监控)监听用户登录凭证
攻击目标主机攻击针对操作系统/应用漏洞(如缓冲区溢出)勒索软件加密文件
网络攻击利用网络协议缺陷(如DDoS、ARP欺骗)阻断网络通信
技术手段漏洞利用攻击利用已知/未知漏洞(如永恒之蓝MS17-010)WannaCry病毒传播
社会工程攻击利用人性弱点(如钓鱼邮件、社工库)骗取用户账号密码

1.3 攻击生命周期(5阶段)

  1. 侦察阶段:收集目标信息(域名、IP、开放端口)
    • 工具:Whois查询、Nmap端口扫描、Shodan物联网搜索
  2. 扫描阶段:探测漏洞(如Web漏洞扫描、弱密码检测)
  3. 入侵阶段:利用漏洞获取权限(如远程代码执行、口令爆破)
  4. 维持访问:植入后门(如木马、SSH隧道)、创建隐藏账户
  5. 数据窃取/破坏: 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)

  • 原理:利用用户已登录会话,伪造请求执行非预期操作
  • 攻击流程
    1. 用户登录站点A并保持会话
    2. 访问恶意站点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 应急响应机制

  • 事件分级
    • 重大事件(数据泄露、系统瘫痪)
    • 一般事件(扫描攻击、密码暴力破解)
  • 响应流程
    1. 隔离感染主机(断开网络连接)
    2. 分析攻击源(流量日志、系统日志)
    3. 恢复系统(补丁修复、备份恢复)
    4. 复盘总结(更新防护规则)

四、合规要求

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):最小权限原则

练习题

单选题

  1. 以下属于被动攻击的是?

A. SQL注入攻击
B. 网络嗅探窃取密码
C. DDoS攻击导致系统瘫痪
D. 木马远程控制主机

答案:B
解析:被动攻击不修改数据,仅窃取信息(如嗅探);A/C/D均为主动攻击(篡改/破坏/控制)。

  1. 防范SQL注入最有效的方法是?

A. 过滤输入中的特殊字符
B. 使用参数化查询
C. 安装Web应用防火墙(WAF)
D. 限制数据库账户权限

答案:B
解析:参数化查询从根本上避免SQL语句拼接,是最核心防范措施;A/C/D为辅助手段。

多选题

  1. 以下属于社会工程攻击手段的有?(多选)

A. 钓鱼邮件骗取账号密码
B. 利用永恒之蓝漏洞传播病毒
C. 通过社工库查询用户信息
D. 伪造客服电话诱导转账

答案:ACD
解析:社会工程攻击依赖人的弱点(欺骗、诱导),B属于漏洞利用技术,非社会工程。

  1. 等保2.0对三级系统的要求包括?(多选)

A. 日志留存不少于3个月
B. 部署入侵检测系统(IDS)
C. 定期进行渗透测试
D. 禁用HTTP协议,强制使用HTTPS

答案:BC
解析:等保要求日志留存≥6个月(A错误),未强制禁用HTTP(D错误),BC正确。

判断题

  1. DDoS攻击通过耗尽目标主机资源实现瘫痪,无法防御只能被动承受。( )

答案:×
解析:DDoS可通过流量清洗、限制连接数等技术进行防御,并非无法防范。

  1. 跨站脚本攻击(XSS)的恶意代码存储在用户浏览器中。( )

答案:×
解析:存储型XSS代码存储在服务器数据库,反射型XSS代码存在于URL中,均非浏览器存储。

粤ICP备2025395972号-1