## 声明,个人学习整理类文章,仅供参考
第一章 我的安全世界观
1 web安全简史
研究计算机系统和网络的人,成为“Hacker”
在计算机安全领域,黑客是一群破坏规则、不喜欢被拘束的人
对于现代计算机系统来说,在用户态的最高权限是 Root (Administrator),也是黑客最渴望能够获得的系统最高权限。
# 不拿到 "Root" 的黑客,不是好黑客
黑客使用的漏洞利用代码,称为 “exploit”
只懂得编译他人的代码,自己没有动手能力的黑客,被称为 “Script Kids”,即“脚本小子”
1.1 中国黑客简史
启蒙时代,20世纪90年代左右,他们崇尚分享,自由,免费的互联网精神,并热衷于分享自己的最新研究成果
黄金时代,标志为 中美黑客大战,出现恶意软件,出现以盈利为目的的攻击行为,黑色产业链开始形成
黑暗时代,21世纪10年代左右,
1.2 黑客技术的发展历程
早期的,黑客攻击的主要目标以系统软件居多(往往可以直接获得 root 权限);
早期的互联网中,黑客们主要攻击的目标是网络、操作系统以及软件领域(#当时Web并非互联网的主流应用#)
2003年的冲击波蠕虫是一个里程碑式的事件(#主要针对Windows操作系统RPC服务 - 运行在445端口),此事件之后,整个互联网对于安全的重视达到了空前的高度
在互联网安全中,Web安全之外,还有另一个重要分支 - 桌面软件安全/客户端软件安全,代表是 浏览器攻击
1.3 Web安全兴起
Web攻击技术的发展阶段
# Web 1.0时代,主要关注 服务器端动态脚本的安全问题
# SQL注入的出现, Web安全史的一个里程碑,1999年
# XXS(跨站脚本攻击),Web安全史的另一个里程碑,2003年
# Web 2.0,攻击思路,从服务器端,转向客户端,攻击变得多样化
Tip:脚本语言,Python, Ruby, NodeJS 等等,敏捷开发成为互联网的主旋律
1.4 黑帽子,白帽子
白帽子,精通安全技术,但是工作在反黑客领域的专家;看待问题必然是在不断分解问题,再逐个予以解决
黑帽子,利用黑客技术造成破坏,甚至进行网络犯罪的群体;利用各种不同漏洞的组合达到目的,在不断的组合问题
1.5 安全三要素
基本组成元素,机密性(Confidentiality)、完整性(Integrity)、可用性(Availability)
# 机密性,要求数据内容不能泄露,加密是实现机密性要求的常见手段
# 完整性,要求保护数据内容是完整的、没有被篡改的,数字签名是保证一致性的常用技术手段
# 可用性,要求保护资源 “随需而得”
1.6 如何实施安全评估
分为4个阶段:资产等级划分、威胁分析、风险分析、确认解决方案
Tip:互联网安全的核心问题,是数据安全的问题
- 资产等级划分,了解公司业务,公司所拥有的数据的重要程度
- 威胁分析,考虑方向 STRIDE模型
- 风险分析,判断风险程度 DREAD模型 Risk = Probability * Damage Potential
// 截取自白帽子讲Web安全
// 截取自白帽子讲Web安全
1.7 设计安全方案
优秀的安全方案的特点:
- 能够有效解决问题
- 用户体验好
- 高性能
- 低耦合
- 易于扩展与升级
设计安全方案常用方法:
- Secure By Default 原则
- 黑名单、白名单
- 最小权限原则
- 纵深防御原则
- 数据与代码分离原则
- 不可预测性原则