《白帽子讲Web安全》-第一章-读书笔记

Web安全简史

中国黑客简史

启蒙时代 ——黄金时代——黑暗时代

Hacker的初心”Open、Share、Free“

黑客技术发展历程

攻击网络、操作系统、及软件等领域——攻击Web应用

分支——桌面软件安全

Web安全的兴起

服务器端动态脚本——SQL注入——XSS(跨站脚本攻击)、CSRF(跨站请求伪造)等攻击


黑帽子、白帽子

  • 黑帽子:利用黑客技术造成破坏、甚至进行网络犯罪
  • 白帽子:精通安全技术,工作在反黑客领域的专家

安全的本质

  • 安全问题的本质都是信任问题
  • 安全是一个持续的过程

安全三要素

  1. 机密性 要求保护数据内容不能泄露,加密是实现机密性要求的常见手段
  2. 完整性 要求保护数据内容是完整、没有篡改的
  3. 可用性 要求保护资源是”随需而得”

如何实施安全评估

1、资产等级划分

互联网安全的核心问题是数据安全的问题

  • 了解不同数据的重要程度,为后续评估过程指明方向

2、威胁分析

我们把可能造成危险的来源称为威胁,而把可能会出现的损失称为风险

  • 威胁建模(STRIDE模型)
威胁 定义 对应的安全属性
伪装(Spoofing) 冒充他人身份 认证
篡改(Tampering) 修改数据或代码 完整性
抵赖(Repudiation) 否认做过的事情 不可抵赖性
信息泄露(InformationDisclosure) 机密信息泄露 机密性
拒绝服务(Denial of Service) 拒绝服务 可用性
提升权限(Elcvation of Privilege) 未经授权获得许可 授权

漏洞的定义:系统中可能被威胁利用以造成危害的地方

3、风险分析

风险由一下因素组成:

​ Risk=Probability*Damage Poteneial

  • 风险建模(DEREAD)
等级 高(3) 中(2) 低(1)
Damage Potential 获取完全验证权限;执行管理员操作;非法上传文件 泄露敏感信息 泄露其他信息
Reproducibility 攻击者可以随意再次攻击 攻击者可以重复攻击,但有时间限制 攻击者很难重复攻击
Exploitability 初学者在短期内能掌握攻击方法 熟练的攻击者才能完成这次攻击 漏洞利用条件非常苛刻
Affected users 所有用户,默认设置,关键用户 部分用户,非默认配置 极少数用户,匿名用户
Discoverability 漏洞很显眼,攻击条件很容易获得 在私有区域,部分人能看到,需要深入挖掘漏洞 发现该漏洞极其困难

4、确认解决方案

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

白帽子兵法

Secure By Default 原则

  1. 黑名单/白名单

白名单:设置能通过用户,白名单以外的用户不能通过

黑名单:设置不能通过的用户,黑名单以外的用户都能通过

​ 2.最小权限原则

最小权限原则要求系统只授予主题必要的权限,而不要过度授权,这样才能有效地减少系统/网络/.应用/数据库出错的机会

纵深防御原则(Defense in Depth)

  • 要在不同层面 不同方面实施安全方案,避免出现疏漏,不同安全方案之间需要相互配合,构成一个整体

需要考虑的可能有Web应用安全、OS数据安全、数据库安全、网络环境安全等

  • 要在正确的地方做正确的事,即:在解决问题的地方实现针对性的安全方案

要求我们深入理解威胁的本质,必须把防御方案放到最合适的地方去解决

数据与代码分离原则

缓冲区溢出可以认为是程序违背了这一原则的后果-程序在栈中或堆中,将用户数据当作代码执行,混淆了代码与数据的边界,从而导致安全问题的发生

不可预测性原则

  • 从克服攻击方法的角度看问题
  • 能够有效地对抗篡改和伪造的攻击
  • 不可预测性的实现往往需要用到加密算法 随机算法 哈希算法,利用好这条原则可使安全方案的设计事半功倍

小结

安全是一门朴素的学问,也是一种平衡的艺术,只需抓住安全的本质,无论遇到任何安全问题都会无往而不利!

发布了1 篇原创文章 · 获赞 3 · 访问量 43

猜你喜欢

转载自blog.csdn.net/weixin_43414889/article/details/105644690