3ds Max安全性和恶意代码防护

作者:炫云 2020-01-16

恶意可执行代码(也称为恶意软件或病毒)已变得愈发普遍并且可能会影响 3ds Max设计师们。如果任其扩散,恶意软件可能会造成知识产权受损并降低工作效率。

最常见的漏洞源于允许在要自动加载到 3ds Max 中并执行的数据文件(例如场景文件 (.max))中嵌入恶意可执行代码(例如 MAXScript)。编译(C++、C#)或脚本(MAXScript、Python)插件和工具也可能会带来风险。某些恶意脚本会通过以下方式扩散:在 3ds Max 的 scripts\startup 文件夹中编辑或创建新脚本,并向其中添加代码以加载恶意脚本。

漏洞文件

恶意可执行代码可以包含在以下类型的文件中:

1、3ds Max 场景文件及其各种格式(.max、.maxc、.chr、.mat)

2、MAXScript 脚本(.ms、.mcr、.mxs、.mse)

3、Python 脚本(.py、.pyc)

4、C++ 插件(3ds Max 支持的所有扩展名、.dll、.exe)

5、.NET 程序集 (.dll)

6、JavaScript

建议

对于恶意可执行代码,以下最佳实践可以减少漏洞:

1、在默认程序文件位置安装 3ds Max,并启用用户帐户控制 (UAC)。

2、不使用管理员权限运行 3ds Max。

3、将病毒定义保持为当前。

4、安装第三方插件时,请确保已安装的文件已使用可靠的源(如 VeriSign)颁发的证书进行了数字签名。

5、要验证二进制文件的数字签名,请打开其“文件属性”对话框,然后导航至“数字签名”选项卡。如果没有此选项卡,则文件没有数字签名。有关详细信息,请参见“可执行文件的数字签名”主题。

6、要验证 MAXScript 文件的数字签名,请参见“脚本文件的数字签名”主题。

7、在未先检查未知 MAXScript 和 Python 文件是否存在恶意或可疑代码的情况下,从不运行它们。

可执行文件的数字签名

数字签名是添加到某些文件的加密信息块,用于标识创建者(创作者)并在应用数字签名后指示文件是否被更改。

带数字签名的可执行二进制文件或文本(脚本)文件具有以下好处:

1、为可执行文件的用户提供了有关文件创建者以及这些文件未被修改以包含恶意代码的可靠信息。

2、为可执行文件的作者提供了这些文件在进行了数字签名后未被修改的可靠验证信息。

3、通过可追溯到由受信任证书颁发机构 (CA) 颁发的根证书的信任链,来检查文件的数字签名

无效的数字签名

由于以下原因,数字签名将变为无效:

1、附着数字签名后文件被修改。

2、在传输过程中或附着数字签名时文件被损坏。

3、数字证书已被证书颁发机构吊销。

注意:重命名文件时不会使其数字签名无效。另外,即使在用于生成数字签名的证书过期后,数字签名仍有效。

数字签名和与 3ds Max 关联的二进制文件

3ds Max 产品分发中的以下文件类型是可执行文件,并已进行了数字签名以更好地为您提供保护:EXE、DLL、DLZ、DLU、DLO、DLM、DLC、DLI、DLT、DLE、DLV、DLK、DLB、DLF、DLR、BMF、BMI、BMS、FLT、GUP、DLH、DLN、DLA、DLS、DLY、DLX。

要访问可执行文件的数字签名,可以右键单击文件,然后依次单击“属性”、“数字签名”选项卡、签名者的名称和“详细信息”按钮以及“查看证书”。 请注意,文件扩展名必须是 .DLL 才能进行此操作,因此,建议创建文件的副本并将其扩展名更改为 .DLL,然后检查“文件属性”。

例如,对于 3dsmax.exe,“文件属性”对话框如下所示:

数字签名和 MAXScript 文件

3ds Max 附带的所有 MAXScript 文件均已使用数字证书签名。签名的脚本让用户可以确认脚本的编写者,以及在签名后是否对其进行了更改。

可以签名的文件类型如下:

1、MAXScript 文件:.ms、.mxs、.mcr

2、MAXScript 资源文件:.ms.res、.mxs.res、.mcr.res

3ds Max 还附带一个验证工具 AdskSignTool.exe,您可以使用它来验证这些文件。

您可以通过运行 AdskSignTool(不带任何参数)来查看常规用法消息。