openSUSE:安全事件处理
Marcus 在 2006 年 FOSDEM 上就此主题发表了讲座,如果您想了解更多信息,请查看 页面,获取幻灯片、视频和音频。
了解事件
我们监控各种信息来源,以获取安全问题。
这些包括各种安全邮件列表(公开的和非公开的)、我们的主要联系地址 (security@suse.de)、SUSE Bugzilla(和其他供应商的错误跟踪系统)、软件包版本更新,以及 Mitre 和 NVD CVE 数据库,以及其他发行版供应商的公告。这些来源有意重叠,以确保我们不会遗漏任何事件。
此外,我们的源代码审计也定期发现问题。
一旦已知某个事件,它就会被添加到 SUSE Bugzilla 中。(通常情况下,这些错误对公众不可见。)如果您想查看这些错误的示例以及我们的处理方式,请查看此链接。
错误报告包含
- 描述以及我们从哪里获取报告
- 可能的补丁(如果有)
- 可能的漏洞利用(如果有)
- 披露时间表
- 任何 / CERT VU# ID(如果有)
然后将其分配给打包者。(安全团队本身很少自行修复软件包,因为打包者最了解他的软件包和周围的社区。)
打包者
打包者获取补丁(或创建补丁),并将它们应用于所有受支持的旧发行版中的软件包。
如有必要,他与上游开发者沟通。
他通常会在新的上游版本发布安全问题后,使用新的上游版本更新当前开发树。
完成操作后,他会将软件包提交到受影响发行版的 checkin 暂存目录。
我们通常只会将安全修复程序回移植到旧版本的软件包,以避免与系统现有部分发生交互。 SDB:Backports 是关于该主题的一篇很好的文章。
构建系统集成
构建系统团队会审核提交的软件包(以避免软件包工作中的错误、修复程序中的错误或类似情况),并将软件包签入构建系统。
构建系统会自动构建软件包。
构建系统还会将元补丁信息签入系统,然后生成一组 YOU 补丁源,供 QA 使用。该集合是一组固定的二进制文件,将完全以这种方式交付给所有客户。
质量保证 (QA)
QA 团队获取生成的补丁源,并像客户看到的那样测试更新
- 集成测试
- 如果更新工作正常并且程序随后工作正常。
- 回归测试
- 运行软件包现有的测试用例并检查是否存在回归。
- 安全测试
- 在更新前后测试漏洞利用(如果有)。必须在更新前可重现,
- 并且更新后不可重现。
如果一切都通过了,则 QA 批准更新。
版本
安全团队批准发布更新(遵守披露时间表)。
自动化机制随后会将更新通知发布到邮件列表、SUSE 客户中心以及 更新通知索引页面。