ScholarGate
助手

恶意软件分析

恶意软件分析是对恶意软件——病毒、蠕虫、特洛伊木马、勒索软件和Rootkit——进行研究,以了解其行为、功能和来源,并构建防御措施。

用 PaperMind 寻找选题即将推出Find papers & topics
Tools & resources
下载幻灯片
Learn & explore
视频即将推出

Definition

恶意软件分析是检查恶意软件以确定其功能、传播、持久性和影响的过程,目的是检测、遏制和修复它,并为威胁情报提供信息。

Scope

本主题涵盖恶意软件的分类、分析技术(静态和动态分析、沙盒、逆向工程、行为监控)、恶意软件使用的规避技巧(加壳、混淆、反分析)以及防御它的检测方法。它从技术层面探讨了事件响应和归因。它不包括一般的软件漏洞利用和良性的安全开发实践,这些内容在相关主题中讨论。

Core questions

  • 存在哪些类别的恶意软件,它们在传播和目标上有何不同?
  • 如何通过静态、动态和沙盒技术安全地分析恶意软件?
  • 恶意软件作者使用哪些规避技术(加壳、混淆、反调试)?
  • 如何检测恶意软件——通过签名、启发式还是行为?
  • 恶意软件分析如何支持事件响应、归因和防御?

Key concepts

  • 病毒、蠕虫、特洛伊木马、勒索软件、Rootkit
  • 静态分析和反汇编
  • 动态分析和沙盒
  • 加壳和混淆
  • 反分析和反调试
  • 签名和启发式检测
  • 行为检测
  • 妥协指标
  • 命令与控制

Key theories

静态分析与动态分析
静态分析在不运行恶意软件的情况下检查它(反汇编、字符串、结构),而动态分析在受控沙盒中观察其行为;结合使用时,它们能揭示单独分析可能遗漏的功能,特别是对于混淆样本。
检测与规避的军备竞赛
防御者通过签名、启发式和行为模型检测恶意软件,而作者则通过多态性、加壳和反分析技巧进行回应,从而产生持续的升级,推动检测向基于行为和机器学习的方法发展。

Mechanisms

分析人员首先进行静态分类——哈希、检查字符串、导入和加壳——然后反汇编或反编译二进制文件以理解其逻辑。动态分析在隔离的、受控的沙盒中运行样本,以观察文件、注册表和网络活动,揭示命令与控制行为。恶意软件通过加壳(压缩/加密的有效载荷)、混淆以及检测虚拟机或调试器的检查来抵抗这种分析,因此分析人员会解包样本并修补反分析检查以达到真实代码。

Clinical relevance

恶意软件分析支撑着整个反恶意软件和事件响应行业:它产生保护端点的签名和指标,推动对犯罪和国家行为者的威胁情报,并且是响应勒索软件和大规模事件的核心。对Stuxnet、WannaCry和NotPetya的里程碑式分析塑造了公众对网络行动及其现实世界后果的理解。

Evidence & guidelines

分析人员依赖标准工具(如Ghidra和IDA等反汇编器,如Cuckoo等沙盒)和共享框架:MITRE ATT&CK映射观察到的技术,并通过STIX/TAXII等格式交换妥协指标。分析必须在隔离环境中进行,以防止逃逸,报告遵循负责任的威胁情报共享实践。

History

恶意代码分析可追溯到20世纪80年代的早期病毒;斯帕福德(Spafford)1989年对莫里斯蠕虫的剖析是一项基础性技术分析。杀毒行业在20世纪90年代通过签名扫描发展起来,21世纪带来了专业的沙盒和逆向工程,因为恶意软件变得具有犯罪性质,然后是国家支持的。2010年Stuxnet的发现和分析标志着该领域与地缘政治的交叉,勒索软件使恶意软件分析成为主流商业关注点。

Key figures

  • Eugene Spafford
  • Michael Sikorski
  • Mikko Hypponen
  • Peter Szor

Related topics

Seminal works

  • sikorski2012
  • spafford1989
  • anderson2020

Frequently asked questions

在我的电脑上分析恶意软件安全吗?
不安全。恶意软件只能在隔离的、一次性使用的环境(虚拟机或专用实验室网络)中进行分析,不能访问敏感数据或更广泛的网络,因为运行样本可能会感染主机或传播。即使是静态分析也需要警惕意外执行。
为什么杀毒软件不能捕获所有恶意软件?
基于签名的检测只能识别已知样本,而作者不断修改和混淆恶意软件以逃避检测。现代防御增加了行为和机器学习检测,但规避的军备竞赛意味着没有单一方法能捕获所有东西,这就是为什么分层防御和分析仍然是必要的。

Methods for this concept

Related concepts