答案1
恶意软件喜欢从这些位置执行的原因是因为合法软件也喜欢从这些位置执行。这些是用户帐户应该具有一定访问权限的区域。
根据我自己的系统和我们网络上的随机最终用户帐户的快速 grep:
%appdata%
现在,我有Dropbox,安装程序Adobe AIR以及此文件夹中的一些 Microsoft Office 零碎文件。
%localappdata%
join.me 和网盘似乎住在这里,或者至少最近曾开车经过。
%temp%
许多程序(无论合法与否)都需要从此文件夹执行。当您运行setup.exe
压缩的安装程序存档时,安装程序通常会将自身解压到此文件夹的子文件夹中。
%用户资料%
除非用户有特殊要求,否则它通常是安全的,但请注意,在具有漫游配置文件的网络上,上述文件夹中至少有一些可能是它的子集。
压缩档案
不要直接运行代码,而是通常提取到那里%temp%
并从那里运行。
至于是否应该屏蔽这些区域,这取决于用户通常做什么。如果他们只需要编辑 Office 文档,那么扫雷舰午餐时间,也许可以访问高球应用程序,那么您可能不会在至少其中一些文件夹中阻止可执行文件时遇到太多麻烦。
显然,对于那些工作量不太明确的人来说,同样的方法并不适用。
答案2
优点:
尝试从这些位置执行的恶意软件将无法运行。
缺点:
尝试从这些位置执行的合法程序将无法运行。
至于您的环境中有哪些合法程序需要在这些目录中执行权限,只有您才能说,但我明白RobM 刚刚发布了一个带有高级概述的答案。阻止这些目录的执行将导致问题,因此您需要先进行一些测试来确定您将遇到什么问题以及如何解决这些问题。
答案3
这些建议在我的环境中非常有效。不允许任何用户安装软件,并且任何已批准的软件都不会从上述位置执行。工作站已在工作站映像中预安装了已批准的软件,并通过脚本进行更新。
Dropbox、Chrome、Skype 等都可以在安装过程中重新定位到更可接受的“Program Files”安装位置。
只要您允许管理员或域管理员(也许是特定的“安装程序”帐户)运行更新并添加批准的软件,我就会同意这些建议。
答案4
过去三个月,我在主工作站上运行着类似的设置。我的主要用户要么对目录具有执行权限,要么具有写入权限,但从不同时具有两者。
这意味着此帐户无法引入任何新的可执行文件。这就是优点,我可以执行系统上已有的程序或其他帐户安装的程序,但我无法下载任何新程序并运行它,这意味着通过浏览器或其他方式进入的任何恶意软件都很难在我的系统上运行,简单的 DLL 注入也不起作用。
正如其他人指出的那样,主要问题是一些合法软件使用了我阻止的位置。就我的情况而言:
- Google Chrome - 我安装了 msi 版本
- 任何便携式应用程序 - 我现在以不同的用户身份运行
- Process Explorer - 我直接使用提取的64位版本
- dism.exe-以管理员身份运行,无论如何我大多数时候都必须这样做。
所以基本上我使用三个帐户,一个是我登录的,另一个是普通用户帐户,用于执行某些经过验证的程序,还有一个管理员帐户,用于为另外两个帐户安装新软件。
我喜欢它强制我在虚拟机中测试任何新下载的软件这一事实。
我通过 PowerShell 启动大多数程序,并且拥有三个 shell(每个帐户一个)对我来说已经足够了。这是否适合您,实际上取决于您使用多少需要区别对待的软件。
在开发人员的机器上,这实际上不起作用,因为我必须编译我的代码然后执行它。所以我在数据驱动器上为我的代码目录设置了一个例外,恶意软件可以扫描所有驱动器并找到它。
我使用 NTFS ACL 而不是策略来强制执行此操作。这可以防止任何程序运行,但我仍然可以创建一个 PowerShell 脚本,然后运行它,它可以造成足够的破坏。
因此,虽然这会使事情变得更加困难,但它并不是 100% 安全的,但仍然可以保护您免受大多数当前恶意软件的侵害。