第一篇 世界观安全
第1章 我的安全世界观
1.1 web安全简史
目标:获取root权限
1.2 黑帽子,白帽子
黑帽子 | 白帽子 | |
---|---|---|
研究心态 | 只要能够找到系统的一个弱点 | 必须找到系统的所有弱点,不能有遗漏 |
工作 | 入侵系统,找到有价值的数据,以点突破 | 解决所有安全问题,需要更全面宏观思考 |
1.3 返璞归真,揭秘安全本质
安全问题本质是信任问题
1.4 破除迷信,没有银弹
安全是一个持续的过程
1.5 安全三要素
- 机密性(Confidentiality):保护数据内容不能泄露,加密是实现机密性要求的常见手段
- 完整性(Integrity):保护数据内容是完整、没有被篡改的。常见的保证一致性的技术手段是数字签名。
- 可用性(Availability):保护资源是“随需而得”
另外还有可审计性、不可抵赖性
1.6 如何实施安全评估
-
资产等级划分
互联网安全的核心问题,是数据安全的问题 -
威胁分析
STRIDE模型威胁 定义 对应的安全属性 Spoofing(伪装) 冒充他人身份 认证 Tampering(篡改) 修改数据或代码 完整性 Repudiation(抵赖) 否认做过的事 不可抵赖性 Information Disclosure(信息泄露) 机密信息泄露 可用性 Denial of Service(拒绝服务) 拒绝服务 可用性 Elevation of Privilege(提升权限) 未经授权获得许可 授权 -
风险分析
风险组成:Risk = Probability * Damage Potential
DREAD模型等级 高(3) 中(2) 低(1) Damage Potential 获取完全验证权限;执行管理员操作;非法上传文件 泄露敏感信息 泄露其他信息 Reproducibility 攻击者可以随意再次攻击 攻击者可以重复攻击,但有时间限制 攻击者很难重复攻击过程 Exploitability 初学者在短期内能掌握攻击方法 熟练的攻击者才能完成这次攻击 漏洞利用条件非常苛刻 Affected users 所有用户,默认配置,关键用户 部分用户,非默认配置 极少数用户,匿名用户 Discoverability 漏洞很显眼,攻击条件很容易获得 在私有区域,部分人能看到,需要深入挖掘漏洞 发现该漏洞极其困难 每个因素划分为三个等级,后面的分数代表权重值,五个因素的权重值加起来计算
高危:12-15分,中危:8-11分,低危:0-7分 -
确认解决方案
如何通过简单而有效的方案解决遇到的安全问题
优秀的安全方案具备以下特点- 能够有效解决问题
- 用户体验好
- 高性能
- 低耦合(让每个模块尽可能的独立完成某个特定的子功能)
- 易于扩展与升级
1.7 白帽子兵法
- Secure By Default原则(缺省安全)
- 黑名单、白名单
黑名单:不允许
白名单:只允许 - 最小权限原则
系统只授予主题必要的权限,而不要过度授权,这样能有效地减少系统、网络、应用、数据库出错的机会
- 黑名单、白名单
- Defense in Depth纵深防御原则
- 在各个不同层面、不同方面实施安全方案,避免出现疏漏,不同安全方案之间需要相互配合,构成一个整体(木桶理论)
- 在正确的地方做正确的事情,即:在解决根本问题的地方实施针对性的安全方案
- 数据与代码分离原则
违背此原则会导致缓冲区溢出 - 不可预测性原则Unpredictable
能有效对抗基于篡改、伪造的攻击
1.8 小结
安全是一门朴素的学问,也是平衡的艺术