我是C / C ++开发人员,已经开始学习汇编语言编程,以成为一名恶意软件分析师。

我知道仅仅知道如何阅读程序集成为一名恶意软件分析师还不够。但是,这样做是否有帮助,并使剩下的事情变得更容易?

评论

组装绝对重要,但关键是要有耐心,不要放松自己的思想。一些反向投资可能会持续数天。

@ExtremeCoders,只有几天? ;)

您可以通过Google搜索来破解我,也可以找到可以找到用于反转的示例程序的站点,这是学习基本知识的好方法。

这个问题似乎离题,因为它与职业建议和发展有关。

您的问题的答案是“否”。汇编语言只是工具箱中的一个小工具。实际上,汇编比C / C ++更容易学习。

#1 楼

要成为恶意软件分析师,通常需要的最低知识是:


汇编语言
操作系统内部组件
去模糊化和反调试技术

显然,还有其他有用的知识可用于恶意软件分析领域(例如,了解网络协议,漏洞利用分析技术,VB P代码以及JavaScript和.NET语言等),但是看起来像正在取得进步;)

您需要了解的大部分事情都将沿途学习。例如,您可能会遇到利用Adobe Flash Player的恶意软件样本。这将使您有机会了解SWF文件格式,ActionScript源代码和字节码等。

评论


安全研究如何发现恶意软件?如何检测该系统已感染?

– AminM
18年7月13日在13:19

#2 楼

来自SANS.ORG

在讨论恶意软件分析时,该过程分为3个主要阶段:行为分析,代码分析和内存分析。

这里是每个阶段的简要概述:



行为分析

检查恶意软件标本与其环境的相互作用:文件系统,注册表(如果在Windows上),网络,以及其他进程和OS组件。当恶意软件调查人员注意到有趣的行为特征时,他修改了实验室环境以唤起新特性。为了执行这项工作,研究人员通常会感染隔离的系统,同时让必要的监视工具观察样本的执行情况。在此分析阶段可以提供帮助的一些免费工具是过程监视器,过程资源管理器,RegShot和Wireshark。几个免费的在线工具可以使行为分析的某些方面自动化。还有一些免费框架可用于在本地实验室中编写分析过程的脚本。


代码分析

对恶意程序进行反向工程以了解实现样本行为的代码。查看已编译的程序时,此过程涉及使用反汇编程序,调试器以及可能的反编译程序来检查程序的低级汇编或字节码指令。形成。反编译器尝试重新创建该程序的原始源代码。调试器使分析人员可以逐步浏览代码中最有趣的部分,与之进行交互并观察其指令的效果以了解其目的。 OllyDbg和IDA Pro Freeware是流行的免费反汇编程序/调试器,可以处理Windows程序。


内存分析

检查受感染系统的内存以提取与恶意程序有关的工件。在逆向工程恶意软件的情况下,内存分析可以帮助识别试图隐藏自身的恶意代码(即rootkit),阐明程序的运行时依赖关系,并可以解释如何在受害者的系统上使用标本。记忆分析可以节省时间,并允许研究人员在研究样本的行为或代码时采取捷径。用于执行内存分析的免费工具是The Volatility Framework及其与恶意软件相关的插件,以及Memoryze和相关的Audit Viewer程序。


我希望这将为以上回应

#3 楼

当我从某个反病毒供应商处开始进行恶意软件分析时。我只扭转了视频游戏的几个方面,并创建了许多提取图形等的工具。我也相当了解恶意软件的文化等。 br />
但是,我对混淆,解压缩,shellcode等一无所知。这是我在工作的几年中学到的。必须对x86和您的调试/反汇编有扎实的了解!

评论


那么,当人们掌握了这些基本知识之后,是否应该才开始申请?该领域显然是一个利基市场,因此那里没有很多主流的职业建议。

–the_endian
17年2月21日在9:33

时代改变了大多数我知道现在依靠行为分析的影音分析师

– Stolas
17年2月21日在13:06