成为恶意软件分析师?

信息安全 恶意软件 逆向工程 编程
2021-08-27 16:15:23

所以,我现在 16 岁,毕业后正在考虑从事 IT 行业。在成长过程中,最让我感兴趣的是恶意软件。我经常遇到它,并且经常不得不为家人和朋友清理它(我也在我工作的一家 PC 商店临时做过)。

有时我会对以 .NET 语言编码的恶意软件进行逆向工程,这些恶意软件可能会被混淆并需要手动 IL 代码分析。我喜欢有点挑战,我发现逆向工程“有趣”。我也有一些 x86 汇编和代码方面的知识,主要是 C++ 和 C#。

实际上,我曾有一段时间参加了 UNITE 培训计划之一,但决定放弃它,因为我更感兴趣的是分离恶意软件,而不是从日志中诊断和执行清理。

无论如何,我不确定要成为一名恶意软件分析师,但我知道我可能需要计算机科学学位。我注意到我在网上查找的大多数“恶意软件分析师”职位都需要一些以前作为 mawlare 分析师的经验,我想知道您可能还需要哪些其他工作才能获得这种“以前的经验”。最近,我一直在思考,我可以看到自己将来在一家反病毒公司工作。

也许对此有了解的人可以提供一些启示?另外,如果有影响的话,我住在澳大利亚(我知道许多反病毒公司都位于美国或欧洲)。

4个回答

为了研究恶意软件,您将进行大量逆向工程以了解它的作用,以及大量分析系统的弱点以尝试预测恶意软件开发的可能方式。

计算机科学学位至关重要,您将希望专注于反编译和低级开发(汇编和 C/C++)。了解嵌入式系统也不是一个坏主意,因为恶意软件可能会去的一个可怕的未来地方之一是固件和其他可以隐藏在当前病毒扫描程序中的地方。

研究生学位可能会有所帮助(但不一定至关重要),因为大多数学士学位课程更广泛地关注整个计算机科学,而逆向工程的研究生工作将是有益的。我还建议为“好的”技术/工程学校付费,因为许多便宜的计算机科学课程往往更多地关注开发业务应用程序所需的内容,而不是关注低级编程和反编译的细节.

在学位方面,我会推荐在代码开发方面具有扎实基础的计算机科学——普通的软件工程课程,并在更接近系统的低级语言(C、C++、汇编)和编译器理论方面付出额外的努力。作为一种附加方式——突破更高级别的基于 Web 的技术的方法也正在成为一种趋势——因此,在 Web 开发方面和周围拥有经验,特别是像 applet、flash 等客户端应用程序可能是一个很好的位置。未来10年。两者都会是杀手。

作为副业或集中注意力 - 进入信息安全课程。恶意软件分析需要与受保护的网络资产隔离开来,因此了解有关在隔离 LAN 上工作、正确处理恶意软件、基本事件响应、风险分析和补救以及数字取证的知识 - 这都是您想要工作的世界的一部分如果你不是负责这方面的人,你仍然会和那个人密切合作。

老实说 - 我没有与恶意软件分析师合作过,但在我的印象中,你会在为生活建立保护的地方看到他们最多 - 防病毒软件,应用程序防火墙,甚至可能是 WAF - 但公司利用除了少数非常高端的情况外,这些控件往往依赖于控件供应商的恶意软件专业知识。

如今,总体而言,安全性有一种非常不幸的趋势,即在任何工作中都说“需要以前的经验”。在非常普遍的意义上,他们想要一个至少知道正确的安全程序并且会以谨慎的心态思考的人。几乎所有在安全环境中、需要保护高风险资产的工作都是一个良好的基础。更好的是——在软件领域或信息安全领域。

恶意软件分析是 IT 领域之一,您不需要以前的工作来展示您的经验。您可以调查当前的恶意软件,并使用适当的方法向世界展示您的研究。

例如,它就像渗透测试。如果您能够在公认的网站上找到漏洞并获得您的 CVE 编号,那么在申请工作时,尽管您从未做过渗透测试,招聘人员会知道您知道必须做什么,因为您拥有经过验证的 CVE 编号将您识别为漏洞的发现者。

放学后,去攻读学士学位,你需要它。检查不同程度的内容,选择编程、组装等较多的内容。

您肯定需要各种语言的经验,包括 C/C++ 和汇编基础知识(假设知识是先决条件,并且您已经计划学习它),但最重要的是阅读大量其他语言人们的代码,无论是良性的还是恶意的。你应该每天阅读代码,寻找解决问题的新方法,以及发现代码本身的问题。

如果你想分析,那么你需要那个背景。像编译器一样思考的能力,能够识别编程模式和常见的程序员错误。如果你想分析,那就分析。

人们会建议学位,但学位并不重要:课程是。选择能够将自己推向新领域和新想法的课程、书籍和教师。在扎实的技术知识基础上,独立思考和创造性的能力是这里的关键。这是一个你当然不需要学位的领域。如果你想要一个学位,就拿一个,但你可以在发展自己成为分析师的同时学习烹饪艺术。