堆栈攻击——八层网络安全防御
分類: 图书,计算机/网络,信息安全,
作者: (美)格雷格(Gregg,M.)等著;陈师译
出 版 社: 人民邮电出版社
出版时间: 2008-11-1字数: 483000版次: 1页数: 344印刷时间: 2008/11/01开本: 16开印次: 1纸张: 胶版纸I S B N : 9787115186676包装: 平装编辑推荐
很多人听到“Hack”一词,首先联想到的就是某种充满恶意的活动。诚然,不可避免有些Hack行为是恶意的,然而很多则不是。这些非恶意的Hack行为是为了更深层次地探究可编程系统的细节及其真实的工作原理。这些探究行为通常由那些想要了解系统每时每刻工作细节的人发起,目的是为了将系统的能力拓宽到其本身原始设计目标之外的领域。本书正是为那些寻求更好地理解TCP/IP系统并渴望获得关于该系统工作原理更深层次知识的人而作。凭借这些知识。安全专家能够让网络更加安全。
内容简介
本书利用著名的开放系统互连(OSI)协议堆栈模型,以独特而新颖的观点看待网络安全,将这一综合性的大课题细分到了OSI模型中的每个独立层次当中。作者从分析网络每一层的漏洞出发,假想攻击这些漏洞的各种可能性,在此基础上讨论各个网络层次的安全防御手段。
在讨论了所有的技术环节之后,作者并没有忘记“人”对于网络安全因素的影响,因此在OSI七层模型的基础上扩展了“人工层”。人的行为不像机器那样具有一致性,这增加了防御的难度,然而作者还是根据多年的行业经验为人工层的防御工作指明了方向。
本书的作者都是具有多年行业实践经验的工程专家,他们的背景决定了本书的两大特点:严谨性和实践性。作者的知识层面决定了本书更像是一本具有实践指导作用的工具书籍。本书可谓是网络安全专家以及网络安全行业从业人员的良师益友,而书中提出的类似“安全深度”等思维模式和方法论,值得所有系统工程师借鉴。
目录
第1章扩展OSI体系到网络安全领域
1.1简介
1.2阅读指南
1.2.1行业工具
1.2.2本书的结构
1.3常见的堆栈攻击
1.3.1人工层
1.3.2应用层
1.3.3会话层
1.3.4传输层
1.3.5网络层
1.3.6数据链路层
1.3.7物理层
1.4将OSI模型映射到TCP/IP模型
1.5IT安全领域的当前状况
1.5.1物理安全
1.5.2通信安全
1.5.3信令安全
1.5.4计算机安全
1.5.5网络安全
1.5.6信息安全
1.6使用书中的信息
1.6.1漏洞测试
1.6.2安全性测试
1.6.3查找并报告漏洞
1.7小结
1.8总结性回顾
1.9FAQ
第2章第一层:物理层
2.1简介
2.2保护物理层
2.2.1设计安全
2.2.2外围安全
2.2.3建筑设施安全
2.2.4设备安全
2.2.5通信安全
2.3攻击物理层
2.3.1偷窃数据
2.3.2撬锁
2.3.3线路盗窃
2.3.4扫描和嗅探
2.3.5硬件攻击
2.4物理层安全工程
2.5小结
2.6总结性回顾
2.7FAQ
第3章第二层:数据链路层
3.1简介
3.2以太网和数据链路层
3.2.1以太网数据帧结构
3.2.2理解MAC寻址
3.2.3理解以太类别
3.3理解PPP和SLIP
3.3.1串行线路网际协议
3.3.2点对点协议
3.4使用协议分析器
3.4.1编写伯克利数据包过滤器
3.4.2检测实时数据流量
3.4.3数据流量过滤,第二部分
3.5地址解析协议的工作原理
3.6攻击数据链路层
3.6.1被动嗅探与主动嗅探
3.6.2ARP毒化
3.6.3ARP洪泛
3.6.4路由游戏
3.6.5嗅探无线网络
3.6.6无线网络的受攻击点
3.7保护数据链路层
3.8抵御嗅探器的安全措施
3.8.1使用加密措施
3.8.2安全套接字层
3.8.3非常保密机制和安全/多用途网际邮件扩展协议
3.8.4交换技术
3.9应用侦测技术
3.9.1本地侦测
3.9.2网络侦测
3.10数据链路层安全工程
3.11小结
3.12总结性回顾
3.13FAQ
第4章第三层:网络层
4.1简介
4.2IP数据包结构
4.2.1鉴别IP的版本
4.2.2服务类别
4.2.3总长度
4.2.4数据报身份识别码
4.2.5分组
4.2.6生命周期
4.2.7协议字段
4.2.8检测码
4.2.9IP地址
4.2.10IP选项字段
4.3ICMP数据包结构
4.3.1ICMP基础知识
4.3.2ICMP消息类别以及格式
4.3.3常见的ICMP消息
4.4攻击网络层
4.4.1IP攻击
4.4.2ICMP攻击
4.4.3路由器和路由攻击
4.5保护网络层
4.5.1 加强IP的安全性
4.5.2加强ICMP的安全性
4.5.3加强路由器和路由协议的安全性
4.6网络层安全工程
4.6.1Ptunnel
4.6.2ACKCMD
4.7小结
4.8总结性回顾
4.9FAQ
第5章第四层:传输层
5.1简介
5.2面向连接协议与无连接协议
5.2.1面向连接协议
5.2.2无连接协议
5.2.3为什么会同时具有这两种协议
5.3位于传输层的协议
5.3.1UDP
5.3.2TCP
5.3.3TCP会话的开始和结束
5.4骇客的视角
5.5扫描网络
5.5.1端口扫描概述
5.5.2TCP扫描的各种花样
5.5.3Nmap基础
5.6操作系统指纹识别
5.6.1操作系统探测的工作过程
5.6.2Xprobe 2
5.6.3使用Nmap进行操作系统指纹识别
5.7侦测对网络的扫描
5.7.1Snort的规则
5.7.2Snort用户接口——基本分析和安全引擎
5.8保护传输层
5.8.1SSL协议的工作过程
5.8.2SSL在网络中的表现形式
5.8.3SSL/TLS总结
5.9传输层工程——建立Snort系统
5.9.1开始旅程
5.9.2安装Fedora Core 4
5.9.3安装支持软件
5.10小结
5.11总结性回顾
5.12FAQ
第6章第五层:会话层
6.1简介
6.2攻击会话层
6.2.1观察SYN攻击
6.2.2会话劫持
6.2.3嗅探会话建立过程
6.2.4认证
6.2.5观察RST攻击
6.2.6在会话层挫败Snort系统
6.3保护会话层
6.3.1减轻DoS攻击
6.3.2防止会话劫持
6.3.3选择认证协议
6.3.4抵御RST攻击
6.3.5侦测会话层的攻击
6.3.6端口敲击
6.4会话层安全工程
6.5小结
6.6总结性回顾
6.7FAQ
第7章第六层:表示层
7.1简介
7.2NetBIOS和SMB的结构
7.3攻击表示层
7.3.1NetBIOS和枚举
7.3.2嗅探加密数据流
7.4保护表示层
7.4.1加密
7.4.2IPSec的角色
7.4.3保护电子邮件
7.4.4加强NetBIOS保护
7.5表示层安全工程
7.6小结
7.7总结性回顾
7.8FAQ
7.9参考文献
第8章第七层:应用层
8.1简介
8.2FTP的结构
8.2.1FTP概述
8.2.2FTP实例
8.2.3FTP安全问题
8.3分析域名系统及其弱点
8.3.1域名消息格式
8.3.2DNS查询过程
8.3.3DNS层次
8.3.4缓存
8.3.5分区和分区传输
8.3.6DNS工具
8.3.7DNS安全问题
8.4其他非安全的应用层协议
8.4.1简单邮件传输协议
8.4.2Telnet
8.4.3其他协议
8.5攻击应用层
8.5.1攻击Web应用程序
8.5.2攻击DNS
8.5.3缓存溢出
8.5.4逆向工程代码
8.5.5应用攻击平台
8.6保护应用层
8.6.1SSH
8.6.2非常保密机制
8.6.3安全化软件
8.6.4加固系统
8.6.5漏洞扫描器
8.7Nessus
8.8应用层安全工程:使用Nessus来安全化堆栈
8.9小结
8.10总结性回顾
8.11FAQ
第9章第八层:人工层
9.1简介
9.2攻击人工层
9.2.1社会工程
9.2.2盗用电话线路
9.2.3万维网、电子邮件以及即时消息
9.3保护人工层
9.3.1政策、流程以及指导方针
9.3.2人对人认证
9.3.3数据分类和处理
9.3.4教育、培训以及意识规划
9.3.5测试
9.3.6监控和执行
9.3.7定期更新评测和控制
9.3.8法规要求
9.4如何加强安全性
9.5人工层安全工程
9.6小结
9.7总结性回顾
9.8FAQ
附录A降低风险:加强协议栈的安全性
A.1简介
A.2物理层
A.3数据链路层
A.4网络层
A.5传输层
A.6会话层
A.7表示层
A.8应用层
A.9人工层
A.10小结
书摘插图
第1章扩展OSI体系到网络安全领域
1.1 简介
“温故而知新”,本章的目的就是以一种全新的方式将著名的OSI模型应用到当前的安全性话题。后续章节分别侧重于OSI模型的每一个层次,本章则为全书的内容提供一个全局视点。
1.2 阅读指南
本书汇集了安全专家在日常工作中经常要考虑和关注的各种安全性问题。我们将仔细解读一些常见的攻击模式并分析它们是如何成功的。很多攻击之所以能够成功,是因为协议设计较差,而其他的则是程序设计低劣以及编码时缺乏长远考虑所导致。最后将讨论一些用于定位和分析漏洞的非常有用的工具,这些工具被一次又一次地反复使用。
1.2.1行业工具
接下来将讨论的协议分析器和入侵检测系统(IDSes)是贯穿本书的两个主要工具。
1.协议分析器
协议分析器(或嗅探器)是一种非常强大的程序,通过将系统的网卡设置为混杂模式,以接受来自其所处的网络冲突域的所有数据。当网络中使用传统集线器(Hub)时通常执行被动嗅探。Hub的使用让数据流向所有端口,这样安全专家或攻击者所要做的就是开启嗅探器,并等着接收同一冲突域内用户所传送的数据。冲突域是一个网络共享的网络片段,但却没有被桥接或交换连接,数据包之间相互冲突是由于所有用户共享同一个带宽导致的。
在交换网络中执行的嗅探叫做主动嗅探,由于它交换来自各个网络片段的数据,因此能够准确知道数据流入的端口。当然这样就增加了对性能的要求。如果试图嗅探所有的交换端口,还可能导致网络堵塞,克服这一缺陷的一个方法是让交换机为每个端口配置一个镜像端口。当然攻击者是没有能力这样做的,因此他们绕过交换功能的最好的机会是毒化和洪泛(这两个概念将在接下来的章节中讨论)。
嗅探器工作于OSI模型的数据链路层,这意味着它无需遵循处于堆栈上层的应用程序和服务所要遵循的特定规则。嗅探器能够抓住并保存所有来自电缆上的信息,以便以后分析使用,他们使得用户可以看见所有包含于数据包中的信息。虽然嗅探器对于攻击者来说也是一件非常有效的工具,然而,随着人们越来越多地使用加密技术,它们的效果也大大降低了。
……