信息系统获取、开发及维护程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信息系统获取、开发与维护程序
1.目的
为确保安全成为所开发的信息系统一个有机组成部分,保证开发过程安全,特制定本程序。
2.范围
2.1适用于本公司所有信息系统的开发活动中,信息系统内在安全性的管理。
本程序作为软件开发项目管理规定的补充,而不是作为软件开发项目管理
的整体规范。
2.2开发过程中所形成的需求分析文档、设计文档、软件代码、测试文档等技
术信息的管理应遵从信息资产密级管理的有关规定,本程序不在另行规定。
3.术语及定义
无
4.引用文件
4.1下列文件中的条款通过本规定的引用而成为本规定的条款。凡是注日期的
引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用
于本标准,然而,鼓励各部门研究是否可使用这些文件的最新版本。凡是
不注日期的引用文件,其最新版本适用于本标准。
4.2ISO/IEC 27001:2005 信息技术-安全技术-信息安全管理体系要求
4.3ISO/IEC 17799:2005 信息技术-安全技术-信息安全管理实施细则
4.4信息资产密级管理规定
5.职责和权限
开发部是信息系统开发过程中的安全管理部门,负责保证开发过程安全。
6.工作程序
6.1控制措施-对信息系统进行安全性需求分析与相关规格说明
6.1.1目标:在描述新系统或改进原有系统的业务需求时,应收集、分析
系统在安全性方面的需求,并在系统需求规格说明书详细描述。
6.1.2安全性需求包括两方面的内容,一是对系统本身的安全需求,如系
统具备数据通信加密、用户身份鉴别等功能,在确定安全要求时,
要考虑系统中的自动安全控制和支持人工安全控制的要求;二是对
系统设计开发过程本身也要进行控制,例如在不同的设计开发阶段
的评审与验证,确保对程序源代码的保护、对设计人员的控制等。
6.1.3安全要求在软件开发生命周期中的分布如下图所示:
6.1.4在使用新的应用程序或增强现有的应用程序时必须做安全性影响分
析, 由信息系统项目经理提交安全需求分析。内容可包括以下项:
1)确认需要保护的资产。
2)评估这些资产需要采取什么安全控制措施。
3)考虑是否在系统中加入自动安全控制措施还是建立人工安全控制
措施。
4)在软硬件采购时,应尽量使用经过专业评估和认证的产品。
6.2在应用中建立安全措施
6.2.1控制措施-输入数据验证
6.2.1.1控制描述-输入应用系统的数据应加以验证,以确保数据是正
确的。
6.2.1.2实施指南-应该校验应用于业务交易、常备数据和参数表的输
入信息。需要考虑下列(但不仅限于)内容:
1)输入校验,诸如边界校验或者限制特定输入数据范围的域,以检
测下列错误:
a)范围之外的值;
b)数据字段中的无效字符;
c)丢失或不完整的数据;
d)超过数据的上下容量限制;
e)未授权的或矛盾的控制数据;
f)业务流程、系统安全运行、法规政策等方面所要求的数据校
验;
2)定期评审关键字段或数据文件的内容,以证实其有效性和完整
性;
3)检查硬拷贝输入文档是否有任何未授权的变更(输入文档的所有
变更均应予以授权);
4)对输入数据验证错误后的处理程序;
5)测试输入数据合理性的程序;
6)定义在数据输入过程中所涉及的全部人员的职责。
7)创建在数据输入过程中所涉及的活动的日志。
8)其它信息-适当时,可以考虑对输入数据进行自动检查和验证,
以减少出错的风险和预防包括缓冲区溢出和代码注入等普通的
攻击。
6.2.2控制措施-内部处理的控制
6.2.2.1控制描述-应用中需要验证检查由于处理错误或故意行为造
成的信息讹误。
6.2.2.2实施指南-应用系统的设计与实现应尽量减少处理故障时对
数据完整性的损坏。需要考虑下列(但不仅限于)内容:
1)通过添加、修改和删除功能实现数据变更;
2)防止程序以错误次序运行;
3)使用适当的程序恢复故障,以确保数据的正确处理;
4)防范利用缓冲区超出/溢出进行的攻击。
6.2.2.3应准备适当的检查列表,将检查活动文档化,并应保证检查
结果的安全。需要考虑下列(但不仅限于)检查例子:
1)验证系统生成的输入数据;
2)检查在中央计算机和远程计算机之间所下载或上载的数据或
软件的完整性、真实性或者其他任何安全特性;
3)记录文件字节大小;
4)检查以确保应用程序在正确时刻运行;
5)检查以确保程序以正确的次序运行并且在发生故障时终止,
以及在问题解决之前,停止进一步的处理;
6)创建处理时所涉及的活动的日志。
6.2.2.4其它信息-正确输入的数据可能被硬件错误、处理错误和故意
的行为所破坏。所需的验证检查取决于应用系统的性质和毁
坏数据对业务的影响。
6.2.3控制措施-消息完整性
6.2.2.5控制描述-应用中应该识别确保消息真实性和保护消息完整
性的要求,实施适当的控制措施。
6.2.2.6实施指南-应进行安全风险的评估以判定是否需要消息完整
性验证,并确定最合适的实施方法。
6.2.2.7其它信息-密码技术可被用作一种合适的实现消息鉴别的手
段。
6.2.4控制措施-输出数据验证
6.2.4.1控制措施-从应用系统输出的数据应加以验证,以确保对所存
储信息的处理是正确的且适于当前运行环境的。
6.2.4.2实施指南-输出验证可以包括(但不仅限于)以下内容:
1)合理性检查,以测试输出数据是否合理;
2)调节控制措施的数量,以确保处理所有数据;
3)为读者或后续的处理系统提供足够的信息,以确定信息的准
确性、完备性、精确性和分类;
4)对输出数据验证结果进行处理程序;
5)定义在数据输出过程中所涉及的全部人员的职责。
6)创建在数据输出验证过程中活动的日志。
6.2.4.3其它信息-一般来说,系统和应用是在假设已经进行了适当的
验证、确认和测试的条件下构建的,其输出总是正确的。然
而,这种假设并不总是有效;例如,已经过测试的系统仍可
能在某些环境下产生不正确的输出。