信息化应用系统开发安全规范_第1页
信息化应用系统开发安全规范_第2页
信息化应用系统开发安全规范_第3页
信息化应用系统开发安全规范_第4页
信息化应用系统开发安全规范_第5页
免费预览已结束,剩余5页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、信息化应用系统开发平安标准1概述软件不平安的因素主要来源于两个方面,一是软件自身存在错误和缺陷引起的平安漏洞,二是来自外部的攻击.良好的软件开发过程治理可以很好地减少软件自身缺陷,并有效反抗外部的攻击.本标准主要规定了集团信息化应用系统在系统开发的各个阶段所应遵守的各种平安标准,将在不同阶段中所需要注意的平安问题和相关的平安标准进行进一步的描述和规定,以提升集团信息化应用系统的平安性和反抗外部攻击的水平.2可行性方案可行性方案是对工程所要解决的问题进行总体定义和描述,包括了解用户的要求及现实环境,从技术、经济和需求3个方面研究并论证工程的可行性,编写可行性研究报告,探讨解决问题的方案,并对可供

2、使用的资源如幽土、软件、人力等本钱,可取得的效益和开发进度作出估计,制订完成开发任务的实施方案.2.1 阶段性成果可行性研究报告.2.2 可行性研究报告重点如下4个方面:1、设计方案可行性研究报告的需对预先设计的方案进行论证,设计研究方案,明确研究对象.2、内容真实可行性研究报告涉及的内容以及反映情况的数据,必须绝对真实可靠,不许有任何偏差及失误.可行性研究报告中所运用资料、数据,都要经过反复核实,以保证内容的真实性.3、预测准确可行性研究是投资决策前的活动,对可能遇到的问题和结果的估计,具有预测性.因此,必须进行深入地调查研究,充分地占有资料,运用切合实际的预测方法,科学地预测未来前景.4、

3、论证严密论证性是可行性研究报告的一个显著特点.要使其有论证性,必须做到运用系统的分析方法,围绕影响工程的各种因素进行全面、系统的分析,既要作宏观的分析,又要作微观的分析.3需求分析软件需求分析就是对开发什么样的软件的一个系统的分析与设想,它是一个对用户的需求进行去粗取精、去伪存真、正确理解,然后把它用软件工程开发语言表达出来的过程.需求分析阶段主要工作是完成需求对业务的表达,这表达在对需求规格说明书中,包括业务流程,子系统划分,状态图,数据流图等,最终通过用户用例完成业务分析测试.需求分析阶段最大的隐患即需求未能准确地描述表达对用户需求的真正正确理解,因此,需求分析阶段的平安工作,应主要在对用

4、户需求真正准确的理解上.需求分析阶段需深入描述软件的功能和性能,确定软件设计的约束和软件同其他系统元素的接口细节,定义软件的其他有效性需求,借助于当前系统的逻辑模型导出目标系统逻辑模型,解决目标系统“做什么的问题.需求分析阶段需形成的文档包括?需求分析说明书?、?业务分析测试报告?、?用户使用手册初稿?需求分析可分为需求提出、需求描述及需求评审三个阶段.3.1 需求提出需求主要集中于描述系统目的.开发人员和用户确定一个问题领域,并定义一个描述该问题的系统,形成系统规格说明.3.2 需求描述在需求分析阶段分析人员的主要任务是:对用户的需求进行鉴别、综合和建模,去除用户需求的模糊性、歧义性和不一致

5、性,分析系统的数据要求,为原始问题及目标软件建立逻辑模型.分析人员应发现并提出哪些要求是由于用户的片面性或短期行为所导致的不合理要求,哪些是用户尚未提出但具有真正价值的潜在需求.3.3 需求评审在需求评审阶段,分析人员要在用户和软件设计人员的配合下对自己生成的需求规格说明和初步的用户手册进行复核,以保证软件需求的完整、准确、清楚、具体,并使用户和软件设计人员对需求规格说明和初步的用户手册的理解达成一致.一旦发现遗漏或模糊点,必须尽快更正,再行检查.需求评审内容需至少包含以下内容:1、需求分析进度日程实施方案进行需求分析时,应注意一切信息与需求都是站在用户的角度上.要预防分析员的主观想象,并将分

6、析进度提交给用户,以保证需求分析过程及时与用户沟通交流,让用户进行检查与评价,从而到达需求分析的准确性.2、描述软件的功能和性能确定软件设计的限制和软件同其它系统元素的接口细节.3、需求评审的目的通过需求分析,逐步细化对软件的要求,描述软件要处理的数据域,并给软件开发提供一种可转化为数据设计、结构设计和过程设计的数据和功能表示.在软件开发完成后,制定的需求分析说明书还要为评价软件质量提供依据.3.4需求分析的根本原那么:1、开发平安需求分析方案应由工程开发单位、信息化主管部门、业务主管部门共同商议决定.2、应用系统平安需求应能够到达业务所期望的平安水平.3、所有关于应用系统的业务更新或改良原那

7、么上都必须基于业务需求,并有业务事件支持.4业务需求是系统更新和改动的根底,因此必须清楚明确地定义业务的需求,禁止在业务需求未经业务部门和主要负责人员认可的情况下,盲目地进行开发工作.5、系统的每一次更新或改良都必须重新对平安需求进行定义、分析和测试评估,以保证不会对业务造成影响.6、系统设计前,需建立开发平安需求分析报告,并通过信息化主管部门审核.7、应用系统开发需符合相关法律法规上的要求,符合相关的行业标准和治理制度.4设计软件设计通常分为概要设计和详细设计两个阶段,主要任务就是将软件分解成模块是指能实现某个功能的数据和程序说明、可执行程序的程序单元.概要设计就是结构设计,其主要目标就是给

8、出软件的模块结构,用软件结构图表示.详细设计的首要任务就是设计模块的程序流程、算法和数据结构7E及设计数据库.系统的设计需到达一个从来没有接触过的人一看就能从各个方面都对系统的作用,功能,实现方面有一个大概了解,并为以后的各类详细设计文档提供一个指引和方向.设计析阶段需形成的文档包括?概要设计说明书?、?详细设计说明书?.设计阶段的主要平安工作包括:4.1 功能划分设计阶段的功能划分不合理,难以发现,且不好处理.因此功能模块设计需详细描述系统有那些主要功能,这些功能应该用何种技术,大致是如何实现的,以便发现问题.4.2 模块协作描述模块间如何协同运作的,以便发现问题.4.3 系统定级平安设计描

9、述系统应该具有的平安级别,以及到达此平安等级的所采用的技术.4.4 隐通道本来受平安策略限制不能进行通信的实体,利用可执行的操作的副作用而实现通信.4.5 认证不充分只有分配有足够权限访问的操作进程才可以访问和操作相应的进程,攻击者同城会采取一些攻击获权限而执行一些非法操作,使得系统不可靠.在设计中,需增强访问孔子,保证操作都经过相应的授权认证允许.4.6 缓冲区溢出缓冲区是分配的一段大小确定的内存空间,是内存中用来存放数据的地方.发生缓冲区溢出时,会覆盖相邻内存块,从而引发程序平安问题.因此在设计阶段,就需做好缓冲区溢出防范工作.4.7 并发限制策略并发作为一种提升计算机系统运行效率的重要手

10、段,在得到广泛应用的同时,其机制本身容易引起以下问题(1)竞争(2)活锁(3)死锁设计阶段需考虑到并发带来的上述问题,并做处理.4.8 TOCTTO中误是一种利用公用可写文件,攻击者可以创立同名连接到其访问的文件,来到达非法访问的目的.因此,系统设计时,需有相应的防护策略.数据库中的重要信息需加密存储,并有相应的防控举措.4.10 配置治理:对治理界面进行未经授权的访问、具有更新配置数据的水平以及对用户帐户和帐户配置文件进行未经授权的访问.4.11 身份验证口令长度不低于8位;口令至少需数字和字符串组合;口令需加密存储;口令验证通信信道需加密,以保护身份验证;使用强密码,支持密码有效期和帐户禁

11、用.4.12 访问限制任何用户如果希望访问应用系统中的某一局部,那么必须通过唯一的认证授权方式.4.13 授权使用最少超级治理帐户,每个系统不得多于2个;不得采用集中授权,但凡授权,均进行单独授权初始化授权可批量,但初始化权限分配必须经过信息化主管部门审核;限制用户访问最小权限资源.4.14 收权用户离职或其它原因不需再访问系统,需要及时有关系统的权限4.15 敏感数据对网络上传输的敏感数据进行加密;保证通信通道的平安;对敏感数据存储提供强访问限制.4.16 Cookie治理不要在cookie中永久性存储敏感数据;不要使用-GET协议传递敏感数据;不要通过连接传递身份验证cookie.在授权c

12、ookie内设置平安的cookie属性,以便指示浏览器只通过S连接向效劳器传回cookie.4.17 远程维护治理在治理界面上使用身份验证后授权;远程治理时要保证通信通道的平安.4.18 会话治理限制会话时常,具体时长由业务系统决定,闲置会话原那么上不超过15分钟.保护会话状态,以防止未经授权的访问.4.19 加密考虑到集团公司会代表国家荣誉,加密算法,需采用我国的算法或我国改造的算法.SM1-SM窗法,SSF33算法,祖冲之对称秘钥算法等,密钥最低不得低于32位.定期回收治理密钥.4.20 异常治理设计好异常处理机制.在所有应用中审核和记录活动,保证日志文件访问的平安,定期备份日志文件.4.

13、22 5.1.12后门预防限制系统须有机制,预防恶意攻击绕过平安性限制而获取对系统资源访问和限制.4.23 平安设计评审应用系统设计方案需要由信息化主管部门进行组织平安评审.4.24 保证日志治理机制健全建立可根据情况自由设置的日志治理机制,日志记录的范围和详细程度可以根据需求自行定制,且可以实现在应用系统的使用过程中进行日志的定制和记录.保存所有与系统开发相关的程序库的更新审核记录.日志信息不可删除和修改,日志信息需是自动记录,不允许存在手工参与情况.4.25 审计平安标准(1)应包括每个用户的平安审计功能,对应用系统的重要平安事件进行审计.(2)应保证无法单独中断审计进程,审计记录无法删除

14、、修改或覆盖.(3)审计内容应包含事件主要信息:日期、时间、操作人、类型、事件信息和结果等.(4)应提供审计记录数据统计、查询.4.26数据及通信有效性治理标准(1)应提供校验码技术,保证通信过程的数据完整性.(2)应具有在请求的情况下为数据原发者或接收者提供数据原发和接收数据的功能.(3)提供有效性验证功能,保证人机接口或通过通信接口输入的数据格式或长度符合系统设定要求.(4)提供自动保护功能,当故障发生时自动保护当前状态,保证系统能够恢复.(5)当应用系统的通信双方中的一方在一段时间内未作任何响应,另一方应能够自动结束会话.(6)应能够对系统的最大并发会话连接数进行限制.(7)应能够对单个

15、帐户的多重并发会话进行限制.(8)应能够对一个时间段内可能的并发会话连接数进行限制.(9)应能够对一个访问帐户或一个请求进程占用的资源分配最大限额和最小限额.(10)、应能够对系统效劳水平降低到预先规定的最小值进行检测和报警.(11)应提供效劳优先级设定功能,并在安装后根据平安策略设定访问帐户或请求进程的优先级,根据优先级分配系统资源.5编码软件编码是指把软件设计转换成计算机可以接受的程序,即写成以某一程序设计语言表示的“源程序清单.5.1 编码阶段的主要工作:1、基于软件产品开发质量要求,充分了解开发语言、工具的特性和风格,选取适宜的编程语言.2、编码.3、提供源程序清单.5.2 编码阶段需

16、要考虑的平安问题包括:1、内存平安的实现编程过程中内存数据出现的常见平安问题,如缓冲区溢出、整数溢出、字符串格式化等.2、线程/进程平安如线程同步、线程死锁等3、科学地处理异常异常是程序设计中必须处理的,主要解决怎样处理异常能够保证系统的平安性.4、输入输出的平安保证如对输入的合法性检测.5、权限限制的处理系统中涉及授权和限制访问,需要有完善的权限限制机制.6、数据的保护数据篡改和抵赖的防护和检验除了加密解密外,还需要对对信息来源的鉴别、对信息的完整和不可否认等功能进行保证.7、代码的优化处理所有的程序,都需经过代码优化,代码性能的好坏有时候不仅关系到系统的运行效率,也关系到系统的平安.8、W

17、eb编程平安.Web编程中平安问题多种多样,但至少应有应付跨站脚本、SQL注入、Web认证攻击、URL操作攻击等平安问题.9、参数变量处理如果需要设置变量,不能使用缺失的默认值,如需设置PATH为一个的值,而不能使用启动时的缺省值.10、SQL标准(1)系统须有完善的预防sql注入处理机制.(2) SQL语句的参数应以变量形式传入.11、页面请求处理应校验参数的长度WEB效劳器在接受页面请求时,应校验参数的最大长度,截断超出最大长度的范围.12、登录失败信息错误提示WEB效劳器在接受用户登录请求时,不应区分登录失败的提示信息(如:用户名不存在、密码错误、密码已过期等),应采用统一的失败提示信息

18、(如:错误的用户名或密码).13、错误提示信息标准所有对用户显示的错误信息都不应暴露任何关于系统、网络或应用程序的敏感信息.如果需要的话,应使用包含编号的一般的错误信息,这种信息只有开发者或支持小组才能理解.14、开源软件治理(1)开源的产品、平台及实现的功能应符合工程的需求.(2)开源License需适用于产品,假设无License或License不友好的,需进行开源产品使用的风险评估.(3)开源软件的代码需整洁、注释完善.(4)选取的开源产品的文档说明需齐全.15、开发版本治理(1)在应用系统开发过程中使用配置及版本治理工具治理开发过程中的权限限制、源代码和相关文档的版本限制、变更治理.(

19、2)保证开发、测试、正式运营环境的隔离,限制开发代码的平安传输.(3)不能使用正式运营环境的数据作为测试数据,如必须使用,需要进行数据处理.(4)应用系统软件版本审批.对应用系统的版本的升级,应确认当前的版本为最新的版本,旧的版本应进行归档,不得随意丢弃或删除.16、应用系统版本升级方案(1)制定相关的升级方案,保证将系统升级对业务的影响降至最低.(2)应用系统软件版本升级后需进行测试,确认系统的各种平安特性.(3)应使用软件加锁技术预防不同版本相互覆盖的情况.(4)当版本变更时应在更新的版本中记录变更的详细描述.(5)应提供版本的合并功能.(6)版本的更改应只允许指定的人员进行操作.(7)应

20、记录所有的版本变更的日志,其中包括更改日期、更改前版本号、更改后版本号、更改人、审批人等信息.17、开发日志管标准(1)系统开发中的相关日志文件应根据开发周期定期审核.(2)开发人员权限定期(3个月)审核一次.18、外包的治理标准应对外包开发进行治理,保证软件代码的准确性、限制恶意代码、逻辑炸弹等,可以采用代码抽查、签署合同等模式来实现.19、开发环境平安治理标准(1)软件开发环境由开发效劳器、开发用户终端、网络限制域与端口、其他配套输入输出和存储设备构成;(2)软件开发环境应与正式运营环境在物理上隔离;(3)软件开发环境与测试环境在逻辑上分开;(4)规定软件开发环境的配置标准和实际配置维护日

21、志;(5)软件开发环境预防无关软件和数据文件的安装复制,预防有害代码植入和传播;20、其它(1)应从正规的软件供给商那里购置相关的软件或程序或中间件.(2)应检验和验证源程序和源代码.(3)在系统正式投入使用之前应进行评估,如一些行业的标准认证评估.(4)在系统正式投入使用后,应严格治理源代码的访问、升级和修改.(5)应使用有资质的开发人员操作密钥系统.(6)不得随便安装别人给的软件,特别是不得随便翻开电子邮件中的附件,一些可执行文件必须先进行病毒及恶意代码的扫描.6测试软件测试的目的是以较小的代价发现尽可能多的错误,软件测试的关键在于迄L一套出色的测试用例(测试数据与功能和预期的输出结果组成

22、了测试用例).普通的功能测试的主要目的是:(1)保证软件不会去完成没有预先设计的功能(2)保证软件能够完成预先设计的功能平安测试的主要目的是:要抢在攻击者之前尽可能多地找到软件中的漏洞.以减少软件遭到攻击的可能性.平安性测试至少至少应考虑的问题:6.1用户认证平安的测试要考虑问题(1)明确区分系统中不同用户权限(2)系统中会不会出现用户冲突(3)系统会不会因用户的权限的改变造成混乱(4)用户登陆密码是否是可见、可复制(5)是否可以通过绝对途径登陆系统(拷贝用户登陆后的链接直接进入系统)(6)用户推出系统后是否删除了所有鉴权标记,是否可以使用后退键而不通过输入口令进入系统6.2 数据库平安考虑问

23、题(1)系统重要数据是否机密(2)系统数据的完整性(3)系统数据可治理性(4)系统数据的独立性(5)系统数据可备份和恢复水平6.3 平安测试的内容案例和参考方法1、输入验证测试,包括如下方面(1)数据类型(字符串,整型,实数,等)(2)允许的字符集的最小和最大的长度(3)是否允许空输入(4)参数是否是必须的(5)重复是否允许(6)数值范围(7)特定的值(枚举型)(8)特定的模式(正那么表达式)2、问题访问限制测试主要用于需要验证用户身份以及权限的页面,复制该页面的url地址,关闭该页面以后,查看是否可以直接进入该复制好的地址从一个页面链到另一个页面的间隙可以看到URLM址或直接输入该地址,可以

24、看到自己没有权限的页面信息3、会话治理测试系统的某些功能不允许用户浏览,如果必须要一个用户列表,并对列表中和未有在列表中的用户进行权限测试.4、跨站脚本(XSS测试攻击者使用跨站脚本来发送恶意代码给没有觉察的用户,窃取他机器上的任意资料.测试参考方法:HTMLfe签:<>转义参考字符:&(&);<(<);>(>);(空格).脚本参考语言:特殊字符、最小和最大的长度、是否允许空输入.5、缓冲区溢出测试用户使用缓冲区溢出来破坏web应用程序的栈,通过发送特别编写的代码到web程序中,攻击者可以让web应用程序来执行任意代码.6、注入式漏洞测试例:

25、一个验证用户登陆的页面,如果使用的sql语句为:Select*fromtableAwhereusername=''+username+''andpassword='+password+'.Sql输入or1=1就可以不输入任何password进行攻击.7、不恰当的异常处理程序在抛出异常的时候给出了比拟详细的内部错误信息,暴露了不应该显示的执行细节,网站存在潜在漏洞.8、不平安的存储,没有加密关键数据测试例:viewsource:地址可以查看源代码在页面输入密码,页面显示的是*,右键,查看源文件就可以看见刚刚输入的密码.9、拒绝效劳测试攻击者可以从一

26、个主机产生足够多的流量来耗尽狠多应用程序,最终使程序陷入瘫痪.10、不平安的配置治理测试Config中的链接字符串以及用户信息,邮件,数据存储信息都需要加以保护.至少应配置所有的平安机制,关掉所有不使用的效劳,设置角色权限帐号,使用日志和警报.11、漏洞测试负责平安测试工作的人员应通过工具或人工方式,对软件执行漏洞识别测试,尽可能识别软件漏洞、后门等隐患,常见的隐患包括堆SQL注入漏洞、跨站脚本漏洞、缓冲区溢出漏洞、拒绝效劳漏洞等.负责平安测试工作的人员应对软件执行渗透测试,确定所识别漏洞被利用的难度及造成的后果.12、测试用例保护对于涉及公司及员工敏感数据或隐私数据的测试用例,测试人员应采取插入冗余数据和访问授权等保护举措,测试结束后,测试人员应及时删除这些测试数据.13、测试过程中的平安测试数据应选择、保护和限制;应预防使用包含涉密信息的运行数据库用于测试.如果测试使用了涉密信息,那么在使用之前应去除或修改所有的敏感细节和内容.在应用系统测试中,使用正式运行系统数据进行测试应由数据所有人授权,使用敏感的正式运行数据测试应进行变形处理.6.4 平安测

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论