当前位置: 首页 > 产品大全 > 软件设计师备考精讲 计算机网络、网络安全与信息安全软件开发核心笔记

软件设计师备考精讲 计算机网络、网络安全与信息安全软件开发核心笔记

软件设计师备考精讲 计算机网络、网络安全与信息安全软件开发核心笔记

一、 计算机网络核心考点

软件设计师考试中,计算机网络部分重点围绕OSI/RM与TCP/IP体系结构展开,要求掌握各层协议、功能与服务。

1. 网络体系结构与协议
- OSI七层模型:需熟记物理层、数据链路层、网络层、传输层、会话层、表示层、应用层的名称、顺序及核心功能(如网络层的路由与寻址,传输层的端到端可靠传输)。
- TCP/IP四层模型:对应关系(网络接口层、网际层、传输层、应用层)及与OSI的对比是高频考点。
- 核心协议簇
- 网际层:IP(IPv4地址分类、子网划分、CIDR)、ICMP(ping/traceroute)、ARP/RARP。

  • 传输层:TCP(三次握手、四次挥手、滑动窗口、可靠机制)、UDP(特点、适用场景)。
  • 应用层:HTTP/HTTPS、FTP、DNS、DHCP、SMTP/POP3的原理与端口号。

2. 网络设备与拓扑
- 了解交换机(数据链路层,基于MAC地址)、路由器(网络层,基于IP地址)的工作原理与区别。
- 掌握常见的网络拓扑结构(星型、环型、总线型)及其特点。

二、 网络安全基础与威胁

网络安全是软件设计师考试的重中之重,强调对基本概念、常见攻击与防护的理解。

1. 安全目标(CIA三元组)
- 保密性:防止信息泄露给未授权实体。技术:加密。
- 完整性:防止信息被未授权篡改。技术:散列函数(如MD5、SHA)、数字签名。
- 可用性:确保授权用户能及时访问信息与服务。威胁:拒绝服务攻击(DoS/DDoS)。

2. 常见攻击与防护
- 被动攻击:窃听、流量分析。防护:加密。
- 主动攻击
- 篡改:消息完整性遭破坏。防护:消息认证码(MAC)、数字签名。

  • 重放攻击:重复发送有效数据。防护:时间戳、序列号、挑战/应答。
  • 拒绝服务(DoS/DDoS):耗尽资源。防护:流量清洗、限流。
  • 恶意软件:病毒、蠕虫、特洛伊木马、勒索软件。防护:防病毒、最小权限原则。
  • 其他重要攻击:SQL注入、跨站脚本(XSS)、中间人攻击(MITM)、DNS欺骗/缓存投毒。

3. 密码学基础
- 对称加密(私钥加密):DES、3DES、AES。特点:加解密速度快,密钥分发困难。
- 非对称加密(公钥加密):RSA、ECC。特点:速度慢,用于密钥交换和数字签名。
- 散列函数:MD5、SHA系列。特点:单向性,用于完整性校验。
- 数字签名:结合散列与非对称加密(私钥签名,公钥验证),实现认证、完整性和不可否认性。
- 数字证书与PKI:CA(证书颁发机构)颁发数字证书,绑定公钥与身份,建立信任链。

三、 信息安全软件开发实践要点

此部分要求将安全理念融入软件开发生命周期(SDLC),是设计与案例分析题的常见背景。

1. 安全开发原则
- 最小权限原则:每个模块/用户只拥有完成其任务所必需的最小权限。
- 纵深防御:在多个层次部署安全措施,避免单点失效。
- 默认安全:系统默认配置应是安全的。
- 隐私保护:默认不收集,数据最小化,告知同意。

2. 安全开发生命周期(SDL/Secure SDLC)
- 需求阶段:识别安全需求,建立安全目标与隐私要求。
- 设计阶段:进行威胁建模(如STRIDE模型),设计安全架构(如身份认证、访问控制、日志审计)。
- 编码阶段:遵循安全编码规范(如防范缓冲区溢出、注入攻击),进行代码安全审查。
- 测试阶段:进行渗透测试、漏洞扫描、模糊测试。
- 部署与维护:安全配置管理,定期漏洞评估与补丁更新。

3. 关键安全机制在开发中的实现
- 身份认证与访问控制
- 认证方式:口令、动态令牌、生物特征、多因素认证(MFA)。

  • 访问控制模型:自主访问控制(DAC)、强制访问控制(MAC)、基于角色的访问控制(RBAC)——最常用。
  • 输入验证与输出编码:对所有用户输入进行严格验证(白名单原则),对输出到浏览器的数据进行编码以防XSS。
  • 安全通信:使用TLS/SSL保障传输层安全(HTTPS),禁用老旧、不安全的协议(如SSL 2.0/3.0)。
  • 安全日志与审计:记录关键安全事件(登录、权限变更、敏感操作),确保日志的完整性、保密性和可用性。
  • 会话管理:使用安全的、随机的会话ID,设置合理的会话超时时间,提供安全的注销功能。

4. 典型安全漏洞与防范(对应编码与测试)
- 注入类(SQL、OS命令、LDAP):使用参数化查询或预编译语句,避免拼接。
- 跨站脚本(XSS):对输出进行HTML编码。
- 跨站请求伪造(CSRF):使用CSRF Token验证。
- 不安全的直接对象引用:进行访问权限检查。
- 安全配置错误:遵循官方安全配置指南,移除默认账户和示例代码。

四、 备考

软件设计师考试的网络与安全部分,理论考查注重对协议、攻击、密码学原理的理解;实践考查则侧重于将安全原则、机制与软件开发过程相结合,分析设计场景中的安全方案或识别漏洞。备考时,应在理解核心概念的基础上,多做历年真题中的相关案例分析,体会“安全思维”在软件设计中的具体应用。务必掌握从网络底层协议到应用层安全开发的完整知识链条。

更新时间:2026-01-13 22:00:25

如若转载,请注明出处:http://www.uwjrwd.com/product/38.html