防止在 PC 上运行恶意/病毒宏的最佳方法

防止在 PC 上运行恶意/病毒宏的最佳方法

我有个问题。您能提供一些关于如何防止在 Office 应用中运行可疑宏的提示/解决方案吗?我已经知道的是:

  • 可以通过 GPO 无一例外地关闭所有宏
  • 我可以通过 GPO 为选定的用户(用户组)打开运行宏,但只允许运行经过数字签名的宏
  • 要签署宏,我需要获得一个证书(但我认为不是由 selfcert.exe 自创建的)

基本上,我需要为选定的用户运行宏,但我希望尽可能安全地运行它。这全都是为了控制宏。任何建议都会有用。

答案1

我下载了很多文件。对我来说,最明显的危险是文件会自动运行恶意宏。为了防止这种情况,我在打开文件之前禁用了事件:

Sub GetFile()
    Application.EnableEvents = False
    Workbooks.Open Filename:="C:\TestFolder\suspicious.xlsm"
End Sub

这使我有机会在运行任何宏之前检查所有宏。

笔记:

如果启用了宏,大多数宏都会在您运行它们时运行。

但是有些宏会自行运行(事件宏)。这些事件宏可能会在打开工作簿时、选择某个工作表时、选择某个单元格时、打印工作表时等情况下运行。我不希望这种自动行为发生,直到我检查完所有宏。该行:

 Application.EnableEvents = False

关闭此行为。

相关内容