【恶意代码与软件安全分析】(三)
virtualbox崩掉了,只能跳过第二章先做第三章了。。。😭
动态分析
在一个安全的环境下运行恶意软件并观察其行为
分析后输出内容
- process & Service Behavior
- 进程创建
- 进程终止
- 进程数
- network behavior
- DNS解析:域名和关联的IP
- 流量
- TCP、UDP、ICMP
- C2、Scan、DDoS
- file behavior
- registry behavior
- mutex behavior
分析方法
在这里用的是sandbox,俗称沙盒。沙盒技术是发现可疑行为后让程序继续运行,当发现的确是病毒时才会终止。
沙盒技术的实践运用流程是:让疑似病毒文件的可疑行为在虚拟的“沙盒”里充分表演,“沙盒”会记下它的每一个动作;当疑似病毒充分暴露了其病毒属性后,“沙盒”就会执行“回滚”机制:将病毒的痕迹和动作抹去,恢复系统到正常状态。
沙盒可以大致分为两种,一种是Cloud Sandbox,另一种是local Sandbox。
Cloud Sandbox
- www.virustotal.com
- 安全、快捷
- 多种沙盒,多种操作系统支持
- 方式:使用哈希值搜查或者使用文件搜查
local Sandbox
- cuckoo
- 远程控制、监控恶意软件的行为
- 多种输出
静态与动态分析的陷阱
-
恶意软件可以检测到沙盒
-
恶意软件可能不能在沙盒中运行
-
缺少正确的配置文件
-
缺乏网络交流
-
DLL vs EXE
-
-
恶意软件可能在沙盒中运行得很慢
- 需要沙盒重启
- 需要沙盒观测很长时间去捕获行为
【实验练习】
登录网站 https://www.virustotal.com ,就能看到它提供三种方式进行检测。于是我们选择将文件上传。
之后我们可以看到一个初步的分析输出内容,但其实这样的分析比较简略,得不到太多的信息。因此,我们再利用文件名的hash值作为输出再次分析。
然后就得到了一个比较好的查询结果。
behavior behavior
registry behavior
process behavior
包括进程的创建、进程数树等。
mutex
network behavior
相关联的域名和IP
实验总结
可以看的出来,sanbox的功能确实很强大,可以对恶意程序进行比较透彻的分析。不过感觉对于www.virustotal.com 的使用技巧还是不太明白和熟练。(到底是要上传文件呢,还是使用文件的hash值呢?而且文件的hash好像可能会不一样?)