19 de agosto de 2018

VMWARE. Múltiples vulnerabilidades

Se han publicado varias vulnerabilidades en productos VMware, catalogadas de  Importancia: 5 - Crítica
Recursos afectados:
  • VMware Workstation Pro / Player (Workstation)
  • VMware Fusion Pro, Fusion (Fusion)
  • VMware vCenter Server (VC)
  • VMware vSphere ESXi (ESXi)
  • vCloud Usage Meter (UM)
  • Identity Manager (vIDM)
  • vCenter Server (vCSA)
  • vSphere Data Protection (VDP)
  • vSphere Integrated Containers (VIC)
  • vRealize Automation (vRA)
Recomendación
Consulte el apartado referencias para aplicar los parches disponibles para cada una de las versiones afectadas por cada vulnerabilidad.
Detalle de vulnerabilidades
VMware Workstation y Fusion están afectados por una vulnerabilidad de escritura de memoria fuera de los límites establecidos. Esta vulnerabilidad podría permitir a un atacante ejecutar código en el servidor desde una maquina invitada. Se ha asignado el identificador CVE-2018-6973 a esta vulnerabilidad.
Ademas VMware también ha informado del impacto en sus productos de las vulnerabilidades de ejecución especulativa en la cache de datos L1 conocida como L1 Terminal Fault (L1TF) que afecta a microprocesadores compatibles con Intel® Software Guard Extensions (Intel® SGX). En concreto, VMware ha informado y publicado los parches para la vulnerabilidad con identificador CVE-2018-3646 que afecta a sus productos VMware vCenter Server (VC), VMware vSphere ESXi (ESXi), VMware Workstation Pro / Player (WS) y VMware Fusion Pro / Fusion (Fusion), y de la vulnerabilidad con identificador CVE-2018-3620, cuyos parches todavía están pendientes de publicar.
Más información
Fuente: INCIBE

INTEL. Múltiples vulnerabilidades de ejecución especulativa en procesadores de la firma

Investigadores de seguridad han detectado tres vulnerabilidades de criticidad alta, que podrían permitir a un atacante local, extraer la información de la memoria cache L1 del procesador, afectando a la información del System Management Mode (SMM), del sistema operativo o de cualquier maquina virtual que se esté ejecutando, catalogadas de  Importancia: 4 - Alta
Recursos afectados:
  • Procesadores Intel Core i3, i5, i7, M (45nm y 32nm).
  • Procesadores Intel Core 2ª, 3ª, 4ª, 5ª, 6ª, 7ª y 8ª generación.
  • Procesadores Intel Core X-series para las plataformas x99 y x299.
  • Procesadores Intel Xeon 3400,3600, 5500, 5600, 6500, 7500.
  • Procesadores de la familia Intel Xeon E3, E3 v2, E3 v3, E3 v4, E3 v5 y E3 v6.
  • Procesadores de la familia Intel Xeon E5, E5 v2, E5 v3 y E5 v4.
  • Procesadores de la familia Intel Xeon E7, E7 v2, E7 v3 y E7 v4.
  • Procesadores de la familia Intel Xeon E5, E5 v2, E5 v3 y E5 v4.
  • Procesadores de la familia Intel Xeon Scalable.
  • Procesadores de la familia Intel Xeon D(1500, 2100).
Recomendación
Actualmente no hay solución que mitigue las vulnerabilidades. Intel está desarrollando el microcódigo para solucionar las vulnerabilidades, y ha puesto a disposición de sus clientes un documento donde se encuentra la planificación en la publicación de las soluciones.
Detalle de vulnerabilidades
Una vulnerabilidad encontrada en los procesadores Intel con ejecución especulativa y que emplean Intel Software Guard Extensions (Intl SGX), podría permitir a un atacante local, extraer información de la memoria cache L1 del procesador mediante canal lateral. Se ha reservado el identificador CVE-2018-3615 para esta vulnerabilidad.
Una vulnerabilidad encontrada en los procesadores Intel con ejecución especulativa y traducción de direcciones, podría permitir a un atacante local, a través de un fallo de página terminal y análisis de canal lateral, realizar una revelación no autorizada de información en la memoria cache L1 del procesador. Se ha reservado el identificador CVE-2018-3620 para esta vulnerabilidad.
Una vulnerabilidad encontrada en los procesadores Intel con ejecución especulativa y traducción de direcciones, podría permitir a un atacante local, con privilegios de sistema operativo invitado, a través de un fallo de página terminal y análisis de canal lateral, realizar una revelación no autorizada de información en la memoria cache L1 del procesador.. Se ha reservado el identificador CVE-2018-3646 para esta vulnerabilidad.
Más información
·         Q3 2018 Speculative Execution Side Channel Update https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00161.html
·         Foreshadow https://foreshadowattack.eu/
Fuente: INCIBE

IBM. Vulnerabilidad en API Connect Developer Portal

IBM API Connect Developer Portal presenta una vulnerabilidad del tipo Server Side Request Forgery que podría permitir realizar llamadas potencialmente maliciosas dentro de la red de confianza, catalogada Importancia: 4 - Alta
Recursos afectados:
IBM API Connect Developer Portal, versiones desde la 5.0.0.0 hasta la 5.0.8.3
Recomendación
·         Aplicar el parche de seguridad V5.0.8.4 iFix disponible en API Connect Developer Portal https://www-945.ibm.com/support/fixcentral/swg/selectFixes?parent=ibm%7EWebSphere&product=ibm/WebSphere/IBM+API+Connect&release=5.0.8.3&platform=All&function=all
Detalle de vulnerabiliades
La vulnerabilidad Server Side Request Forgery podría permitir a un atacante engañar al servidor utilizando parámetros de entrada especialmente diseñados, para que realice llamadas maliciosas dentro de la red de confianza. Se ha reservado el identificador CVE-2018-1712 para esta vulnerabilidad.
Más información
·         Security Bulletin: IBM API Connect Developer Portal is vulnerable to Server Side Request Forgery (CVE-2018-1712) https://www-01.ibm.com/support/docview.wss?uid=ibm10716169
Fuente: INCIBE

Múltiples vulnerabilidades en BIG-IP de F5

Se han detectado múltiples vulnerabilidades de criticidad alta en varios módulos de productos de la plataforma BIG-IP. Estas vulnerabilidades podrían permitir que un usuario sin privilegios locales, pueda tener acceso a información confidencial, manipular ciertos datos, asumir privilegios de superusuario en el host local del cliente u obtener privilegios de administrador, catalogadas de  Importancia: 4 - Alta
Recursos afectados:
BIG-IP APM-clients versiones:
  • 7.1.5 - 7.1.7
BIG-IP APM versiones:
  • 14.0.0
  • 13.0.0 - 13.1.1
  • 12.1.0 - 11.6.3
  • 11.5.1 - 11.6.3
BIG-IP Edge Client versiones:
·        7101 - 7150
Recomendación
F5 ha puesto a disposición de sus usuarios lo siguiente:
Para e producto BIG-IP APM client con versiones pertenecientes a la rama 7.1.x actualizar a la versión 7.1.7.1.
Para el producto BIG-IP APM con versiones 13.1.0 y posteriores, los componentes de APM client pueden actualizarse independientemente del software BIG-IP. Para obtener más información, consulte la página K52547540: Actualización de BIG-IP Edge Client para el sistema BIG-IP APM.
Para actualizar los componentes APM client en las versiones vulnerables de BIG-IP Edge Client, actualice la versión de software BIG-IP APM que se indica en la página web del fabricante.
Detalle de vulnerabilidades
Las vulnerabilidades encontradas son las siguientes:
La característica de integración de inicio de sesión de Windows del cliente BIG-IP APM, usa de manera predeterminada el modo de inicio de sesión heredado de la cuenta de sistema para establecer acceso a la red. Esta función muestra un cuadro de diálogo de interfaz de usuario que contiene el enlace a la política de certificados. Al hacer click en el enlace, los usuarios sin privilegios pueden abrir cuadros de diálogo adicionales y obtener acceso al explorador de Windows de la máquina local, que se puede utilizar para obtener privilegios de administrador. La integración de inicio de sesión de Windows es vulnerable cuando un administrador instala APM client en una máquina de usuario. Se ha reservado el identificador CVE-2018-5547 para esta vulnerabilidad.
Los componentes svpn y policyserver de BIG-IP APM client anteriores a la versión 7.1.7.1 para Linux y macOS se ejecutan como un proceso con privilegios, y pueden permitir que un usuario sin privilegios obtenga la propiedad de archivos del host del cliente que son propiedad del administrador. Se ha reservado el identificador CVE-2018-5546 para esta vulnerabilidad.
Más información
·         K10015187: BIG-IP APM client for Windows vulnerability CVE-2018-5547 https://support.f5.com/csp/article/K10015187
·         K54431371: BIG-IP APM client for Linux and macOS vulnerabilitiy CVE-2018-5546 https://support.f5.com/csp/article/K54431371
Fuente: INCIBE

Detectadas aplicaciones en Google Play Store que contienen malware... para Windows

Las aplicaciones se encontraban en el repositorio oficial desde octubre del año pasado. Aunque inofensivas para los usuarios de Android, si se ejecutan en un entorno Windows pueden infectar el equipo con un keylogger.
La retirada de aplicaciones de Google Play Store debido a su contenido malicioso no es nada nuevo. De hecho, hace poco una buena tanda de aplicaciones de minería fueron eliminadas del repositorio. Sin embargo, lo curioso de este caso es que, aunque maliciosas, las aplicaciones no presentan riesgos para usuarios de Android.
Han sido investigadores de Palo Alto los que han detectado un total de hasta 142 aplicaciones disponibles en Google Play Store que contienen al menos un ejecutable malicioso para Microsoft Windows. El fichero es inofensivo para los usuarios móviles, sin embargo su desempaquetado y posterior ejecución en entornos Windows lleva a la infección del equipo con un keylogger.
La teoría más plausible es que sean los propios desarrolladores de las aplicaciones los infectados por malware (posiblemente de varias familias) y durante el proceso de desarrollo los ejecutables se han introducido dentro del APK que ha pasado a distribuirse. Cabe señalar que otras aplicaciones del mismo desarrollador están limpias, lo que apunta a que han sido confeccionadas en otro entorno.
Las APKs involucradas que Palo Alto ha hecho públicas se pueden encontrar en Koodous. Como curiosidad, el ejecutable de Windows fue visto por primera vez en 2013.
Más información:
·         Hidden Devil in the Development Life Cycle: Google Play Apps Infected with Windows Executable Files: https://researchcenter.paloaltonetworks.com/2018/07/unit42-hidden-devil-development-life-cycle-google-play-apps-infected-windows-executable-files/
Fuente: Hispasec

HP. Ejecución remota en impresoras de la firma

HP ha publicado un boletín informando de una vulnerabilidad que permite ejecución remota de código en múltiples modelos de impresoras de tinta
La puntuación base CVSS no deja lugar a dudas: un 9.8 sobre 10. Para que nos entendamos, esta vulnerabilidad equivale a dejarse la puerta de casa abierta con las joyas en la mesa del salón. A pesar de que los vectores CVSS muchas veces no permiten describir la complejidad de una vulnerabilidad, un valor extremo es un mensaje claro. Y afectando a múltiples dispositivos, es una pequeña catástrofe. De éstas que te hacen poner un aviso claro en tu web:
En este caso, es posible que el reporte por parte del investigador externo se haya realizado de forma privada, ya que no aparece vínculo alguno al reporte técnico original. Estos reportes suelen ser más técnicos, y te permiten entender la parte importante de la vulnerabilidad, ya que los reportes oficiales suelen ser bastante escuetos y parecen escritos por cumplir. Por tanto, en este caso no podemos ofrecer un análisis técnico de los hechos y nos limitaremos a comentar el boletín oficial y comentar algunos hechos relacionados. La vulnerabilidad es lo más clásico: se manda a imprimir un archivo especialmente diseñado que desborda memoria en la impresora y permite ejecutar código arbitrario.
En el boletín oficial asignan los identificadores CVE-2018-5924 y CVE-2018-5925 a las vulnerabilidades descritas, y especifican una lista bastante larga de productos afectados, viéndose afectadas las impresoras de inyección de tinta (inkjet). También se especifica que se han actualizado los firmwares de las impresoras afectadas, y que los usuarios de éstas deberían actualizar el firmware a la versión indicada siguiendo el procedimiento enlazado en el mismo boletín.
Lo cierto es que es un tema algo candente, y parece ser que con la fiebre de la seguridad del IoT algunos se han dado cuenta de que esos cacharros que imprimen son otro punto vulnerable más. Y lo bueno de una impresora es que no se suele considerar sospechosa, pues se le cree tonta. Y al final es un dispositivo más, probablemente con acceso a Internet y un procesador ARM genérico que ejecutará lo que sea. Tirando un poco de historial y sin irnos muy lejos, podemos comprobar que hace casi un año se descubrieron algunas vulnerabilidades graves en impresoras HP. El reporte técnico que se realizó es para sentarse a leerlo y disfrutarlo.
Respecto a la seguridad de las impresoras, hay una wiki bastante interesante sobre la "(in)seguridad" como dicen ellos mismos de estos dispositivos. Asociado a la wiki disponemos de PRET, un conjunto de herramientas para la explotación de impresoras. Visto el panorama, parece un buen momento para prestarle atención a la explotación de estos dispositivos.
Fuente: Hispasec

CIBERATAQUES. Ataques de 'cryptojacking' afecta a más de 200.000 routers MikroTik

Una campaña de ataques de 'cryptojacking' afecta a más de 200.000 routers MikroTik de operadores brasileños.
El 23 de abril, la empresa MikroTik publicaba un parche que solucionaba una vulnerabilidad en el módulo 'Winbox' de su sistema 'RouterOS' hasta la versión 6.42.
Después de casi cinco meses, todavía son muchos los dispositivos que no han sido parcheados y que por lo tanto son vulnerables a CVE-2018-14847. Debido a esto, más de 200.000 routers MikroTik, la mayoría localizados en Brasil, se han visto afectados por una oleada de ataques de 'cryptojacking' que utilizaban el software 'CoinHive' para minar criptomonedas.
El atacante se las ingeniaba para ejecutar el script de CoinHive en el navegador de las víctimas. Lo hacía de varias maneras:
Aprovechando la vulnerabilidad antes mencionada, el atacante modificó las páginas de error del webproxy para incluir el script de minado.
De esta manera, cuando el usuario recibía una página de error, se ejecutaba el script que utilizaba los recursos de la víctima para minar.
Investigaciones posteriores descubrieron otros mecanismos que el atacante utilizaba para inyectar el script de minado en todas las páginas web que visitaba la víctima. Para ello se modificaba el módulo 'wireless' para inyectar el script en el html de las páginas que visitaban los clientes conectados al router por esta vía.
El atacante también se preocupó por la persistencia de su ataque. Aprovechando los permisos de administrador obtenidos al explotar la vulnerabilidad, añadió una tarea al planificador de procesos de RouterOS que descargaba y ejecutaba el script 'u113.rsc'. Así, cada cierto tiempo se descargaban las paginas de error modificadas y se creaba la cuenta 'ftu' que servía de 'backdoor'. Además de algunos comandos que tenían como objetivo limpiar el rastro del atacante para evitar su detección.
Aunque la mayoría de los ataques se localizan en Brasil, se han detectado dispositivos afectados en otros puntos.
Recomendación
  • Actualizar cuanto antes a la última versión disponible del firmware.
Más información:
·         Mass MikroTik Router Infection – First we cryptojack Brazil, then we take the World? https://www.trustwave.com/Resources/SpiderLabs-Blog/Mass-MikroTik-Router-Infection-%E2%80%93-First-we-cryptojack-Brazil,-then-we-take-the-World-/
Fuente: Hispasec

POWERGHOST: malware "fileless" que apunta a sistemas corporativos

PowerGhost es un malware "fileless" de minado de criptomonedas que utiliza Powershell y el conocido exploit EternalBlue para propagarse.
Este tipo de malware "sin fichero", básicamente son un tipo de malware que se instala y se ejecuta en memoria, sin necesidad de escribir datos en el disco duro, dificultando su detección.
Un script Powershell ofuscado es el encargado de descargar el software 'mimikatz' junto con las librerías necesarias y el exploit EternalBlue usado para infectar otras máquinas. Sin necesidad de escribir nada en el disco duro, el script se comunica con el servidor de C&C para actualizarse, extraer información sobre las cuentas de usuario del sistema (contraseñas incluidas) y propagarse a otras máquinas conectadas en red.
PowerGhost utiliza la herramienta Windows Management Instrumentation (WMI) incluida por defecto en el sistema para almacenar los módulos necesarios. Cada 90 minutos, se ejecutará un script Powershell en el que se inyectará el portable con el 'miner', mediante un ataque conocido como 'reflective PE injection'.
Se han encontrado muestras que además del software de minado incluyen herramientas para realizar ataques DDoS, por lo que se sospecha que los atacantes puedan utilizar las máquinas infectadas para ofrecer este tipo de servicio y conseguir un dinero extra.
Como contramedida se recomienda deshabilitar el acceso a WMI o restringirlo a los administradores.
Más información:
Fuente: Hispasec

CGIT. Corregida en pocas horas, grave vulnerabilidad remota

Se ha resuelto una grave vulnerabilidad remota en CGit, relacionada con el salto de restricciones (Path traversal) y la capacidad de mostrar información sensible del servidor cgit vulnerado. En unas pocas horas el fallo fue corregido por los desarrolladores.
CGit es una interfaz web (CGI) del sistema de repositorios git, escrito en C, que facilita la gestión remota entre diferentes usuarios.
La vulnerabilidad (CVE-2018-14912), descubierta por el investigador de Google Project Zero, Jann Horn, estaba localizada en la función cgit_clone_objects() y específicamente en la combinación de send_file() y git_path().
Esta última función no aplicaba los filtros necesarios en las rutas recibidas, para impedir este tipo de vulnerabilidad. Al explotarse, cualquier usuario malintencionado podría construir peticiones de este tipo: http:///cgit/cgit.cgi/git/objects/?path=
que, al ejecutarse por parte del servidor, devolverían el contenido del path/fichero invocado. Ejemplo de una petición utilizando curl, que mostraría el fichero de usuarios del sistema:
$ curl http://127.0.0.1/cgit/cgit.cgi/git/objects/?path=../../../../../../../etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
Analizando el diff dispuesto para corregir la vulnerabilidad, se detalla además que el fallo fue introducido en 2008. Debido a la longevidad de la misma (las versiones 0.8 a la 1.2 se verían afectadas) y que es trivial a la hora de explotarse, recomendamos encarecidamente actualizar urgentemente a la última versión disponible CGit 1.2.1: git://git.zx2c4.com/cgit
Más información:
Fuente: Hispasec

El cifrado Speck gana presencia en el kernel Linux

Speck es un algoritmo de cifrado ligero, especialmente diseñado para dispositivos IoT, con baja capacidad de cómputo y creado por la NSA, la Agencia de Seguridad Nacional de Estados Unidos.
Esta tecnología, que fue aceptada por una petición de Google para dar soporte de cifrado al nuevo sistema operativo Android Go en la versión 4.17 del kernel Linux, ha aumentado su presencia en el kernel de Linux debido a la inclusión de Speck128 y Speck256 como algoritmos compatibles en FSCRYPT.
Speck al igual que Simon, fueron publicadas en 2013 como dos tipos cifrados diseñados para sistemas ligeros. Speck es un cifrado add-rotate-xor (ARX) diseñado para ser lo más ligero posible, mientras que su algoritmo hermano, Simon, se ha optimizado para implementaciones de hardware.
 El hecho de que ambas tecnologías de cifrado hayan sido desarrolladas por la NSA y que hayan sido rechazadas por la Organización Internacional de Estándares (ISO), han rodeado a esta decisión de una latente desconfianza por parte de la comunidad.
 Si tiramos de antecedentes, esta desconfianza está sustentada por hechos como las filtraciones sobre que el software de cifrado Truecrypt estaba 'backdoreado' por la NSA. Caso que finalmente por medio de dos auditorias quedó descartado, excepto por los más escépticos que vieron en el abandono de sus desarrolladores un argumento a favor de sus convicciones.
Más información:
·         EXT4/Fscrypt Changes For Linux 4.18:  https://www.phoronix.com/scan.php?page=news_item&px=EXT4-Fscrypt-Speck-Crypto-4.18
Fuente: Hispasec

KASPERSKY VPN . Descubierto bug que afecta a millones de usuarios

La versión 1.4.0.216 de Kaspersky VPN presenta una fuga de DNS que podría revelar información sobre las páginas visitadas por los usuarios.
El bug se encontraba en el servicio VPN ofrecido por Kaspersky, también conocido como "Secure Connection" y que según Kaspersky cuenta con más de un millón de usuarios en todo el mundo.
Cuando un usuario se conecta a una VPN, todo el tráfico pasa a través de un túnel cifrado al servidor VPN, por lo que al servidor de destino le llega la dirección IP de dicho servidor.
El problema surge cuando Kaspersky VPN no redirige las consultas al servidor DNS cifradas, por lo que el servidor DNS podría registrar los sitios web que visitan los usuarios e incluso vincularlos a su dirección IP.
Este bug fue descubierto por el analista de seguridad Dhiraj Mishra, en su blog indica los pasos a seguir para reproducir el problema:
  1. Visitar IPleak.net
  2. Conectarse a cualquier servidor virtual utilizando Kaspersky VPN.
  3. Una vez conectado, volver a visitar IPleak.net. Se podrá observar que la dirección DNS no ha cambiado.
Kaspersky ha solucionado este fallo en la versión 1.4.0.453. Se recomienda actualizar a la última versión disponible.
Más información:
Fuente: Hispasec

MAN-IN-THE-DISK. Nuevo ataque ha dejado a millones de teléfonos Android vulnerables

El ataque aprovecha la forma en la que las apps utilizan el sistema de almacenamiento externo para dar como resultado una inyección de código.
Los investigadores de seguridad de Check Point Software Technologies han descubierto un nuevo vector de ataque contra el sistema operativo Android que podría permitir a los atacantes infectar silenciosamente sus teléfonos inteligentes con aplicaciones maliciosas o lanzar ataques de denegación de servicio.
Conceptos base:
Es bien conocido que las aplicaciones en el sistema operativo Android pueden almacenar sus recursos en el dispositivo en dos ubicaciones: almacenamiento interno y externo.
Google, insta a los desarrolladores a usar el almacenamiento interno, que es un espacio aislado asignado a cada aplicación protegida usando el 'sandbox' integrado de Android, para almacenar sus archivos o datos confidenciales.
Sin embargo, los investigadores encontraron que muchas aplicaciones usaban almacenamiento externo sin protección al que cualquier aplicación instalada en el mismo dispositivo puede acceder.
Explicación del ataque:
Por ejemplo, los investigadores encontraron que el navegador web Xiaomi descarga su última versión en el almacenamiento externo del dispositivo antes de instalar la actualización. Dado que la aplicación no puede validar la integridad de los datos, el código de la actualización legítimo de la aplicación se puede reemplazar por uno malicioso.
Demostraciones:
Entre las aplicaciones que han probado se encuentran: Google Translate, Yandex Translate, Google Voice Typing, Lg World, ... entre otras.
Los investigadores recalcan que solo han probado una pequeña cantidad de aplicaciones importantes y, por lo tanto, esperan que el problema afecte a un número más signifitcativo.
Más información:
Fuente: Hispasec

GOOGLE CHROME. Fallo permite extraer información sensible de otras páginas

La implementación de la política del mismo origen en las etiquetas HTML multimedia es insuficiente, lo que permite peticionar páginas externas de las que es posible extraer cierta información
Extraer información de tu perfil personal de Facebook si tienes iniciada sesión en él y visitas una web maliciosa. Esta es la prueba de concepto llamativa para esta vulnerabilidad. Es posible extraer tu edad, tus likes, tu histórico de localización... Esta vulnerabilidad ha sido reportada por Imperva, una empresa de seguridad informática dedicada entre otras cosas al análisis de eventos de seguridad. Se dieron cuenta de ella cuando investigaban el comportamiento del mecanismo CORS (Cross-Origin Resource Sharing) en las distintas etiquetas HTML.
Lo que encontraron fue ciertamente interesante... Pero antes es necesario explicar lo básico, para que la vulnerabilidad no nos suene a chino. Primero, es necesario saber que el navegador, por seguridad, restringe bastante las peticiones que puede hacer una página web a otra página web que no esté en su dominio. ¿Qué quiere decir esto? Que la página de facebook.com tal y como se ejecuta en tu navegador, no puede hacer cierto tipo de peticiones a google.com. ¿Por qué este comportamiento? Un ejemplo simple: imagínate que entras a paginamala.com y ésta se pone a hacer peticiones a bancosantander.com, teniendo abierta la banca online... En realidad luego no es tan sencillo, ya que existe otra serie de medidas para evitar que esto ocurra aunque no se respete esa restricción, pero es un control necesario más.
Lo que acabamos de contar arriba no es ni más ni menos que la famosa "same-origin policy" (política del mismo origen), cuyo nombre tras la breve explicación cobra sentido. Lo que pasa es que la web, por definición, no tiene sentido como nodos aislados, y una página funcional necesita recursos de otras webs. No estamos hablando de estar en google.com y desde allí pinchar en un enlace a facebook.com, no. Esto se considera como una acción intencionada del usuario, y no es la misma página la que ejecuta la acción (ni recibe el contenido de facebook.com). Hablamos de facebook.com necesitando una fuente de texto especial alojada en google.com (que tiene una sección para obtener fuentes), para poder mostrarte un texto con esa fuente.
Es por esto que para que una web pueda acceder a recursos de otra (siempre que esta otra quiera), se crea el mecanismo CORS antes mencionado, que define una serie de situaciones y acciones que se deben llevar a cabo en éstas que permiten compartir recursos entre orígenes distintos. Y esto es lo que significa CORS básicamente, "intercambio de recursos de origen cruzado". En la práctica esto se implementa haciendo el navegador una petición de prueba antes de la real, para preguntar al dominio externo si permite peticiones completas desde otros dominios, y si no lo permite explícitamente, no se hace la petición completa. En algunos casos más relajados se permite hacer directamente la petición completa, pero si el servidor no especifica explícitamente que cierta página externa puede peticionarla (ya sea por no haber sido configurado o por otras razones), el mismo navegador no permite a la página leer la respuesta a la petición.
Ya disponemos de las bases para entender la vulnerabilidad. Como bien sabemos, la parte principal de una web está compuesta por HTML, que a su vez se compone de etiquetas especificando el contenido de la web. Pues bien, en Google Chrome, las etiquetas 'audio' y 'video', tienen un pequeño fallo. Estas etiquetas son usadas para insertar audio y vídeo en las páginas, y uno de sus atributos es la URL en la que está el recurso, (audio o vídeo). El fallo que tienen es que no comprueban el tipo de recurso (básicamente, que sea audio o vídeo) antes de permitir acceder a cierta información del recurso. Concretamente, sin saber si el recurso es audio o vídeo y mientras lo descarga, esta etiqueta lanza una serie de eventos que el código JavaScript de la página puede capturar y extraer información de éstos.
¿Cuál es el problema de ésto? Que según el número de eventos de cierto tipo que arroje la etiqueta HTML mientras va cargando el recurso sea audio o no, es posible estimar el tamaño del recurso. ¿Realmente esto es un problema? Sí. Y lo entenderemos describiendo el escenario del ataque propuesto por el autor:
  1. Crea una página en Facebook
  2. Publica un post restringido a personas con 18 años
  3. Publica otro post restringido a persona con 19 años
  4. Publica más posts con la misma idea hasta cubrir todo el rango de edad, año a año
  5. Crea una página maliciosa con tantas etiquetas 'audio' como posts has creado en Facebook, y que cada una apunte a un post.
  6. Controla la cantidad de veces que se lanza este evento por cada etiqueta, para estimar el tamaño de cada página.
  7. Consigue que la víctima visite tu página maliciosa
La idea de esto es que el post restringido a la edad que tiene el usuario tendrá un tamaño distinto al resto de páginas, que serán más pequeñas porque en vez del ofrecer el contenido del post, devolverán un mensaje del estilo "no estás autorizado a ver este post". El autor describía esto como jugar a un juego de preguntas de sí o no para adivinar algo, al estilo de Quién es Quién. Este escenario en concreto quizás no se pueda reproducir ahora mismo, ya que Facebook ha cambiado hace poco el sistema de restricción y parece que no se puede restringir por edad a nivel de año, sino por rangos concretos. Igualmente, el autor describe otros campos que se pueden extraer y no sólo es posible con Facebook, sino con cualquier web en realidad que tenga características similares.
Afortunadamente, este fallo (CVE-2018-6177) se reportó por las vías adecuadas (a Google de forma privada) y actualmente se encuentra corregido en la versión estable 68. ¿Cómo lo ha corregido Google? Ahora no permite que se dispare ese evento hasta que el navegador no sepa a ciencia cierta que lo que está cargando es un recursos de audio o vídeo. Esta vulnerabilidad es compleja, aunque comparada con el resto de vulnerabilidades que se suelen encontrar hoy en día tampoco es extraordinaria. Eso permite hacerse una idea de la cantidad de conocimiento que es necesario tener sobre un sistema para encontrar una vulnerabilidad medio grave en éste, sobre todo si es el navegador más usado en todo el mundo.
Más información:
·        A Bug in Chrome Gives Bad Actors License to Play ‘20 Questions’ with Your Private Data https://www.imperva.com/blog/2018/08/a-bug-in-chrome-gives-bad-actors-license-to-play-20-questions-with-your-private-data/
·        Stable Channel Update for Desktop - Tuesday, July 24, 2018 https://chromereleases.googleblog.com/2018/07/stable-channel-update-for-desktop.html
·        Control de acceso HTTP (CORS) https://developer.mozilla.org/es/docs/Web/HTTP/Access_control_CORS
·        Security: Cross Site Resource Size Estimation via OnProgress events https://bugs.chromium.org/p/chromium/issues/detail?id=826187
Fuente: Hispasec

FORESHADOW. Nuevo ataque basado en la ejecución especulativa

A Spectre y Meltdown se les suma un nuevo ataque (en realidad son varios) del tipo "ejecución especulativa". Las consecuencias, al igual que los anteriores ataques, es la capacidad de leer zonas de la memoria a las que no se debería de tener acceso.
Este tipo de ataques se basan, como ya hemos mencionado, en la ejecución especulativa. ¿Qué es? Es una técnica de optimización que utilizan los microprocesadores para ir "adelantando" trabajo. Mientras que un grupo de instrucciones se está ejecutando, otro hilo del procesador puede ejecutar instrucciones futuras o acceder a recursos adicionales basado simplemente en la especulación, es decir, en "creer" que el proceso va a necesitar esos cálculos o recursos en un futuro. Naturalmente, eso es una apuesta con sus correspondientes probabilidades, siendo normal y factible que todo ese trabajo que se ha adelantado no sirva para nada, dado que el proceso puede derivar perfectamente en otro cauce de ejecución.
Por poner un ejemplo más mundano, supón que un día ves con tus amigos dos capítulos de una serie, preparáis las bebidas, palomitas y os acopláis en el sofá. Al día siguiente hacéis lo mismo, al otro también y como supones que eso va a ocurrir al siguiente del siguiente (porque a la serie le quedan dos capítulos para que termine), preparas el refrigerio y acomodas el salón antes de que tus amigos aparezcan, pero llega el momento y tus amigos no llegan. ¿Qué haces? Te comes el refrigerio tu sólo porque no ha servido para lo que pensabas. Has adelantado trabajo "especulando" qué podría ocurrir.
Las víctimas de "Arquitectura de Computadores I, II y III", saben que diseñar microprocesadores de cierta complejidad es una tarea destinada a unos pocos seres humanos con cierto volumen craneal, necesario para evitar la expansión cerebral que produce el calentamiento inherente al diseño de estos ingenios. Y como con todo lo que conlleva la palabra humano: nada es perfecto. Así que cuando diseñaron la forma en la que se traducen direcciones de la memoria virtual de un proceso de usuario a memoria física (o real), incluyeron también la posibilidad de mapear la memoria del kernel y de paso, la de otros procesos. ¿Qué podría salir mal?
Ojo, que esto no significa que a las bravas puedas leerlo. No, no, no. De ningún modo. Un proceso de usuario no puede venirse arriba y decir: "Venga, voy a aprovechar que tengo pendiente una lectura de disco y me voy a guardar cuatro páginas enteras de memoria del kernel y de paso un par del proceso bash del vecino". Para ello existe un mecanismo que comprueba si dicho proceso posee derechos de acceso a esas partes de la memoria. Una especie de aduana digital donde se comprueba la mercancía que se está intentando llevar un proceso. "Oiga, pollo, pare, pare. ¿De donde ha sacado usted esos 256 bytes con pinta de clave RSA privada. ¿Ah, que es de un amigo? ¡Claro!, como no. Venga por aquí."
¿Cómo se explota?
Bien, hemos comentado a muy alto nivel que todo esto se basa en adelantar trabajo, ya sea ejecutando de antemano saltos en el código que podrían o no ejecutarse (predicción de saltos), procesar conjuntos de instrucciones que se pueden ejecutar de forma independiente al conjunto en ejecución actual (ejecución fuera de orden), etc. Y por otro lado, hemos dicho que en la memoria de un proceso, por diseño, se mapean las direcciones de la memoria del kernel y otros procesos (debido a que se está traduciendo memoria virtual a física y viceversa).
Pues el problema principal de seguridad es que cuando se está produciendo la ejecución especulativa, no se están revisando los privilegios de un proceso respecto a esa zona de memoria. Se dejan para después, cuando se hace efectiva la ejecución adelantada. Mientras tanto, los datos de esas zonas de memoria a las que no se debería acceder, permanecen en la memoria caché, donde mediante la aplicación de ciertas técnicas, pueden ser leídas. Esto es en lo que, de forma general, se basan este tipo de vulnerabilidad.
Foreshadow y Foreshadow-NG
Foreshadow fue descubierta por un grupo de investigadores procedentes de varias universidades y centros de investigación. Pertenece a la familia de fallos sobre los que ya hemos hablado, ataques sobre la ejecución especulativa. En particular, este ataque se centra sobre una característica en particular SGX (Software Guard Extensions). Esta tecnología permite a un proceso de usuario proteger una zona de memoria incluso del acceso por parte de procesos más privilegiados.
Por poner un ejemplo, supongamos que mapeamos 16 kilobytes de memoria y la protegemos mediante SGX, pues se supone que ni siquiera un proceso root podría tener acceso a ese fragmento de datos. Esto permite un nivel de protección muy útil cuando queremos proteger datos de importancia sin recurrir a cifrado.
El grupo que descubrió el fallo reportó los detalles a Intel para que contrastaran los hallazgos. Pues además de confirmar el fallo, el propio equipo de Intel ha descubierto una nueva forma de ataque que han denominado "L1 Terminal Fault" y que posibilitaría la lectura completa de la caché L1.
La caché L1 es la más cercana al procesador (existe una jerarquía de memorias caché, clasificadas según la "cercanía" al procesador), lo que significa que posee poca capacidad relativa de memoria pero una alta velocidad en la recuperación de datos e instrucciones. Esto se traduce en una memoria muy viva, con datos de procesos que están siendo ejecutados en ese momento y por supuesto, muy relacionada con la ejecución especulativa de estos últimos. Razón por la cual, con los elementos que ya hemos explicado, la hace objeto de la tormenta perfecta.
Consecuencias. Es posible leer la caché L1, pieza útil en mecanismos como el ya descrito SGX, memoria del kernel y máquinas virtuales, además de memoria del modo SMM (System Management Mode) que regula funciones de muy bajo nivel relacionadas con el hardware subyacente, por ejemplo, la gestión de energía, etc. Como apuntan en el estudio, esto tiene importantes consecuencias en la nube, donde el uso de la virtualización forma la espina dorsal del paradigma.
Intel ha actualizado el microcódigo de los procesadores afectados, aunque señala que habrá que actualizar sistemas operativos y las soluciones de virtualización para impedir la explotación del fallo. Tanto Microsoft como el kernel Linux han aportado ya una solución para la causa en la parte que les toca.
Se han asignado los siguientes CVEs para las distintas variedades del ataque:
- CVE-2018-3615 para el ataque sobre SGX
- CVE-2018-3620 para la memoria del kernel y SMM
- CVE-2018-3646 para el que afecta a máquinas virtuales
Podéis encontrar una amplia lista de procesadores afectados en la página  https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00161.html
Más información:
Fuente: Hispasec