首页 > 信息安全 > 正文

全生命周期的安全规划和管理

2011-12-20 11:10:47  来源:CIO时代网

摘要:应用系统的开发阶段是其生命周期内的一个重要阶段,在此阶段,将主要完成应用软件的需求分析、设计、实现及测试等工作,此阶段的工作将极大程度地决定系统本身的安全性。
关键词: 应用系统

  应用系统的开发阶段是其生命周期内的一个重要阶段,在此阶段,将主要完成应用软件的需求分析、设计、实现及测试等工作,此阶段的工作将极大程度地决定系统本身的安全性。因此,要确保安全性要求在此阶段的各个具体工作过程中的贯彻和实施,以便交付具有高安全特性的应用软件,为将来应用系统的安全投产运行奠定坚实的基础。


  (一)需求分析阶段


  安全技术人员在需求分析阶段主要对需求文档中的安全需求情况进行分析,重点从系统的重要信息或数据、面临的安全威胁、系统基础环境的安全需求等角度入手,分析安全需求的全面性和完整性。


  在安全功能需求中,身份鉴别、认证与授权、输入和数据验证、敏感数据安全、会话管理、异常管理等需求应进行明确详细的说明。以电子银行的数据安全为例,敏感数据要求特别保护,该类数据的传输、存取和存储,必需采取加密措施保护,仅能通过内置的软硬件加解密模块进行管制。


  (二)方案设计阶段


  方案设计阶段是整个生命周期中最为关键的部分,在这个阶段不仅要包括系统的功能、性能、开发费用与周期等要求,还要明确规定系统的安全要求,并据此确定具体采用的安全控制措施,如用户身份认证体系的强度设计、认证失败后的处理方式设计等。


  在方案设计阶段应该根据安全需求和安全技术规范,选择和设计相应的安全控制方法。安全技术人员主要分析系统设计文档中关于安全设计的完整性、合理性,分析安全设计是否能够满足安全需求、是否达到相应的安全强度等。


  (三)编码实现阶段


  程序员可使用各种通用以及特定的编程指导规范来防止开发中的普通安全问题,特定的编程指导规范主要集中在Perl、Java和C/C++语言。大多数情况下,使用这些编程指导规范将可以避免许多会导致安全漏洞的错误,比如非法数据输入、缓冲区溢出、SQL注入等常见问题。


  在编码实现阶段,应重点关注由于程序员有意或无意的编码而导致的安全缺陷。安全技术人员需要抽查重要的代码进行安全性分析,确认编码是否满足相应编码安全规范,是否存在安全编码缺陷等。


  (四)安全测试阶段


  应用系统在正式上线前应对安全性进行测试,验证应用系统的安全性是否符合安全设计及安全需求。在系统测试阶段,应重点关注对于应用系统安全功能的测试情况,应确保安全功能测试的全面性。仅在用户管理这一项上,就需要从用户角色、账号权限、口令保护、弱口令检测、口令修改等大量重点分析点来进行测试。因此,在实际测试中需要制定准确周密的测试计划和测试脚本,特别是验收的标准必须非常详细。


  在测试过程中,应模拟真实应用场景搭建测试的软硬件环境,并进行严格的控制保护。系统测试如果需要使用真实的数据,应对这些数据进行脱敏处理,并严格控制对这些数据的操作行为。在与其他系统进行互操作性测试时,应充分考虑对其他系统的影响,选择适当的时间和方式进行。


  应用系统的安全性不应该是雾里看花,也不应该是空中楼阁。对于安全的信心应该来自于我们在整个生命周期中对风险的识别、关注和准备。银行可以通过建设开发安全管理体系,加强应用系统开发的安全管理,提高银行应用系统开发安全管理的制度化、规范化水平,健全银行信息安全管理体系。


第四十一届CIO班招生
国际CIO认证培训
首席数据官(CDO)认证培训
责编:kaifangli

免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。