T1027.018: 不可见 Unicode

Stealth

摘要

攻击者可能滥用不可见或非打印的 Unicode 字符,将恶意内容隐藏在文件、脚本或文本中。通过插入不显式呈现的字符,攻击者可以隐藏数据、改变内容的解释方式,或使恶意代码看起来像无害的文本或空白。攻击者可能使用二进制、Base64 或自定义方案对这些恶意载荷进行编码,以便在运行时通过 [JavaScript](https://attack.mitre.org/techniques/T1059/007) 代理陷阱、`eval()` 或其他动态执行方法等脚本功能重建。此技术使攻击者能够通过将恶意编码内容隐藏在无害文本中,来规避目视检查和基本静态分析。(Citation: PUAs Unicode - Eriksen)(Citation: Tycoon2FA - Unicode)(Citation: Unicode - Veracode) Unicode 是一种标准化的字符编码模型,为各种书写系统中的每个字符分配一个唯一的数值(称为码点),从而实现跨平台、应用程序和语言的一致文本表示。码点表示为 `U+` 后跟十六进制值,并可使用 `UTF-8` 或 `UTF-16` 等格式编码。攻击者可能滥用 Unicode 中有效但不显式呈现、仍占用字节的码点(例如零宽空格、变体选择符或双向格式控制符)来隐藏恶意载荷。(Citation: Tycoon2FA - Unicode)(Citation: GlassWorm - Unicode)(Citation: Unicode and Hidden Prompts - Perets) 攻击者还可能利用私用区(PUA)字符,这是一系列保留用于自定义分配的码点。未被字体或应用程序定义的 PUA 字符通常呈现为空白。(Citation: PUAs Unicode - Eriksen) Unicode 字符还可用于支持其他技术,例如[钓鱼](https://attack.mitre.org/techniques/T1660)、[从右到左覆盖](https://attack.mitre.org/techniques/T1036/002)或[用户执行](https://attack.mitre.org/techniques/T1204)。例如,某些攻击者可能在电子邮件或文档中使用不可见的 Unicode 字符嵌入人工智能(AI)提示注入,这些内容在被 AI 系统处理时看似无害。(Citation: LLMs and Unicode - Medium)(Citation: Invisible Prompt Injection - Trend Micro)

来源归属

来源:MITRE ATT&CK · 置信度:high

平台

  • Linux
  • macOS
  • Windows

战术

Stealth

参考来源