攻击者如何在日常网络资源中隐藏恶意软件

news/2024/9/19 0:01:24 标签: 网络, 安全, 攻击, 资源, 隐藏, 恶意软件, 威胁

近二十年来,安全 Web 网关 (SWG) 一直在监控网络流量,以检测恶意软件、阻止恶意网站并保护企业免受基于 Web 的威胁

然而,攻击者已经找到了许多绕过这些防御措施的方法,SquareX的安全研究人员对此进行了记录。

最危险的策略之一是将恶意软件隐藏在显眼的地方,使用图像、WebAssembly、HTML、CSS 和 JavaScript 等日常 Web 资源来伪装攻击

这些客户端组装技术完全绕过了 SWG,利用常见的 Web 元素将恶意负载直接传送到浏览器。

恶意软件嵌入在 SWG 通常忽略的普通文件中,并且只有在到达受害者的设备后才会重新组装和执行。

在大多数情况下,SWG 并不知道正在发生文件下载事件。

WebAssembly

WebAssembly (WASM) 是一种二进制汇编格式,旨在在浏览器中以接近原生的速度运行代码。

许多合法的 Web 应用程序都使用 WASM 进行大量计算,包括 Figma 和 Adob​​e 等平台。

然而,攻击者已经找到了一种将恶意软件隐藏在 WASM 模块中的方法,使恶意负载不被 SWG 发现。

由于 SWG 不对 WASM 文件进行静态或动态分析,因此恶意负载无需审查即可通过。

一旦到达客户端,JavaScript 就会从 WASM 文件中提取并组装恶意软件,并将其投放到受害者的设备上。

WASM 是攻击者利用的理想媒介,因为它被广泛使用,但业界缺乏 WASM 安全分析框架。

SquareX在其业界首创的浏览器检测和响应解决方案中率先检测恶意 WebAssembly。 

图像隐写术

隐写术是一种将数据隐藏在图像中的做法,并不是一项新技术,但它已经发展成为一种逃避 SWG 检测的有效方法。

图像通常被视为安全的,很少被 SWG 深入检查,使其成为走私恶意代码的完美载体。

在这次攻击中,恶意软件嵌入在图像文件的最低有效位 (LSB) 中,隐藏的代码不会影响图像的可见外观。

一旦图像在浏览器上呈现,JavaScript 就会从图像中提取恶意软件并将其放入用户的磁盘中。

隐写术的使用增加了额外的复杂性,使得传统安全工具在没有特定隐写分析的情况下难以检测到。

HTML、CSS、JavaScript、SVG 嵌入

攻击者还可以将恶意内容隐藏在网页设计的核心组件中:HTML、CSS 和 JavaScript。

这些基本元素是网页功能的基础,非常适合隐藏 SWG 无法检测到的恶意负载。

HTML 嵌入攻击

攻击者将恶意软件存储为看似无害的 HTML 标记内的二进制数组。

对于 SWG 来说,此内容显示为常规 HTML 并允许通过。

一旦进入客户端,JavaScript 就会读取 HTML 标记,提取恶意代码并将其重新组合成功能性攻击

CSS 嵌入攻击

恶意代码也可以嵌入到 CSS 变量或规则中,而 SWG 不会检查这些变量或规则。JavaScript 在到达浏览器后会从 CSS 文件中提取隐藏恶意软件,并触发有效负载的下载。

JavaScript 数组攻击

攻击者将恶意软件嵌入 JavaScript 数组中。由于 SWG 不会对 JavaScript 代码进行实时动态分析,因此这些数组可以不经扫描就通过网络。当页面加载时,JavaScript 会将数组组装成恶意文件并执行它。

SVG 嵌入攻击

可缩放矢量图形对攻击者特别有吸引力,因为它们可以在标记中包含隐藏的二进制数据,这些数据可以被运行在客户端的 JavaScript 读取并重新组合成恶意软件

这些技术说明了攻击者如何瞄准企业网络。通过将恶意软件隐藏在日常网络资源中,他们甚至能够绕过最先进的 SWG。 

随着攻击者不断改进其技术,企业显然必须采用新的安全措施来防范客户端攻击。浏览器原生安全解决方案在浏览器本身内运行,对于在最后的检测和缓解这些威胁至关重要。 


http://www.niftyadmin.cn/n/5664737.html

相关文章

鸿蒙Harmony应用开发,数据驾驶舱页面的实现

先来看看我们要实现的驾驶舱的页面是什么样的 对于这种 响应式布局的页面构建,我们的脑子里面要有一个概念,就是"分而治之"。我们把这个页面进行分割,分割成不同的块然后再来逐个实现. 不难发现,我们可以将这个看到的效…

Vue学习记录之四(computed的用法)

computed 属性用于创建计算属性。计算属性是基于现有响应式数据派生出的值,它会自动缓存,只有当依赖的响应式数据发生变化时,计算属性才会重新计算,这样可以提高性能和避免不必要的重复计算。 书写有两种方法: 1、选项…

文件操作

1.文件的打开和关闭 文件在读写之前应该先打开文件,在使用结束之后应该关闭文件。 在编写程序的时候,在打开文件的同时,都会返回一个FILE*的指针变量指向该文件,也相当于建立了指针和文件的关系。ANSI C规定使用fopen函数来打开文…

【python】30、矩阵加法 tensor.sum

文章目录 一、tensor.sum 一、tensor.sum 为了更好地理解 torch.sum 函数中 dim 参数的作用,我们可以将三维张量的求和过程分解,并通过具体的例子来说明不同 dim 参数的效果。### 三维张量的结构假设我们有一个 3x2x2 的张量,如下所示&#…

【JavaEE初阶】多线程6(线程池\定时器)

欢迎关注个人主页:逸狼 创造不易,可以点点赞吗~ 如有错误,欢迎指出~ 目录 实例3:线程池 参数解释 核心线程数, 最大线程数 允许空闲的最大时间 ,时间单位 任务队列(阻塞队列) 线程工厂>工厂设计模式 拒绝策略 使用举例 模拟实现一个线…

windows使用tcpdump.exe工具进行抓包教程

windows主机安装一些抓包工具可能有些不方便,这里有一个tcpdump.exe工具直接免安装,可以直接使用进行抓包。(工具下载见 附件) tcpdump.exe使用教程 如下: 1:tcpdump -D 可查看网络适配器(注意前面的编号)…

OpenHarmony(鸿蒙南向开发)——轻量和小型系统三方库移植指南(一)

往期知识点记录: 鸿蒙(HarmonyOS)应用层开发(北向)知识点汇总 鸿蒙(OpenHarmony)南向开发保姆级知识点汇总~ OpenHarmony(鸿蒙南向开发)——轻量系统芯片移植指南(一) Op…

Web植物管理系统-下位机部分

本节主要展示上位机部分,采用BSP编程,不附带BSP中各个头文件的说明,仅仅是对main逻辑进行解释 main.c 上下位机通信 通过串口通信,有两位数据验证头(verify数组中保存对应的数据头 0xAA55) 通信格式 上位发送11字节…