假定为学校开发一个在线学习系统结合上个实验的安全需求分析与本章的《一个基本web应用系统的安全功能设计》请给出该系统的安全设计。软件安全与漏洞--实验 软件安全需求分析-CSDN博客一、 实验目的理解并掌握Web应用系统的安全架构设计方法。依据国家标准如GB/T 22239及行业规范针对具体系统进行安全功能设计。将安全需求转化为具体的技术实现方案如身份认证、访问控制、数据安全等。二、 实验环境操作系统Windows / Linux设计工具Visio / ProcessOn / Word参考标准《信息系统安全等级保护基本要求》(GB/T 22239-2008) 等如教科书图1所示三、 实验内容与步骤核心部分1. 系统安全架构分层设计根据教科书7.3.1节我们将“学校在线学习系统”划分为五个层次进行针对性设计终端层师生使用的PC及移动设备。网络层校园网边界防护Web应用防火墙部署。主机层操作系统加固最小权限原则。应用层核心业务逻辑安全登录、选课、成绩录入。数据层数据库加密存储与备份。2. 应用安全功能详细设计对应教科书7.3.1(1)(1) 身份认证设计多因素认证针对管理员和教师角色采用“用户名/口令 手机动态验证码”的双因素认证方式符合教科书图2中“等级保护三级及以上系统应至少采用两种认证方式”的要求。学生用户采用“用户名/口令 图形验证码”。密码存储策略用户密码在数据库中严禁明文存储。设计采用SHA-256 加盐Salt的哈希算法进行存储符合教科书图2中“存储用户密码的哈希值加入随机值”的要求。防暴力破解设计账户锁定机制同一账号连续5次登录失败后锁定账号30分钟符合教科书图2中“设计账号锁定功能”的要求。(2) 访问控制设计基于角色的访问控制设计RBAC模型。学生仅能访问课程浏览、作业提交、个人成绩查询模块。教师可访问课程管理、成绩录入、作业批改模块。管理员可访问用户管理、系统配置模块。最小权限原则所有接口默认拒绝访问仅在服务端显式校验权限通过后放行符合教科书图2中“授权粒度尽可能小”、“在服务器端实现访问控制”的要求。(3) 输入与输出验证设计输入验证对所有用户输入如评论区、作业上传文件名进行白名单验证。限制特殊字符如,;,script防止SQL注入和XSS攻击符合教科书图3中“对所有来源不在可信范围之内的输入数据进行验证”的要求。输出编码在页面展示用户提交的数据前进行HTML实体编码。(4) 会话管理设计Cookie安全设置Session Cookie的属性为HttpOnly防止JS读取和Secure仅HTTPS传输符合教科书图4中“设置Cookie的Secure...属性”的要求。会话超时用户无操作超过20分钟系统自动注销会话符合教科书图4中“设计合理的会话存活时间”的要求。防CSRF在关键操作如修改密码、提交成绩的表单中加入一次性随机令牌Token。(5) 异常管理与审计日志通用错误信息登录失败时统一提示“用户名或密码错误”不区分是用户不存在还是密码错误防止信息泄露符合教科书图4中“使用通用错误信息”的要求。日志审计记录关键操作日志登录、修改成绩、删除课程。日志内容包含用户ID、时间戳、IP地址、操作类型、结果成功/失败。日志文件存储在Web目录之外防止被下载符合教科书图5中“禁止将业务日志保存到Web目录下”的要求。3. 数据安全设计对应教科书7.3.1(2)(1) 机密性设计传输加密全站启用HTTPS (TLS 1.2)协议防止登录凭证和敏感数据在传输过程中被嗅探符合教科书图6中“使用安全的传输协议”的要求。存储加密学生的身份证号、手机号等敏感字段在数据库中使用AES-256算法加密存储。(2) 完整性设计利用数据库的事务机制Transaction保证选课、成绩录入操作的原子性防止数据不一致。四、 实验结果及调试过程(此处建议画一个简单的图或者文字描述)设计成果描述完成了《学校在线学习系统安全设计说明书》。架构层面确定了基于B/S架构的安全防护体系。功能层面详细定义了登录模块的加密流程前端RSA加密 - 传输 - 后端SHA256校验和基于RBAC的权限控制矩阵。数据层面制定了敏感数据加密存储规范和数据库备份策略。符合性检查本设计方案已对照教科书7.3节要求自查[√] 身份认证已包含防暴力破解和强密码策略。[√] 访问控制已落实最小权限原则。[√] 数据传输已设计HTTPS通道。[√] 日志审计已包含关键要素且不泄露隐私。