Rootkit和Bootkit:现代恶意软件逆向分析和下一代威胁
上QQ阅读APP看书,第一时间看更新

序言

这是一个不可否认的事实—恶意软件的使用对计算机安全的威胁越来越大。我们看到到处都是令人担忧的统计数据,这些数据显示出恶意软件的经济影响、复杂性,以及恶意样本绝对数量的增加。无论是业界还是学术界,都有比以往更多的安全研究人员在研究恶意软件,并在很多场合发表研究成果,从博客、行业会议到学术研究和相关书籍。它们从各种角度如逆向工程、最佳实践、方法论和最佳工具集等广泛研究恶意软件。

因此,很多关于恶意软件分析和自动化工具的讨论已经开始,而且每天都在增加。所以你可能想知道:为什么还有一本关于这个主题的书呢?这本书带来了哪些新的内容?

首先,虽然这本书讨论先进的(我指的是有创新性的)恶意软件逆向工程,但它涵盖了所有的基础知识,比如解释了为什么恶意软件中的那段代码从一开始就可能出现。这本书解释了受影响的不同组件的内部工作原理—从平台的启动,到通过操作系统加载到不同的内核组件,再到应用层操作(这些操作向下流回内核)。

我发现自己不止一次地解释,基础覆盖与基本覆盖不同—尽管它确实需要向下扩展到基本层面,即计算的基本构建块。这样看来,这本书不仅仅是关于恶意软件的,它讨论了计算机是如何工作的,现代软件栈是如何同时使用计算机的基本功能和用户界面的。一旦你了解了这些,你自然而然地就能理解为什么会出现漏洞,以及漏洞是如何被利用的。

有谁能比那些在许多情况下揭示了真正先进的恶意代码的作者更好地提供这一指导呢?此外,还要经过深思熟虑和艰苦努力,将这种体验与计算机的基础和更大的图景联系起来,比如如何分析和理解具有相似概念特征的不同问题,这就是这本书应该列在你阅读清单的第一位的原因。

如果所选择的内容和方法证明了这样一本书的必要性,那么下一个问题就是为什么以前没有人接受写这样一本书的挑战。这本书的诞生花费了作者几年的努力,由此可见,出版这样一本书是很困难的,不仅需要合适的技能组合(鉴于作者的技术背景,他们显然能够满足这项条件),还需要编辑的支持以及读者的热情。

这本书的重点是诠释如何在现代计算机中实现信任(或者说诠释了现代计算机为何会缺乏信任),以及如何利用不同的层和它们之间的转换缺陷来打破下一层所做的假设。这以一种独特的方式突出了实现安全性所涉及的两个主要问题:组合(多个层,每个层都依赖于另一个层的正确行为来正常运行)和假设(因为这些层必须默认假设前一个层的行为正确)。作者还分享了他们在工具和方法方面的专业知识,这些工具和方法可用于分析早期的引导组件和操作系统的深层原理。这种跨层方法本身就值得写成一本书。作为一名读者,我喜欢这种“买一送一”的方式,很少有作家会这样做。

使用逆向工程来理解破坏系统通常行为的代码是一项令人惊叹的壮举,它揭示了许多知识。能够从专业人员那里学习,了解他们的见解、方法、建议和全面的专业知识是一个难得的机会,再结合自己的学习进度,将有更多收获。你可以深入研究,使用辅助材料,加以实践,让社区、朋友甚至教授(我希望他们能看到这本书给课堂带来的价值)参与进来。这不是一本仅供阅读的书,而是一本值得研究的书。

罗德里戈·鲁比拉·布兰科
(BSDaemon)