Cloudflare anunció hoy la compra de S2 Systems Corporation, una empresa emergente de la zona de Seattle que creó una solución innovadora de aislamiento remoto de navegador diferente a cualquier otra actualmente disponible en el mercado. La mayoría de los riesgos que puede correr un punto de conexión están vinculados a los navegadores web. Al distanciar los dispositivos de los usuarios desde los que se ejecuta el código de la web, el aislamiento del navegador hace que los puntos de conexión sean mucho más seguros. En esta publicación, explicaré qué es el aislamiento del navegador, cuál es su importancia, cómo funciona el navegador basado en la nube de S2 Systems y cómo se complementa con Cloudflare en su misión de ayudar a construir un mejor Internet.

¿Qué tiene de malo navegar en la web?

Han pasado más de 30 años desde que Tim Berners-Lee escribió la propuesta del proyecto subyacente a la tecnología que sería la base de lo que hoy conocemos como la red informática mundial (www). Lo que en ese momento Berners-Lee imaginó como algo útil para “varios miles de personas, muchas de ellas llenas de creatividad y todas trabajando por un mismo objetivo”[1] se convirtió en una pieza fundamental del comercio, los negocios y la economía mundial, y una parte integral de la sociedad, ya que la utiliza más del 58 % de la población mundial[2].

La red de informática mundial y los navegadores web se han convertido, sin lugar a dudas, en la plataforma que utilizan las personas a diario para realizar gran parte de su trabajo productivo (y para jugar). Sin embargo, al mismo tiempo que crecía la omnipotencia de la web, también aumentaban las oportunidades para los malos actores. Con suerte pasa un día sin que escuchemos en la noticias acerca de una nueva brecha de seguridad cibernética importante. Existen muchos factores que han contribuido al fortalecimiento de los delitos informáticos hasta llegar a niveles sin precedentes: la comercialización de herramientas de piratería informática, el surgimiento de malware como servicio, la presencia de estados-nación bien financiados con crimen organizado, y el desarrollo de la criptomoneda que le permite a los infiltrados maliciosos de todo tipo monetizar sus actividades de manera anónima.

La gran mayoría de las brechas de seguridad se originan en la web. Gartner dice que Internet público es un "pozo ciego de ataques" e identifica a los navegadores web como el principal culpable del 70 % de los riesgos que corre un punto de conexión.[3] Esto no debería sorprendernos. Si bien los navegadores web modernos son extraordinarios, muchas de las decisiones arquitectónicas fundamentales se tomaron en la década del 1990, antes de que conceptos como seguridad, privacidad, supervisión corporativa, y cumplimiento entraran en escena como problemas o, al menos, cuestiones a tener en cuenta. La funcionalidad principal de la navegación web (incluida toda la arquitectura subyacente a la WWW) se diseño y creó pensando en una era y circunstancias diferentes.

En el mundo de hoy, muchas de las suposiciones sobre la navegación web están desactualizadas o incluso pueden ser peligrosas. Los navegadores web y las tecnologías subyacentes del servidor abarcan una lista extensa, y en crecimiento, de tecnologías complejas interrelacionadas. Estas tecnologías fluctúan constantemente y son impulsadas por dinámicas comunidades de código abierto, editores de contenido, motores de búsqueda, anunciantes y competencia entre empresas de navegadores. Como resultado de esta complejidad subyacente, los navegadores web se han convertido en los principales vectores de ataque. Según Gartner, “el simple hecho de navegar en Internet y hacer clic en un enlace de URL deja a la empresa expuesta a grandes riesgos.(...) Atacar a través de un navegador es muy sencillo y las víctimas son innumerables”.[4] Incluso “sitios web que son aparentemente ‘buenos’ pueden transgredirse fácilmente y utilizarse para atacar a los visitantes” (Gartner[5]) y el hecho de que más del 40 % de las URL maliciosas se encuentran en dominios buenos lo comprueban (Webroot[6]). Cabe aclarar que una lista larga de vulnerabilidades ha quedado por fuera del alcance de esta publicación.

Las mismas tecnologías subyacentes y estructura que alimentan a la web son inherentemente difíciles de proteger. Algunas vulnerabilidades del navegador se generan por el uso ilegítimo de una funcionalidad legítima. Por ejemplo, permitir que los navegadores descarguen archivos y documentos es bueno, pero permitir la descarga de archivos infectados con malware es malo; la carga dinámica de contenido en varios sitios dentro de una sola página web es buena, pero el scripting entre sitios es malo; dar lugar a un amplio espacio para el mundo publicitario es bueno, pero la incapacidad para detectar enlaces secuestrados o redirecciones maliciosas a sitios de malware o phishing es malo, etcétera.

Problemas de navegación de las empresas

Las empresas tienen desafíos adicionales con los navegadores tradicionales.

Paradójicamente, los departamentos de TI tienen muy poco control sobre la aplicación que más se utiliza en las empresas: el navegador web. Las quejas más comunes sobre los navegadores web de los profesionales de TI y seguridad empresarial son las siguientes:

  1. Seguridad (obviamente). El Internet público es una fuente constante de brechas de seguridad, y el problema está creciendo, ya que la cantidad de ataques es 11 veces mayor que en 2016 (Meeker[7]). Los costos de detección y corrección están aumentando, y los daños a la reputación y las pérdidas financieras que causan estas brechas pueden ser sustanciales.
  2. Control. Los departamentos de TI tienen poca visibilidad sobre la actividad de los usuarios y poca influencia en los mecanismos de desarme y reconstrucción de contenido (CDR) y prevención de pérdida de datos (DLP), incluidos cuándo, dónde o quién descargó o cargó archivos.
  3. Cumplimiento. La incapacidad de controlar los datos y la actividad en todas las ubicaciones, o de capturar la telemetría de seguimiento necesaria para cumplir con los requisitos normativos que son cada vez más estrictos. Esto da lugar a una gran exposición a sanciones y multas.

Debido a las vulnerabilidades que se exponen a través de las actividades diarias de los usuarios, como usar el correo electrónico o navegar en la web, algunas organizaciones intentan restringir este tipo de actividades. Como ambas son funciones comerciales legítimas e importantes, los esfuerzos por restringir o eliminar el uso del navegador web inevitablemente fallan o tienen un impacto negativo muy fuerte en la productividad del negocio y la moral de los empleados.

Las estrategias actuales para mitigar los problemas de seguridad inherentes a la navegación de la web se basan ampliamente en la tecnología de firmas para los archivos de datos y ejecutables, y una lista de direcciones de URL y DNS conocidas buenas y malas. El desafío con este tipo de estrategias es que resulta difícil mantenerlas al corriente de los ataques conocidos (firmas de archivos, direcciones de URL y DNS) y su vulnerabilidad inherente a los ataques de día cero. Los hackers han ideado herramientas automatizadas para desarticular a las estrategias basadas en firmas (por ejemplo, generar hordas de archivos con firmas desconocidas) y crear millones de sitios web transitorios con el fin de engañar a las listas negras de direcciones de URL y DNS.

Si bien estas estrategias ciertamente previenen algunos ataques, el creciente número de incidentes y la gravedad de los baches de seguridad son un claro indicador de que es necesario encontrar alternativas más efectivas.

¿Qué es el aislamiento del navegador?

El concepto principal detrás del aislamiento del navegador es la seguridad mediante el aislamiento físico para crear una "distancia" entre el navegador web de un usuario y el dispositivo del punto de conexión, y así proteger el dispositivo (y la red empresarial) de vulnerabilidades y ataques. A diferencia de las puertas de enlace web seguras, los software antivirus o los firewalls, que descansan en los patrones de amenazas conocidos o en las firmas, esta es una estrategia zero-trust.

Existen dos arquitecturas de aislamiento del navegador principales: (1) aislamiento local en base al cliente y (2) aislamiento remoto.

El aislamiento local del navegador pretende aislar aquel navegador que está funcionando en un punto de conexión local mediante el uso de un espacio seguro a nivel de la aplicación o del sistema operativo. Además de poner al punto de conexión en riesgo cuando hay un error de aislamiento, estos sistemas requieren de recursos de punto de conexión importantes, como memoria y cálculos, tienden a ser frágiles, y son difíciles de administrar para los departamentos de TI ya que dependen del soporte de componentes de hardware y software específicos.

Además, el aislamiento local del navegador no tiene cómo abordar los problemas de control y cumplimiento mencionados anteriormente.

El aislamiento remoto del navegador (RBI) protege el punto de conexión ya que traslada el navegador a un servicio remoto en la nube o a un servidor local independiente dentro de la red de la empresa:

  • El aislamiento en un servidor local simplemente traslada el riesgo del punto de conexión a otra ubicación dentro de la empresa sin eliminarlo realmente.
  • La navegación remota basada en la nube aísla el dispositivo del usuario final y la red de la empresa y, al mismo tiempo, admite el control por parte del departamento de TI y las soluciones de cumplimiento.

En vista de sus ventajas inherentes, el aislamiento remoto basado en la nube es la opción más utilizada entre la mayoría de las soluciones de aislamiento del navegador, incluida S2 Systems. Si se lo implementa correctamente, el aislamiento remoto del navegador es capaz de proteger a una organización de las vulnerabilidades del navegador, ataques de complementos y de día cero, malware y otros tipos de ataques que se infiltran en el contenido de la web.

¿Cómo funciona el aislamiento remoto del navegador (RBI)?

En un sistema típico de RBI basado en la nube (cuadro de trazos azules ❶ que aparece a continuación), los navegadores remotos individuales ❷ se ejecutan en una nube tal como si fuesen instancias de contenido desechables; por lo general, cada usuario representa una instancia. El navegador remoto envía los contenidos que se reproducen en una página web al dispositivo de punto de conexión del usuario ❹ mediante un protocolo y un formato de datos específicos ❸. Todas las acciones que realiza el usuario, como pulsaciones de teclas, comandos del ratón o de desplazamiento, se envían al servicio de aislamiento a través de un canal cifrado seguro en donde el navegador remoto las procesa, y todos los cambios que se generen como resultado en la página web se vuelven a enviar al dispositivo del punto de conexión.

En efecto, el dispositivo de punto de conexión está “controlando de manera remota” el navegador en la nube. Algunos sistemas de RBI utilizan clientes privados ubicados en el punto de conexión local, mientras que otros aprovechan los navegadores compatibles con HTML5 existentes en el punto de conexión y se consideran ‘sin cliente’.

Las brechas de datos que se generan en el navegador remoto se aíslan del punto de conexión local y de la red empresarial. Todas las instancias de navegador remoto se consideran como si estuviesen en riesgo y concluidas luego de cada sesión. Cada sesión que se inicie en el navegador comienza como una nueva instancia. Obviamente, el servicio de RBI debe evitar que las brechas del navegador se filtren fuera de los contenedores del navegador hacia el propio servicio. La mayoría de los sistemas de RBI brindan lectores de archivos para evitar su descarga, pero también tienen la capacidad de inspeccionar los archivos para asegurarse de que no estén infectados con malware antes de permitir su descarga.

Uno de los componentes esenciales de la arquitectura explicada anteriormente es la tecnología específica de comunicación remota que utiliza el servicio de RBI basado en la nube. La tecnología de comunicación remota impacta de manera significativa en los costos de operatividad y en la escalabilidad del servicio de RBI, en la compatibilidad y fiabilidad del sitio web, en los requisitos del ancho de banda, en los requisitos de hardware y software del punto de conexión, e incluso en la experiencia del usuario. La tecnología de comunicación remota también determina el nivel efectivo de seguridad que proporciona el sistema de RBI.

Todos los sistemas de RBI basados en la nube actuales utilizan una de las dos tecnologías de comunicación remota:

(1) La inserción de píxeles es un enfoque basado en vídeo que captura imágenes de píxeles de la ‘ventana’ del navegador remoto y transmite una secuencia de imágenes al navegador del punto de conexión del cliente o al cliente privado. Esto funciona de manera similar a los sistemas de VNC y de escritorios remotos. Aunque se puede considerar relativamente seguro, existen varios desafíos inherentes a este enfoque:

  • Codificar y transmitir de manera continua secuencias de vídeo de páginas web remotas a dispositivos de punto de conexión del usuario es muy costoso. Escalar este enfoque a millones de usuarios es prohibitivo en lo financiero y complejo en la logística.
  • Requiere un ancho de banda significativo. Incluso cuando se optimizan mucho, la inserción de píxeles consume mucho ancho de banda.
  • La latencia inevitable da como resultado una experiencia de usuario no satisfactoria. Estos sistemas tienden a ser lentos y generan una gran cantidad de quejas de los usuarios.
  • El soporte móvil se degrada por los altos requisitos de ancho de banda compuestos por la conectividad incoherente.
  • Las pantallas HiDPI pueden representarse con resoluciones más bajas. La densidad de píxeles aumenta exponencialmente con la resolución, lo que significa que las sesiones remotas del navegador (en particular las fuentes) en los dispositivos HiDPI pueden aparecer borrosas o fuera de foco.

(2) La reconstrucción de DOM surgió como una respuesta a las deficiencias de la inserción de píxeles. La reconstrucción de DOM intenta limpiar HTML, CSS, etc., de la página web antes de reenviar el contenido al explorador de punto de conexión local. El HTML, CSS, etc., subyacentes se reconstruyen en un intento por eliminar el código activo, vulnerabilidades conocidas y otro contenido potencialmente malicioso. Al abordar los problemas de latencia, costo operativo y experiencia del usuario con la inserción de píxeles, presenta dos problemas nuevos significativos:

  • Seguridad. Las tecnologías subyacentes (HTML, CSS, fuentes web, etc.) son los vectores de ataque que los hackers aprovechan para infringir los puntos de conexión. Intentar eliminar contenido o código malicioso es como desinfectar mosquitos: puedes intentar limpiarlos, pero siguen siendo portadores inherentes de material peligroso y malicioso. Es imposible identificar, de antemano, todos los medios para explotar estas tecnologías incluso a través de un sistema de RBI.
  • Fidelidad del sitio web. Es inevitable que el hecho de eliminar código activo malicioso, reconstruir HTML, CSS y otros aspectos de los sitios web modernos de como resultado páginas dañadas que no se muestran correctamente o no se muestran en lo absoluto. Los sitios web que funcionan hoy pueden no funcionar mañana, ya que los editores del sitio realizan cambios diarios que pueden romper la funcionalidad de reconstrucción de DOM. El resultado es una cola infinita de problemas que requieren recursos significativos en un juego interminable de "golpear al topo". Algunas soluciones de RBI tienen dificultades para admitir servicios comunes para toda la empresa, como Google G Suite o Microsoft Office 365, incluso cuando el correo electrónico web cargado de malware sigue siendo una fuente importante de infracciones.

Los clientes pueden elegir entre una solución segura con una mala experiencia de usuario y altos costos operativos, o una solución más rápida y mucho menos segura que daña los sitios web. Estas compensaciones han llevado a algunos proveedores de RBI a implementar ambas tecnologías de comunicación remota en sus productos. Sin embargo, esto deja a los clientes elegir su veneno sin abordar los problemas fundamentales.

Dadas las importantes compensaciones en los sistemas RBI hoy en día, una optimización común para los clientes actuales es implementar capacidades de navegación remota solo a los usuarios más vulnerables de una organización, como ejecutivos de alto riesgo o empleados de finanzas, desarrollo de negocios o recursos humanos. Al igual que vacunar a la mitad de los alumnos en un aula, esto da como resultado una falsa sensación de seguridad que hace poco para proteger a la organización más grande.

Desafortunadamente, la mayor "brecha" creada por los sistemas de aislamiento de navegadores remotos actuales es el vacío entre el potencial del concepto de aislamiento subyacente y la realidad de implementación de los sistemas RBI disponibles hoy.

Aislamiento remoto de navegador de S2 Systems

El aislamiento remoto de navegador de S2 Systems es un enfoque fundamentalmente diferente basado en la tecnología patentada por S2 llamada Network Vector Rendering (NVR).

El navegador remoto S2 se basa en el motor de código abierto Chromium en el que se basa Google Chrome. Además de alimentar a Google Chrome, que tiene una cuota de mercado del ~70 %[8], Chromium potencia a otros veintiún navegadores web, incluido el nuevo navegador Microsoft Edge.[9] Como resultado, una inversión continua significativa en el motor Chromium garantiza los más altos niveles de soporte del sitio web, compatibilidad y un flujo continuo de mejoras.

Una característica arquitectónica clave del navegador Chromium es el uso de la biblioteca de gráficos Skia. Skia es un motor gráfico multiplataforma muy utilizado para Android, Google Chrome, Chrome OS, Mozilla Firefox, Firefox OS, FitbitOS, Flutter, el marco de aplicaciones Electron y muchos otros productos. Al igual que Chromium, la omnipresencia de Skia garantiza un amplio soporte continuo de hardware y plataforma.

Fragmento de código Skia

Todo lo visible en una ventana del navegador Chromium se representa a través de la capa de renderizado Skia. Esto incluye la interfaz de usuario de la ventana de la aplicación, como los menús, pero lo que es más importante, todo el contenido de la ventana de la página web se representa a través de Skia. La composición, el diseño y la representación de Chromium son muy complejos con múltiples rutas paralelas optimizadas para diferentes tipos de contenido, contextos de dispositivo, etc. La siguiente figura es una simplificación atroz a efectos ilustrativos de cómo funciona S2 (disculpas a los expertos de Chromium):

La tecnología NVR de S2 Systems intercepta los comandos de dibujo de Skia del navegador Chromium remoto ❶, los convierte en token y los comprime, luego los cifra y los transmite a través del cable❷ a cualquier navegador web compatible con HTML5 ❸ (Chrome, Firefox, Safari, etc.) que se ejecute localmente en el escritorio de punto final de usuario o dispositivo móvil. Los comandos de la API de Skia capturados por NVR se pre-rasterizan, lo que significa que son muy compactos.

En el primer uso, el servicio RBI de S2 inserta de forma transparente una biblioteca de WebAssembly (Wasm) ❹ al explorador web HTML5 local en el dispositivo de punto final donde se almacena en caché para su uso posterior. El código NVR Wasm contiene una biblioteca Skia integrada y el código necesario para desempaquetar, descifrar y "reproducir" los comandos de dibujo de Skia desde el servidor RBI remoto a la ventana del explorador local. La capacidad de WebAssembly para "ejecutar a velocidad nativa aprovechando las capacidades de hardware comunes disponibles en una amplia gama de plataformas"[10] da como resultado un rendimiento de dibujo casi nativo.

El servicio de aislamiento remoto del navegador S2 utiliza navegadores sin cabeza basados en Chromium en la nube, intercepta de forma transparente la salida de la capa de dibujo, transmite la eficiencia de los comandos de dibujo y de forma segura a través de la web, y los vuelve a dibujar en las ventanas de los navegadores HTML5 locales. Esta arquitectura tiene una serie de ventajas técnicas:

(1) Seguridad: el transporte de datos subyacente no es un vector de ataque existente y los clientes no se ven obligados a equilibrar seguridad y rendimiento.

(2) Compatibilidad del sitio web: no hay problemas de compatibilidad de sitios web ni una larga fila que persigue tecnologías web en evolución o vulnerabilidades emergentes.

(3) Rendimiento: el sistema es muy rápido, en general más rápido que la navegación local (sujeto a una futura entrada de blog).

(4) Experiencia de usuario transparente: la navegación remota de S2 se siente como la navegación nativa; en general, los usuarios no son conscientes cuando están navegando de forma remota.

(5) Requiere menos ancho de banda que la navegación local para la mayoría de los sitios web. Permite el almacenamiento en caché avanzado y otras optimizaciones propietarias exclusivas de los navegadores web y la naturaleza del contenido web y las tecnologías.

(6) Sin clientes: aprovecha los navegadores compatibles con HTML5 existentes ya instalados en dispositivos móviles y de escritorio de punto final de usuario.

(7) Escalabilidad rentable: aunque los detalles están fuera del alcance de esta publicación, el backend S2 y la tecnología NVR tienen costos operativos mucho más bajos que las tecnologías de RBI existentes. Los costos operativos se traducen directamente a los costos del cliente. El sistema S2 se diseñó para desplegarse en una empresa completa y no solo a los usuarios específicos (también conocidos como: vacunar la mitad de la clase) tanto factibles como atractivos para los clientes.

(8) RBI como plataforma: permite la implementación de servicios relacionados/adyacentes como DLP, desarme y reconstrucción de contenido (CDR), detección y prevención de phishing, etc.

El Servicio de aislamiento remoto de navegador de S2 Systems y la tecnología NVR subyacente eliminan la desconexión entre el potencial conceptual y la promesa del aislamiento del navegador y la realidad insatisfactoria de las tecnologías de RBI actuales.

Aislamiento remoto de navegador Cloudflare + S2 Systems

La plataforma global en la nube de Cloudflare es adecuada, en especial, para el aislamiento de navegación remota. La integración perfecta con nuestros productos y servicios de seguridad avanzados, confiabilidad y rendimiento nativos de la nube, proporciona potentes capacidades para nuestros clientes.

Nuestra arquitectura Cloudflare Workers permite la informática de vanguardia en 200 ciudades en más de 90 países y colocará un navegador remoto en 100 milisegundos al 99 % de la población conectada a Internet en el mundo desarrollado. Con más de 20 millones de propiedades de Internet conectadas directo a nuestra red, el aislamiento remoto del navegador de Cloudflare se beneficiará de los datos almacenados en caché localmente y se basa en la impresionante conectividad y el rendimiento de nuestra red. Nuestra capacidad Argo Smart Routing aprovecha nuestra red troncal de comunicaciones para enrutar el tráfico a través de rutas de red más rápidas y confiables, lo que da como resultado acceso un 30 % más rápido a los activos web.

Una vez que se haya integrado con nuestro conjunto de productos de seguridad avanzados de Cloudflare for Teams, el aislamiento remoto de navegador proporcionará protección contra vulnerabilidades del navegador, vulnerabilidades de día cero, malware y otros ataques incrustados en el contenido web. Las empresas podrán proteger los navegadores de todos los empleados sin tener que compensar entre la seguridad y la experiencia del usuario. El servicio permitirá el control de TI de los datos empresariales transmitidos por el navegador y la supervisión del cumplimiento. La integración perfecta entre nuestros productos y servicios permitirá a los usuarios y empresas navegar por la web sin temor ni consecuencias.

La misión de Cloudflare es ayudar a crear un mejor Internet. Esto significa proteger a los usuarios y a las empresas a medida que trabajan y juegan en Internet; significa hacer que el acceso a Internet sea rápido, confiable y transparente. Reimaginar y modernizar el funcionamiento de la navegación web es una parte importante de ayudar a construir un mejor Internet.


[1] https://www.w3.org/History/1989/proposal.html

[2] “Internet World Stats,”https://www.internetworldstats.com/, retrieved 12/21/2019.

[3] “Innovation Insight for Remote Browser Isolation,” (ID de informe: G00350577) Neil MacDonald, Gartner Inc, 8 de marzo de 2018”

[4] Gartner, Inc., Neil MacDonald, "Innovation Insight for Remote Browser Isolation", 8 de marzo de 2018

[5] Gartner, Inc., Neil MacDonald, "Innovation Insight for Remote Browser Isolation", 8 de marzo de 2018

[6] “2019 Webroot Threat Report: Forty Percent of Malicious URLs Found on Good Domains”, 28 de febrero de 2019

[7] “Kleiner Perkins 2018 Internet Trends”, Mary Meeker.

[8] https://www.statista.com/statistics/544400/market-share-of-internet-browsers-desktop/, consultado el 21 de diciembre de 2019

[9] https://en.wikipedia.org/wiki/Chromium_(web_browser), consultado el 29 de diciembre de 2019

[10] https://webassembly.org/, consultado el 30 de diciembre de 2019