原文链接:https://www.hackers-arise.com/post/2017/01/18/reverse-engineering-malware-why-you-should-study-reverse-engineering-malware
我即将开始可能是技术要求最高的教程系列,逆向工程恶意软件。在我这样做之前,我想我会花一些时间来解释为什么你应该学习并投入时间进行逆向工程。请花点时间阅读以下内容,然后,希望确定这门学科是否值得您花时间推进您在网络安全方面的职业生涯。
什么是逆向工程恶意软件?
在本系列中,我们将剖析已知的恶意软件,以了解其工作原理,操作和“签名”。根据Merriam-Webster词典,逆向工程被定义为“拆卸或详细分析,以发现制造中涉及的概念”。这正是我在本系列中的意图,详细分析以发现制造恶意软件所涉及的概念。
此外,维基百科将逆向工程定义为:
发现a(n)的技术原理的过程….通过分析其结构,功能和操作来应用。这涉及有时将某些东西拆开并详细分析其工作原理,通常目的是构建一个新的设备或程序来做同样的事情,而不会实际复制原始设备或程序中的任何内容。(我的着重号是后加的)
在此分析中,我们将使用许多不同的工具,包括虚拟机、沙盒、解包器、反汇编程序和调试器。只要有可能,我将使用免费和开源的工具。
为什么要对恶意软件进行逆向工程?
#1对应用程序和操作系统有更深入,更透彻的了解
如果不出意外,通过对恶意软件进行逆向工程,您将对操作系统和应用程序有更深入,更透彻的了解。恶意软件必须使用和利用这些操作系统和应用程序来实现其自身的恶意目的,并且通过剖析恶意软件及其操作,您不仅可以更好地了解恶意软件的工作原理,还可以更好地了解操作系统和应用程序的功能。
#2 培训从事取证恶意软件分析工作
目前,数字取证中收入最高,需求最大的子学科是那些能够剖析恶意软件并使用此信息进行归因的人。当新的恶意软件出现时,最常见的是那些可以逆转恶意软件的恶意软件,这些恶意软件被委托归因于其来源。这在民族国家之间的网络间谍和网络战领域变得越来越重要。
通过阅读和学习本系列,逆向工程恶意软件,您将开始为这个有益的职业生涯做准备。
#3 构建安全应用程序
在开始构建安全应用程序以保护系统之前,您首先需要了解恶意软件的工作原理。无论是在入侵检测系统(IDS)开发,AV软件,防火墙还是最新的基于人工智能(AI)的安全系统中工作,您都必须了解恶意软件的功能,从而了解如何检测和中和恶意软件。
#4作为取证分析师或事件响应处理者做好更充分的准备
逆向工程恶意软件将帮助事件响应者和取证分析师/调查人员快速评估违规的严重性,以更好地规划恢复。通过研究恶意软件的逆向工程,取证调查人员可以建立入侵的关键指标,然后计划遏制事件并从中恢复。
# 5 建立自己的Zer0天漏洞
任何安全研究人员,黑客或渗透测试者的“圣杯”都是开发zer0天漏洞。无论您是试图开发概念验证(POC)漏洞的白帽,还是希望利用最新新应用程序的黑帽,您都必须了解操作系统,应用程序的内部工作原理,可能还有以前开发的恶意软件。在本系列中,我们将探讨一些常见操作系统和应用程序的内部工作原理,以及一些成功利用这些系统的恶意软件。通过了解这些系统在过去是如何受到损害的,您将对如何开发自己的系统有更好的概念。此外,像所有软件开发一样,“重新发明轮子”没有任何意义。所有软件开发人员都重复使用代码以节省时间和金钱。这同样适用于恶意软件开发人员(代码重用通常可以提供归因的证据)。在这里,我们将研究多年来一些常见且成功的恶意软件,其中许多恶意软件具有可以重复使用的模块。
如果没有能力构建自己的漏洞,您作为渗透测试人员/黑客的职业生涯将在很大程度上仅限于运行其他人的代码。要达到安全/渗透测试行业的最高层,您需要了解以前部署的恶意软件并开发自己的恶意软件。
我们将在本系列中讨论的一些主题包括:
汇编语言审查
恶意软件分析简介
使用拆卸器反转
用去蚊子反转
用户模式调试器
使用 IDA Pro 逆转 Win32
反转堆栈和堆
窗口内部
Linux Internals
反转数据结构
结构化异常处理
系统级反转
逆转机器人
逆转感染媒介
编码器和压缩机
审核二进制文件
二进制比较
反向加密
检测调试器和反汇编程序
我希望您能决定和我一起踏上成为我们行业精英的旅程!