[论文分享] Never Mind the Malware, Here’s the Stegomalware

Never Mind the Malware, Here’s the Stegomalware [IEEE Security & Privacy 2022]

Luca Caviglione | National Research Council of Italy
Wojciech Mazurczyk | Warsaw University of Technology and FernUniversität in Hagen

近年来,隐写技术已逐渐被观察到用于赋予 threats 隐形能力并发起复杂的攻击活动。这需要在一定程度上重新思考对恶意软件的认知。

Background

人们普遍认为隐写术主要用于学术书籍,其使用几乎仅限于研究论文。在计算机科学领域尤其如此: 除了一些成功的想法,比如保护版权、检测数字媒体的变化或跟踪网络流量。从2014年开始,随着恶意软件传播的急剧增长,许多安全研究人员和专家注意到,攻击变得越来越难以检测,许多威胁在互联网上游荡多年而不受干扰。例如,Regin在2014年被发现,但它的最初起源可以追溯到2003年。
即使增加的隐蔽性是编码技术(例如,二进制混淆),防御方法(例如,反取证例程和内存加密)和架构优化(例如,多级加载以推迟恶意有效载荷的检索)混合的结果,研究人员发现隐写术是这种成功的基本要素。
当使用隐写术时,通过将指令序列转换为中间形式(例如,ASCII或Base64)来避免检测,然后通过操纵图像的像素或将其隐藏在元数据中来隐藏它。类似地,对于网络会话的情况,流量混淆创建一个数据包序列,模拟另一个协议或显示标准特征(例如,数据包的大小或使用的端口)。
相反,隐写恶意软件主要利用网络隐蔽通道,这是通过将恶意数据隐藏在合法流量中创建的,以实现隐蔽的通信路径。作为一个可能的例子,攻击者可以通过在目标流的包间延迟中隐藏命令来激活僵尸网络。
事实上,最近在“野外”观察到的样本利用了许多隐身技术,这些技术也扩展到了更广泛的信息隐藏领域。包括如下机制:

  • 在看起来无害的数据中隐藏恶意代码或其他资源(例如,库,脚本和配置文件),以避免检测,阻塞或内容过滤规则
  • 在受害者的主机上减少有效负载或检索额外的可执行文件,以减少威胁的足迹,避开防病毒软件,或使重建攻击变得更加困难
  • 实施隐蔽通道,以泄露信息和交换命令,以及绕过流量策略或入侵检测系统
  • 允许进程交换数据,即使被限制在单独的执行区域或硬件实体中(例如,沙箱、容器或CPU内核)。

Instances

2021年5月,一种能够在Steam在线游戏平台的资料图片元数据中隐藏信息的威胁被发现。被操纵的头像不能启动可执行代码: 相反,它只是作为另一个恶意阶段的隐藏载体。在执行时,该威胁检查Microsoft Teams的存在,并评估Twitter的可达性,以实施命令和控制(C&C)操作或部署机器人。
2020年7月,发现了一种石油钻机恶意软件的变种。与之前的版本相比,最有趣的区别在于使用隐写术在电子邮件通信中实现了嵌套的C&C通道,即数据隐藏在以附件形式交换的无害图片中。在2020年5月至6月针对日本、意大利、英国和德国工业机构发动的大规模攻击中,隐写术也是关键因素。
更多的细节,参考Trojan.MSExcel. Agent.be and Trojan.PowerShell。Generic被用来感染受害者并获取额外的有效载荷,包括配置文件。为了避免检测和减少足迹,木马从imgur.com等公共服务下载了一张包含恶意代码的图像。与此同时,另一种利用隐写术并通过USB大容量存储设备传播的恶意软件被识别出来。它名为USBFerry,利用了BKDR_IDSHELL。ZTFC-A后门,在与远程控制器通信时向域名系统(DNS)流量和JPG图像中注入秘密数据。2019年早些时候,在Titanium中也观察到了类似的方法:在这种情况下,数据被隐藏在PNG文件中。
从2020年底到2021年底,几家在线商店定期受到攻击,这也证明了人们对赋予恶意软件隐写技术的兴趣越来越大。随着“Magecart”这个总称,指一些针对电子商务平台的网络犯罪集团,它们窃取信用卡号码并出售牟利。例如,在2020年第一季度,网络犯罪分子通过隐藏在一个PNG文件中浏览网页,使其看起来与受害者浏览器中显示的内容完全一致,从而入侵了特百惠网站。基于攻击的数据隐藏技术的范围是相当广泛的。例如,恶意代码隐藏在电子商务网站的PHP和CSS文件的注释块中,而付款页面的恶意代码将受害者的数据注入到JPG图像中。
2019年,大量隐藏图像内容的攻击被分离出来。例如,LokiBot。在StarCruft威胁中也观察到利用隐写修改过的图像的多级加载机制。然而,2019年发现了一个具有隐写功能的主要远程访问木马威胁(首次出现在2017年)的升级版本,目标是金融科技组织。
为简洁起见,我们只讨论由安全专家和研究人员分离出来的最新威胁。表1总结了在野外观察到的最显著和已知的隐写器。如图所示,该表报告了信息隐藏的位置、使用的伪装技术以及目的。更全面和更新的列表可在网上找到。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Case of Invoke-PSImage

Invoke-PSImage 很好地说明了猜测何时使用隐写术是非常困难的。本质上,Invoke-PSImage允许通过改变相关绿色和蓝色通道的4个最低有效位,将PowerShell脚本嵌入到图像的像素中。尽管简单且有一些限制,但该方法已经发布在GitHub上,并在安全相关论坛上迅速传播。令人惊讶的是,在发布仅仅两天之后,它就被用于平昌奥运会的第一次攻击。
这证明了“运行代码”的可用性是一项攻击技术成功的重要标准之一。近年来,Invoke-PSImage已经被Powload利用(在2018年上半年发现),并且它仍然存在于Emotet [9] 和bebloh [10] 的不同版本的工具箱中。通过灰星(Greystar)勒索软件和Ursnif [11] 的一些变种,将有效载荷加载到受害者的主机上。另一个值得注意的利用方式是创建后门,就像在bandook [12] 中发生的那样。

What’s Next

很明显,隐写软件使用的广泛技术和内容导致了攻击者和防御者之间的不对称。此外,如果网络犯罪分子怀疑某一运营商将被监视,他/她可以简单地转移到另一个运营商,因此几乎不可能设计出一刀切的对策。因此,开源和商业产品(例如,防火墙和防病毒)的可用性是高度分散或专业化的。例如,许多入侵检测系统不是设计来处理开箱即用的网络隐蔽通道,需要开发特定的规则 [13]。
对于针对图像的威胁,已经有一些专门的产品可用,例如McAfee的隐写防御方案 [14],但它们似乎还不够成熟,无法大规模使用。真正关心隐写软件的研究人员和安全专家在设计防御策略时应该考虑以下4个原则:
(1) Opportunity makes the thief
隐写和隐藏方法主要利用不必要的信息、不完全隔离或可被操纵以存储秘密的歧义。因此,未来的硬件、应用程序编程接口、多媒体文件和网络协议应该强制执行一些抗隐写的设计标准。

(2) Decouple
检测和缓解隐写软件需要同时检查多个工件,这些工件可能非常不同(例如二进制文件、元数据和网络数据包)。即使每个威胁都有自己的特征,需要特定的签名(例如,大量系统调用或HTTP流量响应体中的模式),用于获取硬件和软件可见性的技术也可能是唯一的。追踪隐藏在“意料之外”的数据的攻击者时,一种减轻负担的方法可以从解耦设计中受益。

(3) You will never know
隐写器可能会在意想不到的地方留下它存在的迹象。隐藏的数据可能会增加文件的大小,网络流量的寄生使用可能会改变数据包头部位的分布,图像隐写可能会在RGB直方图中产生特征。事实上,隐写软件的影响是无法预测的,签名和被隐藏数据之间的关系通常无法用常识来捕捉。为了实现这一目标,人工智能可以在一定程度上减少防御者对能够隐藏信息的威胁的盲目性。

(4) Follow the code
随着“犯罪即服务”模式的日益扩散,这种模式允许使用第三方代码和设施来设计和实施威胁。事实上,如果一种充分的、公开可用的方法成为恶意工具的一部分,或者成为威胁后代的基础,那么它的采用将变得非常不可能控制。与此同时,在互联网上寻找利用隐写术的想法、工具和概念验证实现,从预测隐写策略或在恶意威胁消失之前追踪它们的角度来看,可能是一项有价值的努力。

总结

References

[9] “Internet security threat report,” Symantec, Feb. 2019. Accessed: Jun. 9, 2022. https://docs.broadcom.com/doc/istr-24-2019-en
[10] R. Han, C. Yang, J. Ma, S. Ma, Y. Wang, and F. Li, “IMShell-Dec: Pay more attention to external links in powershell,” in Proc. IFIP Int. Conf. ICT Syst. Security Privacy Protection, 2020, vol. 580, pp. 189–202.
[11] C. Patsakis and C. Anargyros, “Analysing the Fall 2020 Emotet campaign,” 2020, arXiv:2011.06479.
[12] T. Seals, “Digitally signed bandook trojan reemerges in global spy campaign,” ThreatPost, Nov. 30, 2020. https://threatpost.com/ digitally-signed-bandook-trojan -spy-campaign/161676
[13] T. Koziak, K. Wasielewska, and A. Janicki, “How to make an intrusion detection system aware of steganographic transmission,” in Proc. Eur. Interdisciplinary Cybersecurity Conf., Nov. 2021, p. 77–82.
[14] “Steganography defensive initiative,” McAfee. Accessed: Jun. 2022. https://www.mcafee.com/enterprise/it-it/downloads/free-tools/ steganography.html

Insights

(1) Stegomalware can give out a paper
(2) scouting the Internet for ideas, tools, and proof-of-concept implementations exploiting steganography could be a worthy effort in the perspective of anticipating cloaking strategies or chasing alicious threats before they disappear.

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

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

相关文章

kubernetes istio

目录 一、部署 二、部署示例应用 三、部署遥测组件 四、流量管理 五、熔断 官网:https://istio.io/latest/zh/about/service-mesh/ 一、部署 提前准备好文件 tar zxf 15t10-1.19.3-linux-amd64.tar.gz cd 15t10-1.19.3/ export PATH$PWD/bin:$PATHistioctl install …

保姆级使用vuedraggable三方组件

第一步 引入vuedraggable npm i vuedraggable -S 第二步 直接使用&#xff0c;源码如下 <template><draggableclass"list-group"tag"ul"v-model"list"v-bind"{animation: 1000,group: description,disabled: false,ghostClass:…

绘图软件 OmniGraffle mac中文版特点说明

OmniGraffle mac是一款图形绘制和图表设计软件&#xff0c;主要面向 macOS 和 iOS 平台。它适用于用户创建流程图、组织结构图、原型设计、网站线框图、地图等各种类型的图形。该软件的界面直观&#xff0c;用户友好&#xff0c;让用户能够轻松地创建和编辑复杂的图形。 OmniGr…

部署百川大语言模型Baichuan2

Baichuan2是百川智能推出的新一代开源大语言模型&#xff0c;采用 2.6 万亿 Tokens 的高质量语料训练。在多个权威的中文、英文和多语言的通用、领域 benchmark 上取得同尺寸最佳的效果。包含有 7B、13B 的 Base 和 Chat 版本&#xff0c;并提供了 Chat 版本的 4bits 量化。 模…

大数据知识图谱项目——基于知识图谱的电影问答系统(超详细讲解及源码)

大数据知识图谱项目——基于知识图谱的电影问答系统&#xff08;超详细讲解及源码&#xff09; 一、项目概述 知识图谱是将知识连接起来形成的一个网络。由节点和边组成&#xff0c;节点是实体&#xff0c;边是两个实体的关系&#xff0c;节点和边都可以有属性。知识图谱除了…

pycharm pro v2023.2.4(Python编辑开发)

PyCharm2023是一款集成开发环境&#xff08;IDE&#xff09;&#xff0c;专门为Python编程语言设计。以下是PyCharm2023的一些主要功能和特点&#xff1a; 代码编辑器&#xff1a;PyCharm2023提供了一个功能强大的代码编辑器&#xff0c;支持语法高亮、自动补全、代码调试、版…

AI歌姬,C位出道,基于PaddleHub/Diffsinger实现音频歌声合成操作(Python3.10)

懂乐理的音乐专业人士可以通过写乐谱并通过乐器演奏来展示他们的音乐创意和构思&#xff0c;但不识谱的素人如果也想跨界玩儿音乐&#xff0c;那么门槛儿就有点高了。但随着人工智能技术的快速迭代&#xff0c;现在任何一个人都可以成为“创作型歌手”&#xff0c;即自主创作并…

《数据结构、算法与应用C++语言描述》-队列的应用-工厂仿真

工厂仿真 完整可编译运行代码见&#xff1a;Github::Data-Structures-Algorithms-and-Applications/_19Factory simulation/ 问题描述 一个工厂有m台机器。工厂的每项任务都需要若干道工序才能完成。每台机器都执行一道工序&#xff0c;不同的机器执行不同的工序。一台机器一…

Python数据结构:集合(set)详解

1.集合的概念 在Python中&#xff0c;集合&#xff08;Set&#xff09;是一种无序、不重复的数据类型&#xff0c;它的实现基于哈希表&#xff0c;是由唯一元素组成的。集合中不允许有重复的元素&#xff0c;即相同元素只能出现一次。Python中的集合类似于数学中的集合&#xf…

Java14新增特性

前言 前面的文章&#xff0c;我们对Java9、Java10、Java11、Java12 、Java13的特性进行了介绍&#xff0c;对应的文章如下 Java9新增特性 Java10新增特性 Java11新增特性 Java12新增特性 Java13新增特性 今天我们来一起看一下Java14这个版本的一些重要信息 版本介绍 Java 14…

JNDI注入

1、什么是 JNDI JNDI(Java Naming and Directory Interface, Java命名和目录接口)&#xff0c;JNDI API 映射为特定的命名&#xff08;Name&#xff09;和目录服务&#xff08;Directory&#xff09;系统&#xff0c;使得Java应用程序可以和这些命名&#xff08;Name&#xff…

【Shell脚本11】Shell 函数

Shell 函数 linux shell 可以用户定义函数&#xff0c;然后在shell脚本中可以随便调用。 shell中函数的定义格式如下&#xff1a; [ function ] funname [()]{action;[return int;]}说明&#xff1a; 1、可以带function fun() 定义&#xff0c;也可以直接fun() 定义,不带任何…

旺店通·企业版对接打通金蝶云星空查询调拨单接口与分布式调入单新增接口

旺店通企业版对接打通金蝶云星空查询调拨单接口与分布式调入单新增接口 源系统:旺店通企业版 旺店通是北京掌上先机网络科技有限公司旗下品牌&#xff0c;国内的零售云服务提供商&#xff0c;基于云计算SaaS服务模式&#xff0c;以体系化解决方案&#xff0c;助力零售企业数字化…

Android framework添加自定义的Product项目,lunch目标项目

文章目录 Android framework添加自定义的Product项目1.什么是Product&#xff1f;2.定义自己的Product玩一玩 Android framework添加自定义的Product项目 1.什么是Product&#xff1f; 源码目录下输入lunch命令之后&#xff0c;简单理解下面这些列表就是product。用于把系统编…

如何显示标注的纯黑mask图

文章目录 前言一、二分类mask显示二、多分类mask显示 前言 通常情况下&#xff0c;使用标注软件标注的标签图看起来都是纯黑的&#xff0c;因为mask图为单通道的灰度图&#xff0c;而灰度图一般要像素值大于128后&#xff0c;才会逐渐显白&#xff0c;255为白色。而标注的时候…

sass 生成辅助色

背景 一个按钮往往有 4 个状态。 默认状态hover鼠标按下禁用状态 为了表示这 4 个状态&#xff0c;需要设置 4 个颜色来提示用户。 按钮类型一般有 5 个&#xff1a; 以 primary 类型按钮为例&#xff0c;设置它不同状态下的颜色&#xff1a; <button class"btn…

IP-guard Webserver view 远程命令执行漏洞【2023最新漏洞】

IP-guard Webserver view 远程命令执行漏洞【2023最新漏洞】 一、漏洞描述二、漏洞影响三、漏洞危害四、FOFA语句五、漏洞复现1、手动复现yaml pocburp发包 2、自动化复现小龙POC检测工具下载地址 免责声明&#xff1a;请勿利用文章内的相关技术从事非法测试&#xff0c;由于传…

R程序 示例4.3.2版本包 在centos进行编译部署

为了在CentOS上下载和编译R语言4.3.2包&#xff0c;可以按照以下步骤进行操作&#xff1a; 1.首先&#xff0c;需要安装一些必要的依赖项。可以使用以下命令安装它们&#xff1a; sudo yum install -y epel-release sudo yum install -y gcc gcc-c gcc-gfortran readline-dev…

Linux 使用随记

Linux 使用随记 shell 命令行模式登录后所取得的程序被成为shell&#xff0c;这是因为这个程序负责最外层的跟用户&#xff08;我们&#xff09;通信工作&#xff0c;所以才被戏称为shell。 命令 1、命令格式 command [-options] parameter1 parameter2 … 1、一行命令中第…

C#几种截取字符串的方法

在C#编程中&#xff0c;经常需要对字符串进行截取操作&#xff0c;即从一个长字符串中获取所需的部分信息。本文将介绍几种常用的C#字符串截取方法&#xff0c;并提供相应的示例代码。 目录 1. 使用Substring方法2. 使用Split方法3. 使用Substring和IndexOf方法4. 使用Regex类…