我是靠谱客的博主 正直春天,最近开发中收集的这篇文章主要介绍信息安全 | 病毒分析的基础流程、报告编写、特征提取基础流程常用工具报告编写特征提取,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

病毒分析的基础流程、报告编写、特征提取

  • 基础流程
    • 静态分析
      • 文件类型
      • API信息
      • 字符串提取
      • 壳检测
      • 反汇编
    • 动态分析
      • 虚拟机
      • 注册表检测
      • 文件操作检测
      • 进程检测
      • 网络检测
      • 动态调试
  • 常用工具
    • 反汇编
    • 网络监听
    • 行为分析
    • 脱壳工具
    • 其他
      • WinMD5
      • Strings
  • 报告编写
    • 样本信息
    • 样本行为
    • 查杀清除工作
    • 关联溯源
  • 特征提取
    • 静态特征
    • YARA特征
    • 病毒名特征
    • 敏感信息特征
      • 注册表、服务名
      • 网络数据
      • 互斥体
      • 动态行为

基础流程

当我们拿到一个样本的时候,可以尝试将样本的MD5、SHA1等基础特征信息在各类反病毒引擎扫描平台进行检测识别。[如果是涉密样本,则不建议将其上传到公开的扫描平台进行检测。]

这样做的目的主要是想着从反病毒扫描引擎平台的结果对样本的类型进行一个初步的判研。常见的恶意样本类型主要有:后门、僵尸网络、下载器、勒索程序、蠕虫病毒、启动器、间谍监听程序等等。

如果能够初步判定样本的类型,后续的分析工作也可以根据样本的类型进行侧重分析。

静态分析

文件类型

Windows PE样本、Linux ELF、bat批处理、Android APP、JavaScript、PowerShell、Shell脚本等等。

API信息

字符串提取

壳检测

恶意样本为了对抗反病毒引擎检测,会在自身样本的基础上加壳。如果我们需要对样本进行分析的话,需要根据样本加壳情况进行相应的脱壳处理,只有这样才能进行下一步的分析工作。

常见的壳主要分为

  • 压缩壳:UPX、ASPack、PECompact
  • 加密壳:ASProtect、Themida、Armadillo

在日常分析运营工作中,可以尝试提取各类壳的特征信息。从而通过编写自动化脚本批量处理加壳样本,提高分析效率。比如:通过Python的pefile库、YARA特征等等。

  • 查壳工具:Peid、FFIcoustmtk、Exeinfo PE 等等
  • 脱壳工具:UPXUnPacKer、ASPack unpacker 等等

反汇编

动态分析

虚拟机

为了防止分析环境被各种因素干扰,我们一般都会在虚拟机里动态执行样本配合行为检测工具,从而观察其行为。当然,为了后续分析环境不被污染,每次动态执行样本后,我们都需要将虚拟机的镜像还原。

注册表检测

RegMon是注册表数据监视软件,它将与注册表数据相关的一切操作(如读取、修改、出错信息等)全部记录下来供用户参考,并允许用户对记录的信息进行保存、过滤、查找等处理。

文件操作检测

FileMon是一款出色的文件系统监视软件,它可以监视应用程序进行的文件读写操作。

进程检测

ProcView是一款进程查看器,提供进程终止和列出扩展窗口属性等有用的功能。

网络检测

在样本动态执行观察的过程中,我们可以提前部署好网络监听工具。通过对数据包交互进行分析。比如:我们在分析一个Download恶意样本的时候,在其执行起来后,直接通过数据交互中的链接提取关键的URL,下载主样本进行分析。

动态调试

常用工具

反汇编

IDA Pro、OllyDbg、WinDbg

网络监听

Wireshark、tcpdump、BrupSuite、Http Analyzer、TcpView

行为分析

火绒剑

脱壳工具

其他

WinMD5

Strings

通过这个工具可以提取样本的的字符串信息,根据字符串规则检测是否存在敏感字符串。

报告编写

样本信息

文件名称、文件大小、病毒名称、MD5、SHA1、CRC、事件类型、分析时间、分析人员、分析环境

样本行为

根据对样本分析,用比较精简的话描述下样本执行后主要做了什么。在条件允许的情况下,试着通过流程图的形式还原样本执行的整个过程。针对比较敏感的行为进行详细标注,从报告浏览者的角度去考量,尽可能在报告中提供关于该样本的信息。

查杀清除工作

提供样本的查杀特征,用于后续设备的病毒清除工作。

关联溯源

部分事件型样本则需要根据样本提取的IOC特征进行下一步的关联溯源。比如:从样本的病毒名、代码结构、c&c、url链接、交互IP等特征进行情报关联。

特征提取

静态特征

MD5、PDB、文件图标、导入导出表、时间戳、入口点、版本信息、节名。在具备这些静态特征组合的情况下,即便是面对大量待处理样本,也能够通过脚本自动化快速处理掉一批样本。

YARA特征

病毒名特征

敏感信息特征

注册表、服务名

比如:后门样本为了驻留系统实现自启动而创建的注册表项名称和键值,亦或者系统服务名称。针对这种特殊表项名称和键值、服务名均可酌情将其添加到特征合集中。

样本的特征字符串可以通过strings工具进行扫描dump出来进行二次匹配筛选。

网络数据

当恶意样本产生网络行为交互的时候,目标IP、端口、数据内容、数据长度、传输协议类型、回传指令都有可能成为特征的一部分。

我们通过前面提到的网络检测工具,截获样本产生的数据包,对其进行解包分析,按照需求提取特征。

互斥体

部分同源样本在创建互斥体名的时候会一定规律,根据互斥体名的组合规律建立特征,也可以一定程度的协助我们筛选分析噪点样本。

动态行为

主要是记录样本在动态执行的过程中的API组合操作。

最后

以上就是正直春天为你收集整理的信息安全 | 病毒分析的基础流程、报告编写、特征提取基础流程常用工具报告编写特征提取的全部内容,希望文章能够帮你解决信息安全 | 病毒分析的基础流程、报告编写、特征提取基础流程常用工具报告编写特征提取所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(69)

评论列表共有 0 条评论

立即
投稿
返回
顶部