浅谈SDL

昨天很热,于是被子处于半下岗状态,然后我就有点感冒和拉肚子了。但处于初期,及时引入预防控制手段应该可以避免很多问题,就像今天要讲的SDL一样。

 之前,对SDL真的是不了解,但对DevSecOps还是有过一点点研究的。最近几年这个概念已经被广泛接受并有多个实践,就像最初态势感知出现时大家都在听概念,而今已经遍地开花了,虽然有些花是假花。

正式开始:

安全发展到一定阶段,一些有责任的公司知道安全的意义不止是等保合规或者满足其他的一些文件规定要求,而是真正的要保护资产,保护业务系统,也是保护公司的门面吧。大型的公司,由于安全的需要,加之自身有能力建设开发团队,引入SDL到开发过程中,是非常明智和必要的。那些后期的代码审计和渗透测试等,发现了漏洞等还是要解决的,产品成型上线运行中遇到的问题对于开发人员来说,整改的工作量可能是巨大的,一些逻辑性的问题或许是颠覆性的,所以问题发现越早整改的成本越低,而发现问题的途径并否只有代码审计渗透测试,殊不知渗透测试很贵哈,而且也不适合常态化。忽然想到一个例子,就像教育小朋友,不是等到18岁了,然后来评估他,说你有1,2,3,4,5,6问题,这都基本定型了,咋整啊,所以应该打小就进行监督,规范言行,发现问题及时指出修正。又比如(忽然觉得有点脑洞大开),公司开发一个产品,就像盖房子,不能等房子盖好了再来评估,因为有些问题无法调和,有些问题无法发现。而从最初设计房子到选材施工,SDL就像一个月薪10万的监理(或全能保姆)一样尽心的工作。这样严格环境下出品的产品安全性一定是值得考验的。

忽然觉得说到这里,都没必要讲细节了,两个例子举得蛮到位的。哈哈。

还是要一些非人类的专业语言来提升一下逼格的。好吧,开始。SDL是微软最早提出的一种专注于软件开发的安全保障流程

SDL的目标主要是两个,增强安全性和降低成本。增强安全性好理解,这个就是SDL的建设目标,那么降低成本何解?其实也好理解,因为一旦发现了问题,就需要修复啊,在后期产品上线了修改需要的成本和时间都很大。而引入SDL,把安全问题在初期就发现和整改,相对来说,时间和成本都低很多,总体来说,是会达到降低成本的目的的。这个要和购买SDL的甲方说清楚才好。SDL做的好,可以避免漏洞被通告,被攻击,这些都是变相的成本,老板们需要懂这个道理。

和甲方爸爸说一下SDL的本质就是: 安全前移

SDL的基调:柔和低侵入、低误报多建议。搞安全的很容易和搞开发的形成矛盾,就如安全和运维也一样容易有火花。要尽量结合原有的开发平台来开展工作,不要给开发带来较多的额外工作量和牢骚。同时宁愿漏报问题,也尽量减少误报,误报很容易让开发同志上火。。。

国内的现状:国内大多数公司目前已经基本上具备了处理安全应急响应的能力,同时可以进行安全编码规范、代码审计、渗透测试等安全活动。但在软件设计阶段的安全活动则相对较少。软件的安全问题 很大一部分是由于不安全的设计而引入 的。在设计阶段造成的安全缺陷在后期修复的成本和时间都相对较高

安全开发生命周期SDL)即Security Development Lifecycle,是一个帮助开发人员 构建更安全的软件解决安全合规要求 的同时 降低开发成本软件开发过程。(这句话如果能一口气不打顿的说出来,就成功了一半^_^)。

核心理念: 将安全考虑集成在软件开发的每一个阶段:需求分析、设计、编码、测试和维护。从需求、设计到发布产品的每一个阶段每都增加了相应的安全活动,以减少软件中漏洞的数量并将安全缺陷降低到最小程度。

软件是由设计人员设计,代码是有开发人员编写。大部分软件本身的安全漏洞也是由设计及编码人员引入,所以对软件开发过程中的技术人员进行安全培训这点至关重要。

安全设计的核心要素

  • 攻击面最小化:尽量减少暴露恶意用户可能发现并试图利用的攻击面数量(代码、接口、服务、协议等)。
  • 基本隐私:只收集程序必须用到的隐私数据,数据加密存储。
  • 权限最小化: 评估应用程序的行为及功能所需的最低限度权限及访问级别,从而合理分配相应的权限,这样系统被攻破,拿到的也是有限的权限。
  • 默认安全:确保应用程序初始状态下处于较安全状态。
  • 纵深防御:从不同的层面、不同的角度对系统做出整体的解决方案。
  • 威胁建模:一种分析应用程序威胁的过程和方法,威胁建模 允许安全设计人员尽可能的识别 潜在的安全问题 并实施相应缓解措施。

SDL一般包括七个阶段:

• 安全培训: 安全意识+安全测试+安全开发+安全运维+安全产品
• 需求分析: 确定安全需求和投入占比,寻找安全嵌入的最优方式
• 系统设计: 确定设计要求,分析攻击面,威胁建模
• 实现: 使用标准的工具,弃用不安全的函数,静态分析(安全开发规范+代码审计)
• 验证: 黑白盒测试,攻击面评估
• 发布: 安全事件响应计划、周期性安全评估
• 响应: 应急响应,BUG跟踪

关于最后提到的要素威胁建模这个概念,有一定的内涵量,下次课会单独讲一下,因为上面的内容已经够消化一阵子的了吧。

以下内容来自网上,美国的一个SDL的checklist,等保检查内容很多,但是和如下表比较起来,工作量小多了,侧重点不同吧。看了下表就知道SDL的含金量了,就知道为嘛那么贵了。。。当然这些工作如果交给人来做,确实有些不人性。(以下内容,看一遍拉倒吧。。。)

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值