高级 #security#malware#analysis

恶意软件分析

恶意软件(病毒、蠕虫、木马、勒索软件)是损害计算机系统的程序。分析恶意软件需要静态分析(反汇编)和动态分析(沙箱运行)两种手段

🦠 “电脑病毒”——和生物学病毒惊人的相似

生物学病毒:进入细胞→劫持细胞工厂→复制自己→感染更多细胞。

电脑病毒(恶意软件):进入计算机→劫持系统功能→复制自己→感染更多计算机。

📐 恶意软件(Malware) = Malicious(恶意)+ Software(软件)——任何有恶意目的的程序。


📋 恶意软件分类

类型行为类比
病毒(Virus)寄生在正常程序中,传播时需要用户操作感冒病毒——需要接触到人
蠕虫(Worm)自我复制传播,不需要用户操作空气传播——自动扩散
木马(Trojan)伪装成正常软件,用户主动安装特洛伊木马——“看起来是礼物,里面是士兵”
勒索软件(Ransomware)加密用户文件,索要赎金绑匪绑票——“不给钱就撕票”
Rootkit隐藏自身,给攻击者后门小偷在房子挖了密道——从外面看不出来

🔬 恶意软件分析的两条路径

静态分析——不运行,只看代码

静态分析 = "用肉眼看菜谱就知道菜好不好吃"

方法:
1. 查看文件类型、哈希值(在 VirusTotal 上查是否已知恶意)
2. 提取字符串——看有什么可疑的 URL、IP 地址
3. 反汇编——看代码逻辑

工具:IDA Pro、Ghidra(NSA 开源的反汇编器)
# 快速检查文件
file suspicious.exe        # 查看文件类型
sha256sum suspicious.exe   # 计算哈希
strings suspicious.exe | grep -i "http"  # 提取可疑 URL

# 如果哈希在 VirusTotal 上有 60/70 个杀毒软件报告恶意
# → 基本确定是恶意软件

动态分析——在沙箱里运行观察

动态分析 = "尝一口就知道好不好吃"

方法:
1. 在隔离的虚拟机(沙箱)中运行恶意软件
2. 监控:文件系统变化、注册表变化、网络连接、进程行为
3. 分析恶意软件做了什么——创建了什么文件?连了哪个 IP?

工具:Cuckoo Sandbox(开源沙箱)

🏢 真实案例:WannaCry 勒索病毒(2017)

WannaCry 在 2017 年 5 月爆发——三天内感染了 150 个国家的 30 万台计算机。

攻击链:
1. 利用 Windows SMB 漏洞(EternalBlue)传播
2. 执行后加密用户文件
3. 弹出勒索界面——要求支付比特币赎金
4. 未支付则文件永久丢失

受影响:英国 NHS(医疗系统瘫痪)、联邦快递、日产汽车……
停止:一名研究人员发现了"杀死开关"域名——注册后病毒停止传播

📝 小结

概念一句话
病毒寄生传播——需用户操作
蠕虫自动传播——无需用户操作
木马伪装成正常软件——用户主动安装
勒索软件加密文件索要赎金
静态分析不运行——反汇编、查字符串、看结构
动态分析在沙箱运行——观察行为

为什么先学这个? 了解恶意软件后,学习怎么防御——防火墙与入侵检测