Técnicas de malware a través de Linux Chrome y sus efectos, no root

1

¿Es posible visitar un sitio web con Chrome en Ubuntu y hacer que ese sitio ejecute el código de shell en mi máquina sin descargar nada explícitamente ni hacer clic en alguna pregunta de ejecución de Chrome? Si es así, ¿puedes explicar usando un ejemplo específico?

Leí algunos artículos bonitos:

También leo artículos sobre cómo Linux utiliza por defecto los privilegios no root / no administrador y sus beneficios. ¿Pero no tiene sentido si me preocupa que un usuario malintencionado vea mis datos personales en el directorio de mi casa? ($ HOME / *)

De qué quiero protección:

  • No puedo recuperar mis archivos en $ HOME
  • No puedo identificar las pulsaciones de teclas / registrador de teclas al usar una pestaña de Chrome diferente, o usar cualquiera de mis aplicaciones de Ubuntu como / usr / bin / ssh

Creo que al menos una vez que la caja de arena de Chrome se ha roto. No estoy seguro de lo que eso implica.

La publicación anterior de Ubuntu dice que el espacio aislado de Chrome "evita que tu sistema ejecute automáticamente un código erróneo en tu sistema". ¿Quiere decir que si se omite la zona de pruebas de Chrome, el usuario malicioso todavía puede guardar un archivo en, por ejemplo, mi ~ / directorio de descargas? Además, ¿está diciendo que, debido a que Chrome es lo suficientemente inteligente, Chrome nunca intentará ejecutar un script binario / bash por sí solo?

Estas publicaciones son agradables, pero estoy tratando de entender la mecánica detrás de escena, y un ejemplo muy específico me ayudaría a aclararme eso.

Gracias.

    
pregunta Nathanal Lenner 28.03.2018 - 23:26
fuente

2 respuestas

0

Parece que esta pregunta es en realidad múltiples preguntas hechas a la vez, y las preguntas son un poco vagas. Es posible que obtengas mejores respuestas si divides tu publicación en unas pocas preguntas más específicas.

  

¿Es posible visitar un sitio web con Chrome en   Ubuntu y haz que el sitio ejecute código en mi máquina sin   Descargando explícitamente cualquier cosa ni haciendo click en algún Chrome ejecutar.   pregunta / popup? Si es así, ¿puedes explicar usando un ejemplo específico?

Aquí la pregunta es vaga. ¿Qué quiere decir con "ejecutar código"? Por supuesto, su navegador ejecutará un montón de código cada vez que acceda a casi todos los sitios web. Todos los sitios web envían un montón de código JavaScript a su navegador y éste lo ejecuta utilizando su CPU (a través de la máquina virtual JS implementada por el navegador).

Ya que esto parece bastante obvio, no me queda claro exactamente lo que estás preguntando.

  

De qué quiero protección:

     

No puedo recuperar mis archivos en $ HOME

En ausencia de un exploit para salir de la caja de arena, deberías estar bastante bien protegido aquí. Sería un gran problema si el navegador pudiera leer o escribir archivos en su directorio de inicio. Si encuentra una manera de hacer esto, probablemente pueda ganar algo de dinero con una recompensa de error. Pero supongo que implicaría primero encontrar una manera de salir de la caja de arena.

  

No se puede identificar la clave   golpes / registrador de clave

¿Se han introducido teclas en el navegador, como en un formulario? Nuevamente, esta parte de la pregunta no está muy clara. Normalmente, no estaría protegido contra JavaScript en la página al leer las pulsaciones de teclado ingresadas en un formulario en la página del navegador (incluso antes del envío del formulario). ¿Es este el tipo de pulsación de teclado que le preocupa, o quiere decir que las pulsaciones de teclado se ingresaron en una aplicación diferente cuando el navegador se ejecuta en segundo plano? En este caso, nuevamente, sería un gran problema si javascript pudiera acceder a esas últimas pulsaciones, por lo que nuevamente sería necesario salir de la caja de arena a través de algún exploit.

    
respondido por el hft 29.03.2018 - 00:03
fuente
0

Si no hay fallas de implementación o diseño en Chrome, entonces no es posible que el código malicioso se ejecute fuera de los límites de la caja de arena de Chrome.

Sin embargo, Chrome es un software complejo y con frecuencia se encuentran y corrigen nuevos errores de seguridad.

  

También leo artículos sobre cómo Linux utiliza por defecto los privilegios no root / no administrador y sus beneficios. ¿Pero no tiene sentido si me preocupa que un usuario malintencionado vea mis datos personales en el directorio de mi casa? ($ HOME / *)

Si el código malintencionado se ejecuta con los privilegios completos de su cuenta de usuario, sus archivos ya no podrán considerarse seguros. Pero los datos de otros usuarios están protegidos (a menos que tenga privilegios de root):

LazonadepruebasdeChromesoloaíslaunprocesocomprometido(queejecutacódigomalicioso)delsistemalocal.Noproporcionaunaislamientofundamentaldeunsitiowebdeotro.Siunatacantelogracomprometerelprocesoquealojaunapáginamaliciosa(estorequiereesfuerzos,peronoesimposible),lapáginawebpuedeaccederadatosprivadosdeotrossitiosweb(pienseenunanunciomaliciosoquerobasuscredencialesbancariasenlínea).
Eldocumento" El límite “web / local” está borroso: un estudio de seguridad del Sandboxing basado en procesos de Chrome " ( PDF ) muestra un ejemplo concreto de un ataque realista que no está mitigado por el sandbox.

La clase de errores que dan como resultado un acceso arbitrario a otros orígenes se llama scripting universal entre sitios (UXSS), y el rastreador de errores de Chrome tiene varios ejemplos de UXSS (esta lista está incompleta) .

  

De qué quiero protección:

     
  • No puedo recuperar mis archivos en $ HOME
  •   
  • No puedo identificar las pulsaciones de teclas / registrador de teclas al usar una pestaña de Chrome diferente, o usar cualquiera de mis aplicaciones de Ubuntu como / usr / bin / ssh
  •   

Esto solo es posible si un atacante abusa de los privilegios de su usuario. El navegador tiene múltiples capas de protección, la caja de arena es solo una de ellas. Romper a través de todas esas capas generalmente requiere múltiples vulnerabilidades de día cero. Como usuario normal, es probable que no te apunten a tales ataques, por lo que si mantienes tu navegador actualizado, los riesgos son pequeños.

Si no confía en estas protecciones, puede agregar otra capa de aislamiento, como:

  • Ejecutando el navegador en una máquina virtual (VM).
  • Ejecutando el navegador como un usuario separado.
  • Ejecutando el navegador en un contenedor.
  • Ejecutar el navegador en otra zona de pruebas, como firejail .
  • Ejecutar el navegador bajo una política de Control de acceso obligatorio (MAC) , por ejemplo. a través de AppArmor.

Con una VM o un usuario separado, sus archivos personales están lo suficientemente aislados (salvo los errores en el sistema operativo o VM). Las otras opciones requieren una buena configuración para estar seguras y, de lo contrario, no son efectivas ni utilizables (un atacante solo necesita un agujero para escapar de la caja de arena).

    
respondido por el Rob W 29.03.2018 - 17:40
fuente

Lea otras preguntas en las etiquetas