【Black Hat 2024】研究员可攻击字节码解释器,隐藏恶意注入活动

5c10a5d7ff62d08cdc3344797df407b9.gif 聚焦源代码安全,网罗国内外最新资讯!

作者:Elizabeth Montalbano

编译:代码卫士

很多编程语言如 VBScript 和 Python 都在使用软件解释器,而这些解释器将机器代码存储在内存中。攻击者可将命令插入机器代码,执行恶意代码并隐藏这一行为。

解释器将人类可读的软件代码翻译为字节码。由NTT 安全控股公司和东京大学组成的研究团队将在下周举行的美国黑帽大会上展示如何成功在字节码执行前将恶意指令插入内存中的字节码,以及如何利用多数安全软件不会扫描字节码的方式逃避检测。攻击者可利用这一技术将恶意活动隐藏在多数端点安全软件的视野之外。

研究人员已证实称该技术也适用于在 Python 和 Lua 解释器的内存进程中插入恶意代码。

研究人员表示,“恶意软件常常通过将恶意代码注入非恶意进程中的方式隐藏行为,但目前的注入攻击类型具有相关特征,可被安全产品轻松检测到。该解释器并不关心覆写远程进程,因此我们可用恶意代码轻松替换所生成的字节码,而这就是我们所利用的特性。”

字节码攻击并非新事物,不过相对具有创新性。2018年,加利福尼亚大学尔湾分校的研究人员发布了一篇名为《字节码损坏攻击是真实的——以及如何防御》的论文,介绍了字节码攻击及其防御措施。去年,PyPI管理员删除了恶意包 fshec2。由于该包的所有恶意代码是通过字节码编译的,因此逃逸了初始检测。Python 将字节码编译到 PYC 文件,从而被 Python 解释器执行。

ReversingLabs 公司的逆向工程师 Karlo Zanki 在2023年6月分析该事件时提到,“这可能是利用 Python 字节码文件可被直接执行这一事实的首个供应链攻击,而它发生在 PyPI 恶意提交激增的时刻。如果情况属实,未来可能会再施加供应链风险,因为这种攻击类型可能会被多数安全工具错过,它们只会扫描 Python 源代码文件。”

bd93bc192247defe1b1aa5da69290065.png

5cbec95aac484b0ebb03ceca842c332b.png

预编译恶意软件之外

6350602e0c296261257f5e917e6e8c3d.png

初始攻陷后,攻击者可选择多种方式对目标系统的控制进行扩展:他们可执行侦查活动、尝试通过恶意软件进一步攻陷系统或者运行系统上的已有工具,即所谓的‘飞地’策略。

NTT研究人员将要展示的字节码攻击技术属于最后一类。该攻击并未使用预编译的字节码文件,而是将恶意字节码插入正在运行的解释器的内存空间。由于多数安全工具并不会检查内存中的字节码,因此该攻击可躲避恶意命令遭检测。

该方法可导致攻击者跳过其它更加明显的恶意步骤,如调用可疑 API 创建线程、分配可执行内存,以及修改指令指针。研究人员提到,“原生代码具有由 CPU 直接执行的指令集,字节码只是CPU的数据,并由解释器解释和执行。因此,和原生代码不同,字节码并不要求执行权限,而我们的技术并不需要以执行权限准备内存区域。”

e4b066575198a02fc803ddeed0736d92.png

c5468c7a0629f4506ce97f7bb23fd2e7.png

更好的解释器防御措施

e06c3d7d04fdd35d9104a0178bdce71b.png

解释器开发人员、安全工具开发人员以及操作系统架构均可受影响。虽然针对字节码的攻击并不会利用解释器中的漏洞,而是利用它们执行代码的方式。论文提到,可采取一些安全修改如指针校验和的方式缓解该风险。

NTT 安全研究人员提到校验和防御措施对于他们提到的攻击技术并不奏效,并建议开发人员执行写保护措施以消除该风险。研究人员提到,“最终的应对措施是限制内存写入解释器。”展示新攻击技术的目的是向安全研究员和防御人员展示可能发生的情况,而不是知会攻击者的技术。研究人员提到,“我们的目标不是滥用防御技术,而是引起全球安全研究人员的警惕。”

代码卫士试用地址:https://codesafe.qianxin.com

开源卫士试用地址:https://oss.qianxin.com


推荐阅读

VMware 修复Aria Automation 中严重的SQL注入漏洞

Rust 严重漏洞可导致 Windows 命令注入攻击

CISA督促软件开发人员消除SQL注入漏洞

Fortinet 提醒注意严重的FortiSIEM命令注入漏洞

原文链接

https://www.darkreading.com/vulnerabilities-threats/attacks-on-bytecode-interpreters-conceal-malicious-injection-activity

题图:Pexels License

本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。

348514dbd18be3770baa42849a6bb84d.jpeg

ef08ed24488bfc31a1824bf60ef7fef7.jpeg

奇安信代码卫士 (codesafe)

国内首个专注于软件开发安全的产品线。

   0c3928d6a25cda692191446ca618fda9.gif 觉得不错,就点个 “在看” 或 "赞” 吧~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值