¿Cuáles son las ventajas y desventajas de bloquear la ejecución de un programa en% appdata%,% temp%, etc.?

13

Mientras investigaba formas de prevenir CryptoLocker , vi una publicación en el foro que aconsejaba usar Group Policy Objects (GPO) y / o software antivirus para bloquear el acceso de ejecución en las siguientes ubicaciones:

  1. %datos de aplicación%
  2. % localappdata%
  3. %temperatura%
  4. %Perfil del usuario%
  5. Archivos comprimidos

Obviamente, cualquier cosa escrita en un foro debe tomarse con precaución. Sin embargo, veo ventajas para hacerlo, principalmente porque el malware le gusta ejecutarse fuera de estas ubicaciones. Por supuesto, esto también podría afectar los programas legítimos.

¿Cuáles son los inconvenientes de bloquear el acceso de ejecución a estas ubicaciones?

¿Cuáles son las ventajas?

dar un toque
fuente
3
Of course, this could impact legitimate programs as well.- ligeramente ...
TheCleaner
1
Por ejemplo, GitHub se instaló en% APPDATA%, y cuando mi administrador del sistema hizo cumplir las nuevas reglas recientemente para bloquear archivos ejecutables para que se ejecuten desde esa ubicación, GitHub para Windows ya no pudo iniciarse. Entonces SourceTree también se cayó porque no podía ejecutarse git.exe en% APPDATA%, que originalmente instaló GitHub - un poco molesto, por supuesto ...
Jim Raynor

Respuestas:

12

La razón por la que el malware le gusta ejecutar desde estas ubicaciones es porque el software legítimo le gusta ejecutar desde estas ubicaciones. Son áreas a las que la cuenta del usuario debería tener algún nivel de acceso.

Basado en un grep rápido de mi propio sistema y una cuenta de usuario final aleatoria en nuestra red:

%appdata%

En este momento, tengo Dropbox , el instalador de Adobe AIR y algunas probabilidades de Microsoft Office y termina en esta carpeta.

%localappdata%

join.me y SkyDrive parecen vivir aquí, o al menos han pasado recientemente.

%temp%

Muchos programas, legítimos o no, querrán ejecutarse desde esta carpeta. Los instaladores generalmente se descomprimen en una subcarpeta de esto cuando se ejecuta setup.exeen un archivo comprimido de instalador.

%Perfil del usuario%

Por lo general, será seguro a menos que el usuario tenga requisitos particulares, aunque tenga en cuenta que al menos algunas de las carpetas anteriores podrían ser subconjuntos de esto en una red con perfiles móviles.

Archivos comprimidos

No ejecute el código directamente, en su lugar, extraiga %temp%y ejecute desde allí.

En cuanto a si debe o no bloquear estas áreas, depende de lo que sus usuarios estén haciendo típicamente. Si todo lo que necesitan hacer es editar documentos de Office, jugar al Buscaminas durante el almuerzo, y tal vez acceder a una aplicación LOB a través de un navegador, etc., entonces es posible que no tenga demasiados problemas para bloquear ejecutables en al menos algunas de estas carpetas.

Claramente, el mismo enfoque no funcionará para personas con cargas de trabajo menos bien definidas.

Rob Moir
fuente
Chrome también vive en%appdata%
Juri Robl
55
@JuriRobl solo la versión para el consumidor, la versión comercial de Chrome se comporta mucho mejor.
GAThrawn
@JuriRobl: Chrome en mi PC del trabajo está en C: \ Archivos de programa (x86) \ Google \ Chrome \ Application. La versión comercial como dice GAThrawn. Además, estaba tratando de dar ejemplos basados ​​en qué en mi sistema, no producir ningún tipo de lista exhaustiva.
Rob Moir
6

Pros:

El malware que intente ejecutarse desde esas ubicaciones no podrá ejecutarse.

Contras:

Los programas legítimos que intentan ejecutarse desde esas ubicaciones no podrán ejecutarse.


En cuanto a qué programas legítimos tiene en su entorno que necesitan derechos de ejecución en esos directorios, solo usted puede decirlo, pero veo que RobM acaba de publicar una respuesta con una descripción general de alto nivel . Bloquear la ejecución desde estos directorios le causará problemas, por lo que primero debe hacer algunas pruebas para determinar qué problemas tendrá y cómo debe solucionarlos.

HopelessN00b
fuente
3

Esas recomendaciones funcionarían perfectamente en mi entorno. NO se permite a los usuarios instalar software, y NINGUNO del software aprobado se ejecuta desde las ubicaciones mencionadas. Las estaciones de trabajo tienen el software aprobado preinstalado en la imagen de la estación de trabajo y actualizado por script.

Dropbox, Chrome, Skype, etc. se pueden reubicar durante la instalación en una ubicación de instalación de "Archivos de programa" más aceptable.

Siempre que tenga un permiso para que el Administrador o los Administradores de dominio (y tal vez una cuenta específica de "Instalador") pueda ejecutar actualizaciones y agregar software aprobado, estoy de acuerdo con las recomendaciones.

Alderin
fuente
2

Supongo que desea negar el derecho de ejecución no solo a estas carpetas sino a todo el árbol a partir de ellas (de lo contrario, no tiene sentido hacer lo que desea hacer).

La consecuencia, obvia, será que cualquier ejecutable ubicado en estos no se ejecutará.

Desafortunadamente, esto incluirá un número bastante grande de aplicaciones legítimas.

% localappdata% y% appdata% son los más problemáticos: Dropbox, Chrome, SkyDrive, por ejemplo, no funcionarán. La mayoría de los cargadores automáticos y muchos instaladores tampoco funcionarán.

% UserProfile% es aún peor, ya que incluye% localappdata% y% appdata%, así como varias otras carpetas.

En resumen: si evita que las aplicaciones se ejecuten desde estas carpetas, su sistema podría quedar prácticamente inutilizable.

% temp% es diferente. Si bien es posible que ocasionalmente se ejecuten programas legítimos desde allí, es poco frecuente y, por lo general, fácil de solucionar. Desafortunadamente,% temp% se expande a diferentes carpetas dependiendo del contexto del usuario desde el que lo está expandiendo: puede terminar en% localappdata% \ temp (en el contexto de un usuario) o% SystemRoot% \ temp (en el contexto de el sistema) por lo que tendrá que asegurar cada ubicación individualmente.

% temp% también es un buen candidato porque es donde la mayoría de los programas de correo guardarán los archivos adjuntos antes de abrirlos: eso ayudará en muchos casos de maleware basado en correo.

Un buen truco es cambiar los permisos en las carpetas C: \ Users \ Default \ AppData \ Local \ temp y C: \ Users \ DefaultAppPool \ AppData \ Local \ Temp cuando configura el sistema (y, por supuesto,% SystemRoot% \temperatura). Windows copiará estas carpetas cuando cree nuevos perfiles y, por lo tanto, los nuevos usuarios tendrán un entorno seguro.

Es posible que desee agregar% UserProfile% \ Downloads a su lista: aquí es donde la mayoría de los navegadores recibirán los mismos archivos descargados del usuario y negar la ejecución desde allí también aumentará la seguridad.

Stephane
fuente
2

Durante los últimos tres meses, estoy ejecutando una configuración similar en mi estación de trabajo principal. Mi usuario principal tiene permisos de ejecución en un directorio o permisos de escritura, pero nunca ambos.

Esto significa que esta cuenta no puede introducir nuevos ejecutables. Ese es el profesional, puedo ejecutar programas que ya están en el sistema o instalados por otras cuentas, pero no puedo descargar ningún programa nuevo y ejecutarlo, esto significa que cualquier malware que ingrese a través de un navegador u otro medio tiene un tiempo mucho más difícil de ejecutar en mi sistema, la inyección de DLL simple tampoco funciona.

Como otros han señalado, el principal problema es que algún software legítimo utiliza las ubicaciones que bloqueé. En mi caso:

  • Google Chrome: instalé la versión msi
  • cualquier aplicación de aplicaciones portátiles, que ahora ejecuto con un usuario diferente
  • Process Explorer: uso directamente la versión extraída de 64 bits
  • dism.exe: ejecutar como administrador, lo que de todos modos tengo que hacer la mayor parte del tiempo.

Básicamente, estoy usando tres cuentas, una con la que he iniciado sesión, otra cuenta de usuario normal para ejecutar ciertos programas validados y una cuenta de administrador para instalar un nuevo software para las otras dos.

Me gusta el hecho de que me obliga a probar cualquier software recién descargado en una máquina virtual.

Comienzo la mayoría de mis programas a través de PowerShell y tener tres shells, uno para cada cuenta, está bien para mí. Si esto funciona para usted realmente depende de la cantidad de software que use que tenga que ser tratado de manera diferente.

En una máquina de desarrollador, esto realmente no funciona porque tengo que compilar mi código y luego ejecutarlo. Así que hice una excepción para mi directorio de código en una unidad de datos, el malware podría escanear todas las unidades y encontrar esto.

Estoy usando ACL de NTFS en lugar de políticas para hacer cumplir esto. Esto impide que se ejecuten los programas, pero aún puedo crear un script de PowerShell y luego ejecutarlo y puede causar suficiente daño.

Entonces, aunque hace las cosas más difíciles, no es 100% seguro, pero aún así lo protegería de la mayoría del malware actual.

Peter Hahndorf
fuente
0

Puede buscar en esas carpetas, pero la mayoría son datos, exactamente el nombre de la carpeta. Por ejemplo, verá Chrome, pero el ejecutable real está en la carpeta c: \ programas.

Bloqueo la ejecución de todos los archivos ejecutables en cualquier lugar de la computadora, excepto las carpetas del programa. Solo se permite temporalmente cuando necesito instalar algo, y nunca he tenido ningún problema.

CooloutAC
fuente
-1

Recomiendo una búsqueda rápida de los directorios para ver qué tiene actualmente en cada uno de ellos. Si no se está ejecutando nada de ellos ahora, siga las instrucciones del foro. Si se encuentra con un problema en el futuro, simplemente evalúe sus opciones. La mayoría de estos no deberían tener ejecutables en ellos de todos modos.

Chris Jones
fuente