论文部分内容阅读
保障软件安全性是软件系统正常运转业务的先决条件,软件安全已引起人们的广泛关注。随着Internet逐步深入人类的社会生活,用户需求的逐步复杂、软件规模的不断扩大,以及开放的分布式访问环境,开发安全软件变得十分困难。需要考虑的问题有:1)多数安全事故都可以归因于一些反复出现的安全问题:2)在系统设计和实现中安全性被过晚考虑;3)系统架构师、开发人员的安全知识和经验匮乏;4)安全保护需要成本,安全级别越高,成本也越高,而软件开发成本是有限的;5)软件安全风险时时存在,不可能被完全消除。针对上述问题,本文结合安全模式和安全风险管理方法,给出了保障Web应用程序安全性的解决方案。
安全模式借鉴于面向对象方法中设计模式的概念。类似于设计模式可以改善面向对象软件的设计架构,安全模式能够改善软件的安全性。安全模式的基本思想是:以特定结构的文档形式描述专家的安全经验,从而记录指定上下文中反复出现的安全问题及其解决方案,以便软件系统架构师或开发人员在安全经验不足时借鉴和使用它们。安全模式是在软件的设计阶段被引入并使用的,因此较早地考虑了安全问题,有效地减少软件开发后期因安全问题而所做的软件改动。安全风险管理立足系统全局,较准确地识别企业面临的风险,然后采用适当的风险缓解方案把风险减低到可以接受的程度。安全风险管理在权衡安全方法保护的资产价值和安全方法的成本后,选择出符合成本-效益的风险缓解方案。
本文的主要工作有:
1.为常见的Web攻击选择适当的安全模式以防范它们。文章分析了常见Web攻击方法和对应安全漏洞,并探讨了各种已有安全模式所要解决的问题和其解决方案,然后依据安全需求和安全漏洞选择适当的安全模式作为防范措施。
2.提出了“安全回传数据”安全模式,以保证服务器发送并存储在浏览端的数据的机密性和完整性,这些数据包括Cookies、隐藏域和Get参数等。
3.在安全风险的缓解阶段,提出了使用0/1背包问题的贪婪算法来求解安全成本在每种资产的安全保护方案上的合理分配问题。
4.为了实践和验证安全模式的方法,给出了一个网上银行的实验简例,实验中分析了系统的安全需求,然后对每种资产进行了威胁分析和漏洞分析,最后依据资产的安全需求选择了适当的Web安全模式来防范威胁。实验结果表明安全模式的方法具有一定的可行性和实用性。
本文涉及的理论和技术适用于构建安全相关的Web应用程序和其他网络软件。