恶意软件是指网络犯罪分子设计的恶意程序,通过创建后门入口获取对计算设备的访问权限,从而窃取个人信息、机密数据,实施计算机系统破坏。为了更好地防范恶意软件,避免恶意软件带来的危害,有必要对恶意软件进行分析,了解恶意软件的类型、性质和攻击方式。恶意软件分析主要包括在隔离环境中分析木马、病毒、rootkit、勒索软件或间谍软件等恶意软件家族的样本,并根据攻击者的行为,采用多种方法了解攻击者的动机、目的、恶意软件类型和功能,并创建规则以实施适当的缓解措施。当我们分析被感染的机器或文件时,我们的目标主要包括:识别被感染的文件,检测计算机设备和网络系统中可能存在的恶意软件。了解可疑恶意软件的功能。全面评估和管理恶意软件可能造成的损害。分析恶意软件指标,为后续检测和防护产品开发制定正确的规则和措施。有效的恶意软件分析可以帮助安全团队快速检测并防止攻击者造成破坏。本文将重点介绍目前常见的恶意软件分析方法及相关工具。静态恶意软件分析静态恶意软件分析包括提取和检查不同二进制组件和可执行文件的静态行为,例如API标头、引用的DLL、可移植可执行(PE)区域等。与正常结果的任何偏差都记录在静态调查中。静态分析是在不执行恶意软件的情况下完成的,而动态分析通常是通过在受控环境中执行恶意软件来执行的。在静态分析中,涉及以下几个方面的工作:反汇编——通过在不同的环境中编译源代码,可以将程序移植到新的计算机平台上。文件指纹-用于识别和跟踪网络上的数据。病毒扫描-删除恶意软件、病毒、间谍软件和其他威胁。分析内存工件——在分析内存工件(例如RAM转储、pagefile.sys或hiberfile.sys)期间,检查员可以开始识别恶意进程。加壳检测-用于检测加壳、密码、编译器、加扰器、链接器和安装程序。静态分析工具包括:混合分析——使用独特的混合分析技术来检测和分析未知威胁。Virustotal.com-这项免费服务分析可疑文件和URL。BinText-这个文件文本扫描器/提取器有助于找到深埋在二进制文件中的字符串。DependencyWalker-这个免费程序列出了可移植可执行文件的导入和导出模块。IDA-该程序将机器语言转换为汇编语言。Md5deep-这个跨平台工具计算和审计输入文件的哈希值(Hash)。PEiD-检测可移植可执行(PE)文件的最常见的打包程序、加密程序、编译器等。ExeinfoPE-该软件可以查看任何可执行文件的各种信息。RDGPacker-检测加壳器、密码器、编译器等。D4dot-该工具擅长将打包和混淆的程序集恢复为几乎原始的程序集。PEview-快速轻松地查看32位PE文件和组件对象文件格式(COFF)的结构和内容。动态恶意软件分析动态恶意软件分析是分析师发现恶意软件功能的首选方法。在动态分析中,分析师构建了一个用于恶意软件分析的虚拟机。分析师会对恶意软件进行沙箱化处理,并对恶意软件生成的数据包进行分析。在动态分析中,重要的是隔离环境以避免恶意软件逃逸。在动态分析中,有几个问题需要注意:检查个别路径(执行跟踪)。分析环境可能不是无形的。分析环境可能不全面。动态分析工具包括:Procmon-这种高级监控工具显示文件系统、注册表和进程/线程的实时活动。ProcessExplorer-这是Windows操作系统的系统资源监控工具。Anubis-这个动态恶意软件分析平台在受控环境中执行提交的二进制文件。ComodoInstantMalwareAnalysis-一种相对易于使用和理解的在线沙箱服务。ProcessMonitorRegshot-这个流行的注册表监控工具显示文件系统、注册表和进程/线程的实时活动。ApateDNS-此工具通过易于使用的GUI控制DNS响应。OllyDbg-一个专注于二进制代码分析的x86调试器。Regshot-这个开源注册表比较工具可以快速拍摄注册表快照并进行比较。Netcat-此计算机网络实用程序使用TCP或UDP协议通过网络读取数据。Wireshark-这种免费的开源数据包分析器可用于网络故障排除、分析、软件和通信协议开发等。内存取证分析内存取证分析包含有关系统运行时状态的信息,并提供关联来自传统取证分析(网络、文件系统和注册表)的工件的能力。在内存分析中,涉及以下几个方面:映射整个系统内存(不依赖API调用)。将进程的整个地址空间映射到磁盘,包括进程加载的DLL、EXE、堆和堆栈。将指定的驱动程序或内存中加载的所有驱动程序映像到磁盘。在进程地址空间(MD5、SHA1、SHA256)中加密EXE和DLL。验证EXE和DLL的数字签名(基于磁盘)。对于一个进程,输出内存中的所有字符串。内存取证分析工具包括:WinDbg-Windows系统的内核调试器。Muninn-使用Volatility自动执行部分分析的脚本。DAMM-基于波动性的内存恶意软件差异分析。FindAES-在内存中查找AES加密密钥。Volatility-高级内存取证框架。恶意软件检测恶意软件检测是指扫描您的计算机和文件以检测恶意软件的过程。这不是一个单向过程,它实际上非常复杂。它结合了多种检测工具和方法,检测和清除过程通常在50秒内完成,在恶意软件检测中非常有效。以下是一些常见的检测方法:签名或基于模式的匹配:签名是一种算法或散列(从文本字符串中获得的数字),可以唯一标识特定病毒。启发式分析或主动防御:启发式扫描与签名扫描类似,不同之处在于启发式扫描不寻找特定特征,而是寻找程序中某些在典型应用程序中找不到的指令或命令。基于规则:进行分析的启发式引擎组件(分析器)从文件中提取某些规则,并将这些规则与恶意代码的规则集进行比较。行为分析:相比之下,可疑行为分析方法不是试图识别已知病毒,而是监视所有程序的行为。基于权重:根据每个检测到的特征的危险程度为其分配一定的权重。沙盒:允许文件在受控虚拟系统(又名沙盒)中运行以查看其行为。恶意软件检测工具包括:YARA-分析师模式匹配工具。YaraRuleGenerator-根据一组恶意软件样本生成YARA规则。文件扫描框架-模块化递归文件扫描解决方案。hashdeep-使用各种算法计算摘要哈希。Loki-基于主机的扫描器,用于扫描妥协指标(IOC)。故障-在功能级别注册和比较恶意软件。MASTIFF-静态分析框架。NetworkInteractionAnalysisNetworkInteractionAnalysis,在关注网络安全的同时,也监控了一个综合平台,进行更通用的网络流量分析。被动网络嗅探器/数据包捕获工具可用于检测操作系统、会话、主机名、开放端口等,而不会在网络上带来任何流量。分析以太网、PPP、SLIP、FDDI、令牌环和空中接口上的IPv4/6、TCP、UDP、ICMPv4/6、IGMP和Raw流量,以与数据包嗅探相同的方式理解BPF过滤逻辑。网络交互分析工具包括:Tcpdump-收集网络流量。tcpick-从网络流量中跟踪和重组TCP流。tcpxtract-从网络流量中提取文件。Wireshark-网络流量分析工具。CapTipper-恶意HTTP流量管理器。Chopshop-协议分析和解码框架。CloudShark-基于Web的工具,用于分析数据包和检测恶意软件流量。CodeDebuggerCodeDebugger是一种有用的恶意软件分析工具,允许在低级别分析代码。调试器的一个重要功能是断点(breakpoint)。当遇到断点时,程序将停止执行并将控制权传递给调试器,从而允许对当时的环境进行恶意软件分析。调试器利用专门的中央处理器(CPU)工具,使用户能够深入了解程序如何执行任务、访问被调试程序的环境等等。这在分析恶意软件时非常有用,因为它允许用户查看调试器如何尝试检测篡改,并跳过故意插入的垃圾指令。调试工具包括:objdump-GNUBinutils的一部分,用于对Linux二进制代码进行静态分析。OllyDbg-Windows可执行文件的汇编级调试器。FPort-报告实时系统中打开的TCP/IP和UDP端口,并将它们映射到相应的应用程序。GDB——GNU调试器。IDAPro-Windows反汇编器和调试器,提供免费评估版。ImmunityDebugger-使用PythonAPI分析恶意软件的调试器。恶意URL分析当今网站面临着各种各样的威胁,被感染的网站将作为跳板,帮助攻击者达到不法目的。例如,URL重定向机制已被广泛用于隐蔽地进行基于Web的攻击。重定向是指访问目的地的自动替换,在Web上一般由HTTP协议控制。除了这种传统方法之外,还经常使用其他自动访问外部Web内容的方法,例如iframe标签。恶意URL分析是通过机器学习等方法分析URL文本分词的词频来检测恶意URL。恶意URL分析工具包括:Firebug-用于Web开发的Firefox扩展。Java反编译器-反编译和检查Java应用程序。jsunpack-n-模拟浏览器功能的JavaScript解包器。Krakatau-Java反编译器、汇编器和反汇编器。Malzilla-分析恶意网页。沙盒技术Sandbox是一个重要的安全分析系统,它隔离程序,防止恶意或失败的项目损害或偷看您PC上的任何剩余部分。沙箱是一个严格控制的环境,它限制了一部分代码的功能。沙箱分析工具包括:firmware.re——可以反汇编、扫描和分析几乎所有的固件包。HybridAnalysis-基于VxSandbox的在线恶意软件分析工具。IRMA-用于分析可疑文件的异步可定制分析平台。CuckooSandbox-开源自托管沙箱和自动分析系统。cuckoo-modified-根据GPL许可的CuckooSandbox的修改版本。PDFExaminer-分析可疑的PDF文件。ProcDot-图形恶意软件分析工具包。Recomposer-用于将二进制文件安全上传到沙箱的帮助脚本。Sanddroid-适用于Android应用程序的自动和完整分析系统。域分析域分析是安全分析师获取背景信息并检查域和IP地址的过程。域分析应包括所发现信息的简要摘要,以及使其他人能够找到该信息的参考资料。域分析工具包括:SpamCop-基于IP的垃圾邮件阻止列表。SpamHaus-基于域和IP的阻止列表。SucuriSiteCheck-免费的网站恶意软件和安全扫描程序。TekDefenseAutomatic-OSINT工具,用于收集有关URL、IP或哈希的信息。URLQuery-免费URL扫描器。IPinfo-通过搜索在线资源收集有关IP或域的信息。Whois-免费在线whois搜索。邮件检查器-跨语言的临时电子邮件检查器库。参考链接:https://gbhackers.com/malware-analysis-cheat-sheet-and-tools-list/。
