白帽子讲web安全01-概览

web安全

Posted by Claire on May 17, 2021

开始学习积攒已久的吴翰清<白帽子讲web安全>,长期进行WEB开发,也没有能够系统深入的了解一下WEB安全的方方面面 通过这本书,让我对Web上可能存在的威胁,可能存在的攻击方式,以及如何具有针对性的,在不同的阶段实施不同的防御

ROUND-01 Web安全简史

  • 简单结构图 篇章脑图

1.趣味简介

  • exploit 黑客们使用的漏洞利用代码
  • script kids 只懂编译别人代码,没有动手能力黑客

2.中国黑客发展史

  • 黑客精神:open free share 开发 免费 分享

启蒙时代 — 20世纪90年代

  • 崇尚分享自由免费,喜欢钻研
  • 这是一种纯真的黑客精神

黄金时代 — 本世纪以中美黑客大战为标志

  • 人数激增但良莠不齐,开始以盈利为目的

黑暗时代 — 从黄金时代到今天

  • 黑色产业链成熟,封闭漏洞相关技术细节
  • 丧失了黑客精神的实质

3.黑客技术的发展史

  • 早期还是以PC端操作系统为主,主要是通过书写脚本,获取系统的root权限后,入侵用户系统
  • 基于SMTP POP3 FTP IRRC协议为主,攻击网络、操作系统、软件,web还未兴起
  • 防火墙技术改变了互联网安全格局,防火墙、ACL技术,保护直接暴露在互联网上的系统。防火墙保护后,ACL可以控制来自信任源的访问
  • web开始兴起,安全逐渐进入大众视野也是通过一些攻击开始的
  1. web 1.0
  • 里程碑一:2003年冲击波蠕虫 — windows RPC(445)的蠕虫 — 网络运营商直接屏蔽135 和445端口
  • 里程碑二:SQL注入
  • 里程碑三:跨站脚本攻击-XSS
  1. web 2.0
  • XSS,CSR更为强大了
  • 什么是安全:安全的本质是信任,不可能一劳永逸,是一个持续的过程
  • 安全的三要素CIA:
    • 机密性(confidentiality) :数据 —>加密,有很多数据加密技术
    • 完整性(Integrity): 数据最终是完整未被篡改的 —> 常见技术手段:数字签名
    • 可用性(Availability): 被保护的资源能够随需而得
    • 扩充后增加 可审计性 、 不可抵赖性
  • DOS 攻击(Denial Of Service)拒绝服务攻击破坏的是安全的可用性

4.如何进行安全的评估

  1. 互联网安全的核心问题就是数据安全问题
  2. 对拥有的数据结合自身特点,进行数据重要性等级的划分
  3. 确定资源等级,划分信任域
  4. 威胁:可能造成危害的来源
  5. 风险:可能出现的损失
  6. 风险一定是和损失是一起的
资产等级划分 --- 明确要保护什么:确定资源(服务器+用户数据)
    |
    |
    |
    |
 威胁分析   --- 威胁建模一个有效手段是头脑风暴 -- 微软提出的SREIDE(伪装,篡改,抵赖,信息泄露,拒绝服务,提升权限)
    |
    |
    |
    |
 风险分析   --- 风险分析 -- 微软提出的DREAD模型(damage,reproducibility,exploitability,affected users,discoverability)
    |
    |
    |
    |
确认解决方案 

5.好的解决方案

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

6.白帽子兵法

  1. secure by default:黑名单白名单,最小权限原则
  2. 纵深防御,对于一个复杂系统来说,纵深防御是必须的,在不同的层面实时不同的安全方案,spring mvc在不同层采用不同的方法
  3. 数据与代码分离:代码注入
  4. 不可预测性:比如内存地址的随机性,token,通过加密等技术实现