软考-系统架构设计师 信息安全的抗攻击技术详细讲解

个人博客:blogs.wurp.top

一、核心安全目标与攻击类型对应关系

所有抗攻击技术都围绕保障CIA三元组展开:

  • 机密性 (Confidentiality) -> 对抗窃听、爬取等攻击。
  • 完整性 (Integrity) -> 对抗篡改、病毒等攻击。
  • 可用性 (Availability) -> 对抗拒绝服务(DoS/DDoS)等攻击。
    此外,还需保障:
  • 认证性 (Authentication) -> 对抗身份伪造等攻击。
  • 不可否认性 (Non-Repudiation) -> 对抗事后抵赖。

二、防御性技术架构与基础设施

这是架构师设计系统时首要考虑的全局性防御措施。

1. 防火墙 (Firewall) - 网络边界防御的核心

  • 功能:根据预定义的安全规则,控制进出网络的流量,相当于一个"过滤网关"。
  • 部署位置:网络边界(内网与外网之间)、不同安全级别的网络区域之间(如办公网与数据中心网)。
  • 主要类型
    • 包过滤防火墙:工作在网络层和传输层,基于IP、端口、协议类型进行过滤。速度快但安全性较低。
    • 状态检测防火墙现代主流。能检测连接状态(如是否是已建立连接的返回包),比简单包过滤更智能、安全。
    • 应用代理防火墙/下一代防火墙 (NGFW):工作在应用层,能理解应用层协议(如HTTP、FTP),可防御基于应用层的攻击。性能开销大但安全性最高。

2. WAF (Web Application Firewall) - 应用层防御核心

  • 功能 :专门针对Web应用的安全防护设备/软件,置于Web服务器之前。
  • 防御范围 :专门防御SQL注入、XSS、CSRF、文件包含OWASP Top 10 Web攻击。
  • 工作原理:基于规则库(特征码)和异常行为分析,对HTTP/HTTPS流量进行深度检测和清洗。
  • 形态:可以是硬件设备、软件产品或云服务(云WAF)。

3. IPS/IDS (入侵防御/检测系统)

  • IDS (入侵检测系统)监控 网络或系统,发现攻击行为时产生报警。是一种"事后"监督机制。
  • IPS (入侵防御系统)实时检测主动阻断攻击流量。是一种"事中"拦截机制。
  • 部署:IDS旁路监听,IPS在线部署。

4. Anti-DDoS 解决方案 - 可用性保障核心

  • 目的:抵御洪水般的流量攻击,保障服务可用性。
  • 架构
    • 本地防护设备:在企业网络入口部署Anti-DDoS设备,清洗流量。
    • 云清洗服务当前主流方案。将流量引流到云上的巨大清洗中心,过滤掉攻击流量,将正常流量回源到服务器。能抵御远超企业出口带宽的超大流量攻击。

5. VPN (虚拟专用网)

  • 目的 :在不可信的公共网络(如互联网)上建立一条加密的、安全的通信隧道
  • 应用场景:远程安全访问内网资源、连接不同地域的数据中心。
  • 协议:IPSec VPN, SSL VPN(常用,无需安装客户端,通过浏览器即可接入)。

三、针对特定攻击的防御技术

1. 针对 SQL 注入 (SQL Injection)

  • 根源:用户输入被拼接为SQL指令并执行。
  • 防御方案
    • 首选:使用预编译(Prepared Statement) :将SQL语句的结构数据分离,用户输入永远只被当作参数处理,而非代码执行。这是最有效、最根本的解决方案。
    • 最小权限原则 :为数据库操作账户分配最小必要权限,禁止使用root/sa等高权限账户进行Web查询。
    • 输入验证与过滤:对用户输入进行严格的长度、类型、格式检查。
    • 使用ORM框架:间接使用预编译,避免手写SQL字符串拼接。

2. 针对 跨站脚本 (XSS)

  • 根源:不可信的数据被当作HTML/JS代码执行。
  • 防御方案
    • 输出转义 (Html Encode) :在将用户输入输出 到HTML页面时,对特殊字符(如<, >, ", ', &)进行转义(如<转为&lt;)。
    • 内容安全策略 (CSP)非常有效的防御手段 。通过HTTP响应头Content-Security-Policy告诉浏览器只允许加载和执行来自指定来源的脚本,从根本上杜绝内联脚本和非法外链脚本的执行。
    • 输入校验:对富文本输入,使用白名单机制进行严格的标签过滤(如使用Jsoup等库)。

3. 针对 跨站请求伪造 (CSRF)

  • 根源:浏览器会自动携带用户的认证信息(如Cookie)发起请求,攻击者诱使用户访问恶意页面,该页面会自动向目标网站发起伪造的请求。
  • 防御方案
    • Anti-CSRF Token最常用、最有效的方法。在表单或请求中加入一个随机的、不可预测的Token(存储在Session中)。服务器处理请求前验证Token的有效性。攻击者无法伪造此Token。
    • 同源策略检查 :检查HTTP请求头中的OriginReferer字段,判断请求是否来自同源域名。
    • 设置Cookie属性 :将关键Cookie设置为SameSite=StrictLax,限制第三方网站发请求时携带Cookie。

4. 针对 拒绝服务 (DoS/DDoS)

  • 防御方案 :见上文 Anti-DDoS 解决方案
  • 扩容与负载均衡:通过增加服务器节点和负载均衡(如Nginx, F5),提高系统整体的吞吐能力和冗余性,抵抗小规模的流量攻击。
  • 限流 (Rate Limiting):在应用层对API或服务的访问频率进行限制,防止资源被耗尽(如使用Redis实现接口限流)。

四、安全开发与架构设计原则

架构师需要在系统和应用设计的源头融入安全思想。

  1. 最小权限原则 :任何用户、进程或系统只拥有完成其任务所必需的最小权限
  2. 纵深防御 (Defense in Depth):不依赖任何单一的安全措施,而是构建多层次、互相冗余的防御体系。即使一层被攻破,还有其他层提供保护。
  3. 默认拒绝:除非明确允许,否则一律禁止。例如防火墙策略应先拒绝所有流量,再逐个开放需要的端口和服务。
  4. 安全 by Design:在系统设计的初始阶段就考虑安全需求,而不是事后补救。
  5. 零信任架构 (Zero Trust):"从不信任,始终验证"。不再区分内网和外网,对所有访问请求都进行严格的身份认证、授权和加密。

五、软考考点总结与应用

  1. 选择题

    • 直接考查各种防御技术的作用(如WAF防御什么?Prepared Statement解决什么问题?)。
    • 考查防火墙、IPS、IDS的区别。
    • 考查针对OWASP Top 10攻击的特定防御措施(如CSRF用Token防御)。
    • 考查安全原则(如最小权限、纵深防御)。
  2. 案例分析题

    • 题目给出一个系统,描述其存在的安全漏洞或面临的威胁。
    • 问题1:分析该系统存在哪些安全风险。(例如:SQL注入风险、DDoS风险、CSRF风险)。
    • 问题2 :请为你设计一套安全加固方案。(答题套路 :1. 网络层 :部署防火墙、WAF、Anti-DDoS设备/服务;2. 应用层 :采用预编译防注入、Token防CSRF、转义防XSS;3. 数据层 :加密敏感数据;4. 管理上:建立安全开发流程、定期进行安全审计和渗透测试)。
    • 问题3 :如何保证方案的有效性和可持续性?(答:引入SDL(安全开发生命周期)、建立安全运维团队、定期更新WAF规则库和系统补丁)。
  3. 论文题

    • 可能围绕"论信息系统安全架构的纵深防御体系 "、"Web应用的安全防护设计与实践 "、"论DDoS攻击的防护与系统高可用设计"等主题。
    • 写作时,必须结合纵深防御的思想,从网络、主机、应用、数据等多个层面展开论述,并详细说明你如何运用上述具体的抗攻击技术(如WAF、预编译、Token等)来解决实际的安全问题。

总结

对于软考架构师,掌握抗攻击技术的关键在于:

  • 建立体系化思维:从网络到应用,从技术到管理,构建多层次防御。
  • 深入理解原理:不仅知道"怎么做",更要理解"为什么这么做",才能灵活应用。
  • 紧跟最佳实践:掌握OWASP推荐的防御方案,如预编译防注入、CSP防XSS、Token防CSRF。
  • 权衡与决策:作为架构师,需要在安全成本、性能开销、用户体验和业务需求之间做出最佳权衡。
相关推荐
roman_日积跬步-终至千里2 小时前
【系统架构设计(25)】Web应用服务器与现代架构
前端·架构·系统架构
qqxhb2 小时前
系统架构设计师备考第20天——信息加解密技术&密钥管理技术
系统架构·des·aes·加解密·rsa·密钥管理·kdc
菜菜子爱学习2 小时前
系统架构设计师——【2024年上半年案例题】真题模拟与解析(一)
系统架构·软考·系统架构设计师
菜菜子爱学习4 小时前
系统架构设计师——【2025年上半年案例题】真题分享(一)
学习·系统架构·软考·系统架构设计师
最小的帆也能远航10 小时前
2018年下半年 系统架构设计师 论文
系统架构
钟爱蛋炒饭11 小时前
支付子系统架构及常见问题
系统架构
chenglin01613 小时前
高并发、低延迟全球直播系统架构
系统架构
非晓为骁13 小时前
【Agent】DeerFlow Researcher:系统架构与执行流程(基于真实 Trace 深度解析)
系统架构·agent·trace·deerflow·langsmith
roman_日积跬步-终至千里13 小时前
【系统架构设计(27)】信息安全技术集成
系统架构