Close

Atlassian 软件开发中的安全性


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

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

文化

参与

培训

标准

剪贴板清单

实践

检查点

安全审查

安全改进

建立安全文化

Atlassian 通过我们的安全冠军计划和强大的安全培训为我们的团队提供支持,从而打造一种安全文化。

安全冠军计划

我们所有的产品和服务团队都设有安全领头人,也就是安全冠军,负责在同事之间持续贯彻关键安全行动计划,并且尽可能与我们的中央安全团队保持开放沟通。如此一来,我们整个组织便能以安全性为重,以安全性为中心。

安全冠军会定期碰头,围绕面临的最新安全问题和挑战分享各种工具和知识,为所有团队造福。该计划充当了一种跳板,让安全成为我们文化更加不可分割的组成部分。

开发人员安全培训

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

设计阶段

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

威胁建模

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

我们的威胁建模包括:

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

开发阶段

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

安全审查

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

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

同行审查

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

环境分离

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

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

维护阶段

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

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

安全记分卡

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

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