# 如何应对当前的全球网络安全威胁?
开发安全漏洞尽可能少的软件,应该着眼于源头安全。
边界安全盒深度防御是重要的安全手段,但软件自身的安全是安全防护的第一关。
即使软件源头存在较少的漏洞,这些漏洞也足以被利用,成为侵犯民族和国家经济利益的武器,或者成为有组织犯罪的网络武器储备。
我们不仅要把软件做的更好、更安全,必须保证该解决方案具有较好的成本收益、操作相关性和可行性以及投资可行性。
 
# 软件的现状
软件已成为我们的关键基础设施和日常生活方方面面的重要组成部分。
软件已经融入我们日常生活使用的各种各样的物品中,从家庭智能电表到汽车都含有软件。
 
# 软件安全的现状
软件安全并没有像软件本身那样以相同的速度发展。许多软件产品依然在这样一种环境下开发:他们在发布后解决问题而不是保证第一次做的就是正确的。这里存在两个主要的问题。
第一个问题是软件漏洞普遍存在。正在寻找和利用软件漏洞的那些人有着充足的漏洞可挖掘,因为,我们必须确保漏洞管理足够好,而且,怎样做才能让工作生活越来越依赖的后续软件中不会存在这种类型的漏洞。减少这些漏洞以及在软件开发过程中组织他们的出现非常有益,使用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. 使用PRTG和panabit结合定位网络阻塞的来源

    一.背景   在网络管理工作中,有时会出现网络阻塞,需要定位阻塞来源以采取措施解决问题.二.以一个网络阻塞案例说明定位方法   案例:某企业日常使用多条网络线路,某一段时间发现某条线路传输速率下降,对 ...

  2. Alpha冲刺 —— 5.8

    这个作业属于哪个课程 软件工程 这个作业要求在哪里 团队作业第五次--Alpha冲刺 这个作业的目标 Alpha冲刺 作业正文 正文 github链接 项目地址 其他参考文献 无 一.会议内容 1.展 ...

  3. SpringCloud Eureka Client和Server侧配置及Eureka高可用配置

    一.Eureka注册中心和客户端配置Demo. 1.Server端 a.使用Idea创建Spring项目,如下所示: b.相关配置 application.yaml配置文件如下: # eureka本身 ...

  4. Java实现 LeetCode 714 买卖股票的最佳时机含手续费(动态规划 || 迭代法)

    714. 买卖股票的最佳时机含手续费 给定一个整数数组 prices,其中第 i 个元素代表了第 i 天的股票价格 :非负整数 fee 代表了交易股票的手续费用. 你可以无限次地完成交易,但是你每次交 ...

  5. IDEA连接远程服务器Docker部署Spring Boot项目

    开始前的准备工作 拥有一台云服务器,我的是腾讯云服务器(CentOS7) 腾讯云服务器安装Docker,我的版本是Docker 19.03.9,关于安装和配置镜像加速器可以查阅我的另一篇博文:http ...

  6. TZOJ 复习时间

    描述 为了能过个好年,xhd开始复习了,于是每天晚上背着书往教室跑.为了追求更高的效率,xhd要根据难度值来选择合适的课程进行复习,复习后一门课的效率为前一门课之间的难度差的平方,而复习第一门课的效率 ...

  7. 一、kafka 介绍 && kafka-client

    一.kafka 介绍 1.1.kafka 介绍 Kafka 是一个分布式消息引擎与流处理平台,经常用做企业的消息总线.实时数据管道,有的还把它当做存储系统来使用. 早期 Kafka 的定位是一个高吞吐 ...

  8. DDD之4聚合和聚合根

    聚合就是归类的意思,把同类事物统一处理: 聚合根也就是最抽象,最普遍的特性: 背景 领域建模的过程回顾: 那么问题来了? 为什么要在限界上下文和实体之间增加聚合和聚合根的概念,即作用是什么? 如何设计 ...

  9. tensorflow2.0学习笔记第一章第二节

    1.2常用函数 本节目标:掌握在建立和操作神经网络过程中常用的函数 # 常用函数 import tensorflow as tf import numpy as np # 强制Tensor的数据类型转 ...

  10. React、Vue添加全局的请求进度条(nprogress)

    全局的请求进度条,我们可以使用nprogress来实现,效果如下: 首先需要安装插件: npm i nprogress -S 然后使用的时候主要有两种方式,第一种是切换页面的时候,第二种则是请求接口的 ...