首页    新闻    下载    文档    论坛     最新漏洞    黑客教程    数据库    搜索    小榕软件实验室怀旧版    星际争霸WEB版    最新IP准确查询   
名称: 密码:      忘记密码  马上注册

正在浏览:   1 名游客





第八讲:系统开发与维护
网站管理员
注册日期:
1970/1/1 8:00
所属群组:
网站管理员
帖子: 7077
等级: 58; EXP: 5
HP : 0 / 1426
MP : 2359 / 204023
离线
第八讲:系统开发与维护

第八讲:系统开发与维护



目前用户在采取安全控制措施时,比较多地把精力花在了网络安全措施的建立与维护上,如:对网络边界安全、网络内容安全采用成熟的技术与产品,而系统开发过程中的安全特性往往被软件开发商与用户忽略了,软件开发商只关注系统主要功能的实现,用户也只把精力放在数据需求与功能需求的描述上。然而应用系统中安全隐患,会使应用系统先天不足,从而导致潜在的业务损害。
其实在软件开发初期就应该重视应用系统的安全特性,只有集成在软件开发过程中的安全措施,才能真正起到预防与控制风险的作用,而且在软件开发生命周期中,越早引入控制措施,将来运行与维护费用就越少。
ISO17799对系统开发维护活动有关的安全控制方法包括系统安全要求、应用软件系统中的安全、密码管理措施、系统文件安全、开发与支持过程中的安全五个方面。




1、控制目标-系统安全需求





目的:确保将安全作为信息系统建设的重要组成部分。
应用系统的所有安全需求都需要在项目需求分析阶段被确认, 并且作为一个信息系统的总体构架的重要组成部分,要得到对其合理性的证明、并获得用户认可,同时要记录在案。

系统安全包括基础架构软件、外购业务应用软件和用户自主开发的软件的安全,信息系统的安全控制应该在系统开发设计阶段予以实现,要确保安全性已构成信息系统的一部分,组织应该在信息系统开发前,或在项目开始阶段,识别所有的安全要求,并作为系统设计不可缺少的一部分,进行确认与调整。



l
控制措施-安全性要求的分析与规范



=>在描述新系统或改进原有系统的业务需求时,应将对控制方法的要求制定于其中。


对新系统业务需要所做说明或者对现有系统所给的增强作用,应当确定安全控制措施的要求。安全需求包括两方面的内容,一是对系统本身的安全需求,如系统具备数据通信加密、用户身份鉴别等功能,在确定安全要求时,要考虑系统中的自动控制和支持人工控制的要求;另一方面,对系统设计开发过程本身也要进行控制,例如在不同的设计开发阶段的评审与验证,确保设计输出满足设计输入的要求,确保对程序源代码的保护、对设计人员的控制等。
安全要求在软件开发生命周期中的分布如下图所示:

附件:



jpg  20071220_ffa2fb33c5928d14a90bci51a1zkeIpY.jpg (31.14 KB)
1_47fee13e9b7e8.jpg 647X344 px

2008/12/13 21:57
应用扩展 工具箱


回复: 第八讲:系统开发与维护
网站管理员
注册日期:
1970/1/1 8:00
所属群组:
网站管理员
帖子: 7077
等级: 58; EXP: 5
HP : 0 / 1426
MP : 2359 / 204023
离线
第八讲 续)
(第八讲 续)



2、控制目标-应用软件系统中的安全



目标:防止在应用软件系统中的用户数据的丢失、改动或者滥用。
应当把适当的管理措施和查验追踪,或者活动日志设计到应用软件系统中,包括用户编写的应用程序。这些措施应当包括对输入数据、内部处理和输出数据的检验。



l
控制措施-输入数据的验证









=>输入到应用系统的数据应加以验证,以确保资料是正确且适当。


应用系统如果受到故意或意外的无效数据的攻击,就会导致系统故障、数据滥用或通过系统本身安全漏洞进行欺诈等安全事件的发生。
应当验证输入到应用软件系统中的数据,确保它是正确的和适当的。应当检查业务交易的输入、固定数据(姓名和地址、信贷限额、客户基准数)的输入和参数表(售价、货币兑换率、税率)的输入。如:通过双重输入或其他输入检查超范围数值错误、丢失或不完整数据错误等。



l
控制措施-内部处理控制




=>验证检查应成为系统的一部份,以检测出数据处理过程中的错误。


正确输入的数据可能被处理中的错误或者删除行为破坏。应当把有效性验证作为系统的一部分来检测这种破坏。应用软件的设计应当确保实施限制措施,把产生危及数据完整性的处理故障的风险降低到最小。
所要求的控制取决于应用性质和数据损坏的业务影响,内部处理控制的例子有:批处理措施、平衡控制、对系统产生数据的确认等。



l
控制措施-消息验证




=>当有保护消息内容完整性的安全要求时,应针对应用程序进行消息验证。


消息验证(Message Authentication)是用于检测所传送电子消息内容是否被更改或损坏的一种检查手段,主要对付主动攻击中的篡改和伪造,它使得消息的接受方能够验证所收到的信息的真伪;检测可以通过硬件及软件的方法实现。
对于需要保护消息内容完整性的应用程序应当考虑采用消息验证。例如,电子资金转帐、电子数据交换,及具有重要内容的规定、合同、建议等。为了确定是否需要消息验证并找到最佳实施方案,应当进行安全风险评估。



l
控制措施-输出数据验证



=>从应用系统输出的数据应加以验证,以确保对所储存的资料的处理流程是正确的。


应当对应用系统输出的数据进行验证,以确保对存储信息的处理是正确的,并且与业务环境相适应。输出验证例子有:可信度的检查,用来测试输出数据是否合理;协调控制计数,用于确保所有数据的处理等。
3、控制目标-加密控制措施





目标:保护信息的保密性、完整性和有效性。
对于面临非授权访问威胁的信息,当其它管理措施无法对其进行有效保护时,应当用密码系统和密码技术进行保护。

为防止组织敏感信息的泄露,可以利用加密技术对其进行处理后进行存储与传输;为防止重要信息被篡改或伪造,可以利用加密的办法对信息的完整性进行鉴别;在电子商务过程中,可以通过加密技术的应用(如数字签名)进行交易双方身份真实性认证,并防止抵赖行为的发生。



l
控制措施-使用加密控制的策略




=>应建立并实施密码使用策略来保护信息。



密码解决方案的选择是评估风险和选择管理措施的手段的一部分。因此,组织应当进行风险评估,以确定信息所需保护等级,再评判一个密码管理措施是否得当,应当采用何种控制措施以及为了什么控制目及对何种信息进行加密。
组织应当为其保护的信息制订出一套加密管理措施的使用策略。这样的策略要使组织利益最大化,并把使用密码技术的风险降到最低,而且还要避免不适当或者不正确的使用。例如:组织要保留员工加密密钥副本,以避免滥用情况的发生等。
制定策略时,一般考虑以下方面:加密控制使用方法,密钥管理方法,角色与责任,确定加密保护的水平,对应具体业务过程的加密解决方案等。


   可以使用密码技术去获得不同的安全目标:



?
保密性:用信息加密去保护存储的和传输中的敏感和重要数据。



?
完整性/可认证性:用数字签名和消息验证码去保护存储的和传输中的敏感和重要数据的可认证性和完整性。



?
不可否认性:利用密码技术获得事件和行为发生或未发生的证明。






l
控制措施-密钥管理



=>应使用约定的标准、程序及方法为基础的密钥管理系统,以支持密码技术的应用。


对密钥的管理是密码技术安全、有效使用的关键。对密钥的任何损坏或者丢失都可能危及信息的保密性、真实性和完整性的安全。为了对密钥的产生、登记、认证、注销、分发、安装、存储、归档、撤消、衍生和销毁等服务的实施和运用进行有效管理,组织应当建立一套适当的密钥管理系统,保护所有的密钥,防止密钥被泄露、修改和破坏。
对密钥的保护方式有:采用加密技术保护;采用非加密技术保护,如:采用时间戳可以用来将密钥的使用限制在一定的有效期内;采用物理保护手段,控制非授权人员的接触;采用组织手段的保护,如:从组织上将密钥进行划分,除最低级密钥外,每级密钥只用于保护下级密钥的使用,只有最低级的密钥可直接用于提供数据安全服务。

4、控制目标-系统文件安全





目标:为确保IT项目和支持行为以安全的方式进行,应当控制对系统文件的访问。
  维护信息的完整性应当是应用程序系统、用户及开发人员的共同责任。

系统文件是一种全局文件,可视为所有用户程序所用的文件。另一种解释是一种仅供操作系统访问的文件。系统文件面临的典型威胁是使用错误的程序版本,从而导致数据的错误处理与数据破坏,以及由于测试目的使用操作数据而导致的信息泄露。因此要采取措施保护系统文件的安全。



l
控制措施-控制在操作系统上运行软件



=>应建立程序,控制在操作系统上的运行软件。


组织容易受到未授权软件安装与软件更改的影响,并导致系统与数据完整性的损失,因此必须采用控制以减少系统故障风险与欺诈的可能性。所有的软件更新都应当进行控制,而且在实施前都要进行授权。新安装的软件必须符合组织的业务要求并经过适当授权。
操作系统中使用的由软件供应商提供的软件应当维护在一个由该供应商支持的水平之上。任何升级到新版本的决定都应当考虑到该版本的安全,如:要考虑新安全功能的引入或者影响该版本的安全问题的数量和严重性。当软件补丁能够帮助消除或者减少安全缺陷的时候,就应当进行软件修补。



l
控制措施-对测试数据的保护



=>测试数据应加以保护及控制。


测试数据有时的虚构的,但是有时需要大量的在实际运行与操作中使用真实数据来测试系统功能。这时应该避免使用含有个人或组织敏感信息的业务数据。如果确实要使用,就需要采取一定的控制措施,如:有效的访问控制、适当授权、记录使用日志,以便追踪审核等。



l
控制措施-对程序源代码的访问控制




=>应当对程序源代码的访问进行严格的控制。



对程序源代码和相关事项(包括设计、规范、验证和确认设计)的访问应该严格控制,以防止带入一些非授权功能,避免对源代码的无意识的修改。程序源代码可以放在集中存储区中,最好放在程序代码库中。
5、控制目标-开发与支持过程中的安全


目标:维持应用程序系统中的软件和信息安全。
组织应当对项目和支持环境进行严格控制,即对应用系统、操作系统及软件包的更改及软件外包活动进行安全控制。

在应用系统的开发与维护过程中,应用程序的未授权修改、未进行评审的操作系统的更改、未加限制的软件包的更改等都会给组织的应用系统带来安全风险。所以要对应用软件开发与支持过程中的安全加以控制。



l
控制措施-变更控制程序




=>应使用正式的变更控制程序,严格地控制变更的实行,以将对信息系统的损害降至最小。








为使信息系统的损坏减到最小应实施正式的变更控制规程。它们应确保不损坏安全和控



制规程,并将变更控制规程文档化,引进新的系统和对已有系统进行大的变更要按照从文档、



规范、测试、质量管理到实施管理这个正常的过程进行。



  这个过程应包括风险评估、变更效果分析、安全控制规范。它们应确保不损坏安全和控制规程,确保支持性程序员仅能访问其工作所需的系统的某些部分,确保对任何系统的变更都要与各相关方协商达成一致意见,并得到主管部门的批准。





l
控制措施-操作系统变更的技术评审



=> 当操作系统变更后,应评审并测试关键的业务应用系统,以确保变更不会对组织的运营或安全产生负面影响。



有必要定期更新操作系统,例如安装新提供的软件版本或者补丁程序。当操作系统发生变更时,应当进行评审并测试运行在其中的应用程序系统,以确保对运行或者安全没有负作用。



l
控制措施-软件包修改的限制



=>不鼓励对软件包进行变更。对必要的更改严格控制。


软件包是为在较大范围的应用而编写的一种通用程序,非常复杂,而且在开发阶段进行了许多控制与测试,组织对其进行修改,会造成许多风险,如:任意修改可能会导致系统崩溃。因此不鼓励修改软件包,应当尽量不加任何修改地使用,如果认为有必要进行修改,需要进行严格控制。若认为修改软件包是必要的,应考虑下列各点:


?
内置控制完整性过程被损坏的风险;



?
是否要获得厂商的同意;



?
按标准程序更新从厂商获得所要求的变更的可能性;



?
如果作为变更的结果,组织要负责进一步维护此软件所带来的影响。





l
控制措施-防止信息泄露



=>应该对软件的采购、使用及修改进行控制并检查,以防范可能的隐蔽通道及特洛伊木马程序造成信息泄露。



应用软件中如果存在隐蔽通道及特洛伊木马程序,将对信息的安全会带来严重的泄露风险,组织应取措施加以控制,如:
?
只从声誉好的供应商处购买程序软件;
?
购买程序的源代码以便进行检查与修改;
?
使用评审过的产品;
?
在运行之前检查所有源代码;
?
严格控制访问和修改已经安装了的程序代码;
?
在关键系统的工作中,只使用可信赖的员工等措施
?
如果需要的话,所有的更新应由独立的评估机构进行测试和验证




l
控制措施-软件开发外包



=>应使用控制方法以控制外包的软件开发。


如果外包软件的开发过程缺乏有效的安全控制,组织会面临许多风险,例如软件质量问题、恶意代码问题等,因此,组织应当选择信誉与质量保证能力好的软件开发商来为自己开发软件,并与其签订业务与技术合同协议,明确软件质量、知识产权及安全要求来防范风险,具体考虑以下几点:
?
明确软件使用许可、代码所有权和知识产权;
?
质量证明和准确性的验证;
?
软件供应商业务中断时(如破产倒闭)的应急补偿安排;
?
查验已完成工作的质量和准确性所需访问权;
?
合同对代码质量的要求;
在安装之前检测特洛伊代码和隐蔽通道所做的测试等

6、控制目标-技术脆弱性管理






目标:减少由利用公开的技术脆弱点带来的风险。



  技术脆弱点管理应该以一种有效的、系统的、可反复的方式连同可确保其有效性的措施来实施。这些考虑应包括在用操作系统和任何其它的应用。





l
控制措施-技术脆弱性控制



  => 应及时获得组织所使用的信息系统的技术脆弱点的信息,评估组织对此类技术脆弱点的保护,并采取适当的措施。






一个机构的技术脆弱点管理过程的正确实施对每个机构来说都是非常重要的,因此应该



定期对其进行监控。要对潜在的相关技术脆弱点进行确认,一个准确的详细列表是最基本的。



技术脆弱点管理可看作变化管理的一个子功能,因此可以利用变化管理的流程和规范。

2008/12/13 21:57
应用扩展 工具箱






可以查看帖子.
不可发帖.
不可回复.
不可编辑自己的帖子.
不可删除自己的帖子.
不可发起投票调查.
不可在投票调查中投票.
不可上传附件.
不可不经审核直接发帖.

[高级搜索]



系统导航

 

Copyright © 2001-2010 安信网络. All Rights Reserved
京ICP备05056747号