安全的历史
从 1970 年代到今天——把塑造了安全格局的重大事件、漏洞、恶意软件与防御技术,汇入同一条时间线。每个条目都链接到本站更深入的讲解。
安全的历史,是「新型攻击」与「阻止它们的技术」相互角力的记录。纵览全局,就能看清今天自己应当优先守护什么。颜色代表分类。
- 重大事故 / 攻击
- 漏洞
- 恶意软件
- 防御技术
- 标准 / 法规
黎明期
1970s–1980s- 1976公钥密码学
Diffie–Hellman 公开了密钥交换的思想——它是 TLS、数字签名以及当今 Passkeys 的根基。
- 1988Morris 蠕虫
首个大规模互联网蠕虫,波及大量主机,并促成了 CERT 的成立。它让世界认识到「能运行的代码会自我传播」。
阅读更多 - 1988CERT/CC 成立
在蠕虫事件之后成立,是首个协调漏洞响应的中心——「协调式漏洞披露」的雏形。
Web 时代的开端
1990s- 1995SSL / TLS
Web 流量加密登场(后来标准化为 TLS)——它是 HTTPS 的核心,能阻止窃听与篡改。
- 1998SQL 注入
输入劫持数据库查询的漏洞被广泛认识——至今仍属最高风险级别。防御手段:参数化查询。
阅读更多 - 1999CVE 编号计划
为每个漏洞赋予共享编号的机制诞生——从此全世界可以用同一个名字称呼同一个漏洞。
阅读更多 - 2000ILOVEYOU
通过邮件附件爆炸式传播的蠕虫——利用人性弱点的「社会工程式感染」的早期范本。
蠕虫与大规模感染
2000s- 2003SQL Slammer
数分钟内就传遍全球的蠕虫——证明一个未打补丁的已知漏洞可以酿成全球性瘫痪。
- 2003OWASP Top 10
把 Web 应用风险提炼为十项的经典清单——自此成为开发者之间的共同语言。
- 2005XSS(Samy 蠕虫)
一天之内传播到约百万个资料页的 XSS 蠕虫——生动说明了为何输出必须转义。
阅读更多 - 2006PCI DSS
面向处理银行卡数据者的通用安全标准——「以标准约束」的合规驱动安全时代的开端。
- 2008Conficker
波及数百万台机器的庞大僵尸网络——再次提醒人们迟缓打补丁有多危险。
大型数据泄露的时代
2010–2016- 2010Stuxnet
针对工业控制系统的国家级攻击——证明网络攻击能够破坏物理设备。
- 2014Heartbleed
OpenSSL 的漏洞,可能从服务器内存中泄露私钥与会话——依赖组件风险的象征。
阅读更多 - 2014Shellshock
Bash 的漏洞,在特定条件下可导致远程代码执行——无处不在的组件一旦有洞,波及面极广。
阅读更多 - 2014FIDO / U2F 安全密钥
抗钓鱼的第二因素认证标准登场——通向 Passkeys 的道路。
阅读更多 - 2015Let's Encrypt
免费、自动化的 TLS 证书普及——让 HTTPS 从「奢侈品」变成「默认项」的转折点。
阅读更多 - 2016Mirai(IoT 僵尸网络)
劫持使用默认密码的 IoT 设备发起大规模 DDoS——凸显默认 / 弱口令的危险。
阅读更多
勒索软件与供应链
2017–2021- 2017WannaCry / NotPetya
波及全球的勒索软件损失——未打补丁的系统加上快速传播,能让整个组织停摆。
阅读更多 - 2017Equifax 数据泄露
因未修补的 Apache Struts 漏洞泄露约 1.47 亿条记录——放任依赖组件 CVE 的最坏代价。
阅读更多 - 2018GDPR 生效
欧盟全面的数据保护法生效——泄露自此伴随高额罚款与通知义务。
- 2019Capital One(SSRF)
SSRF 加上云端配置失误泄露了超过 1 亿条记录——云时代设计失误的典型。
阅读更多 - 2020SolarWinds
藏在正规软件更新中的供应链攻击——被信任的分发渠道本身被武器化。
阅读更多 - 2021Codecov
对 CI 工具的篡改导致大量密钥泄露——推动人们认识到构建流水线同样是攻击目标。
阅读更多 - 2021Log4Shell
Log4j 的漏洞,仅仅记录一个字符串就可能执行代码——关于「迅速修补依赖」的惨痛一课。
阅读更多