Close

Atlassian 软件开发中的安全性


在 Atlassian,安全性已集成到开发生命周期的每个阶段,以确保我们的代码、产品和客户始终受到保护。我们会在开发生命周期的所有阶段执行安全开发实践。

  • 开发由应用安全培训计划和安全团队维护的安全知识库提供支持。
  • 在设计阶段,具体实践包括威胁建模、设计审核以及我们定期更新的安全标准库,以确保将适当的安全要求纳入考虑。
  • 在开发过程中,我们依赖强制性的同行评审流程作为安全审查的第一道防线。此操作由自动静态分析检查 (SAST) 和手动安全测试(由内部团队和第三方专家根据我们的风险评估流程来确定)提供支持。
  • 然后,正式的运营就绪和变更控制流程可确保仅将已批准的变更部署到生产环境中。部署后,我们将采用定期的自动漏洞扫描和业界领先的缺陷赏金计划,为我们的应用提供持续保障。随着时间的推移,我们使用安全记分卡系统持续评估产品的安全状况。
泽西

文化

参与

培训

标准

剪贴板清单

实践

检查点

安全审查

安全改进

建立安全文化

Atlassian 通过强大的安全培训增强团队的能力,从而建立起一种安全文化。

开发人员安全培训

我们使用内部开发的内容和第三方内容进行培训,以确保我们的开发团队具备构建安全应用所需的安全知识。我们会持续监控培训计划,以确保计划正常运行,并不断发展以适应不断变化的威胁形势。

设计阶段

在设计阶段,我们会采用威胁建模、设计审核以及定期更新的安全标准库,以确保将适当的安全要求纳入考虑。

威胁建模

项目面临复杂威胁或更改安全关键功能时,我们使用威胁建模来更好地了解安全风险。这包括在我们的工程师、安全工程师、架构师和产品经理之间举行头脑风暴会议,以识别相关威胁并确定其优先顺序。这些信息将馈入设计过程,并确保实施适当的控制措施。它还有助于在开发后期进行定向审查和测试。

我们的威胁建模包括:

  • 应用基于风险的方法来确定是否需要执行威胁建模
  • 进行威胁建模的成熟流程,其中包括支持材料和工具
  • 培训视频和阅读材料,以帮助软件团队进行威胁建模

开发阶段

在整个开发过程中,我们采用众多安全流程和实践来确保我们的代码保持安全。

安全审查

产品安全团队还会执行一项安全审查流程,为 Atlassian 所有软件项目提供安全保障。使用基于风险的流程来设置重点安全审查活动的优先顺序,并确定需要开展哪些活动来降低项目风险。根据确定的风险级别,保障活动包括以下各项的组合:

  • 设计审查和威胁建模
  • 代码审查和安全测试
  • 独立保障(借助第三方专家研究人员和顾问)

同行审查

在开发过程中,所有代码都要经过我们的同行审查绿色构建 (PRGB) 测试流程。此流程需要多个高级开发人员或首席开发人员审查所有提交,然后才能将其推送到生产环境中。此操作由自动静态分析检查 (SAST) 和手动安全测试(由内部团队和第三方专家根据我们的风险评估流程确定)进一步提供支持。开发由应用安全培训计划和安全团队维护的安全知识库提供支持。

环境分离

我们保持所有关键服务的生产和非生产(开发)环境的逻辑与物理分离。我们的暂存环境在逻辑上是分离的,但在物理上不是分开的,并通过生产级的变更控制和访问流程对其进行管理。

Atlassian 还制定了安全策略,禁止在非生产环境中使用生产数据。我们制定了关于如何使用匿名、哈希和令牌化技术来剥离或保护受限数据(包括个人数据)的准则。

维护阶段

在将代码推送到生产环境之前,必须通过我们正式的运营准备和变更控制流程。

部署系统后,我们会定期运行自动漏洞扫描。正如我们在安全实践中讨论的那样,我们有一个业界领先的缺陷赏金计划,该计划通过值得信赖的众包安全研究人员团队来为我们系统提供持续的安全保障。

安全记分卡

我们创建了一个名为产品安全记分卡的自动问责和监控系统,用于衡量 Atlassian 所有产品的安全状况。我们使用一系列以安全为重点的标准,例如当前的漏洞、培训覆盖范围和最近的安全事件,为我们的每种产品提供每日总体安全评分。

借助此评分流程,每个产品团队都能客观地了解需要关注哪些安全领域,并确定需要填补的现有缺口以及应采取的措施。安全记分卡流程还使 Atlassian 安全团队能够轻松地从安全角度追踪所有产品在不同时间的表现,尤其是在我们产品套件的规模不断扩大的时候。