TrueType 字体是否包含恶意代码?

TrueType 字体是否包含恶意代码?

我四处寻找有关此问题的信息,但并没有找到任何可靠的信息。我使用 fonttools 库中的 TTX 工具将字体反编译为 XML 格式,但无法从文件中获取任何信息。

TrueType 字体是否可能包含潜在恶意的可执行代码?

答案1

根据维基百科条目TrueType,渲染过程中会使用一种提示语言。这种提示语言由虚拟机处理,但它为恶意提示代码提供了利用该虚拟机各种实现中的漏洞的机会。

请注意,错误的未执行数据可能会导致缓冲区溢出并允许代码在不该执行的地方执行,因此数据格式不包含任何类型的可执行或虚拟可执行代码并不意味着不存在可能导致远程代码执行的漏洞。

答案2

嗯...不是直接的,但肯定是间接的。

有一种恶意软件负载会使用目标系统上已有的代码文件构建其可执行文件的实际字节。该预先存在的代码文件在每个要感染的系统上必须完全相同。所提供的恶意软件中唯一的代码是通过了解要构建的代码的字节位置来组装字节的代码。

例如,如果代码文件在位置 105 处有字节 0xF3,并且组装成恶意代码所需的下一个字节是 0xF3,那么构建恶意软件所编码的内容就是“105”,它知道从文件中获取实际的代码字节。

那么,在大多数/所有 Windows 系统上,什么文件是相同的呢?事实证明,Wingdings 字体文件在 Windows 中没有改变,就像任何现代系统一样。

这不是我梦到的——这一切都是描述出来的这里,带有代码示例..

答案3

绝对是的。链接(和链接的链接)表示 TrueType 字体旨在包含虚拟机的代码,在某些(大多数)版本的 Windows 中,代码是在内核上下文中执行的(由虚拟机执行)。使用虚拟机应该将字体代码与机器的其余部分隔离开来,但已发现存在漏洞。

我的观点总体上是负面的,但为了给出积极的一点,我引用(来自引用的页面)“Windows 10 Aniversary Update 现在以用户模式解析字体”,因此超级用户可以相对安全,如果字体仅由没有权限的用户使用,则操作系统不会直接接触字体。但我不保证任何安全性 :-)

相关内容