Junwen's home
  • ES6

    • ES6 Decorator
    • ES6核心特性
    • Promise&Generator
  • js原理

    • 简单实现bind、apply和call
    • 如何遍历一个dom tree
    • 实现函数currying
    • 实现一个event
    • 详解js的继承
    • 详解requestAnimationFrame
    • Canvas api详解
    • DOM事件
    • EventLoop详解
    • JavaScript的内存管理
    • JavaScript的运行机制
    • Math对象
    • new操作符都做了什么
    • create基本实现原理
    • Set、Map、WeakSet和WeakMap
    • web worker原理
    • WebGL教程(MDN)
  • jsInfoSeries

    • 简介
    • JavaScript基础知识
    • 基础知识2
    • 基础知识3
    • 基础知识4
  • 技巧

    • 5个js解构有趣用途
    • 如何使用set提高代码性能
    • cordova构建项目时的问题
    • js中轻松遍历对象属性的几种方式
  • 怎么写出更好的css
  • BFC详解
  • box-shadow详解
  • CSS小技巧
  • Grid布局详解
HTML
  • IP十问
  • http笔试
  • http协议
  • 浏览器原理
  • 浏览器缓存其实就这么一回事儿
  • 浏览器兼容性问题
  • 移动端开发兼容性适配
  • 前端性能优化
  • 前端如何进行seo优化
  • webpack

    • webpack HMR
    • webpack优化基本方法
  • leetcode题解

    • 两数之和
    • 判断整数是否为回文串
    • 无重复字符的最长子串
  • Js链表
  • JavaScript排序
  • React

    • 虚拟DOM原理理解
    • React Hook
    • 组件复用指南
  • Vue

    • Vue举一反三
面试题
读书笔记
GitHub (opens new window)

Syun0216

多读书多种树
  • ES6

    • ES6 Decorator
    • ES6核心特性
    • Promise&Generator
  • js原理

    • 简单实现bind、apply和call
    • 如何遍历一个dom tree
    • 实现函数currying
    • 实现一个event
    • 详解js的继承
    • 详解requestAnimationFrame
    • Canvas api详解
    • DOM事件
    • EventLoop详解
    • JavaScript的内存管理
    • JavaScript的运行机制
    • Math对象
    • new操作符都做了什么
    • create基本实现原理
    • Set、Map、WeakSet和WeakMap
    • web worker原理
    • WebGL教程(MDN)
  • jsInfoSeries

    • 简介
    • JavaScript基础知识
    • 基础知识2
    • 基础知识3
    • 基础知识4
  • 技巧

    • 5个js解构有趣用途
    • 如何使用set提高代码性能
    • cordova构建项目时的问题
    • js中轻松遍历对象属性的几种方式
  • 怎么写出更好的css
  • BFC详解
  • box-shadow详解
  • CSS小技巧
  • Grid布局详解
HTML
  • IP十问
  • http笔试
  • http协议
  • 浏览器原理
  • 浏览器缓存其实就这么一回事儿
  • 浏览器兼容性问题
  • 移动端开发兼容性适配
  • 前端性能优化
  • 前端如何进行seo优化
  • webpack

    • webpack HMR
    • webpack优化基本方法
  • leetcode题解

    • 两数之和
    • 判断整数是否为回文串
    • 无重复字符的最长子串
  • Js链表
  • JavaScript排序
  • React

    • 虚拟DOM原理理解
    • React Hook
    • 组件复用指南
  • Vue

    • Vue举一反三
面试题
读书笔记
GitHub (opens new window)
  • 白帽子讲web安全

    • HTML5安全
    • PHP安全
    • WebServer配置安全
    • Web框架安全
    • 互联网业务安全
    • 加密算法和随机数
    • 安全的开发流程
      • 安全运营
      • 应用层拒绝服攻击
      • 文件上传漏洞
      • 注入攻击
      • 点击劫持
      • 认证与会话管理
      • 访问控制
      • 跨站点请求伪造(CSRF)
      • 跨站脚本攻击
    • 深入react技术栈

      • chapter1
    • 高性能建站
    • 冴羽系列文章链接
    • books
    junwen
    2020-03-27

    安全的开发流程

    # 安全的开发流SDL

    SDL的全称是Security Development Lifecycle 安全开发生命周期。美国国家标准与技术研究所NIST估计,如果是在项目发布后在执行漏洞修复计划,其修复成本相当于在设计阶段执行修复的30倍。 微软的SDL过程大致分为16个阶段:

    1. 培训
    2. 安全要求
    3. 质量门/bug栏
    4. 安全和隐私风险评估
    5. 设计要求
    6. 减少攻击面
    7. 威胁建模
    8. 使用指定的工具
    9. 弃用不安全的函数
    10. 静态分析
    11. 动态程序分析
    12. 模糊测试 是一种专门形式的动态分析,它通过故意向应用程序引入不良格式或随机数据诱发程序故障。
    13. 威胁模型和攻击面评析
    14. 时间响应计划
    15. 最终安全评析 FSR是在发布之前仔细检查对软件执行的所有安全活动。
    16. 发布/存档

    # SDL的实战经验

    1. 项目经理进行充分沟通,排除足够时间
    2. 规范公司的立项流程,确保所有项目都能通知安全团队,避免遗漏。
    3. 树立安全部门的权威,项目必须由安全部门审核完成后才能发布。
    4. 将技术方案写入开发、测试的工作手册中。
    5. 给工程师培训安全方案。
    6. 记录所有安全bug,记录程序员写安全的代码

    # 需求分析与设计阶段

    安全专家Lenny Zelter 给出一份checklist p410


    # 开发阶段

    1. 提供安全的函数
    2. 代码安全审计工具,其核心思想并非直接检查代码是否安全,而是检查开发者是否遵守了开发规范。
    3. 测试阶段
    在Github上编辑此页 (opens new window)
    #web安全
    上次更新: 3/22/2021, 3:47:15 AM
    加密算法和随机数
    安全运营

    ← 加密算法和随机数 安全运营→

    最近更新
    01
    如何打造全链路项目生命周期的统一交付平台
    04-10
    02
    如何建立前端标准化研发流程
    04-10
    03
    如何从0到1一步步成体系地搭建CI
    04-10
    更多文章>
    Theme by Vdoing | Copyright © 2019-2021 Syun
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式