多种安全措施和方法可以保护您不受恶意可执行文件的侵害。
概述
恶意可执行代码(也称为恶意软件或病毒)已变得愈发普遍并且可能会影响 AutoCAD 用户。如果任其扩散,恶意软件可能会造成知识产权受损并降低工作效率。
最常见的漏洞是通过允许可执行代码与数据并存产生的,例如“起始”文件夹中自动加载的 AutoLISP 文件。更为复杂的攻击能够危害或盗取知识产权,这些攻击包括恶意的 ARX 应用程序、Object Enabler 和 DLL(动态链接库)。另一种威胁可能来自 DWG 文件中嵌入的 VBA (Microsoft® Visual Basic® for Applications) 宏。
例如,与 ZIP 文件中的图形捆绑在一起的基于项目的可执行文件可能包含已编辑版本的 acad.lsp 和acaddoc.lsp 以及包含恶意代码的 FAS 和 VLX 文件。将 ZIP 文件的内容解压缩到一个文件夹,然后通过双击 DWG 文件启动 AutoCAD 后,LSP 文件也会自动启动。
另外,许多病毒会尝试通过编辑 acad.mnl,在其中添加一行来加载其自身,从而进行传播。
漏洞文件
恶意代码可以包含在以下类型的文件中:
- ARX、DBX、CRX、HDI 文件
- LSP、FAS、VLX、MNL、SCR 文件
- .NET 程序集
- VBA 宏(DVB 文件)
-
acad.rx
- JavaScript
- DLL 文件
安全对策
AutoCAD 安全对策能够最小化执行恶意代码的可能性,方法是提供能够
- 指定可执行文件的一个或多个受信任的文件夹。TRUSTEDPATHS 系统变量提供对受信任位置的支持,因此可执行文件可以存储在受控制的、可审核的文件夹位置。建议将这些文件夹设置为“只读”。这些位置可由“CAD 管理员”锁定。
- 限制对 acad2013.lsp 和 acad2013doc.lsp 文件及其后续文件的访问,方法是仅允许它们从其各自默认的安装文件夹(<安装文件夹>\Support 和 <安装文件夹>\support\<语言>)进行加载。
- 在当前 AutoCAD 任务中限制 AutoLISP 和 VBA 应用程序的加载,包括所有 LSP、FAS 和 VLX 文件和 acad.dvb。加载行为由 SECURELOAD 系统变量控制。
- 通过将 LEGACYCODESEARCH 系统变量保留为 0(零),可以防止无意中从“起始”文件夹和图形文件夹查找和加载可执行文件。
- 在遭受攻击后,可通过在 AutoCAD 启动时完全禁用可执行代码来确保清除过程的安全。此功能由 /safemode 启动开关控制并通过只读 SAFEMODE 系统变量来反映。/safemode 开关允许您安全启动 AutoCAD,以便您对 SECURELOAD 和 TRUSTEDPATHS 系统变量进行更改。
- 使用 CAD 管理员控制实用程序锁定以下系统变量:LEGACYCODESEARCH、SECURELOAD 和 TRUSTEDPATHS。
- 通过使用 SECURITYOPTIONS 命令控制此处所述的多个系统变量,自动设置安全级别。
重要: 使用 /safemode 开关还可以使 AutoCAD Express Tools 和大多数 AutoCAD 命令工具停止运行,并仅在您怀疑恶意软件已安装在系统上的情况下临时使用。
建议
对于恶意可执行代码,以下最佳实践可以减少漏洞:
- 在开启 UAC 的情况下,将 AutoCAD 安装到默认的程序文件位置。不使用管理员权限运行 AutoCAD。
- 将病毒定义保持为当前。所有领先的防病毒解决方案都可识别和修复 AutoCAD 病毒感染。
- 在安装涉及 ARX、DBX、CRX、HDI 和 DLL 文件的第三方应用程序时,请确保已安装的文件已使用可靠的源(如 VeriSign)颁发的证书进行了数字签名。
- 从不在未预先检查代码的情况下,运行未知的 AutoLISP 文件或 VBA 宏。
- 将可执行代码保存在与数据分离的文件夹中。
- 将可执行代码存储在受信任的只读位置。
- 将共享的 AutoCAD CUIx 文件放置在受信任的只读位置。
- 将 SECURELOAD 系统变量设置为 1 或 2,以防止未经授权的代码在 AutoCAD 中执行。也可以使用“选项”对话框 “系统”选项卡 “可执行文件设置”按钮或在“展开向导”中修改此设置。
- 将 TRUSTEDPATHS 系统变量设置到可信任的唯一只读文件夹。C:\Program Files\ 和 C:\Program Files (x86) 文件夹(包括其子文件夹)自动受信任。这些路径也可在展开向导中设置。
注: AutoCAD LT® 不运行 AutoLISP、VBA 或其他应用程序,并且不需要这些安全措施。不过,建议始终遵循安全相关的最佳实践,包括限制帐户权限。