【内存安全】无文件恶意软件如何在不留痕迹的情况下运行

news/2025/1/6 13:49:55/文章来源:https://www.cnblogs.com/o-O-oO/p/18651603

在不断变化的网络安全领域中,威胁行为者总是在开发新的、更有效的方法来破坏系统。

从基本的计算机病毒到如今复杂且持续性的威胁,恶意软件已经发展得极为迅速。

随着无文件恶意软件的不断发展,恶意软件已逐渐成为传统恶意软件的更危险替代品,它使用基于文件的有效载荷在被黑客入侵的设备上留下痕迹。

现代安全解决方案很难发现此类攻击,因为它们完全在内存中运行,受害者的硬盘上几乎没有留下此类攻击的痕迹。

与其前辈不同的是,无文件恶意软件使用普通系统工具和技术潜伏在显眼的地方,同时传达恶意意图。

随着企业不断改进其网络安全系统,对无文件恶意软件的有效检测和预防程序变得越来越重要。

安全专家必须了解基于内存的攻击,因为这一知识差距使许多安全解决方案容易受到攻击。

什么是无文件恶意软件?

与传统形式的恶意软件相比,无文件恶意软件策略更加温和、谨慎,寻求计算机渗透。

无文件恶意软件不会在硬盘上留下任何记录,而传统恶意软件则完全在计算机的随机存取存储器 (RAM) 中运行。

由于这种新颖的策略,传统的防病毒程序发现和消除风险变得更加困难。

无文件恶意软件很容易被观察到,因为它可能利用已安装的工具和标准系统活动。

这些漏洞利用 Windows 的内置管理工具将危险代码带入活动内存,从而绕过传统的安全措施。

虽然更复杂的病毒种类通常包括持久机制以延长系统重启时间,但该病毒仅存在于内存中,并在系统重启后自行删除。

过去几年中几起被广泛报道的无文件攻击证明了它们的威力。

2017 年,一次使用 PowerShell 脚本的无文件攻击侵入了一家大型金融服务机构的网络,敏感数据随之消失。

2019 年同样令人担忧的是使用Windows 管理规范(WMI) 执行恶意命令的增强型无文件攻击。

这些活动影响了全球各地的政府机构。这些图表展示了基于记忆的攻击如何频繁且成功地改变策略以躲避传统安全系统。

无文件恶意软件如何渗透系统

无文件恶意软件通常利用人为错误和安全漏洞,通过看似无害的访问端口找到计算机。

这些类型的攻击通常以带有有害宏的网络钓鱼电子邮件或利用浏览器漏洞的被黑网站开始,它们来自未知来源,与这些有害元素的联系会导致人们破坏系统。

由于无文件恶意软件可能会接管真正的系统实用程序,因此非常危险。预装的 Windows 管理工具(如 PowerShell 和 Windows 管理规范 (WMI))可能是对手的武器。

这些可靠的程序通常被列入白名单并具有较高的系统权限,为非法活动提供了最好的藏身之处。

一旦启动,恶意软件就会立即在内存中运行其负载,而不是将数据写入磁盘。

通常从下载危害较小的恶意软件的小脚本开始,并将其插入正在运行的应用程序中,它使用有效的 Windows 进程作为主机,并且添加的代码完全在 RAM 中运行。

由于传统的基于文件的检测技术不会产生可疑文件,因此它们实际上完全忽略了感染。

无文件恶意软件完全存在于内存中,通过使用受信任的系统功能来避免传统的安全措施。

无文件攻击中使用的技术

现代无文件攻击混合了复杂的技术工具集,以利用对系统流程和工具的底层信心。

代码注入:最广泛使用的技术之一是代码注入,即将危险代码直接注入之前运行的合法应用程序(如 Explorer.exe 或 svchost.exe)。此策略可让恶意行为者隐藏可靠的程序,从而使系统无法发现有害操作。

离地生活(LotL)技术:无文件攻击的关键组成部分也是离地生活(LotL)技术。

攻击者利用 Windows 的两个内置功能 PowerShell 和 Windows 管理规范进行破坏性操作。

攻击者可以通过 WMI 创建持久性,并使用 PowerShell 在网络计算机之间横向移动,直接在内存中下载和运行其他有效负载。

注册表操纵:攻击者通常会修改 Windows 注册表,以便即使在系统重启期间也能保持其持久性。

恶意软件可以通过在系统启动时轻轻地重新执行注册表项中保存的命令来避免被磁盘清理器检测到。Poweliks 恶意软件活动广泛使用此方法,将加密的有效负载隐藏在注册表项中,以免被察觉。

反射式 DLL 注入:一种称为反射式 DLL 注入的现代方法允许敌对行为者将动态链接库直接从磁盘加载到进程的内存区域中,而无需注册它们。

这种方法可以分发驻留在内存中的银行木马,就像之前针对金融机构的攻击中所见的那样,完全逃避基于磁盘的检测系统。它避开了安全协议和传统的加载机制。

检测无文件恶意软件的挑战

传统的安全方法是不够的,无法解决发现无文件恶意软件的具体问题。

传统的防病毒软件通常对这些攻击无效,因为它们主要依赖于基于签名的检测方法,因为没有危险的文件可供扫描或匹配签名。

当代攻击技术与传统安全策略之间的基本不匹配,导致许多公司的防御策略相当不充分。

虽然行为分析和记忆扫描在检测方面显示出更大的潜力,但这些技术仍然面临一些挑战。

即使良性行为和破坏性行为都可以使用相同的系统工具,行为分析也必须区分它们。

这在实用性和安全性之间产生了微妙的平衡,并且常常使安全人员陷入误报的困扰。

尽管它有着很大的前景,但是 RAM 的波动性和持续内存监控的资源密集型特性意味着内存扫描具有现实的局限性。

高级无文件恶意软件还可以在重点检查内存的情况下改变其行为。 特别是在需要降低性能影响的大型企业中,当前的检测技术通常无法实时评估足够的内存驻留风险。

这些缺陷引起了人们对改进检测技术的迫切需要的关注,该技术必须能够有效地发现和阻止无文件攻击,而不会危及系统性能。

缓解和防御策略

打击无文件恶意软件需要采取多管齐下的策略,将严格的安全规则与现代技术解决方案相结合。

端点检测和响应 (EDR):第一层防御始终是端点检测和响应 (EDR) 系统,因为它们会跟踪系统活动并实时记录可疑行为。

这些技术通过识别内存变化、奇怪的进程链接和非法系统实用程序使用来识别无文件攻击。

内存分析:防御技术从根本上依赖于内存分析,因为防御技术会不断扫描系统内存以发现危险趋势和异常行为。

即使隐藏在 RAM 注入应用程序或可疑脚本中,高级内存扫描系统也能检测到。检测从未与磁盘交互的风险很大程度上取决于这种能力。

用户教育:足够的用户教育有助于防止早期入侵。定期的员工培训有助于他们发现无文件攻击的常见来源——恶意 URL 和复杂的网络钓鱼操作。

组织机构必须具备安全意识文化,在这种文化中,用户必须意识到并致力于维护系统完整性。

系统强化:系统强化不仅可以提供防御,还可以减少不良行为者可能利用的攻击面。

此过程遵循最小特权概念,删除无关的管理工具,并严格限制 PowerShell 执行。应用程序白名单和受监管的管理功能使用大大限制了无文件恶意软件策略。

无文件恶意软件的未来展望

无文件恶意软件领域以令人眼花缭乱的速度发展,并且攻击技术日益复杂化,令人不安。

如果未来的版本要不断改变其行为并逃避发现,它们很可能会使用利用人工智能的先进逃避策略。

安全专家预测混合攻击将会增加,这种攻击将更传统的恶意软件与无文件方法混合在一起,以发动更复杂、更强大的攻击。

然而,对策技术也在快速发展。在新的层面上,人工智能和机器学习正在通过模式和行为分析改变风险检测。

这些进步使安全系统现在能够在潜在的灾难性影响之前预测并确定新的攻击地点。

复杂的神经网络被开发用于实时跟踪系统内存并识别可能暗示恶意活动的细微异常。

随着攻击者和防御者之间的战斗愈加激烈,量子计算与强大的行为分析相结合可以从根本上改变我们发现和预防基于记忆的危险的策略。

结论

无文件恶意软件是当代网络安全中最复杂的问题之一,随着威胁的变化,它只会变得更加麻烦。

世界各地的公司都面临着巨大的风险,因为它们可能隐藏在系统内存中、使用合法策略并避开常规的安全措施。

这些袭击的成功凸显了应用创新的检测和预防技术(如 EDR 技术)和全面的用户培训的重要性。

如果一个人想要领先于新的危险,他就必须时刻保持警惕并适应新情况。

为了防止日益复杂的基于内存的攻击,组织必须致力于改进安全政策、应用新技术并保留强大的防御方法。

关于作者:Ahmed Olabisi Olajide – Ahmed Olajide 是 Boaze 的 IT 主管,也是初创网络安全公司 Eybrids 的联合创始人。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/863770.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[网络] 反向代理与内网穿透:FRPC

缘起: GradioGradio是一款快速构建AI Web演示应用的Python Web框架(主要适用于科研、实验室,而非ToC的Web应用),其支持本地运行和远程访问。1个极简的Gradio代码:app.pyimport gradio as gr # 导入gradio库,gradio用于快速创建机器学习模型的web界面# 定义一个名为greet…

windows11使用pycharm连接wsl2开发基于poetry的python项目

windows11使用pycharm连接wsl2开发基于poetry的python项目 背景:公司开发的python项目用到了某个只提供了Linux版本的包,遂研究了一番如何在windows环境下进行开发。windows安装 wsl2 进入到wsl2中,安装对应的python版本,建议使用pyenv,下面以3.10.14版本为例子。 pyenv安…

【反爬虫】接口安全的风控介绍

#风控 #接口信息安全 #业务线 一、接口反爬背景二、反爬数据流框架介绍2.1 数据接入风控2.2 风险感知和策略迭代2.2.1 短线近实时监控告警2.2.2 风控策略部署2.3 异常流量处置能力2.4 网关验签组件的设计和应用2.4.1 验签整体架构2.4.2 接口验签加密流程三、反爬效果体现3.1 普…

发布blazor应用到Linux, 使用nginx作为WebSocket代理

Blazor 使用了SignalR连接, 而SignalR使用的是WebSocket WebSocket协议提供了一种创建支持客户端和服务器之间实时双向通信的 Web 应用程序的方法。作为 HTML5 的一部分,WebSocket 使开发此类应用程序比以前的方法容易得多。大多数现代浏览器都支持 WebSocket,包括 Chrome、F…

读数据保护:工作负载的可恢复性25公用云存储

公有云存储1. 对象存储 1.1. 对象存储可能是未来比较适合长期保存备份与档案的一种技术 1.2. 它的核心功能本身就已经含有保护数据所需的一些特性 1.3. 对象存储系统里的所有数据都能自动复制到多个地点,这意味着它天生就符合3-2-1原则 1.4. 对象存储还可以应对磁退化的问题,…

C#进阶

进阶 目录进阶枚举数组值类型和引用类型函数函数基础ref和out变长参数和参数默认值函数重载递归函数复杂数据类型结构体排序冒泡排序选择排序飞行棋项目C#高级语法面向对象成员变量构造函数成员属性索引器静态成员拓展方法运算符重载内部类和分部类继承里氏替换原则继承中的构造…

P11503 [NordicOI 2018] Nordic Camping

P11503 [NordicOI 2018] Nordic Camping 花了我挺长时间。 帐篷都是正方形的,可以枚举左上角,二分正方形边长,二维前缀和判断是否合法。这部分复杂度为 \(O(n^2\log n)\)。处理出来后,问题似乎就变成了矩形取最大值,单点查询。直接做是 \(\log^2\) 的,65 pts。具体就是,…

OpenXR间接链接、API层总体排序、加载器设计

OpenXR间接链接 通过加载器间接链接,应用程序动态生成OpenXR命令调度表。如果找不到加载器,或者只有比应用程序更旧的API,则此方法允许应用程序正常失败。为此,应用程序在加载器库上,使用特定平台的动态符号,查找(如dlsym())xrGetInstanceProcAddr命令的地址。一旦发…

OpenXR™加载器-设计、操作、调用链

OpenXR™加载器-设计和操作 1.2.1概述 OpenXR是一个分层体系结构,由以下元素组成: 1)OpenXR应用程序 2)OpenXR加载程序 3)OpenXR API层 4)OpenXR运行时间 一般概念适用于Windows和Linux的系统的加载程序。 首先,让把OpenXR环境看作一个整体。OpenXR应用程序位于执行链的…

经典专著《AI芯片开发核心技术详解》、《智能汽车传感器:原理设计应用》、《TVM编译器原理与实践》、《LLVM编译器原理与实践》4本书推荐

4本书推荐《AI芯片开发核心技术详解》、《智能汽车传感器:原理设计应用》、《TVM编译器原理与实践》、《LLVM编译器原理与实践》由清华大学出版社资深编辑赵佳霓老师策划编辑的新书《AI芯片开发核心技术详解》已经出版,京东、淘宝天猫、当当等网上,相应陆陆续续可以购买。该…

使用format_obproxy_digest_log工具分析obproxy网络层耗时SQL

之前写过一个博客,介绍 ob_tools包 来实施抓取 observer 层的 gv$ob_sql_audit 的SQL,还提供一些分析SQL来通过不同维度分析缓慢的业务SQL语句,免得和应用扯皮说数据库执行SQL慢。 但是分析出服务端业务SQL语句执行时间还不够,应用也有可能会和你扯皮说obproxy转发慢,也不…