关于我们
书单推荐
新书推荐
|
网络攻防原理及应用
本书内容主要从三个方面来进行组织: 1、从信息网络攻防的角度, 分析了当前网络与信息安全所面临问题, 总结了网络攻防现状、攻防模型及信息安全漏洞的相关标准; 2、立足于“知己知彼, 百战不贻”的原则, 深入论述各种网络攻防技术的机理、方法及案例; 3、最后从系统与网络安全防范的角度, 对目前常见的信息网络攻击防范技术进行了原理分析, 并给出相关的应用场景。
1. 详细介绍主流操作系统Windows 7、Windows 8及Windows 10的安全防护机制。
2. 详细介绍缓冲区溢出导致的漏洞和针对缓冲区溢出的内存保护机制。
3. 编者建有网站www.pku-exploit.com(北京大学软件安全小组),不定期发布*新技术文章。
近年来,随着互联网络技术的飞速发展,互联网使用者不约而同地将注意力转向网络安全领域。用户在选择互联网服务时将商家是否能提供稳定安全的服务纳入考虑范畴,商家通过向客户提供安全的服务来吸引用户。从政府角度而言,网络空间安全已上升到国家安全层面,政府通过立法的手段来保障网络空间安全。为提升国内网络空间安全,需要大量从业人员加入到安全行业中。
如今市场上有大量关于网络攻防方面的书籍,其中不乏经典之作,笔者在阅读这些书籍的过程中收获良多。本书以介绍网络攻防技术为主,涵盖了网络攻防中常用的方法,通过介绍网络攻击和网络防范两个角度的技术,帮助读者较为全面地认知网络攻防的本质。笔者结合自身研究内容和教学经历,整理编写此书,希望能为读者提供不同的角度来认识网络攻防的世界。本书对缓冲区溢出导致的漏洞和针对缓冲区溢出的内存保护机制进行了详细的介绍,希望能为漏洞分析、漏洞挖掘、恶意代码研究方向的读者提供具有参考价值的实例。
内容及特色
第一部分网络攻防基础
这一部分帮助读者建立良好的理论基础,以便读者阅读后文内容。在实际的攻防场景中,对网络安全现状、攻击原理、漏洞标准的了解并不是必需的,但这些理论知识有助于提升读者对于网络攻防的整体认知,帮助读者在后续的学习过程中从根本上理解技术点的应用范围和适用场景。
第1章分析了当代网络安全现状,介绍了信息安全领域的问题和发展趋势。读者通过阅读本章可对信息安全领域的网络攻防方向有整体的认知。
第2章详细介绍了网络攻击过程以及网络攻防模型。深入理解本部分内容有助于读者建立学习网络攻防技术的知识框架,帮助读者在阅读后文的过程中将细节知识点纳入整体知识框架中,加深读者对知识点的记忆和理解。
第3章介绍了漏洞标准以及漏洞分析方法。漏洞是攻击者和防护者在较量过程中关注的焦点。本部分除了介绍通用的漏洞标准,还详细介绍了漏洞分析技术、漏洞挖掘技术、漏洞利用技术。希望有意愿深入学习网络攻防知识的读者对本章进行深入学习,并按照本章介绍动手实践。
第二部分网络攻击技术原理与防范
这一部分介绍在网络攻防世界中攻击者常使用的攻击技术。网络上已存在许多功能完备、可供读者使用的攻击工具,直接使用攻击工具有助于读者快速入门网络攻防领域,因此在本部分的每个章节中都会介绍相应的攻击工具。为防止读者陷入“通过使用工具就可以实施网络攻击”的误区,在每一章节中还会对实施攻击行为的原理进行深入的分析,可以让读者了解到实现攻击工具的内部底层原理。本部分的内容建立在读者对于计算机网络技术有一定认知的基础上。本部分中每个章节的内容相对独立,读者可选择感兴趣的章节阅读。
第4章介绍了网络攻击扫描技术,在网络攻击场景中,搜集攻击目标信息是实施攻击行为的重要环节之一。读者通过阅读本章节可以掌握攻击者搜集信息的方法、过程以及途径。
第5章详细介绍了恶意代码的原理、传播、实现,恶意代码的关键性技术以及分析恶意代码技术的方法体系。本章部分涉及对各类恶意代码实现技术细节的分析,仅适合于对计算机体系有一定理解的读者阅读。
第6章主要介绍了攻击者针对用户口令的攻击方式,并以实际场景中的服务和软件为例列举了几种常见的口令破解工具。口令攻击的实现原理相对容易被读者理解,没有计算机基础的读者也可以阅读本章内容。
第7章阐述了各类网络欺骗攻击,欺骗攻击的实施难度不高,但产生的负面影响大。理解本章内容需要读者对计算机网络有一定的了解,通过本章的学习读者可以采取技术手段绕过攻击者的欺骗攻击。
第8章主要介绍了缓冲区溢出攻击的原理,列举出针对不同操作系统的典型缓冲区溢出攻击实例,并向读者推荐了几类防范缓冲区溢出攻击的方法。读者可以在阅读过程中实践构造相应的缓冲区溢出代码,这有助于读者深入理解缓冲区溢出的原理,加强读者对于程序运行时系统底层实现的理解。
第9章介绍了几类典型的拒绝服务攻击,并分析了其实现原理。拒绝服务攻击是攻击者常使用的网络攻击手段之一,本章内容适合对网络协议有一定了解的读者学习。
第10章介绍了SQL注入攻击的原理、注入策略、防范方法等。本章适合对SQL语言有一定了解的读者学习,也适合于服务器端的开发人员阅读,用于增强服务器端的数据安全。建议在阅读过程中配合实践,以便在实际环境中了解如何实施SQL注入攻击。
第三部分网络攻击防范技术及应用
这一部分介绍对抗网络攻击技术的防范技术。信息安全领域中攻击和防范的联系是矛与盾的关系,通过不断的攻防对抗来提升攻防技术。在本书的第二部分介绍了大量的网络攻击技术,而本部分则着重介绍对抗网络攻击的防范措施,帮助读者了解安全从业人员通过哪些具体的策略实现对系统的保护,进而对抗外界的攻击。
第11章主要介绍了Windows操作系统安全。相较于Linux操作系统,Windows操作系统的安全增强功能封装性更强,加之Windows不是开源的操作系统,用户基于Windows进行自主开发的空间较小,因此本章主要介绍了Windows系统已经提供的安全防范功能,普通的Windows用户也可通过本章的阅读对自己所使用的Windows系统进行安全增强。
第12章介绍了Linux操作系统的安全防护体系。以操作系统对于文件权限管理、用户认证、恶意代码查杀、协议安全等几个方面的安全加强措施作为切入点,帮助读者了解在对系统进行防范功能增强时,应当从哪些方面实施。本章适合对于Linux操作系统有一定了解的读者进行阅读。
第13章主要介绍了防火墙的原理及应用。随着硬件设备互联度的增强,设备间边界逐渐模糊,通过划分区域对设备进行安全隔离的技术已逐渐退出大众视野,但防火墙技术作为一种高级的访问控制设备对区域内设备和网络的保护起到了不容忽视的作用。读者通过阅读本章可以了解防火墙技术的实现部署细节,可以将其设计思路延续到其他场景的安全防护中。
第14章主要介绍了入侵检测的原理及应用。通过本章的学习,读者可以了解到攻击者在绕过防火墙的防范后,如何通过检测系统内动态的信息来发现攻击行为。入侵检测技术的实现原理在当今互联的设备中依旧可以延续使用,达到保护系统整体安全的目的。
第15章主要介绍了数据安全及应用。数据安全是系统防护的最后保障,保证用户在受到攻击后可以快速恢复,继续提供服务。为帮助读者理解数据安全实现的本质,本章还介绍几类不同的文件系统结构和数据恢复的基本原理。
第四部分新型网络攻击防范技术探索
这一部分介绍了新型的漏洞分析技术,对新型操作系统的安全机制进行分析。本部分内容翔实,涉及计算机底层知识,需要读者在对计算机技术有较为深入理解的基础上再进行阅读。本部分需要实践操作的内容较多,所以在阅读本部分内容时,建议读者根据书中的指导进行手动调试,更有助于增强理解。
第16章介绍了新型的漏洞分析技术,为了方便读者理解,对应不同漏洞分析方法配合了相关的实例分析。本章的漏洞分析以MS11-010漏洞为例,建议读者在了解MS11-010漏洞原理的基础上进行学习。
第17章介绍了对于Windows 7、Windows 8以及Windows 10系统的内存保护机制。需要读者对系统底层有充分的了解之后再学习内存保护机制的内容,对本章内容理解困难时建议读者结合第8章缓冲区溢出的知识进行理解。
适合的读者
信息安全、网络空间安全专业学生及安全行业入门者
本书囊括许多攻防工具的实际操作和系统底层知识的介绍,有助于初学者了解安全领域涉及的各类知识,帮助初学者快速入门。
安全领域研究人员
本书介绍了一些安全领域的研究方法,可以为安全从业人员进行漏洞分析、漏洞挖掘、恶意代码分析等方面的研究提供一定的帮助。
软件开发人员
安全作为软件开发的质量属性之一,是开发人员在设计实现软件时必须考虑的重要因素之一。通过阅读本书可以帮助开发者了解如何通过编码加强软件的安全性。
配套资源与支持
在本书交稿之后,笔者依然担心会因自身语言表达和理解不足误导读者对于知识的领悟。由于笔者的写作水平和写作时间有限,书中存在许多不足之处,因此特开通读者邮箱weipingwen@ss.pku.edu.cn与大家共同交流,如有任何建议和意见欢迎随时与笔者联系。
本书的配套PPT课件等资源可以下载,关于本书的使用及课件下载中的问题。
本书的勘误将不定期发布(北京大学软件安全小组)网站,该网站持续发布关于漏洞评测等专业文章,欢迎读者访问。
致谢
感谢本书编辑付弘宇老师。在编写本书期间,她提出了许多建议,由于她细心付出才使得本书得以顺利出版。感谢我的家人对我一直以来的支持和理解,是他们给了我继续学习的动力。感谢北京大学软件安全小组所有成员为本书初期工作付出的努力。感谢我的师兄蒋建春老师对我的支持,希望我们能继续保持在专业领域的切磋和交流。感谢那些不断在安全领域进行探索的组织和个人,没有他们的奉献,笔者无法在安全领域进行深入的研究。
作者2017年5月
第一部分网络攻防基础
第1章网络安全现状、问题及其发展
1.1网络安全现状
1.1.1当代网络信息战关注焦点
1.1.2当代网络攻击的特点
1.1.3网络安全威胁
1.2网络安全发展
1.2.1网络安全发展趋势
1.2.2黑客发展史
1.3信息安全问题
1.3.1安全管理问题分析
1.3.2信息技术环境问题分析
1.3.3信息化建设问题分析
1.3.4人员的安全培训和管理问题分析
1.4信息安全观发展
1.5本章小结
习题1
第2章网络攻击过程及攻防模型
2.1典型网络攻击过程
2.1.1网络攻击阶段
2.1.2网络攻击流程
2.2网络攻击模型
2.3网络防护模型
2.4本章小结
习题2
第3章系统漏洞分析及相关标准
3.1概述
3.1.1系统漏洞相关概念
3.1.2系统漏洞分析研究现状
3.1.3漏洞标准
3.2漏洞分析技术
3.2.1漏洞分析技术模型
3.2.2信息收集
3.2.3调试分析
3.2.4利用分析
3.2.5漏洞分析实践方法
3.3漏洞利用
3.3.1漏洞研究流程
3.3.2漏洞利用技术
3.4漏洞分析方向
3.4.1软件漏洞
3.4.2通信协议漏洞
3.4.3操作系统典型漏洞
3.4.4应用服务典型漏洞
3.4.5网络安全保障系统漏洞
3.4.6信息系统漏洞
3.5漏洞利用实例
3.5.1浏览器漏洞利用
3.5.2Office漏洞利用
3.6本章小结
习题3
第二部分网络攻击技术原理与防范
第4章网络攻击扫描原理与防范
4.1概述
4.1.1目标扫描理念
4.1.2目标扫描过程
4.1.3目标扫描类型
4.1.4目标扫描途径
4.2确定攻击目标方法与工具
4.3主机扫描技术
4.4端口扫描技术
4.4.1端口扫描原理与类型
4.4.2开放扫描
4.4.3隐蔽扫描
4.4.4半开放扫描
4.4.5端口扫描工具
4.5漏洞扫描技术
4.6操作系统类型信息获取方法与工具
4.7防范攻击信息收集方法与工具
4.8反扫描技术
4.9本章小结
习题4
第5章恶意代码攻击机理分析
5.1恶意代码概述
5.1.1恶意代码的定义
5.1.2恶意代码的危害
5.1.3恶意代码存在原因
5.1.4恶意代码传播与发作
5.1.5恶意代码攻击模型
5.2恶意代码生存技术
5.3恶意代码攻击技术
5.4恶意代码的分析技术方法
5.4.1恶意代码分析技术方法概况
5.4.2静态分析技术方法
5.4.3动态分析技术方法
5.4.4两种分析技术比较
5.5典型恶意代码攻击与防范
5.5.1典型计算机病毒攻击与防范
5.5.2典型网络蠕虫攻击与防范
5.5.3典型特洛伊木马攻击与防范
5.5.4典型Rootkit攻击与防范
5.6本章小结
习题5
第6章口令攻击
6.1常用的口令攻击技术
6.1.1口令安全分析
6.1.2口令攻击方法
6.1.3口令字典构造
6.1.4网络口令破解
6.1.5口令嗅探器
6.2UNIX系统口令攻击
6.3口令攻击案例
6.4口令攻击防范技术与方法
6.5本章小结
习题6
第7章欺骗攻击
7.1IP欺骗攻击
7.1.1IP欺骗攻击的概念
7.1.2IP欺骗攻击的原理
7.1.3IP欺骗攻击的实现过程
7.1.4IP欺骗对抗
7.2会话劫持攻击
7.2.1会话劫持攻击的概念
7.2.2TCP会话劫持
7.2.3HTTP会话劫持
7.3DNS欺骗攻击
7.3.1DNS欺骗攻击的概念
7.3.2DNS欺骗攻击的原理
7.3.3DNS欺骗攻击的实现过程
7.4网络钓鱼攻击
7.4.1网络钓鱼攻击的概念
7.4.2URL混淆
7.4.3网络钓鱼攻击的防范
7.5本章小结
习题7
第8章缓冲区溢出攻击与防范
8.1缓冲区溢出攻击的相关概念与发展历程
8.1.1缓冲区溢出攻击的相关概念
8.1.2缓冲区溢出攻击类型
8.1.3缓冲区溢出攻击的发展历史
8.1.4缓冲区溢出的危害
8.2缓冲区溢出攻击技术原理剖析
8.2.1堆栈溢出攻击技术
8.2.2堆溢出攻击技术
8.2.3整型溢出攻击技术
8.2.4格式化字符串溢出攻击技术
8.2.5单字节溢出攻击技术
8.3溢出保护技术
8.4缓冲区溢出攻击典型实例
8.4.1缓冲区攻击实例For Windows
8.4.2缓冲区攻击实例For UNIX
8.4.3缓冲区攻击实例For Linux
8.4.4缓冲区攻击实例For Sun Solaris 2.4
8.5Windows操作系统缓冲区溢出攻击防范技术
8.5.1Windows下实现缓冲区溢出的必要条件
8.5.2Win32函数调用与Windows下缓冲区溢出攻击的关系
8.5.3Win32函数截获和检测基本策略实现
8.6其他缓冲区溢出攻击防范技术
8.7本章小结
习题8
第9章拒绝服务攻击与防范
9.1拒绝服务攻击概述
9.1.1拒绝服务攻击的概念
9.1.2攻击者动机
9.2DDoS攻击的典型过程
9.3拒绝服务攻击技术及分类
9.4拒绝服务攻击的防范
9.4.1拒绝服务攻击的防御
9.4.2拒绝服务攻击的检测
9.4.3拒绝服务攻击的追踪
9.5拒绝服务攻击的发展趋势
9.5.1攻击程序的安装
9.5.2攻击程序的利用
9.5.3攻击的影响
9.6本章小结
习题9
第10章SQL注入攻击与防范
10.1SQL注入攻击背景、危害与原理
10.1.1SQL注入攻击背景
10.1.2SQL注入攻击危害
10.1.3SQL注入攻击原理
10.1.4SQL注入攻击场景
10.2SQL注入技术方法与工具
10.2.1SQL注入技术
10.2.2SQL注入攻击过程
10.2.3SQL注入方法类型
10.2.4SQL注入攻击软件
10.3SQL注入攻击防范技术方法
10.4实战案例——利用SQL注入获取管理员口令
10.5本章小结
习题10
第三部分网络攻击防范技术及应用
第11章Windows系统安全
11.1Windows安全框架
11.2用户账户安全
11.3文件系统安全
11.4网络服务安全
11.5本章小结
习题11
第12章Linux系统安全
12.1Linux安全框架
12.2LSM
12.2.1LSM简介
12.2.2LSM设计思想
12.2.3LSM接口说明
12.3SELinux体系
12.3.1Linux与SELinux的区别
12.3.2Flask安全框架
12.3.3SELinux安全功能
12.4文件权限管理
12.5PAM用户认证机制
12.6杀毒应用程序
12.7Linux网络传输协议安全
12.8本章小结
习题12
第13章防火墙技术原理及应用
13.1防火墙工作机制与用途
13.1.1防火墙的概念
13.1.2防火墙的原理
13.2防火墙核心技术与分类
13.3防火墙防御体系结构类型
13.3.1基于双宿主主机的防火墙结构
13.3.2基于代理型的防火墙结构
13.3.3基于屏蔽子网的防火墙结构
13.4防火墙主要技术参数
13.5防火墙产品类型、局限性与发展
13.5.1防火墙产品分类
13.5.2开源代码防火墙
13.5.3防火墙的局限性
13.6防火墙部署过程与典型应用模式
13.6.1防火墙部署的基本方法与步骤
13.6.2防火墙典型部署模式
13.7本章小结
习题13
第14章入侵检测的原理及应用
14.1入侵检测概述
14.1.1入侵检测技术背景
14.1.2入侵检测技术模型
14.1.3入侵检测技术的现状及发展
14.2入侵检测技术
14.2.1基于误用的入侵检测技术
14.2.2基于异常的入侵检测技术
14.3入侵检测系统的结构与分类
14.4常见的入侵检测系统及评估
14.4.1入侵检测系统设计
14.4.2入侵检测系统评估
14.4.3入侵检测系统介绍
14.5本章小结
习题14
第15章数据安全及应用
15.1数据安全基础
15.1.1数据存储技术
15.1.2数据恢复技术
15.2FAT文件系统
15.2.1硬盘区域的组织
15.2.2根目录下文件的管理
15.2.3子目录的管理
15.2.4文件的删除
15.2.5子目录的删除
15.2.6分区快速高级格式化
15.2.7分区完全高级格式化
15.3NTFS文件系统
15.3.1NTFS文件系统基础
15.3.2NTFS文件系统的层次模型
15.3.3NTFS文件系统的特性分析
15.3.4Windows NT 4.0的磁盘分区
15.3.5Windows 2000后的磁盘分区
15.3.6NTFS文件系统结构分析
15.3.7NTFS的性能
15.4数据恢复
15.4.1数据恢复的定义
15.4.2数据恢复的原理
15.4.3主引导记录的恢复
15.4.4分区的恢复
15.4.50磁道损坏的修复
15.4.6硬盘逻辑锁的处理
15.4.7磁盘坏道的处理
15.4.8DBR的恢复
15.4.9FAT表的恢复
15.4.10数据的恢复
15.5文档修复
15.5.1文档修复的定义
15.5.2Windows常见文档类型
15.5.3办公文档修复
15.5.4影音文档修复
15.5.5压缩文档修复
15.5.6文档修复的局限
15.6数据安全与数据备份
15.6.1文件文档保护
15.6.2数据删除安全
15.6.3数据备份的定义
15.6.4数据备份方案比较
15.6.5系统数据的备份方法
15.6.6用户数据的备份方法
15.6.7数据备份注意事项
15.7本章小结
习题15
第四部分新型网络攻击防范技术探索
第16章新型漏洞分析
16.1参考安全补丁的漏洞分析技术
16.1.1参考安全补丁的漏洞分析方法实现原理
16.1.2参考安全补丁的漏洞分析方法形式化描述
16.1.3参考安全补丁的漏洞分析方法实例分析
16.2系统内核函数无序调用漏洞分析技术
16.3本章小结
习题16
第17章新型操作系统内存安全机制分析
17.1Windows 7的内存保护机制
17.1.1GS保护机制分析
17.1.2SafeSEH及SEHOP分析
17.1.3DEP机制分析
17.1.4ASLR分析
17.2Windows 8的内存保护机制
17.3Windows 7内存保护机制脆弱性分析
17.4Windows 8传统内存保护机制脆弱性分析
17.5Windows 7内存保护机制测试案例
17.5.1GS保护脆弱性测试
17.5.2SafeSEH和SEHOP脆弱性测试
17.5.3ASLR脆弱性测试
17.5.4DEP脆弱性测试
17.6Windows 8内存保护机制测试案例
17.6.1GS保护脆弱性测试
17.6.2SafeSEH及SEHOP测试
17.6.3DEP测试
17.6.4ASLR测试
17.7Windows 10安全保护新特性
17.7.1CFG控制流防护机制
17.7.2字体防护增强
17.8本章小结
习题17
参考文献
第5章恶意代码攻击机理分析第5章恶意代码攻击机理分析
5.1恶意代码概述5.1.1恶意代码的定义计算机病毒是早期主要形式的恶意代码。在20世纪80年代,计算机病毒诞生,它是早期恶意代码的主要内容,由Adleman命名、Cohen设计出的一种在运行过程中具有复制自身功能的破坏性程序。在这之后,病毒被Adleman定义为一个具有相同性质的程序集合,只要程序具有破坏、传染或模仿的特点,就可认为是计算机病毒。这种定义使得病毒内涵被赋予了扩大化的倾向,将任意带有破坏性的程序都认为是病毒,掩盖了病毒潜伏、传染等其他重要特征。20世纪90年代末,随着计算机网络技术的发展进步,恶意代码(Malicious Code)的定义也被逐渐扩充并丰富起来,恶意代码被Grimes定义为从一台计算机系统到另外一台计算机系统未经授权认证,经过存储介质和网络进行传播的破坏计算机系统完整性的程序或代码。计算机病毒(Computer Virus)、蠕虫(Worms)、特洛伊木马(Trojan Horse)、逻辑炸弹(Logic Bombs)、病菌(Bacteria)、用户级RootKit、核心级RootKit、脚本恶意代码(Malicious Scripts)和恶意Active X控件等都属于恶意代码。
因此可以总结出恶意代码两个显著的特点: 非授权性和破坏性。表51列举了恶意代码的几个主要类型及关于其自身的定义说明和特点。
5.1.2恶意代码的危害
恶意代码问题不但造成了企业和众多用户巨大的经济损失,还对国家的安全产生了严重的威胁。目前国际上一些发达国家都投入大量资金和人力对恶意代码领域的问题进行了长期深度的研究,同时在某种程度上取得了显著的技术成果。1991年的海湾战争,据报道,伊拉克从国外购买的打印机被美国植入了可远程控制的恶意代码,这使得战争还没打响之前就造成了伊拉克整个计算机网络管理的雷达预警系统全部瘫痪。这是美国第一次公开在表51主要恶意代码的相关定义恶意代码类型相关定义说明特点计算机病毒指编制或在计算机程序中插入的破坏计算机功能或毁坏数据、影响计算机使用,并能自我复制的一组计算机指令或程序代码潜伏、传染和破坏计算机蠕虫指通过网络自我复制、消耗系统和网络资源的程序扫描、攻击和扩散特洛伊木马指一种与连接远程计算机通过网络控制本地计算机的程序欺骗、隐蔽和信息窃取逻辑炸弹指一段嵌入计算机系统程序的、通过特殊的数据或时间作为条件完成破坏功能的程序潜伏和破坏病菌指不依赖于系统软件自我复制和传播,以消耗系统资源为目的的程序传染和拒绝服务用户级RootKit指通过替代或修改被执行的程序进入系统,从而实现隐藏和创建后门的程序隐蔽、潜伏核心级RootKit指嵌入操作系统内核进行隐藏和创建后门的程序隐蔽、潜伏
实战中利用恶意代码攻击技术获得的重大军事利益。在Internet安全事件中,由恶意代码造成的经济损失居第一位。
5.1.3恶意代码存在原因
计算机技术飞速发展的同时并未使系统的安全性得到增强。计算机技术的进步带来的安全增强能力最多只能对由应用环境的复杂性带来的安全威胁的增长程度进行一定的弥补。除此之外,计算机新技术的出现或许会让计算机系统的安全性降低。AT&T实验室的S. Bellovin曾经对美国CERT提供的安全报告进行过分析,分析结果表明,大约50%的计算机网络安全问题是由软件工程中产生的安全缺陷引起的,其中,很多问题的根源都来自操作系统的安全脆弱性。
互联网的飞速发展成为恶意代码广泛传播成长的温室。互联网自身的开放性,缺乏中心控制性和全局视图能力的特点,使得网络主机处在一个受不到统一保护的环境中。Bellovin等认为计算机和网络系统自身存在的设计缺陷,会导致安全隐患的发生。
针对性是恶意代码的主要特征之一,即特定的脆弱点的针对性,这充分说明了恶意代码实现其恶意目的正是建立在软件的脆弱性基础上的。历史上产生广泛影响的1988年Morris蠕虫事件,入侵的最初突破点就是利用的邮件系统的脆弱性。
虽然人们做了诸多努力来保证系统和网络基础设施的安全,但令人遗憾的是,系统的脆弱性仍然无法避免。各种安全措施只能减少,但不能杜绝系统的脆弱性; 而测试手段也只能证明系统存在脆弱性,却无法证明系统不存在脆弱性。更何况,为了实际需求的满足,信息系统规模的逐渐扩大,会使安全脆弱性的问题越来越明显。随着逐步发现这些脆弱性,针对这些脆弱性的新的恶意代码将会层出不穷。
总体来讲,许多不可避免的安全问题和安全脆弱性存在于信息系统的各个层次结构中,包括从底层的操作系统到上层的网络应用在内的各个层次。这些安全脆弱性的不可避免,也是恶意代码必然存在的原因。
5.1.4恶意代码传播与发作
如今的信息社会,信息共享是大势所趋,而恶意代码入侵最常见的途径则是信息共享引起的信息流动。恶意代码的入侵途径各种各样,如从Internet上下载的程序自身也许就带有恶意代码、接收已经感染恶意代码的电子邮件、从光盘或软盘向系统上安装携带恶意代码的软件、黑客或攻击者故意将恶意代码植入系统等。
通过用户执行该恶意代码或已被恶意感染的可执行代码,从而使得恶意代码得以执行,进而将自身或自身的变体植入其他可执行程序中,就造成了恶意代码感染。被执行的恶意代码在完成自身传播、具有足够的权限并满足某些条件时,就会发作同时进行破坏活动,造成信息丢失或泄密等。
恶意代码的入侵和发作需要在盗用系统或应用进程的合法权限基础上才可以实现。随着Internet开放程度越来越高,信息共享和交流也越来越强,恶意代码编写水平也越来越高,可被恶意代码利用的系统和网络的脆弱性也越来越多,从而使恶意代码越来越具有欺骗性和隐蔽性。重要的是,新的恶意代码总是在恶意代码的检测技术前出现,这也就是由Cohen和Adelman提出的“恶意代码通用检测方法的不可判定性”的结论。首先人们很难将正常代码和恶意代码区别开,其次对许多信息系统没有必要的保护措施。所以,人们经常被恶意代码所蒙蔽,从而在无意中执行了恶意代码。在CERT统计数据中,其中因被欺骗或误用从而发生的恶意代码事件达到所有恶意代码事件的90%。只要某些条件被满足,恶意代码就会发作,甚至大规模传播。
虽然越来越多的恶意代码安全事件通过Internet发生,但是恶意代码却早就已经出现。多年来,攻击者致力于对具有更强攻击能力和生存能力的恶意代码的研究。
5.1.5恶意代码攻击模型
恶意代码行为各不相同,破坏程度也不尽相同,但它们的作用机制基本大致相同,作用过程可大概分为6个部分。
① 侵入系统。恶意代码实现其恶意目的的第一步必然是入侵系统。恶意代码侵入系统有许多途径,如从互联网下载的程序其自身也许就带有恶意代码、接收了已被恶意感染的电子邮件、通过光盘或软盘在系统上安装的软件、攻击者故意植入系统的恶意代码等。
② 维持或提升已有的特权。恶意代码的传播与破坏需要建立在盗用用户或进程的权限合法的基础之上。
③ 隐蔽策略。为了隐蔽已经入侵的恶意代码,可能会对恶意代码进行改名、删除源文件或修改系统的安全策略。
④ 潜伏。恶意代码侵入系统后,在具有足够的权限并满足某些条件时,就会发作同时进行破坏活动。
⑤ 破坏。恶意代码具有破坏性的本质,为的是造成信息丢失、泄密,系统完整性被破坏等。
⑥ 重复①~⑤对新的目标实施攻击过程。恶意代码的攻击模型如图51所示。
图51恶意代码的攻击模型恶意代码的攻击过程可以存在于恶意代码攻击模型中的部分或全部。例如,①④⑤⑥存在于计算机病毒行为,①②⑤⑥存在于网络蠕虫,①②③⑤存在于特洛伊木马,①④⑤存在于逻辑炸弹,①⑤⑥存在于病菌,①②③⑤存在于用户级RootKit,①③⑤存在于核心级RootKit,其他的恶意代码行为也可以映射到模型中的相应部分,其中①和⑤是必不可少的。
5.2恶意代码生存技术
1. 反跟踪技术
恶意代码靠采用反跟踪技术来提高自身的伪装能力和防破译能力,使检测与清除恶意代码的难度大大增加。反跟踪技术大致可以分为两大类: 反动态跟踪技术和反静态分析技术。
1) 反动态跟踪技术
(1) 禁止跟踪中断。恶意代码通过修改程序的入口地址对调试分析工具运行系统的单步中断与断点中断服务程序来实现其反跟踪的目的。
(2) 封锁键盘输入和屏幕显示,使跟踪调试工具运行的必需环境被破坏。
(3) 检测跟踪法。根据检测跟踪调试和正常执行二者的运行环境、中断入口和时间不同,各自采取相应的措施实现其反跟踪目的。
(4) 其他技术,如指令流队列法和逆指令流法等。
2) 反静态分析技术
(1) 对程序代码分块加密执行。为了不让程序代码通过反汇编进行静态分析,将以分块的程序代码以密文形式装入内存,由解密程序在执行时进行译码,立即清除执行完毕后的代码,力求分析者在任何时候都无法从内存中获得执行代码完整形式。
(2) 伪指令法。伪指令法是指将“废指令”插入指令流中,让静态反汇编得不到全部正常的指令,进而不能进行有效的静态分析。例如,Apparition是一种基于编译器变形的Win32平台的病毒,每次新的病毒体可执行代码被编译器编译出时要被插入一定数量的伪指令,不仅使其变形,而且实现了反跟踪的目的。不仅如此,该技术还在宏病毒与脚本恶意代码中应用广泛。
……
你还可能感兴趣
我要评论
|