Rootkit:系统灰色地带的潜伏者 9787111441786 Bill Blunden 机械工业出版社
当天发货,正版,品相一般都没问题。凡是套书,价格异常便宜的,有可能是一本书的价格。
¥
28.8
2.9折
¥
99
八品
仅1件
作者 Bill Blunden
出版社 机械工业出版社
ISBN 9787111441786
出版时间 2013-10
装帧 平装
开本 16开
定价 99元
货号 1763432916958434305
上书时间 2024-12-03
商品详情
品相描述:八品
商品描述
前言 信息技术(IT)的困惑在于一切事物都处于变化之中。这是不可避免的。高新技术领域的事物日新月异,计算机安全领域更是如此。随着攻击者不断发现破坏计算机的新方法,进攻策略随之发展,防御策略也相应地跟着进步。作为一名信息技术领域的专业人士,你会面临一个抉择:要么主动了解你的安全工具存在的固有缺陷;要么在遭受入侵者攻击后,吃到苦头时才发现工具存在的缺点。 在本书中,我充当“黑帽”(即黑帽黑客)这一角色,是希望能够从一个攻击的优势位置观察隐身技术,阐明存在于事件响应领域内的挑战。在这个过程中,我颇费周折地查阅了大量记载糟糕、内容不全和未公开的资料。本书为你快速上手并轻易获取信息提供了机会,而不再需要努力成为triple-fault俱乐部的终身会员。 本书的目的不是让坏人去做坏事,我碰到的恶意软件专业开发人员已经熟练掌握了反取证知识。(你认为还能有谁为本书提供材料和灵感呢?)相反,总结这些破坏性思想的目的在于正当地服务于“好人”。我的目标是不仅能够使调查人员意识到潜在的盲点,而且能够促使软件开发商进步以应对正在兴起的大规模网络安全威胁。这里讨论的是“高级持续性威胁”(Advanced Persistent Threat,APT) 。 APT:低且慢,而非强行夺取 “高级持续性威胁”是美国空军于2006年创造的一个术语。APT代表有组织的入侵者团体进行的一类攻击(通常称为“入侵团伙”),这些团体拥有大量的资金和装备支持。这类特殊的黑帽分子对高价值的设施谨慎地进行有目的性的攻击,他们持续地对有价值的目标发起攻击,直到建立一个稳固的、可运作的据点。国防工业、高技术供应商以及金融机构的人员都是APT的攻击对象。 根据部署的防护措施的差异,如应对定制的0-Day漏洞攻击和伪造证书攻击,APT事件可能会涉及更加复杂的工具。在极端情况下,一个入侵者团伙或许会进一步从物理层面上渗透目标(例如,回应工作公告、贿赂内部人员、假装电信维修人员、直接非法入侵等)以获取设备的访问权。简而言之,这些团伙能够绕过当前的任何障碍来获得授权和资源。 因为APT经常试图在被攻击者的地盘建立长期的据点,所以隐身技术至关重要。与通常强行夺取式的网络入侵而留下明显的二进制踪迹和网络数据包不同,这更接近于白蚁虫害。它更像是一种低且慢的秘密入侵,无形地从一台电脑传播到下一台电脑,低调潜行并不让外人发现任何异常的征兆,直到最后一切都晚了,这就是rootkit的作案风格。 第2版新增内容 本书不仅做了全面的细微调整,如在每章增加一节或两节来体现最新的发展,还对全书进行了重大修订。新增内容汇集了我从专业研究者那里得到的意见、读者的反馈、同行的评论以及我自己的研究成果。 推陈出新 简单地说,本书增加了新的内容,删除了过时的内容。具体地讲,本书删除了那些由于技术发展而被证明不够有效的技术。例如,本书不再过多地介绍bootkit(bootkit很容易被检测到),而是花费更多篇幅介绍如shellcode和内存驻留软件这样的主题。本书还删除了第1版中只能在Windows XP环境下运行的示例。此外,应广大读者要求,本书还包含了驻留于较低环中(例如,环 -1、环 -2和环 -3)的rootkit信息。 反取证相关内容 在我写本书的第1版期间,我认识到rootkit本身是反取证的。毕竟,正如The Grugq所说,反取证主要是为了限制入侵者留下的可取证数据的数量和质量。隐身技术就是这种方法的一个例子。无论是在目标机器运行还是在关闭的状态下,都应尽可能少地为调查人员留下你出现的踪迹。鉴于此,本书重新组织了反取证的相关内容,以便读者能够明白rootkit如何适合反取证的全面要求。 方法 隐身技术汲取了数个相关研究领域的思想(例如,系统结构、逆向工程以及安全等)。为最大限度地提高读者阅读本书所花精力的投资回报率(Return On Investment,ROI),我只好做出一系列决定来限定本书涉及的主题范围,具体如下所示。 ● 聚焦反取证而非取证 ● 针对台式计算机 ● 重点关注构建定制工具 ● 适当回顾必备资料 ● 采用模块化示例论证观点 聚焦反取证而非取证 一本讲述rootkit的书最终很可能成为关于取证的书。当然,关于取证,我必须深入到某一细节层次,否则,反取证就无从谈起。与此同时,如果对“如何”以及“为什么”取证(“取证”非常诱人,因为这个学科领域的内容是如此丰富)讨论过多,将没有足够篇幅来讲述本书的核心内容。因此,我决定只涉及取证分析的基本步骤,并把它简单地作为研究应对措施的起点。 我深刻地意识到,本书涵盖的内容对一些读者而言可能是不够的。对于那些希望学习更多取证分析基本原则的读者,有大量其他资源可用于深入研究。 针对台式计算机 在信息经济时代,数据就是一切。只要问一问任何一位投资银行家、参议员、记者、四星上将或者间谍就可得知,国家兴盛和衰败是以他们的领袖可访问的数据的完整性和准确性为基础的 。 鉴于有价值数据的极端重要性,有人会天真地认为阻止攻击者只是“保护数据”这样一件简单的事情。换句话说,就像把你的鸡蛋放进篮子,然后看好篮子。 Richard Bejtlich这样的安全专家已经对这种观点表示了反对。正如Richard指出的那样,仅仅保护数据的问题在于:容器中的数据并不是静止的,当人们访问和更新数据时,数据在网络上从一台机器传输到另一台机器。此外,如果一个授权用户能够访问数据,那么一个未经授权的入侵者同样可以。所有攻击者所要做的就是找到一种将自己冒充为合法用户的方法(例如,窃取证书、创建一个新的用户账户或者加载在已有会话中)。 Richard针对“保护数据”争议性的思想引出了一个有趣的问题:当能够通过攻击特权用户的台式计算机而获得同样的信息,为什么还要去攻击一台被安全加固并处于周密监控和维护的数据库服务器呢?为什么不去摘低悬的水果? 在许多情况下,访问敏感数据的人们不一定注意安全。这里讨论的是通过政治影响力或企业号召力优势获得本地管理员权限的高级管理人员,他们被授予客户账户数据库的所有读写权限,显然这样他们可以做自己想做的工作。这些人往往理所当然地“破坏”他们的机器,安装各种浏览器插件和小工具,毫无顾忌地上网。他们将自己的机器推入第三方二进制数据和随机网络会话的沼泽中,而这种环境就是那种攻击者可以与背景噪声融合在一起的地方。 简而言之,台式计算机是一个软目标。此外,就台式计算机操作系统而言,微软拥有超过90%的市场占有率。因此,全书的实践示例将针对运行在32位英特尔硬件上的Windows操作系统。 重点关注构建定制工具 目前,许多安全相关书籍的普遍趋势是提供一系列可用的工具,并介绍这些工具的使用方法。 然而,对于rootkit相关书籍而言,我认为如果还只是介绍广泛使用的工具,对读者来说是不利的。这是因为公开工具是人们广泛知晓的,白帽成员对它们进行了仔细研究,可以识别出其鲜明特征并开发出自动应对措施,终极可执行文件压缩器(Ultimate Packing Executable,UPX)和宙斯(Zeus)恶意软件套装就是最好的例子。普通的取证调查人员能够轻松地识别这些工具留下的证据。 鉴于此,保持低调且尽量减少被发现几率的最好方法是使用自己的工具。只简单学习已有技术是不够的,你必须理解隐身技术底层的工作原理,以便拥有必要的技能来构造自己的武器。它强调了这样一个事实:一些你从未听说过的富有创造力的黑帽分子也是熟练的开发者。 在日常运行过程中,普通计算机会以这样或那样的形式产生上千兆字节的数据(日志项、注册表编辑以及文件系统变化等)。调查人员既能筛选这些数据又能保持清醒状态的唯一方法就是过度依赖自动化。通过使用定制软件,调查人员利用现有软件的成效大大降低,从而显著增加你从中获益的可能性。 适当回顾必要知识 处理系统级代码很像第一次在工地周围散步。内核模式代码真的是罪无可恕,这块顽固区域的特性是:庇护谨慎者而惩罚蛮干者。在这样的环境中,有助于人们了解这块区域并能指出危险点。为此,我花了大量精力讲述英特尔硬件的细节,解释晦涩的设备驱动程序的概念,剖析特定的系统级应用程序编程接口(Application Programming Interface,API)。我想涵盖足够的背景资料,这样你就不必在阅读这本书的同时再阅读其他的书籍。 采用模块化示例论证观点 本书不是单纯地介绍rootkit技术,而是教授你实现rootkit的思想。 本书的重点在于学习概念,因此,我尽量把示例代码拆分成许多小型的、易于消化吸收的示例程序。我认为,与其让读者大费周折地阅读20 000行的产品代码,还不如使其将更多的精力放在一些密切相关的技术问题上,这样可以降低学习的门槛。在源代码谱系中(参见图1),本书的示例基本上都属于“训练代码”。在编写示例代码时,我严格地在之前提供的代码基础上逐渐增加,以便只提供当前讨论所需的代码,同时又与之前的代码保持较强的连贯性。 图1 源代码分类 通过多年阅读计算机方面的书籍我发现,如果使用较少的代码来阐明一个概念,将会为理解带来困难。反之,如果使用太多的代码,那将冒这样的风险:要么迷失在具体的细节中,要么惹恼读者。好在我已经找到了一个合适的中庸路径,就像禅宗里说的那样。 本书结构 正如我之前提到的那样,一切事物都在变化,rootit的战斗前线也在移动。在我看来,“坏蛋们”已经找到了相当有效的方法来阻止磁盘分析以及此类操作。这就是说,使用事后检查有点过时,一些比较有经验的攻击者已经解决了这个难题。于是,内存分析、固件检查以及网络抓包之类的方法就成为最后的防线。 从一个典型事件响应的发展时序看,本书将按照倒序的方式来讨论这些主题。通常情况下,首先调查人员进行在线取证,然后进行事后检查(假定关机状态下也是可行的)。我选择了另外一条路径,采用军备竞赛中间谍对间谍的方式,在策略和反策略出现时再介绍这些知识。具体地讲,本书分为以下四个部分: ● 第一部分:基础知识 ● 第二部分:事后检查 ● 第三部分:在线取证 ● 第四部分:结束语 在介绍完基础知识后,我将开始介绍事后检查分析的过程,这是反取证技术最初关注的重点。之后,本书涵盖试图破坏在线取证的最新技术。 第一部分:基础知识 第一部分主要为后续内容的学习奠定基础。首先,概述了计算机安全领域目前的形势以及反取证技术如何适应当前的环境。其次,简要描述了调查的过程以及反取证技术破坏调查过程的策略。第二部分构建了本书的核心框架,而后续章节则包括具体策略以及实现细节。 第二部分:事后检查 第二部分主要针对辅助存储器的分析(例如磁盘分析、卷分析、文件系统分析以及未知二进制分析)。这些工具针对那些修改了现有文件或留下人为痕迹的攻击者非常有效。即使在如今这个时代,一次全面的事后检查依然能够发现有用的信息。 攻击者利用内存驻留和多级释放器技术对其进行回应。因此,第二部分研究的领域涉及用户态Exec(Userland Exec)理念,该理念是对通过网络连接来接收可执行代码且不依赖操作系统本机加载器的机制的发展。 第三部分:在线取证 在线取证的困难在于调查人员在其要检查的环境中操作,这就意味着经验丰富的入侵者可以干扰数据收集的过程,并给取证人员制造错误信息。本书的第三部分介绍了攻击者过去使用的两种rootkit策略:既要在计算机运行时拒绝向对方提供信息,又要消除响应者对可能存在的问题的怀疑。 第四部分:结束语 如果你准备爬一座山,那么登上山顶后,最好花一些时间在山顶欣赏山下的景色。最后这一部分,我回顾了rootkit的细枝末节,以便高屋建瓴地重新看待这个话题。对普通的取证调查人员来说,由于受到体制制约和有限资源的限制,我敢肯定周围的景色都会变得非常荒凉。为了给这些和我们一同站在山顶上被围攻的白帽成员一线希望,我在本书的结尾探讨了一些常用策略以应对攻击者造成的险境,并介绍了攻击者使用的隐藏方法。 指出一项技术的缺点是一回事(嘿,这很容易),认识到这些问题并寻求真正能够解决它们的建设性方案是另外一回事,这是作为一名白帽成员应该接受的挑战。我们必须做一些不值得羡慕的工作来堵住漏洞,否则黑帽分子会利用它们来破坏我们的生活。我能感受到你的痛苦,兄弟! 本书读者 大约20年前,当我还是研究生的时候,克里夫兰当地一家银行的一位性格执拗、年老的执行总裁曾对我畅谈道:“从商学院出来的工商管理硕士都会认为自己已经掌握了所有的事情”。这种现象在任何一个培训项目中都存在,因为学生总会错误地认为,他们所读的教科书以及他们完成的课程能够涵盖现实世界中将要面临的所有事件,任何一个已经走出校门而踏入社会的人都知道这是不可能的。经验是不可缺少的,并且在学术界也不可能复制。 另一个令人沮丧的事实是,为了取得既得利益,供应商总是过分吹嘘他们产品的功效。他们大肆宣传“我们已经找到了灵丹妙药”。我的意思是,有谁会要求一位客户大手笔地花100 000美元来买最新的、杰出的安全套件,然后告诉客户还不能完全放心呢? 鉴于这些老生常谈的问题,本书主要针对新进入安全领域的专业人士。我的目的是鼓励他们意识到一些工具的局限性,这样他们就能够脱离工具而独立思考。你不能成为自己的工具。工具仅仅是用来节省力气的装备,但前提是使用工具的人必须久经沙场,只有这样才能有效地发挥其功效。 总之,在过去,安全是一个模糊的专业领域,一种附带的特征,如果你愿意的话,也可以把它看做后来添加的东西。但是,随着人人都热衷于使用互联网,事情就不再是这样的了。每个人都需要意识到安全的必要性。当前,使用宽带连接的用户越来越多,当我看到许多年轻人大胆地点击链接并激活浏览器插件时,我无能为力,只能畏畏缩缩。天呐,恐怖,恐怖。我想大声喊出来:“喂,还不赶紧离开社交网络!你在做什么?傻瓜!”为此,本书还要为那些有足够好奇心(或者被激发出好奇心)的人解释为什么根除rootkit如此艰难。 预备知识 大多数隐身技术都是针对目标系统级结构来实现的。自从UNIX出现后,C语言就成为传统操作系统的母语。从文件系统、线程调度器到硬件驱动程序,都是使用C语言实现的。为此,本书中的所有示例代码都是用C语言或Intel汇编语言实现的。 出于篇幅考虑,假设读者对这两种语言都十分熟悉。如果事实不是这样的,那么建议读者找本书学习一下这两种语言。 约定 本书包含了源代码、屏幕输出、十六进制转储以及隐藏消息等。为了区分这些内容,我采用了一些版式规则。 值得注意的代码部分,我们使用黑色背景以示强调,这样它们就比较显眼。 屏幕输出采用的是类似DOS的黑色背景。 注册表名按照下面的标准约定进行缩略。 注册表键以反斜杠后缀标示,注册表键值不加反斜杠后缀。 书中出现的数值有几种不同的形式。十六进制值采用前缀“0x”或以“H”结尾。C语言的源代码倾向于使用前者,IA-32汇编代码倾向于使用后者。 二进制值采用显式的或隐式的后缀字母“B”,汇编代码里的数字主要以这种形式标志。 感谢 安全社区全体人员感谢那些与我们慷慨分享发现成果的先驱者,诸如David Aitel、Jamie Butler、Maximiliano Cáceres、Lo?c Duflot、Shawn Embleton、The Grugq、Holy Father、Nick Harbour、John Heasman、Elias Levy、Vinnie Liu、Mark Ludwig、Wesley McGrew、H.D.Moore、Gary Nebbett、Matt Pietrek、Mark Russinovich、Joanna Rutkowska、Bruce Schneier、Peter Silberman、Sherri Sparks、Sven Schreiber、Arrigo Triulzi等。我在此所做的大多数工作都是在他们研究成果的基础上进行的,因此我觉得有义务向他们表示感谢,我只希望本书能够做到实质上的正义。 现在将关注点转移到另一个层面,像Richard Bejtlich、Michael Ligh和Harlan Carvey这样的专家,在创建应对安全领域内的事件框架方面发挥了出色的作用。从调查的情况看,我认为反取证领域出现的“他们都是傻瓜”的想法十分幼稚,低估一名调查人员的天赋或执著是很有问题的。一名资源丰富、训练有素并遵循一套严谨方法的分析人员将会是一位值得尊敬的对手,即使是对最有经验的攻击者也不例外。 别说我没有警告过你。 我要感谢一位名为Alex Keller的服务器管理员,多年之前,我在旧金山州立大学遇到他。我曾与他共处半天,观察他清理我们的主域控制器,这半天时间花得很值。我手拿纸和笔,在他解释具体操作及其原因时,匆匆地记录下来。在处理在线取证方面,我不再需要更好的老师了。 再次感谢Alex的慷慨,他是如此友善,耐心地为我讲解间谍情报技术,并鼓励我多学习,这已远超出他的职责范围。旧金山州立大学能有你这样的老师真是幸运。 此外,我还要感谢相关领域内的杰出专家。感谢他们能够容忍我,并不厌其烦地回答我的问题,尤其要感谢Noam Chomsky、Norman Matloff、John Young和George Ledin。 最后,我同样要衷心地感谢Jones & Bartlett Learning公司所有努力工作的职员们。正是他们的辛勤努力才有了本书,他们是高级策划编辑Tim Anderson、制作总监Amy Rose以及执行编辑Amy Bloom。 Bill Blunden 导语摘要 《RootKit系统灰色地带的潜伏者(原书第2版)》是一本讲解“遁术、隐术”的计算机图书,正如作者所言,本书主要面向新进入安全领域的专业人员,目的是鼓励他们认识到工具的局限性,脱离工具而独立思考,切不能成为工具的奴隶。显然,本书不是教你去做坏事,而是利用所学加强自身以及所在企业的网络安全,提高网络攻击的归因能力,做一名优秀的事件预防和响应人员。 作者布伦登·奥利里行文流畅、文笔优雅、引经据典、比喻形象生动,能够把复杂的技术性问题化解为简单的思想,让人很容易领会。 作者简介 Bill Blunden,资深计算机安全专家,从事相关研究10余年,对rootkit有非常深入的研究。目前从事网络安全设备代码和ERP中间件的相关工作。活跃于计算机安全类社区,常与计算机安全领域多名世界级安全专家交流探讨。在学术生涯中走过不少弯路,因此对计算机安全有异于常人的观察角度和体会。 目录 译者序 献给“孙悟空” 前言 第一部分基础知识 第1章 清空思想 1.1不速之客 1.2提炼一个更确切的定义 1.2.1攻击循环 1.2.2rootkit在攻击循环中的角色 1.2.3单级释放器与多级释放器 1.2.4其他部署方法 1.2.5确切的学术性定义 1.2.6不要混淆设计目标与实现 1.2.7rootkit技术--力量倍增器 1.2.8金·费尔比式比喻:破坏与毁坏 1.2.9为何使用隐身技术?rootkit不能被发现吗 1.3rootkit不等于恶意软件 1.3.1感染源 1.3.2广告软件和间谍软件 1.3.3僵尸网络的兴起 1.3.4引入:愚人飞客病毒 1.3.5恶意软件与rootkit 1.4谁在开发和使用rootkit 1.4.1市场营销 1.4.2数字版权管理 1.4.3不是rootkit,而是种功能 1.4.4法律实施 1.4.5商业间谍 1.4.6政治间谍 1.4.7网络犯罪 1.4.8谁开发了颇具艺术感的rootkit 1.4.9rootkit的道德性 1.5慑魄惊魂:战场伤员分类 1.6总结 第2章 反取证综述 2.1事件响应 2.1.1入侵检测系统(和入侵防御系统) 2.1.2异常行为 2.1.3发生故障 2.2计算机取证 2.2.1rootkit不是隐身的吗?为什么还要进行反取证 2.2.2假定最糟糕案例的场景 2.2.3取证技术分类:第一种方法 2.2.4取证技术分类:第二种方法 2.2.5在线取证 2.2.6当关机不再是种选择 2.2.7关于拔掉电源插头的争论 2.2.8崩溃转储或者不进行崩溃转储 2.2.9事后检查分析 2.2.10非本地数据 2.3AF策略 2.3.1数据销毁 2.3.2数据隐藏 2.3.3数据转换 2.3.4数据伪造 2.3.5数据源消除 2.4AF技术的总体建议 2.4.1使用定制工具 2.4.2低且慢与焦土策略 2.4.3避免特定实例攻击 2.4.4使用分层防御 2.5不明身份者具有优势 2.5.1攻击者能够专注于攻击 2.5.2防御者面临制度性挑战 2.5.3安全是一种过程(而且还是一种令人讨厌的过程) 2.5.4持续增加的复杂度 2.6总结 第3章 硬件概述 3.1物理内存 3.2IA-32内存模型 3.2.1平面内存模型 3.2.2分段内存模型 3.2.3操作模式 3.3实模式 3.3.1案例研究:MS-DOS 3.3.2这不是浪费时间吗?为什么学习实模式 3.3.3实模式执行环境 3.3.4实模式中断 3.3.5分段和程序控制 3.3.6案例研究:转储IVT 3.3.7案例研究:用TSR记录击键 3.3.8案例研究:隐藏TSR 3.3.9案例研究:为TREE.COM命令打补丁 3.3.10小结 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.2界限检查 3.5.3类型检查 3.5.4特权检查 3.5.5受限指令检查 3.5.6门
— 没有更多了 —
以下为对购买帮助不大的评价