1 安全团队
Yocto 项目/OpenEmbedded 安全团队负责协调项目中的安全工作。 所有一般性讨论都公开进行。安全团队只在处理尚未公开的漏洞报告时使用保密通信工具。
1 安全团队的任命
Yocto 项目安全团队至少由三名成员组成。需要增加成员时, Yocto 项目技术指导委员会(YP TSC)会通过公开渠道征集提名,并给出截止日期。 允许自荐。截止后,YP TSC 会公布候选人名单,征求项目参与者和开发者的意见。 意见可以公开提出,也可以私下发送给 YP TSC 与 OpenEmbedded 技术指导委员会(OE TSC)。 候选人须经两个委员会共同批准,最终成员名单将公开发布。 团队应涵盖技术领导、安全知识与基础设施方面的人员, 既要有足够成员相互替补,又要让通知范围足够小,以降低信息风险并维持信任。
YP 安全团队成员可以随时辞职。
1 安全团队的工作方式
安全团队的工作可能需要高度保密。成员是根据个人能力选出的, 不代表其任职公司。成员不得向团队之外透露保密问题的信息, 也不得暗示正在进行的保密披露安排。
成员可以根据需要邀请领域专家参与。专家只应加入相关的单个问题, 并遵守与 YP 安全团队相同的要求。
YP 安全团队根据实际需要安排会议与沟通。
收到潜在安全漏洞报告后,团队会尽快分析并将结果告知报告者, 必要时也会要求提供更多信息。
如果确认问题存在且影响 YP 维护的代码,团队会秘密通知相应代码的维护者, 并与其合作准备修复。
如果确认问题影响上游项目,YP 安全团队会通知该项目。 通常,上游会再次分析问题;如果确认是自身软件中的安全问题, 则按照其安全策略开发并发布修复。上游可能邀请最初的报告者参与沟通。 双方有时还会协调补丁处理、回移工作,或共同理解问题及其成因。
上游的安全策略可能要求提前通知 Linux 发行版或其他重要下游项目, 以协调披露。这类邮件列表通常不公开。
上游发布包含修复的版本时,应联系合适的 CVE 编号分配机构(CNA), 例如 Mitre,申请 CVE 编号并发布 CVE 记录。
修复公开后,YP 安全团队成员或软件包维护者会按照常规流程, 向 YP 代码库提交补丁,并进行公开代码审查。
1 上游项目未及时响应时
如果上游未能在合理时间内修复问题,Yocto 安全团队会联系社区中其他相关方 (通常是其他发行版),共同尽快解决漏洞。
Yocto 项目安全团队默认遵循 90 天披露政策,必要时可以延长保密期。
1 处理跨项目的保密披露
少数严重安全问题会影响多个项目。可能是多个项目因为设计、编码模式或代码复用 存在相似问题,例如 CVE-2023-44487 中多个 Web 服务器共享同一设计弱点; 也可能是 OpenSSL 等广泛使用的库中出现重大问题。 最先获知问题的项目可能秘密通知其他受影响项目,以便同步准备修复; 受影响项目也可能通知主要发行版,以便同时发布更新。
这些通知通过保密、非公开的渠道进行。发起保密披露的项目通常会直接通知 各项目中选定的少数人员,其中包括部分安全团队成员。 Yocto 项目收到这类通知后,开发者会在独立基础设施上准备和测试修复, 必要时邀请其他开发者或领域专家协助处理修复及潜在回归。 保密期结束后,再向相应公开邮件列表发送补丁,进入常规审查流程。
1 安全团队成员
需要安全通信时,请使用 GPG 公钥加密邮件。 注意邮件头不会被加密,因此不要在主题中包含敏感信息。