作者简介:徐瑞祝,S-SDLC CMM项目主理人、SDL咨询师、S-SDLC CMM模型主导者。具有超过十五年的软件安全从业经验,熟悉安全需求分析、安全架构设计、安全编码等开发生命周期中的安全活动,对企业级的安全开发体系构建、落地与实施具有丰富的实践经验。主导参与了超过20家企业的SDL咨询项目。在开源项目方面,曾主导《源码工具审核基准》的研制工作,并参与了《OWASP安全测试指南(第4版)》、《OWASP 代码审核》等书籍的译制与出版工作。
今天给大家介绍最近我们在OWASP中国发布的S-SDLC CMM软件能力成熟度评估模型的项目,当时主导该项目的初衷,是因为我们团队在工作中看到了很多国内企业在软件安全能力成熟度评估以及安全开发体系建设上的诉求与痛点,我们希望该项目可以帮助企业解决他们的问题。接下来,我会从S-SDLC CMM项目的背景、S-SDLC CMM模型介绍与S-SDLC CMM开源项目介绍这三个方面来展开分享。
一、创建OWASP S-SDLC CMM项目的背景
从团队成员收集的企业诉求来看,主要体现在几个方面:一是评估不足,组织绝大多数情况无法客观评价自身的安全能力水平,对自身的安全开发能力不够清楚;二是无法落地,组织的安全实践缺少经验,且多数情况下缺乏明确的安全细则和要求,无法提供很好的落地指导;三是缺乏规划,组织内部对安全不够重视,甚至不做安全规划,导致安全开发管理体系缺乏系统性规划。
这是我们做软件能力成熟度评估模型的背景,对于该模型的应用,乙方公司可以用来做差距分析,企业也可以用来做自评估与构建安全开发体系的参考。
二、S-SDLC CMM模型介绍
S-SDLC CMM模型是一种“指导式”的软件安全开发能力成熟度评估模型。
当前业界也有一些“观察式”的模型,比如说统计一些规模较大的甲方企业的最佳实践,将其罗列出来并分类,告诉企业哪些阶段有哪些活动值得去做。但这种形式会有几个问题,因为并不是每个企业都适合这些活动,而且不知道这些活动要做到什么程度,这样在实践时会给企业带来困惑,因此我们希望提供一种“指导式”模型,可以按照最佳实践的角度去开展安全开发体系的建设。
1.模型概述及结构
S-SDLC CMM模型完整定义了标准的软件安全开发流程和安全实践,从组织的安全基础设施、安全技术能力和活动标准、软件开发全生命周期安全活动执行、软件上线后运维安全,共计4个纬度评价组织的安全能力水平。
监管:包括制定软件安全战略,以及配套安全流程、合规政策和安全培训方面的实践;能力:包括攻击模型研究、安全知识库建设以及安全活动标准建设方面的实践;触点:涵盖需求、设计、实现和测试等阶段的安全活动实践;运维:包括渗透测试、软件环境安全、运营支持以及应急响应相关的实践。模型通过划分安全域→安全子域→安全实践的三层结构,将安全能力细化至可客观量化的执行动作,由此得出安全实践客观的执行水平,完成对组织安全能力成熟度的评估。
2.成熟度级别
S-SDLC CMM定义了5个成熟度级别以表示S-SDLC评估子域和组织能力成熟度。
随机、被动的安全开发过程:
第1级,S-SDLC子域内少部分的安全实践通常会被执行。但实践的执行可能未经严格的计划和跟踪,而是基于个人的知识和努力。同时,该安全能力并未完全内化到组织内。
主动、非正式的安全开发过程:
第2级,S-SDLC子域内安全实践执行是经计划并被跟踪的。同时,组织通过对安全实践进行测量来跟踪执行情况并保持对安全活动的管理。
正式、规范的安全开发过程:
第3级,S-SDLC子域内的安全实践按照充分定义的过程执行。充分定义是指软件安全开发流程实践有标准化、文档化的管理流程或经过裁剪并得到批准的一部分。这一过程与第2级(计划跟踪级)的主要区别在于安全实践的管理过程是组织级标准化、文档化的。
可量化控制的安全开发过程:
第4级,S-SDLC子域内的安全实践经过组织级地收集、分析和执行详细的测量活动,使组织获得对软件安全开发流程的量化理解和预测后续执行情况的能力。这个级别执行的管理是客观的,安全管理的质量是量化的。这一级与第3级(充分定义级)的主要区别在于对安全实践管理的定量理解和控制。
安全过程可持续优化,建立业界标杆:
第5级,S-SDLC子域内的安全实践会基于组织长久的业务目标建立一个针对过程有效性和执行效率的量化目标,并围绕这一目标进行持续改进。这一级与第4级(量化管理级)的主要区别在于组织存在持续的优化过程。同时,由于安全管理过程是持续优化的,组织会实时向行业输出安全实践和安全能力,形成组织对行业的辐射和对外的影响力。
3.量化维度
关于子域能力成熟度,S-SDLC CMM定义了3个成熟度级别以表示S-SDLC评估子域和组织能力成熟度:
频率:包含实践本身的发生频率、升级频率、更新频率等。如:“对高管进行安全意识培训”实践下对高管参加培训的频率有客观的量化要求;覆盖度:指活动发生时覆盖的情况。如:“对技术人员提供安全技能培训”实践下对“安全技能课程覆盖的项目组成员比例”提出了要求,包括开发、测试、产品、项目经理等参与技能培训的人员占比项目组全部人员的比例;执行质量:指企业实践执行的质量如何,一般从活动的角色、职责、流程、输入输出等方面评判。如:“识别可能存在的潜在攻击者”评价质量时,会针对攻击者的识别是否从不同的角度和侧面进行识别,包括企业外侧和内测、系统的业务侧和数据侧等,评价是否识别得完善和系统。4.安全域
安全域有四个大域:监管域、能力域、触点域、运维域。
(1)监管域
包括制定软件安全战略,以及配套安全流程、合规政策和安全培训制度以及供应链管理制度。
流程与政策:主要评估组织对安全战略目标制定、运营和量化管理的能力。包含建立统一的软件安全战略、制定组织安全开发管理流程、建设和运营组织安全文化、建立组织级别SDL量化管理体系共计4个方面的实践。合规性:主要评估软件开发组织对于监管规则的重视度,含合规性法律文件转化为安全需求这样的安全实践。培训:安全知识的培训对于组织中的每一个人都是至关重要的,这是做好相关实践活动的前提。“培训”的子域主要评估了组织对各岗位是否提供了符合岗位要求的软件安全培训内容,以及评估了培训内容的有效性。供应链安全管理:主要是帮助企业建立正式的制度来管理软件供应链的安全风险,该子域下面主要包括成立软件供应链安全风险管理委员会和建立正式的软件供应链安全管理制度两个子实践。(2)能力域
该域描述了组织在软件安全开发全生命周期中的各种安全活动的基础设置支持能力,包括攻击模型研究、安全知识库、安全组件、安全工具链。
攻击模型:从攻击者的视角分析和研究可能存在的攻击者、攻击模式和相关技术,以便软件开发组织能够防患于未然。该子域下包括识别可能存在的攻击者、建立攻击模型和技术知识库、构建攻击团队3个子实践。安全设计方案与安全开发组件:评估软件开发组织构建支持安全开发、安全设计和威胁分析方面的技术知识库及开发组件的能力。第三方组件库管理:软件系统的开发会用到大量的开源组件,不少软件开发组织在第三方组件库的管理方面,都存在流程不完善,安全管控不足的情况,严重影响了软件系统的安全性。因此,有必要建立内部第三方组件库,并对组件的选择、下载、安装和更新进行规范管理。标准与要求:为把控S-SDLC流程的整体质量,需要对其中的安全活动建立相关的标准和要求,即安全基线、安全编码规范以及代码审计等。敏感数据处理:黑客的攻击,甚至内部工作人员的信息贩卖、离职员工的信息泄露、第三方外包人员的交易行为、数据共享第三方的数据泄露、开发测试人员的违规等都可能导致敏感数据泄露,因此有必要对敏感数据予以识别,并在传输和存储过程中进行加密处理。(3)触点域
涵盖了需求、设计、实现和测试等阶段安全活动相关的实践,其可以评价企业软件系统开发中安全活动的落实情况。
安全需求分析:需求分析阶段完成系统功能的安全需求分析,识别可能面临的安全风险,并将安全需求加入需求说明书里。软件安全需求分析是软件需求分析的一个必要组成部分。安全需求与业务需求同样重要,并能对功能需求具有约束力。安全设计:安全设计活动,包括在架构设计时考虑系统的安全性,对系统进行威胁分析,评估系统面临的风险,对设计方案进行安全检查和评审。安全实现:安全开发阶段包括对代码和第三方组件进行人工和自动化的审核,落实安全编码规范的实施。安全测试:主要是为了验证安全需求分析阶段识别的安全需求是否得到正确实现,通过设计安全测试用例、执行安全测试用例以及对发现的安全漏洞进行跟踪管理的方式,以确保软件系统的安全性。安全测试的执行可以使用人工与工具结合的方式进行。(4)运维域
包括渗透测试、软件环境安全、运营支持以及应急响应相关的实践,可以评价企业在软件系统运维中安全活动的落实情况。
渗透测试:是对软件系统进行渗透测试。可信赖的第三方通过模拟真实黑客攻击的技术及手段对目标网站、服务器系统进行攻击,在发现目标存在安全隐患后给出专业的安全加固建议。软件环境:主要是遵循“默认安全”的设计理念来保证软件环境安全。运营支持:有效的运营支持可以规范软件开发组织的安全运营行为,降低系统受攻击的概率,提升安全事件的应对效率,保障软件程序的安全运行。应急响应:为了有效地对安全事件的发生做出及时的处置,软件开发组织应组建相关的应急响应团队以及制定信息安全事件的应急预案,这样软件开发组织在安全事故发生时也能做到有人可用,有章可循。三、S-SDLC CMM开源项目介绍关于S-SDLC CMM开源项目,我们制作了一个网站http://s-sdlccmm/,网站上有三大模块,分别是S-SDLC CMM模型介绍、安全技术资讯和安全能力自我评测。
模型介绍详细描述了安全域-安全子域-安全实践的层级结构关系,并且该模块功能支持下载S-SDLC CMM文档至您的本地进行参考阅读。安全技术资讯信息主要以行业、技术和业界新的安全实践为主,通过有深度的技术好文分享,引导读者思考安全技术的新走向。安全能力的自我评测功能主要为用户提供一个简易的自我评测工具,用于自身安全能力的评估,通过问卷形式模拟差距分析过程得出安全能力水平和安全能力雷达图。
由于前期的团队成员相对有限,所以我们希望诸位有志之士可以积极参与到该项目中,对该模型提出宝贵的意见,共同完善并推动该项目的进展。
我以前睡眠挺好的,尤其是孩子很小的时候。晚上起来给孩子喂完奶,躺下就能睡着,但是随着年纪越来越大。晚上入睡就比较困难了。
我也试过不少方法,比如说数羊、睡前喝牛奶、在房间里放轻音乐等。好像效果都不是太好。
但有的时候躺在沙发上看电视,看着看着就睡着了。等爬起来刷完牙再到床上去睡的时候,反而就很不容易睡着了。
这种情况发生过很多次,我就很纳闷,怎么回到床上就睡不着呢?后来我就觉得可能是在沙发上听着电视,注意力集中在剧情上,脑子里不想乱七八糟的事情,就容易睡着,等到了床上就想起乱七八糟的事情,心里不能安定,就睡不着了。
当你听着某一个故事的时候,你就不会想别的事情,慢慢地也就睡着了。
于是我就想了一个招,我在手机上下了百家讲坛,睡前收拾停当,然后躺在床上准备睡觉的时候就用耳机听,一集大概在40分钟左右。有的时候还没有听完一集,就睡着了,中间有的时候会醒。醒了以后,我害怕再胡思乱想,就再换一集听,然后又会接着睡着了。
后来我把百家讲坛听得差不多了,我就下载了鲁豫有约,可凡倾听,董卿的朗读者,郭德纲的相声,效果都挺好。
有时候人睡不着,就是因为心里静不下来。
当你的岁数越来越大,或者是你面临更年期,或者是家里很多烦心事儿的时候。就很不容易入睡,也很容易在中间醒。我推荐的方法有时就不一定有效。如果实在是第二天有事,今天晚上必须睡好的话,也可以吃上半片安定。这个有助于你晚上睡好,精力充沛地应对明天的事情。
我不知道大家有没有我这样的困扰,如果有我这样困扰的话,可以去尝试一下,看看这个方法对你有没有用,我曾经把这个方法推荐给我几个朋友,他们觉得都还有用。
哔哩哔哩是当下十分受年轻人欢迎的视频播放平台,以其独特的弹幕文化和社交氛围深受用户喜爱。在B站,用户不仅可以观看视频,还可以上传自制或转载的视频,所以B站也经常会受到版权问题的困扰。
近日,B站又有一次因为版权问题被央视告上了法庭。央视将经营B站的上海宽娱数码科技公司告上法庭的理由是B站通过其网络平台向公众提供了“百家讲坛”系列作品的在线播放和下载服务。
根据企查查的资料显示,上海宽娱数码科技有限公司在法庭上辩称,涉案作品为录像制品,原告尚未取得主讲人授权。“百家讲坛”的性质应当属于汇编作品,针对该节目中的每一部作品,其著作权应当归属于主讲人所有。
而“哔哩哔哩”网站和手机App“哔哩哔哩”的运营者仅向用户提供网络空间存储服务,不应当承担侵权责任。
法院认为涉案作品属于“百家讲坛”系列的一部分,而“百家讲坛”是由央视制作完成,央视依法享有该作品的版权。
虽然笔者觉得哔哩哔哩多少有点冤,因为涉案视频并非什么不能播的视频,哔哩哔哩顶多算是审查不严。但哔哩哔哩的败诉无疑是对大众版权意识的又一次提醒,让大家在享受音像制品的同时可以不忘支持正版,支持原创。
精彩资讯报道,专业视频评测,尽在聚牛科技