安全漏洞产生的原因
技术原因
- 软件系统复杂性提高,质量难于控制,安全性降低
- 公用模块的使用引发了安全问题
经济原因
环境原因
- 从传统的封闭、静态和可控变为开放、动态和难控
- 攻易守难
安全缺陷
- 安全性缺陷是信息系统或产品自身“与生俱来”的特征,是其“固有成分”
安全漏洞是与生俱来的
系统设计缺陷
- Internet从设计时就缺乏安全的总体架构和设计
- TCP/IP中的三阶段握手.
软件源代码的急剧膨胀
- Windows 95 1500万行,Windows 98 1800万行
- Windows XP 3500万行,Windows Vista 5000万行
- Windows 7 5000万至 7000万
- Linux 内核200万行
软件实现的缺陷 微软开发人员的单体测试缺陷从超过25个缺陷/千行代码显著降低到7个缺陷/千行代码
安全漏洞的生命周期
在安全漏洞生命周期内,从安全漏洞被发现到厂商发布补丁程序用于修补该漏洞之前,安全社区普遍称为“0day”
- 安全漏洞研究与挖掘:由高技术水平的黑客与渗透测试师开展,主要利用源代码审计(白盒测试)、逆向工程 (灰盒测试)、Fuzz测试(黑盒测试)等方法,挖掘出目标系统中存在的可被利用的安全漏洞。
- 渗透代码开发与测试:在安全漏洞挖掘的同时,黑客们会开发概念验证性的渗透攻击代码(POC) ,用于验证找到的安全漏洞是否确实存在,并确认其是否可被利用。
- 安全漏洞和渗透代码限于封闭团队:在发现安全漏洞并给出渗透攻击代码后,“白帽子” 采用的处理策略是首先通知厂商进行修补,而在厂商给出补丁后再进行公布;而“黑帽子”一般在封闭小规模团队中进行秘密地共享,以充分利用这些安全漏洞和渗透攻击代码所带来的攻击价值。
- 安全漏洞和渗透代码开始扩散:由于各种原因,在封闭团队中秘密共享的安全漏洞和渗透代码最终会被披露出来,在互联网上得以公布,“黑帽子”会快速对其进行掌握和应用,并在安全社区中开始快速扩散。
- 恶意程序出现并开始传播: " 黑帽子”们将在掌握安全漏洞和渗透代码基础上,进一步开发更易使用、更具自动化传播能力的恶意程序,并通过黑客社区组织结构和互联网进行传播。在此过程中,厂商完成补丁程序开发和测试,并进行发布。
- 恶意程序大规模传播并危害互联网:厂商发布补丁程序和安全预警将更进一步的让整个黑客社区了解出现新的安全漏洞和相应的渗透代码、恶意程序,更多的“黑帽子”们将从互联网或社区关系网获得并使用这些恶意程序,对互联网的危害也达到顶峰。
- 渗透攻击代码、攻击工具、恶意程序逐渐消亡:在厂商补丁程序、安全公司提供的检测和移除机制得到广泛应用后,相应的渗透代
|