读书笔记——吴翰清《白帽子讲Web安全》

目录

第一篇 世界观安全

一 我的安全世界观

第二篇 客户端脚本安全

一 浏览器安全
二 跨站脚本攻击(XSS)
三 跨站点请求伪造(CSRF)
四 点击劫持(ClickJacking)
五 HTML5 安全

第三篇 服务端应用安全

一 注入攻击
二 文件上传漏洞
三 认证与会话管理
四 访问控制
五 加密算法与随机数
六 Web框架安全
七 应用层拒绝服务攻击
八 PHP安全
九 Web Server配置安全

第四篇 互联网公司安全运营 

一 互联网业务安全
二 安全开发流程(SDL)
三 安全运营

 

第一篇 世界观安全

一 我的安全世界观

1.安全问题的本质是信任的问题。

2.安全是一个持续的过程。

3.安全三要素:机密性(Confidentiality)、完整性(Integrity)、可用性(Availability),简称CIA。

  • 机密性要求保护数据内容不能泄露,加密是实现机密性要求的常见手段。
  • 完整性要求保护数据内容是完整的,没有被篡改的。
  • 可用性要求保护资源是“随需而得”。
  • 扩展:可审计性,不可抵赖性。

4.如何实施安全评估?4个阶段:资产等级划分-->威胁分析-->风险分析-->确认解决方案。

(1)资产等级划分

  • 互联网安全的核心问题,是数据安全的问题。所以,对互联网公司的资产等级划分,就是对数据做等级划分,然后要划分信任域和信任边界。

(2)威胁分析

  • 威胁分析就是把所有的威胁都找出来。
  • 一般采用头脑风暴法和威胁建模法(比如微软提出的STRIDE模型)。
  • 漏洞的定义:系统中可能被威胁利用以造成危害的地方。

(3)风险分析

  • 风险由以下因素组成:Risk(风险)=Probability(发生的可能性)*Damage Potential(损失的大小)
  • 一种科学衡量风险的方法:微软提出的DREAD模型。
  • 注意:模型是死的,人是活的。模型只能起到辅助作用,人要灵活运用。

(4)设计安全方案

  • 一个优秀的安全方案应该具备以下特点:
  1. 能够有效解决问题
  2. 用户体验好
  3. 高性能
  4. 低耦合
  5. 易于扩展与升级

5.安全方案设计技巧

(1)Secure By Default原则

  • 黑名单、白名单原则(尽可能使用白名单,不用或者少用黑名单)
  • 最小权限原则(要求系统只授予主体必要的权限,而不要过度授权)

(2)Defence In Depth(纵深防御)原则

  • 纵深防御包含2层含义:首先,要在各个不同层面、不同方面实施安全方案,避免出现疏漏,不同安全方案之间需要相互配合,构成一个整体;其次,要在正确的地方做正确的事情。即:在解决根本问题的地方实施针对性的安全方案。

(3)数据与代码分离原则

(4)不可预测性原则

  • 不可预测性原则能够有效地对抗基于篡改、伪造的攻击。

第二篇 客户端脚本安全

一 浏览器安全

1.同源策略(Same Origin Policy)

  • 同源策略是一种约定,它是浏览器最核心也最基本的安全功能。
  • 浏览器的同源策略,限制了来自不同源的“document”或脚本,对当前“document”读取或者设置某些属性。
  • 影响“源”的因素有:host、子域名、端口、协议。
  • 在浏览器中,

你可能感兴趣的:(读书笔记——吴翰清《白帽子讲Web安全》)