# 如何应对当前的全球网络安全威胁?
开发安全漏洞尽可能少的软件,应该着眼于源头安全。
边界安全盒深度防御是重要的安全手段,但软件自身的安全是安全防护的第一关。
即使软件源头存在较少的漏洞,这些漏洞也足以被利用,成为侵犯民族和国家经济利益的武器,或者成为有组织犯罪的网络武器储备。
我们不仅要把软件做的更好、更安全,必须保证该解决方案具有较好的成本收益、操作相关性和可行性以及投资可行性。
 
# 软件的现状
软件已成为我们的关键基础设施和日常生活方方面面的重要组成部分。
软件已经融入我们日常生活使用的各种各样的物品中,从家庭智能电表到汽车都含有软件。
 
# 软件安全的现状
软件安全并没有像软件本身那样以相同的速度发展。许多软件产品依然在这样一种环境下开发:他们在发布后解决问题而不是保证第一次做的就是正确的。这里存在两个主要的问题。
第一个问题是软件漏洞普遍存在。正在寻找和利用软件漏洞的那些人有着充足的漏洞可挖掘,因为,我们必须确保漏洞管理足够好,而且,怎样做才能让工作生活越来越依赖的后续软件中不会存在这种类型的漏洞。减少这些漏洞以及在软件开发过程中组织他们的出现非常有益,使用SDL构建软件安全比软件发布后的系统恢复和漏洞修复的成本更低。
另一个问题是0day漏洞,通过从一开始就不允许漏洞发生的方式,找到可能消除0day漏洞的方法,将节省企业的资金投入,使得软件及其用户更安全,关键基础设施更具弹性。
 
# 软件安全的成本
软件项目受限于成本和严格的时间表,这种情况下,因为某处走捷径而牺牲安全是不可避免的。
成本、时间和资源通常是软件开发支持安全的三要素,牺牲任意一个,安全和质量都会深受其害。
软件开发环境是围绕程序员建立的,他们收到各个方面的压力:更快的工作、走捷径,以安全和质量为代价编写更多的代码。
 
# 缓解安全风险
100%安全的软件和系统是不存在的,但是开发者和管理者应始终力求最大限度地缓解风险,使攻击者以未经授权的方式进行访问变得更难:
不得已利用可追溯的和明显的入侵手段访问,以致他们被立即发现;
花费很多时间试图访问系统,以致最终被注意到;
放弃并转向更容易的攻击目标;
 
# 潜在的软件漏洞如果被利用,可能会导致以下问题
全部或部分基础设施被中断,包括电网、核电站、通讯戒指和应急系统
化工厂被用于产生大规模的爆炸和剧毒云
远程控制、修改或破坏关键的武器系统或平台
导致监控系统被篡改或不可用
经济剥削或讹诈犯罪
操控金融市场和投资
通过改变医疗支持系统或设备、手术计划和药物处方来实施谋杀或伤害人体健康
通过网站毁损或底层Web应用的关闭和破坏修改自动投票软件、进行敲诈了锁或导致品牌信用降级,从而产生政治暴动或者一些人群的特殊利益收到影响。
 
# 软件安全问题解决方向
讲述当今科技、运作、商业及其开发环境的软件安全过程,通过人类可控制、管理的安全软件开发过程,并用一种较好的实践方式和度量方式来表达。虽然安全问题会始终存在,但是如何将公司的能力最大化,同时在软件发布前将软件被攻击的概率最小化,以及如何将安全构建融入开发过程中。通过构建最好用的SDL模型,以应对前面提到的问题,并在SDL安全软件开发模型中得到解决。
 
 
# 软件安全的需求、价值和挑战(五大主题)
我们将描述一个软件安全模型,应用一个操作上相关且可控的安全开发生命周期(Security Development Lifecycle, SDL)来构建安全软件。SDL适用于所有的软件开发生命周期(Software Development Lifecycle,SDLC)。
  1. 软件安全的重要性和相关性
  2. 软件安全和软件开发生命周期
  3. 高质量和安全代码
  4. 三个重要的SDL安全目标
  5. 威胁建模和攻击面验证
 
 
# 克服软件安全中的挑战
管理和克服软件安全挑战相关的模型、方法论、工具、人才及度量标准。把SDL及其相关的最佳实践应用到一个通用的软件开发生命周期中。
SDL程序的实现,能够保证良好的企业软件设计和开发固有的安全,而不是在产品发布后。使用SDL方法能够产生切实的好处,例如保证所有的软件版本符合最低安全标准,所有的利益相关者支持和强制执行安全准则。在开发周期的早期漏洞更容易被修复且成本更低,给信息安全团队提供一个系统化的方法在开发过程中协同消除软件风险。
SDL模型
可信计算安全开发生命周期(微软SDL)
软件安全触点模型(Cigital Software Security Touchpoints model)
OWASP SDL
Cisco Secure Development Lifecycle CSDL
SDL优化模型,渐进的、一致的和具有成本效益的SDL实现,将安全和隐私即成到SDLC中,评估其当前的状态,并逐步推进组织使用,以生产更安全的软件。使得开发经理和IT决策者评估开发中的安全状态,为降低客户风险创建一个视图和路线图,以一种具有成本效益、一致和渐进方式编写更加安全与可靠的软件。通过推进SDL优化模型的成熟度等级,组织管理层对SDL目标和结果的承诺将有初步接受提高为强有力的授权。
 
 
# 软件安全成熟度模型
Cigital BSIMM 内置安全成熟度模型
OWASP SAMM 开放软件保证成熟度模型
 
# SDL最佳实践
ISO/IEC 27034
SAFECode
美国国土安全软件保障计划
美国国家标准与技术研究院
公共计算机漏洞和暴露
SANS研究所高级网络安全风险
美国国防部网络安全与信息系统信息分析中心
CERT Bugtraq SecurityFocus
 
# 关键工具和人才
工具(开源组件、静态分析、动态分析)
人才(软件安全架构师、软件安全从业者)角色和职责
 
# 最小特权原则
# 隐私
# 度量标准的重要性(如果你不能衡量它,就不能改进它)
# 把SDL映射到SDLC
 
 
 

SDL软件安全读书笔记(一)的更多相关文章

  1. 读书笔记汇总 - SQL必知必会(第4版)

    本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...

  2. 读书笔记--SQL必知必会18--视图

    读书笔记--SQL必知必会18--视图 18.1 视图 视图是虚拟的表,只包含使用时动态检索数据的查询. 也就是说作为视图,它不包含任何列和数据,包含的是一个查询. 18.1.1 为什么使用视图 重用 ...

  3. 《C#本质论》读书笔记(18)多线程处理

    .NET Framework 4.0 看(本质论第3版) .NET Framework 4.5 看(本质论第4版) .NET 4.0为多线程引入了两组新API:TPL(Task Parallel Li ...

  4. C#温故知新:《C#图解教程》读书笔记系列

    一.此书到底何方神圣? 本书是广受赞誉C#图解教程的最新版本.作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式.朴实简洁的文字,并辅之以大量表格和代码示例,全面.直观地阐述了C#语言的各种 ...

  5. C#刨根究底:《你必须知道的.NET》读书笔记系列

    一.此书到底何方神圣? <你必须知道的.NET>来自于微软MVP—王涛(网名:AnyTao,博客园大牛之一,其博客地址为:http://anytao.cnblogs.com/)的最新技术心 ...

  6. Web高级征程:《大型网站技术架构》读书笔记系列

    一.此书到底何方神圣? <大型网站技术架构:核心原理与案例分析>通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计 ...

  7. LOMA280保险原理读书笔记

    LOMA是国际金融保险管理学院(Life Office Management Association)的英文简称.国际金融保险管理学院是一个保险和金融服务机构的国际组织,它的创建目的是为了促进信息交流 ...

  8. 《3D Math Primer for Graphics and Game Development》读书笔记2

    <3D Math Primer for Graphics and Game Development>读书笔记2 上一篇得到了"矩阵等价于变换后的基向量"这一结论. 本篇 ...

  9. 《3D Math Primer for Graphics and Game Development》读书笔记1

    <3D Math Primer for Graphics and Game Development>读书笔记1 本文是<3D Math Primer for Graphics and ...

随机推荐

  1. Java蓝桥杯 算法训练 复数归一化

    算法提高 复数归一化 时间限制:1.0s 内存限制:512.0MB 编写函数Normalize,将复数归一化,即若复数为a+bi,归一化结果为a/sqrt(aa+bb) + ib/sqrt(aa+b* ...

  2. Java实现 LeetCode 212 单词搜索 II(二)

    212. 单词搜索 II 给定一个二维网格 board 和一个字典中的单词列表 words,找出所有同时在二维网格和字典中出现的单词. 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中&quo ...

  3. java实现第四届蓝桥杯振兴中华

    振兴中华 题目描述 小明参加了学校的趣味运动会,其中的一个项目是:跳格子. 地上画着一些格子,每个格子里写一个字,如下所示:(也可参见p1.jpg) 从我做起振 我做起振兴 做起振兴中 起振兴中华 比 ...

  4. Linux网络命令详解

    命令write,功能是给指定用户发信息(接收信息的用户要处于登录状态,相当于QQ的私聊),例如:用户xbb给用户liuyifei发消息:I want to eat together!(发送消息以CRT ...

  5. 消费者启动,允许期间报task supervisor timed out 异常,解决

    如何解决后端项目启动时抛出 task supervisor timed out 异常 现象描述 后端项目启动时抛出如下异常,但是该后段项目能正常启动并注册到注册中心,不影响功能使用. 2018-10- ...

  6. Centos6.5--svn搭建

    0x01 配置好镜像源安装svn yum install subversion -y 0x02 安装完成之后在/opt下面新建一个svn的目录,当然也可以在其他的地方建立svn目录,这个看个人爱好. ...

  7. 温故知新-多线程-深入刨析synchronized

    Posted by 微博@Yangsc_o 原创文章,版权声明:自由转载-非商用-非衍生-保持署名 | Creative Commons BY-NC-ND 3.0 文章目录 摘要 synchroniz ...

  8. chrome浏览器版本与驱动不匹配问题的解决办法

    1.浏览器与驱动如何匹配才不会报错 使用selenium模块的webdriver打开谷歌浏览器时常遇到这样的错误提示: selenium.common.exceptions.WebDriverExce ...

  9. Azure AD(四)知识补充-服务主体

    一,引言 又到了新的一周了,也到了我新的分享的时间了,还记得上一周立得Flag,其中 “保证每周输出一篇文章” ,让我特别“在意”(这里用词不太恰当).主要是我的一个大学舍友,他突然问了我一个关于写博 ...

  10. vue + elementUI开发,使用el-tabs,导致浏览器卡死问题。

    第一次自己建项目,用过el-tabs,当时是正常使用的. 贴下版本信息: "element-ui": "^2.13.0", "js-md5" ...