移动 > 腾讯 > 腾讯游戏

B站安全开发流程落地实践

79人参与 2024-08-03 腾讯游戏

一. 什么是安全开发生命周期(sdl)

1.1 sdl诞生背景

随着互联网技术的快速发展,网络系统及应用在给人们的生活带来巨大便利的同时,信息安全问题也逐渐成为用户和企业关注的焦点。然而,安全问题的管理和解决需要一个系统的、完整的解决方案,在缺乏有效解决方案的情况下,很容易因为开发人员的疏忽或缺乏安全设计,导致系统存在安全漏洞。这些漏洞一旦被恶意用户利用,将会造成严重的安全风险或经济损失。

在此背景下,微软在2004年正式提出了安全开发生命周期模型(sdl),并在其软件开发过程中广泛应用。sdl模型旨在通过整合安全能力到软件开发的各个阶段,从而提高软件系统的整体安全性,减少安全漏洞的产生。随着时间的推移,sdl已成为一种广泛应用的企业应用安全建设模型,已经被越来越多的组织和企业使用,并被证明是一种有效提升系统安全性的方法。

1.2 sdl模型概述

sdl的核心理念就是从需求、设计到发布产品的每一个阶段都增加相应必要的安全活动,以减少软件中漏洞的数量并将安全缺陷降低到最小程度。其流程主要分为以下七部分:安全培训、安全需求、安全设计、安全开发、安全测试、安全发布、安全响应。在各阶段加入相应的安全能力,如图1所示:

图 1

二. b站sdl雏形

在2020年安全团队开始着手依据sdl模型尝试在b站的落地工作,整个过程大致可以分为安全能力落地和安全流程落地两个阶段。

2.1 安全能力落地

万丈高楼平地起,复杂的sdl模型也是由每个细分的安全能力组成。为了满足sdl模型的核心理念,首先就是要求安全团队在系统开发的各个阶段具备相应的安全规范或安全能力,这样才能为后续的sdl模型落地打好根基。在此过程中,安全团队重点完善了以下几个阶段的各项安全能力:

2.2 安全流程落地

软件开发的各阶段具备了初步的安全能力之后,就要考虑如何将sdl模型在b站的应用开发流程中完成落地。在推动落地的过程中,自然也会遇到一些困难,例如:当前开发流程无任何安全节点,人力资源不足,业务人员安全意识不足等。为了解决上述困难,安全团队的重点工作主要有以下几个方面:

经过一年多的sdl实践,在某些业务线,sdl模型已展现雏型,如图2所示:

图 2

三. 数据生命周期安全

从2023年开始,随着数据安全相关法律法规的落实和监管要求,sdl相关工作迎来了新的挑战——数据生命周期安全。数据生命周期安全是指从数据的采集、传输、存储、处理、共享到销毁的六大阶段,完善数据安全治理体系。目的是为了保证数据的完整性、可靠性、安全性、合规性以及最大化利用价值。在数据生命周期的不同阶段,需要根据数据的特性和业务需求制定相应的管理策略和措施,如图3所示:

图片

图 3

安全部门也积极响应法务、数据平台以及其他部门合规团队的工作,在sdl流程中加入了相应的数据安全能力,如图4所示:

图 4

与安全漏洞不同,数据安全的治理需要根据数据分级分类、业务情况、监管要求、使用场景等各方面因素综合评估。例如,依据公司《数据分类分级指引》将数据分为c1到c4四个等级,c4级别的数据在传输及存储时就需要做加密处理。再比如同样是个人敏感信息数据,生产环境中需要加密存储,而测试环境则不允许落地存储,因为在合规要求下测试环境不允许使用真实个人敏感信息进行测试。

四. 从sdl到devsecops

虽然经过安全团队持续的努力,在某些业务线已经初步完成了sdl模型的落地,但在此过程中遇到的种种问题也引发了笔者的一些思考:

  1. 在包含复杂业务场景和众多技术部门的企业背景下,使用sdl模型覆盖部分业务线或许可行,但要实现全公司范围的覆盖就需要大量的人力投入,安全部门不可能将人力覆盖到所有业务

  2. 大量的需求评审、安全测试等环节需要人力参与,这无疑会造成开发流程效率的降低,这其实与互联网公司强调敏捷的概念相违背

  3. 在sdl模型下,即使在开发各阶段安全的工具与能力都已非常完备,但“安全”与“开发”似乎仍然是割裂的。在此情况下,反而容易形成“安全孤岛”,开发人员会认为相关的漏洞、后果是安全人员需要解决的问题,从而将大量冗余的工作转移给了安全人员,“安全”在开发中成为了独立的存在因素,这往往会进一步造成沟通的困难

因此,sdl模型在强调敏捷和高效的互联网公司是否显得过于厚重,如何将安全无感的融入现有开发流程,便成了最值得思考的问题。随着devops流程在b站逐渐完善,公司ci/cd工具及流程的持续完善与优化,devsecops或许成为了新的解决问题的钥匙。就如同devops理念中开发和运营相互结合一样,关键的安全能力为何不能也融入这个体系中呢?所以,devsecops与sdl理念不同,不再强调人、文档与制度的推进,而是侧重打破开发与安全的割裂,将安全尽可能无缝、无感知地集成进现有devops流程中,在不降低开发者效率,或者不要求开发者离开现有工具链环境的情况下,使系统满足安全要求。

在此理念下,devsecops通过将安全工具链加入devops的各个环节来实现应用的持续安全,但与sdl模型不同,devsecops模型下更强调各安全工具的集成能力、自动化能力和易用性。当前b站devsecops安全工具链的实践大致如图5所示:

图片

图 5

五. dast&漏洞管理

在整个安全开发流程中,动态应用安全扫描(dast)的好处非常明显,它可以对正在运行的应用进行检测,与开发流程的耦合要求相对较低,但漏洞产出的准确率高,能有效降低企业整体安全风险。因此,有效的 devsecops 可以说始于 dast 带来的检测结果,在解决实际的安全风险的同时,也能够帮助发现devops流程中欠缺的安全相关能力,而后续的漏洞管理也是安全工作中必不可少的一部分。所以,本文就重点讲述dast及漏洞管理这两方面的工作。

5.1 资产暴露面管理

与外部渗透攻击需要有效的外围打点工作同理,为了达到有效发现企业安全风险的目的,首先需要尽可能完善的收集企业的外部暴露资产。在企业内部视角下,资产的收集虽然没有外部视角那么困难,但在混合云环境下,主机及域名资产复杂,依然会存在一些难点,例如:

为了解决资产管理中的问题,安全侧通过整合主机型入侵检测系统(hids)、dns管理平台、资产管理平台、云管理平台等内部系统中的资产信息,同时在整合过程中补充网络环境判断及测绘能力,从而梳理出更有效和完整的公网资产暴露面信息,并通过安全siem平台的资产管理模块记录及定时更新相关资产信息。

5.2 b站动态应用安全扫描系统-sibyl

目前b站的dast使用了自研漏洞扫描系统-sibyl,扫描系统以前文所述的siem平台资产信息为数据源,扫描覆盖了发布和运营阶段,主要包括url漏洞扫描,应用漏洞扫描和基线扫描三部分,如图6所示:

  1. url漏洞扫描的数据源来自变更管控平台和slb平台,sibyl主动获取应用变更信息,自动关联应用相关域名及path信息,将扫描目标传入扫描节点进行漏洞扫描。此阶段为准实时扫描,针对变更应用的扫描会变更后的几分钟内完成。扫描规则以非侵入性规则为主,不对扫描目标做路径爆破、数据写入等高风险操作

  2. 应用漏洞扫描针对b站全部公网域名及ip,经过服务探测后,将确认存在http服务的资产传入扫描节点进行漏洞扫描。与url扫描不同,应用漏洞扫描的规则会包含扫描引擎支持的所有扫描规则,扫描周期相对较长,正常为每周完成一次周期扫描

  3. 基线扫描主要是针对b站全部公网ip,检测是否有安全基线中要求不允许对外暴露的服务或端口。与前两部分漏洞扫描不同,此部分扫描依靠服务识别工具对所有tcp服务及端口进行探测,发现例如ssh、mysql、rdp等高敏感服务开放即上报基线漏洞。由于基线问题风险极高,往往带来边界突破等严重安全风险,所以扫描周期更短,正常情况下每天完成一次周期扫描

图片

图 6

5.3 漏洞管理平台

漏洞管理的重点无疑是明确漏洞的状态及处置流程,保证安全漏洞都能够被及时闭环修复。为此,安全部门自研漏洞管理平台实现了从漏洞发现到修复的整个流程跟踪,目前所有类型的安全漏洞都会统一提交至漏洞管理平台来实现漏洞生命周期的闭环:

图 7

5.4 漏洞管理规范

为了保证安全漏洞能够得到充分重视和及时修复,避免安全漏洞导致的攻击事故和攻击事件,公司范围内推行了《安全漏洞管理规范 》,规范明确了安全漏洞的定义、评分标准及处置规定:

六. 后记

笔者有幸经历了b站应用安全的从0到1的建设,也逐渐认识到安全能力的落地不可能独立于业务发展和基础建设。目前,已经有很多安全工具完成了跟现有开发流程的对接,在此过程中很感谢基础架构同事们的大力支持,针对每一个安全工具的对接落地过程也都有很多值得讨论和思考的地方。此外,数据安全目前还有很多未完成的工作,如何将数据生命周期安全和devsecops更好的结合也是未来需要努力的方向,这些内容会随着安全工作的持续推进在后续文章中继续向大家分享。最后,引用一句大佬的话:安全是个即“严肃”,又“专业”,同时又容易“被忽略”的活动,任重而道远。

-end-

作者丨图艾

(0)
打赏 微信扫一扫 微信扫一扫

您想发表意见!!点此发布评论

推荐阅读

大型语言模型入门

08-03

【腾讯云 HAI域探秘】使用HAI+ChatGLM-6B复刻《完蛋,我被大模型包围了》

08-03

腾讯云轻量云服务器、CVM云服务器内网互联方法教程

08-03

阿里云域名转移到腾讯云解析

08-03

【腾讯云HAI域探秘】通过ControlNet实现二维码美化应用

08-03

云原生技术精选:探索腾讯云容器与函数计算的最佳实践

08-03

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论