首页 » 排名链接 » 信息安全手册之软件开发指南(应用程序软件安全漏洞开发测试)

信息安全手册之软件开发指南(应用程序软件安全漏洞开发测试)

雨夜梧桐 2024-10-22 15:53:35 0

扫一扫用手机浏览

文章目录 [+]

开发、测试和生产环境是分开的。

软件的开发和修改仅在开发环境中进行。

生产环境中的数据不会在测试或开发环境中使用,除非测试或开发环境的安全级别与生产环境相同。

信息安全手册之软件开发指南(应用程序软件安全漏洞开发测试) 排名链接
(图片来自网络侵删)

防止未经授权访问软件的权威来源。

安全软件设计

威胁建模是安全软件设计的重要组成部分,因为它有助于识别有风险的软件组件,从而能够识别缓解安全控制以降低安全风险。

威胁建模和其他安全设计技术用于确保识别和解释对软件的威胁以及对这些威胁的缓解措施。

软件物料清单

软件物料清单是用于软件开发的开源和商业软件组件的列表。
这可以通过更容易地识别和管理与软件使用的单个软件组件相关的安全风险,从而为软件消费者提供更大的网络供应链透明度。

生成软件物料清单并提供给软件使用者。

安全编程实践

一旦确定了安全的软件设计,在软件开发活动中就应遵循安全的编程实践。

在开发软件时,将使用特定于平台的安全编程实践,包括使用完成任务所需的最低权限、检查所有系统调用的返回值、验证所有输入以及加密所有通信。

软件测试

软件测试可以降低软件中安全漏洞被引入生产环境的风险。
可以使用静态测试(如代码分析)和动态测试(如输入验证和模糊测试)来执行软件测试。
漏洞扫描工具还有助于检测已知的安全漏洞,例如过期或易受攻击的依赖项。
使用独立方进行软件测试将消除软件开发人员测试自己的软件时可能发生的任何偏见。

在生产环境中使用软件之前,软件开发人员以及独立方会对其进行安全漏洞测试。

漏洞泄露计划

基于负责任的披露实施漏洞披露计划可以帮助组织,供应商和服务提供商提高其产品和服务的安全性,因为它为安全研究人员,客户和公众成员提供了一种以协调方式负责任地通知他们潜在安全漏洞的方法。
此外,在验证和解决报告的安全漏洞后,它可以协助组织,供应商和服务提供商通知其客户在其产品和服务中发现的任何安全漏洞以及任何推荐的安全补丁,更新或缓解措施。

漏洞披露计划应包括接收、验证、解决和报告内部和外部来源披露的安全漏洞的流程和程序。
为了支持这一点,应公开发布漏洞披露政策,涵盖:

1.漏洞披露计划的目的

2.允许的安全研究类型

3.不允许的安全研究类型

4.如何报告潜在的安全漏洞

5.在收到潜在安全漏洞通知时将采取的行动以及这些行动的指示性时间范围

1.对公开披露经过验证的安全漏洞的任何期望

2.任何经过验证的安全漏洞的识别发现者都将收到。

最后,澳大利亚网络安全中心(ACSC)鼓励安全研究人员、客户和公众成员直接向组织、供应商和服务提供商报告安全漏洞。
然而,ACSC认识到,这并不总是切实可行的,最初的沟通尝试可能不成功,或者提出报告的人可能不希望直接这样做。
在这种情况下,安全漏洞可以作为独立协调员报告给ACSC。

实施漏洞披露计划以协助产品和服务的安全开发和维护。

所有面向互联网的组织域都托管了"安全.txt"文件,以协助负责任地披露组织产品和服务中的安全漏洞。

网络应用程序开发保护 Web 应用程序

即使 Web 应用程序仅包含公共数据,仍然需要保护 Web 应用程序及其托管系统所处理数据的完整性和可用性。

Web 应用程序框架

软件开发人员可以利用 Web 应用程序框架来增强 Web 应用程序的安全性,同时缩短开发时间。
这些资源可以帮助软件开发人员安全地实现复杂的组件,如会话管理、输入处理和加密操作。

健壮的 Web 应用程序框架用于帮助开发安全的 Web 应用程序。

Web 应用程序交互

安全超文本传输协议 (HTTPS) 是使用传输层安全性 (TLS) 加密的超文本传输协议。
将HTTPS用于Web应用程序不仅可以确保个人与Web应用程序的交互保密,还可以保持其交互的完整性。

所有 Web 应用程序内容都仅使用 HTTPS 提供。

Web 应用程序输入处理

大多数 Web 应用程序安全漏洞都是由缺乏安全输入处理引起的。
至关重要的是,Web应用程序不信任任何输入,例如网站地址及其参数,超文本标记语言(HTML)表单数据,Cookie值和请求标头,而无需对其进行验证或清理。
验证和消毒的示例包括:

1.确保电话表单字段仅包含数字

2.确保对结构化查询语言查询中使用的数据进行正确清理

3.确保正确处理 Unicode 输入。

验证和/或清理对 Web 应用程序处理的所有输入执行。

Web 应用程序输出编码

通过使用上下文输出编码,可以降低跨站点脚本和其他内容注入攻击的可能性。
输出编码最常见的示例是使用 HTML 实体。
执行 HTML 实体编码会导致具有潜在危险的 HTML 字符(如"<"、">"和"&")转换为其编码的等效字符"<"、">"和"&"。

当外部数据源(可能不受相同级别的输入筛选)输出给用户时,输出编码特别有用。

输出编码对 Web 应用程序生成的所有输出执行。

基于 Web 浏览器的安全控制

Web 应用程序可以利用基于 Web 浏览器的安全控制措施(如内容安全策略、超文本传输协议严格传输安全 (HSTS) 和 X 帧选项)来帮助保护自己及其用户。
这是通过在响应标头中使用安全策略来实现的,用户的 Web 浏览器根据定义的安全策略应用这些策略。
由于安全控制是通过响应标头应用的,因此可以将安全控制应用于对源代码进行更改不切实际的旧版或专有 Web 应用程序。

Web 应用程序实现内容安全策略、HSTS 和 X 帧选项响应标头。

打开 Web 应用程序安全项目

开放式 Web 应用程序安全项目 (OWASP) 提供了在开发 Web 应用程序时可供参考的综合资源。

开发 Web 应用程序时,遵循 OWASP 应用程序安全验证标准。

注:本文档翻译参考来源为澳大利亚ACSC,部分内容在本文中做了技术性调整,具体实施请参考我国有关标准,本文仅为大家提供一个信息安全的思路拓展。

相关文章

小程序(开发公司软件最难售后服务)

为什么软件开发的售后服务最难处理?哈喽,大家好我是老侯。如果有人问软件开发最难处理的是哪个环节,我肯定会回答是售后环节。因为软件开...

排名链接 2025-02-09 阅读1016 评论0