论系统安全架构设计及其应用
试题二 论系统安全架构设计及其应用
信息安全的特征是为了保证信息的机密性、完整性、可用性、可控性和不可抵赖性。信息系统的安全保障是以风险和策略为基础,在信息系统的整个生命周期中提供包括技术、管理、人员和工程过程的整体安全,在信息系统中保障信息的这些安全特征,并实现组织机构的使命。许多信息系统的用户需要提供一种方法和内容对信息系统的技术框架、工程过程能力和管理能力提出安全性要求,并进行可比性的评估、设计和实施。
请围绕“论系统安全架构设计及其应用”论题,依次从以下三个方面进行论述。
-
概要叙述你所参与管理或开发的软件项目,以及你在其中所承担的主要工作。
-
详细论述安全架构设计中鉴别框架和访问控制框架设计的内容,并论述鉴别和访问控制所面临的主要威胁,并说明其危害。
-
阐述你在软件开发的过程中都遇到了哪些实际问题及解决方法。
💡解答
- 概要叙述参与的软件项目及承担工作
我参与了某医院信息管理系统的开发项目。该系统旨在整合医院的患者挂号、病历管理、检查检验结果查询、药品管理等多项业务。我在项目中主要负责系统安全架构部分的设计与部分模块的代码实现工作。具体包括对系统整体安全需求进行梳理,设计鉴别与访问控制等关键安全框架,并将设计方案落地到代码层面,同时配合团队其他成员进行安全相关功能的联调测试 。
- 鉴别框架和访问控制框架设计内容、面临威胁及危害
• 鉴别框架设计内容:鉴别框架主要用于确认用户或实体的身份。采用多因素鉴别方式,包括用户名/密码组合(知识因素)、手机短信验证码(拥有因素)。在用户登录时,首先输入用户名和密码进行初步验证,若验证通过,系统向绑定手机发送验证码,用户输入验证码完成二次身份确认。同时,对鉴别过程中的失败尝试次数进行限制,如连续5次输入错误密码则锁定账户一段时间,防止暴力破解。
• 访问控制框架设计内容:基于角色的访问控制(RBAC)模型进行设计。将医院人员分为医生、护士、药剂师、管理员等不同角色,为每个角色分配相应的权限集。例如,医生拥有查看和修改所负责患者病历、开具检查检验申请单和处方等权限;护士有查看患者基本信息、护理记录等权限;药剂师可查看处方、进行药品发放操作;管理员拥有对系统所有功能和数据的管理权限。通过角色与权限的映射关系,实现对系统资源的精细化访问控制。
• 鉴别面临的主要威胁及危害:
• 暴力破解:攻击者通过自动化工具不断尝试不同的用户名和密码组合,若成功破解,可能获取合法用户身份,进而非法访问系统敏感信息,如患者病历、医疗数据等,造成患者隐私泄露,甚至可能导致医疗数据被篡改,影响正常医疗秩序。
• 密码泄露:由于用户设置弱密码、在不安全网络环境登录或遭遇钓鱼攻击等原因,导致密码泄露。攻击者利用泄露的密码登录系统,可进行各种恶意操作,危害与暴力破解类似。
• 访问控制面临的主要威胁及危害:
• 权限滥用:若内部人员利用其拥有的权限进行超出职责范围的操作,如医生越权查看其他医生负责患者的隐私信息,可能侵犯患者隐私权。药剂师违规修改药品发放记录,可能影响药品管理的准确性,甚至危害患者用药安全。
• 权限提升攻击:攻击者通过系统漏洞等手段,尝试将低权限账户提升为高权限账户(如从普通护士权限提升为管理员权限),一旦成功,将能够对整个系统进行任意操作,造成数据破坏、系统瘫痪等严重后果。
- 软件开发过程中遇到的实际问题及解决方法
• 问题一:在安全架构设计初期,业务部门对安全需求表述模糊,难以准确界定不同角色的具体权限。
• 解决方法:与业务部门多次召开需求研讨会,通过列举实际业务场景,如患者就诊流程中不同人员的操作环节,详细分析每个环节所需的系统功能和数据访问需求。同时,对医院现有的管理制度进行梳理,以制度为依据确定各角色的权限边界,最终明确了各角色的权限集,使安全架构设计更贴合实际业务。
• 问题二:在实现鉴别功能时,手机短信验证码发送存在延迟问题,影响用户体验。
• 解决方法:对短信发送服务进行优化,更换性能更稳定的短信服务商,并调整短信发送代码逻辑。采用异步发送方式,在用户提交用户名和密码后,立即返回提示信息告知用户正在发送验证码,同时后台异步处理短信发送操作。另外,设置短信重发机制,若用户在一定时间(如60秒)内未收到验证码,可点击重发按钮重新获取验证码,有效解决了验证码发送延迟带来的问题 。
• 问题三:在系统集成测试阶段,发现部分模块与鉴别和访问控制模块存在兼容性问题,导致部分功能无法正常进行权限验证。
• 解决方法:对出现兼容性问题的模块进行代码审查,发现是由于模块间接口调用方式不一致导致。重新统一了各模块与安全模块的接口规范,明确输入输出参数格式和数据类型。同时,编写了专门的接口测试用例,对所有涉及安全验证的功能接口进行全面测试,确保各模块与鉴别和访问控制模块能够正常协同工作,解决了兼容性问题。