软件开发管理制度
声明
本制度是思度安全进行汇总和编写,仅供学习、交流、讨论使用,支持付费批量下载
单次赞助 10元 可下载单篇原文联系我们
修订说明
- 烟台王较瘦 第一次编写 2022/5/1
-
思安 修订 2023/6/1
第一章 总则
第一条 目的
为了加强北京思度文库股份有限公司(以下简称“公司”) 软件开发安全风险管控和网络数据安全合规要求,减少应用系统上线后带来潜在的安全风险,依据《中华人民共和国网络安全法》、《中华人民共和国数据安全法》、《中华人民共和国个人信息保护法》、《关键信息基础设施安全保护条例》特制定本制度。
第二条 适用范围
本制度适用于北京思度文库公司及子公司、分支机构软件开发过程中需求分析、设计、开发及测试等阶段的安全管理,具体软件开发过程技术要求。
第二章 软件安全需求分析
第三条 业务合规分析
业务需求提出人员应会同需求分析人员,确定业务持续性、输入输出、身份欺骗及抗抵赖等方面的业务风险和网络数据安全合规要求。
第四条 业务安全分析
业务需求提出人员应会同需求分析人员,依据安全合规要求和业务风险,提出系统功能、性能及数据等方面的安全需求与要求。
第五条 软件安全需求
需求分析人员应根据网络数据安全合规要求和业务安全需求,进行系统分级、资产识别与分类分级、资产分析和风险分析,确定软件的安全需求。
第六条 安全规格说明书
需求分析人员应明确软件系统的安全目标,并提交安全需求规格说明书(或需求规格说明书包括安全需求部分),包括系统安全合规要求、需要保护的要素、保护级别分类,应用系统面临的威胁、脆弱性及其风险等。
第七条 安全需求评审
产品运营部应会同信息安全等相关组织对系统开发过程整体安全目标和方案进行立项与需求评审。
第三章 软件设计安全
第八条 软件设计目标
软件开发设计团队应根据安全目标和公司安全规范以及业界安全实践进行安全设计,在符合公司数字化应用架构设计规范基础上,确保安全目标与安全功能方案的完整实现,并提交评审。
第九条 安全设计原则
(一) 最小权限原则:只授予执行操作所需的最小权限; (二) 权限分离原则:授予不同用户所需的最小权限,并在它们之间形成相互 (三) 保护最薄弱的环节原则:保护最易受攻击影响的部分; (四) 最小共享原则:使共享文件资源尽可能少; (五) 纵深防御原则:不同层面、不同角度之间需要相互配合; (六) 最小权限原则:只授予执行操作所需的最小权限; (七) 隐私保护原则:最小化收集和最大化保护用户信息和敏感数据的原则。 (八) 攻击面最小化原则:尽可能减少暴露在外部的接口、功能、服务和协议等资源;
第十条 安全设计内容
(一) 确定安全体系架构,设计安全协议和安全接口; (二) 确定访问控制与身份鉴别机制,定义主体角色和权限; (三) 信息输入的安全过滤,信息输出的校验和控制; (四) 数据结构安全设计,选择加密方法和算法; (五) 确定敏感数据全生命周期安全保护方案; (六) 内部处理逻辑安全设计; (七) 评估内部通信机制,确定完整性机制。
第十一条 软件设计评审
产品运营部会同信息安全相关组织对安全设计方案进行评审并确认。
第四章 软件开发与编码安全
第十二条 安全编码要求
开发人员根据安全设计方案进行系统安全开发,确保开发环境、编码及系统流程控制的安全。
第十三条 安全开发环境
开发环境安全管理要求: (一) 软件系统开发、测试不得在生产环境中进行; (二) 开发环境中所使用的操作系统、开发工具、数据库等必须是正版软件; (三) 开发环境中的开发用机应进行统一安全配置,及时进行系统补丁升级和漏洞修复。
第十四条 编码安全要求
软件编码安全要求: (一) 遵循代码编写安全规范,根据代码编写安全规范以及安全设计方案进行系统开发; (二) 遵循通用安全编程准则,包括输入验证、缓存溢出、安全调用组件和程序编译等; (三) 遵循软件开源组件安全管理规范,跟踪开源组件的漏洞与风险情况; (四) 遵循机密性要求,保护用户访问信息的机密性,严禁在客户端存放敏感数据,避免内存溢出,严格检查和验证输入输出信息等; (五) 遵循结构化异常处理机制,捕捉并处理程序异常,防止系统信息泄露; (六) 遵循代码脆弱性防范要求,包括缓冲区溢出、SQL注入、跨站脚本攻击、XML注入攻击、HTTP HEAD注入等。
第十五条 安全编码要求
软件开发流程安全要求: (一) 开发过程中应对阶段性开发成果进行有效管理; (二) 开发过程中应定期进行代码静态分析,使用代码审核工具对源代码进行检测,并报告源代码中存在的安全弱点。
第十六条 开发红线
软件开发人员不得超越其规定权限进行开发,不得在程序中设置后门或恶意代码程序。
第五章 软件安全测试
第十七条 安全测试要求
测试内容应包括代码的安全测试和安全功能测试。代码的安全测试是指使用代码测试工具来识别代码的安全脆弱性,并应按照其提供的修复建议进行修复。安全功能测试主要包括身份认证和访问控制的功能测试。
第十八条 测试环境隔离
测试系统环境应尽可能模拟生产环境,并与生产环境进行安全隔离。
第十九条 禁用业务数据
真实数据不得直接在测试环境中使用,须进行适当修改或屏蔽。在测试完成之后,须立即从测试应用系统清除运行信息。
第二十条 专职测试人员
测试人员不得由开发人员兼任。测试人员编制安全测试方案,构造安全测试用例。
第二十一条 分级测试
网络安全等级保护定级为二级及以下的应用软件,由产品运营部组织代码漏洞检测;网络安全等级保护定级为三级和关基系统的应用软件,产品运营部应聘请有相关资质的专业机构进行代码漏洞检测,并提交分析报告。
第六章 文档安全管理
第二十二条 版本控制
产品运营部应对源代码的变更和版本发布进行统一控制,对程序资源库的任何修改、更新和发布都需经产品运营部主管领导授权和批准。
第二十三条 专人管理
产品运营部应指定专人妥善保管程序源代码及相关技术文档,对于源代码与技术文档实行授权访问。
第二十四条 变更管理
软件程序不得篡改应用软件所运行的环境或平台中任何安全配置、安全文件和安全程序。
第七章 外包开发安全管理
第二十五条 保密协议要求
产品运营部应与外包开发单位签署相关知识产权保护协议和保密协议。确保外包开发单位在系统开发完成后向产品运营部提供程序源代码和相关技术文档,不得将计算机系统采用的关键安全技术措施和核心安全功能设计对外公开。
第二十六条 安全要求
外包开发单位进行系统开发过程中,须严格遵循本规定软件开发各阶段的相关安全要求。
第二十七条 专人监督
产品运营部在系统开发过程中,须指派专人监督审核外包开发单位在各个阶段安全要求的执行情况。产品运营部应对开发完成后的应用软件进行审查或检测。
第八章 附则
本规定由公司信息安全部负责解释和修订。 本规定自发布之日起执行。