论文部分内容阅读
模型驱动架构MDA是以模型为中心的软件开发方法,能够显著提高软件开发效率,被面向对象专家预言为未来最重要的方法学。目前已有成功实施MDA的案例,特别是在嵌入式系统开发中得到了较为广泛的运用。但MDA并未很好地解决安全属性的建模问题。软件安全性设计的缺陷是软件事故的隐患。安全问题是一个多层面的问题,涉及软件开发、部署和使用各个环节,既存在软件自身的安全漏洞,也存在来自外部攻击的危险,造成软件安全问题难以进行全面分析与考虑。软件运行之后还需要不断地维护与修复,所需成本巨大。目前还没有一致的全面、高效、低成本地解决软件安全问题的好方法。安全性作为软件的非功能性需求,具有完整性、保密性等一系列“固有属性”,利用MDA的理念将安全需求建模并制定相应的转换规则创建软件安全子系统,就能具备MDA方法的诸多优势,有效解决软件安全问题。
基于上述考虑,我们提出基于MDA的软件安全子系统的开发方法:3SBMDA(Software Security Subsystem Development Method Based on MDA)。课题围绕3SBMDA各个阶段的关键问题展开研究,主要做了以下工作:1.利用UML扩展机制,提出用于软件安全子系统开发的UML扩展:security UML。在该扩展中,构造型与标记一起用于形式化规范系统环境的安全需求;通过引用一些精确语义,使用约束提供决定系统设计是否满足安全需求的标准。用securityUML来建模安全需求、威胁场景、安全概念、底层物理安全和安全管理等,达到保障软件安全的目的。2.给出3SBMDA开发过程模型和安全属性建模原理。开发人员可在设计阶段通过分析模型,确定软件系统的安全需求;建模阶段通过UML图对软件安全属性进行建模,以得到高度抽象的平台无关模型;模型转换阶段利用现有的映射机制和模型转换机制的研究成果完成转换;维护阶段只需修改业务模型与平台无关模型就能通过支持工具自动生成相应代码。3.给出3SBMDA具体应用。
我们设计的3SBMDA方法充分利用MDA的模型建立和转换技术,结合UML安全扩展机制,在提高软件开发效率、增强可移植性的同时,从全局的角度考虑软件安全问题,突出安全的重要性,最大可能地降低软件运行风险、软件开发成本与后期维护成本,具有极大的现实意义。