首页 > 技术文章 > 《白帽子讲web安全》学习笔记(第一篇)

meiqin970126 2020-12-01 15:52 原文

第一篇   世界观安全

第1章      我的安全世界观

 

“Hacker“ :黑客

“exploit” :黑客们使用的漏洞利用代码

“Script kids”:脚本小子 ,只懂得编译别人的代码,自己没有动手能力

ACL:访问控制列表

XSS:跨站脚本攻击

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

   

安全三要素:机密性(Confidentiality)、完整性(Integrity)、可用性(Availability)。

机密性要求保护数据内容不能泄露,加密是实现机密性要求的常见手段。

完整性则要求保护数据内容是完整、没有被篡改的。常见的保证一致性的技术手段是数字签名。

可用性要求保护数据资源是“随需而得”。

   

安全评估的过程(4个阶段):资产等级划分->威胁分析->风险分析->确认解决方案。

  • 资产等级划分就是对数据做等级划分。互联网安全的核心问题,是数据安全的问题。

威胁(Threat)是可能造成危害的来源;风险(Risk)是可能会出现的损失。

  • 威胁分析就是找出所有的威胁,使用威胁建模去协助找出威胁。

威胁建模方法:STRIDE模型(6个单词首字母缩写)

威胁

定义

对应的安全属性

Spoofing(伪装)

冒充他人身份

认证

Tampering(篡改)

修改数据或代码

完整性

Repudiation(抵赖)

否认做过的事情

不可抵赖性

InformationDisclosure(信息泄露)

机密信息泄露

机密性

Denial of Service     (拒绝服务)

拒绝服务

可用性

Elevation of Privilege   (提升权限)

未经授权获得许可

授权

 

  • 风险分析:DREAD模型(5个单词首字母缩写)

等级

高(3)

中(2)

低(3)

Damage Potential

获得完全验证权限;执行管理员操作;非法上传文件

泄露敏感信息

泄露其他信息

Reproducibility

攻击者可以随意再次攻击

攻击者可以重复攻击,但有时间限制

攻击者很难重复攻击过程

Exploitability

初学者在短期内能掌握攻击方法

熟练的攻击者才能完成这次攻击

漏洞利用条件非常苛刻

Affected Users

所有用户,默认配置,关键用户

部分用户,非默认配置

极少数用户,匿名用户

Discoverablity

漏洞很显眼,攻击条件很容易获得

在私有区域,部分人能看到,需要深入挖掘漏洞

发现该漏洞极其困难

   Risk = Probability * Damage Potential

  • 一个优秀的安全方案应该具备以下特点

  能够有效解决问题;

‚  用户体验好;

ƒ  高性能;

„  低耦合;

…  易于扩展和升级。

   

白帽子兵法:Secure By Default原则、纵深防御原则(Defense in Depth)、数据与代码分离原则、不可预测性原则。

Secure By Default原则:是总则,①黑名单、白名单:黑名单是禁止的名单,白名单是只允许的名单;②最小权限原则:只授予主体必要的权限,不要过度授权。

纵深防御原则(Defense in Depth):更全面更正确的看问题,含义包括①要在不同层面、不同方面实施安全方案,避免出现遗漏,不同方案之间相互配合,构成一个整体;②要在正确的地方做正确的事情。

数据与代码分离原则:从漏洞成因上看问题,广泛适用于由于“注入”而引发安全问题的场景。

不可预测性原则:从克服攻击的角度看问题。

安全是一门朴素的学问,也是一种平衡的艺术。

推荐阅读