什么是内存取证?
内存取证是指在计算机或其他数字设备运行时,通过对其随时存储的内存数据进行采集、分析和提取,以获取有关设备状态、操作过程和可能存在的安全事件的信息。内存取证是数字取证的一个重要分支,用于从计算机的RAM(随机存取存储器)或其他设备的内存中提取关键信息,以便了解设备在特定时间点的状态和活动。
内存取证的主要目的?
内存取证的主要目的是获取在计算机或设备内存中暂时存储的数据,这些数据在设备重启或关机后通常会丢失。通过内存取证,可以获取运行中的进程、正在打开的文件、网络连接、注册表项、加密密钥和密码等敏感信息,这些信息对于数字取证、安全威胁分析和恶意活动检测都非常重要。
内存取证通常在计算机遭受安全事件、系统崩溃、恶意软件感染、取证调查等情况下使用。取证人员使用专业的取证工具和技术,对目标计算机或设备的内存进行快照或镜像,并在另一个设备上进行分析。由于内存数据的易失性,取证人员必须在尽可能短的时间内采集和分析数据,以确保数据的完整性和准确性。
内存取证的步骤
- 采集内存镜像:首先,需要采集目标计算机或设备的内存镜像。内存镜像是对内存中所有数据的完整快照,通常通过专用的取证工具来完成。常用的内存采集工具包括Volatility、FTK Imager、DumpIt等。
- 确保取证完整性:在采集内存镜像之前,确保目标计算机或设备处于关闭或冻结状态,以避免数据被覆盖或修改。内存镜像的采集过程应该尽量快速,以减少数据的丢失。
- 分析内存镜像:将采集的内存镜像导入到内存取证工具中进行分析。在分析过程中,可以查看进程列表、网络连接、打开的文件、注册表项、内存映像和其他运行时数据。
- 查找恶意代码和漏洞:在内存镜像中查找潜在的恶意代码、恶意进程或漏洞,以便确认是否存在安全威胁。
- 寻找证据:根据需求,在内存镜像中查找可能的证据,例如密码、加密密钥、聊天记录、浏览器历史记录等。这些证据可能对调查和取证提供重要支持。
- 进行关联分析:将内存镜像中的数据与其他取证数据进行关联分析,例如硬盘镜像、网络日志等,以获取更全面的信息。
- 提取数据:根据需要,从内存镜像中提取重要的数据和证据。提取的数据应该保存为可读格式,并做好记录和标记。
- 生成取证报告:根据分析结果,撰写详细的内存取证报告,包括取证过程、发现的证据、结论和建议等。报告应该清晰明了,以便其他人理解和参考。
- 保护数据完整性:在进行内存取证的过程中,务必确保数据的完整性和准确性。采用适当的安全措施,避免对内存数据造成修改或破坏。
内存取证和数字取证之间的关系
内存取证是数字取证的一个重要分支,它们之间有着密切的关系。下面简要介绍内存取证和数字取证之间的关系。
1、数据来源:
- 数字取证通常涉及对计算机硬盘、存储设备、网络数据等静态数据的分析。这些数据通常在计算机或设备关闭后保留,并且可以在之后进行取证分析。
- 内存取证则专注于获取计算机或设备在运行时的实时数据。内存中的数据在设备重启或关机后通常会丢失,因此内存取证需要在设备运行期间进行。
2、相互补充:
- 内存取证和数字取证相互补充,提供了更全面的取证和分析能力。通过数字取证可以获取硬盘、存储设备等静态数据,而内存取证提供了计算机运行时的实时数据,两者结合可以提供更全面、深入的取证信息。
3、应用场景:
- 数字取证广泛应用于网络安全、计算机取证、企业内部调查和法律证据收集等领域。
- 内存取证通常在计算机遭受安全事件、系统崩溃、恶意软件感染、取证调查等情况下使用。
内存取证的实例
1、获取内存镜像:首先需要获取目标计算机的内存镜像,可以通过物理获取(例如使用内存采集工具将内存保存到文件中)或虚拟获取(例如从虚拟机中导出内存快照)来获得内存镜像。
2、分析内存镜像:
- 导入内存镜像:使用Volatility工具,将采集到的内存镜像导入到分析环境中,准备进行取证分析。
- 选择插件:根据需要选择合适的插件来进行分析,例如"pslist"插件用于列出进程信息,"connections"插件用于查看网络连接信息等。
3、进程和线程分析:
- 使用"pslist"插件查看内存中运行的所有进程,并列出每个进程的ID、父进程ID、执行路径等信息。
- 使用"pstree"插件可以以树状图形式查看进程之间的层次结构关系。
- 使用"psxview"插件可以查看隐藏进程和模块信息。
4、文件系统和注册表分析:
- 使用"filescan"插件扫描内存中的文件对象,然后使用"dumpfiles"插件将文件导出到本地磁盘进行分析。
- 使用"hivelist"插件查找内存中加载的注册表文件,并使用"hivedump"插件将注册表导出到本地进行分析。
5、使用工具对可疑文件进行检查和扫描(如Virustotal),这里不仅可以使用可疑的可执行文件,也可以使用文件的SHA1进行查询。
6、可以使用逆向分析工具(如IDA)对包进行逆向分析。
从IDA中将汇编转换为伪代码,我们可以发现它具有DLLEntryPoint。这似乎是DLL进入系统的时间。然后它调用CreateProcessNotify。
注意RegCreateKeyA。“Software//Microsoft//Windows//CurrentVersion/run”是正常的寄存器,它可以控制计算机自动运行和加载攻击者想要计算机使用的程序。
在对寄存器执行某些操作之后,该进程开始扫描文件夹路径并遍历文档。
最重要的一点是,这个过程试图清理缓存:"ericpotic.com"和"mashevserv.com"。这两个网站似乎与僵尸网络有关。攻击者控制僵尸网络,利用僵尸网络对客户端进行入侵。
如果您对内存取证感兴趣的话,可以咨询虹科SecurityScorecard产品的内存取证服务;如果您对终端安全保护产品感兴趣的话,可以了解虹科Morphisec产品以及我们的终端安全保护解决方案。
虹科推荐
网络安全评级
虹科网络安全评级是一个安全风险评估平台,使企业能够以非侵入和由外而内的方式,对全球任何公司的安全风险进行即时评级、响应和持续监测。
随着数字化转型的加速,云服务,IoT,越来越紧密的第三方供应商等,企业如果只关注自己组织内部的安全远远不够,越来越多的数据泄露/安全事件是由第三方供应链引起的。虹科网络安全评级方案最全面的量化(A-F评分)企业自身及第三方供应链的网络安全情况,获得C、D或F评级的公司被入侵或面临合规处罚的可能性比获得A或B评级的公司高5倍。让企业能够实时把握自身及第三方供应商的网络安全健康情况,及时避免潜在网络安全/数据泄露带来对企业业务和信誉影响的风险。
该平台使用可信的商业和开源威胁源以及非侵入性的数据收集方法,对全球成千上万的组织的安全态势进行定量评估和持续监测。网络安全评级提供十个不同风险因素评分的详细报告:应用安全、端点安全、CUBIT评分、DNS健康、黑客通讯、IP信誉、信息泄露、网络安全、修补频率、社会工程。
虹科网络安全评级为各行各业的大小型企业提供最准确、最透明、最全面的安全风险评级。
虹科入侵防御方案
虹科终端安全解决方案,针对最高级的威胁提供了以预防为优先的安全,阻止从终端到云的其他攻击。虹科摩菲斯以自动移动目标防御(AMTD)技术为支持。AMTD是一项提高网络防御水平并改变游戏规则的新兴技术,能够阻止勒索软件、供应链攻击、零日攻击、无文件攻击和其他高级攻击。Gartner研究表明,AMTD是网络的未来,其提供了超轻量级深度防御安全层,以增强NGAV、EPP和EDR/XDR等解决方案。我们在不影响性能或不需要额外工作人员的情况下,针对无法检测的网络攻击缩小他们的运行时内存安全漏洞。超过5,000家组织信任摩菲斯来保护900万台Windows和Linux服务器、工作负载和终端。虹科摩菲斯每天都在阻止Lenovo, Motorola、TruGreen、Covenant Health、公民医疗中心等数千次高级攻击。
虹科摩菲斯的自动移动目标防御ATMD做到了什么?
1、主动进行预防(签名、规则、IOCs/IOA);
2、主动自动防御运行时内存攻击、防御规避、凭据盗窃、勒索软件;
3、在执行时立即阻止恶意软件;
4、为旧版本操作系统提供全面保护;
5、可以忽略不计的性能影响(CPU/RAM);
6、无误报,通过确定警报优先级来减少分析人员/SOC的工作量。
加入“网络安全技术沟通群”或关注“虹科网络安全”微信公众号,及时了解网络安全基础知识、行业动态、应用案例、解决方案等信息。