La pesadilla de Google: la "Web Integrity API" y la polémica por un guardián DRM para la web
(arstechnica.com)- La Web Environment Integrity API, redactada por cuatro empleados de Google, es una propuesta para permitir que los sitios web verifiquen si pueden confiar en el entorno de ejecución del navegador de sus visitantes; también está en marcha un prototipo de prueba para Chrome
- Su uso central es la atestación del entorno para filtrar bots y entornos modificados, y podría aplicarse a la medición de impresiones publicitarias, el bloqueo de bots en redes sociales, la protección de propiedad intelectual, la prevención de trampas en juegos web y la seguridad de transacciones financieras
- La propuesta se inspira en Apple App Attest y en la Play Integrity API de Android, y Ars Technica la ve como una tendencia en la que la estructura que bloquea el acceso a apps en dispositivos rooteados se traslada a la web
- Si un servidor web exige una atestación antes de entregar contenido, el navegador pasa por una prueba en un servidor de atestación de terceros, recibe un IntegrityToken firmado y lo presenta
- Aunque el documento dice que no busca hacer fingerprinting, obstaculizar extensiones ni excluir proveedores, la oposición se extendió con fuerza a través de issues de GitHub, Hacker News y Louis Rossmann
Lo que intenta hacer la Web Environment Integrity API
- La propuesta de la Web Environment Integrity API es una propuesta de estándar web que busca permitir que los sitios web verifiquen si pueden confiar en el entorno del cliente del usuario
- El explainer fue redactado por cuatro empleados de Google, y al menos uno de ellos pertenece al equipo de Privacy Sandbox de Chrome
- La premisa es que los sitios web deben poder confiar en el entorno del usuario para proteger los datos de los usuarios y la propiedad intelectual, y para determinar si realmente lo está usando una persona
- Los principales casos de uso son los siguientes
- Mejorar la precisión de la medición de impresiones publicitarias para anunciantes
- Bloquear bots en redes sociales
- Hacer cumplir derechos de propiedad intelectual
- Evitar trampas en juegos web
- Reforzar la seguridad de transacciones financieras
Preocupaciones cuando Play Integrity se traslada a la web
- El documento de la propuesta señala que se inspiró en señales de atestación nativas existentes, como App Attest de Apple y la Play Integrity API de Android
- Play Integrity es la antigua SafetyNet, una API de Android que permite que una app verifique si un dispositivo está rooteado
- Rootear es una forma de que el usuario tenga control total sobre el dispositivo que compró, pero si un dispositivo rooteado queda marcado por la Android Integrity API, algunas apps pueden negarse a ejecutarse
- Puede bloquearse el acceso a apps bancarias, Google Wallet, juegos en línea, Snapchat, Netflix y algunas otras apps de medios
- El acceso root puede usarse para hacer trampas en juegos o para phishing de datos bancarios, pero también sirve para personalizar el dispositivo, eliminar apps preinstaladas y montar sistemas de respaldo
- La crítica de Ars Technica se centra en que Google estaría intentando introducir también en la web esta estructura de control de acceso
Flujo de atestación propuesto
- Durante una transacción en una página web, el servidor web puede exigir que el usuario pase una prueba de environment attestation antes de entregar datos
- En ese momento, el navegador se conecta a un servidor de atestación de terceros y realiza algún tipo de prueba
- Si supera la prueba, el navegador recibe un IntegrityToken firmado que indica que el entorno no fue modificado y apunta al contenido que se intenta desbloquear
- El usuario vuelve a presentar ese token al servidor web y, si el servidor web confía en esa empresa de atestación, se habilita el acceso al contenido
- La estructura en sí parece una API común, pero en la web real persiste la preocupación de que el sitio web pueda ser Google, el navegador Chrome y el servidor de atestación también Google
Lo que el documento delimita y la polémica pendiente
- Los autores de la propuesta consideran que la API no debería usarse para hacer fingerprinting único de personas
- Al mismo tiempo, señalan que se necesita algún indicador que permita aplicar límites de velocidad a dispositivos físicos
- La sección de “non-goals” dice que no se interferirá con las funciones del navegador, incluidos plugins y extensiones
- Ars Technica interpreta esto como una forma indirecta de decir que no se matarán los bloqueadores de anuncios
- Entre los objetivos de la propuesta se incluye un mejor soporte para publicidad
- Chrome ya tiene el plan Manifest V3, que cambia el funcionamiento de las API de extensiones para reducir su capacidad de modificar el contenido de las páginas web
- La propuesta también tiene como objetivo no excluir a otros proveedores
Reacción pública y prototipo en Chrome
- Google no promovió ampliamente esta idea en público, y el documento tampoco está en un repositorio oficial de Google, sino en la cuenta personal de GitHub de un empleado
- La propuesta más temprana que se puede verificar es de abril de 2022
- Después de que se publicara durante el fin de semana la especificación actualizada, se difundió a través de Hacker News y del YouTuber de reparación de dispositivos Louis Rossmann
- En los issues de GitHub siguieron fuertes reacciones en contra
- El Issue #134 criticó la idea como “absolutamente antiética y contraria a la web abierta”
- El Issue #113 reaccionó diciendo: “no puedo creer siquiera que esto se haya propuesto”
- El Issue #127 escribió: “¿alguna vez se les ocurrió que ustedes son los villanos?”
- La API todavía está en etapa de propuesta, pero en mayo de 2023 Google publicó en Chromium blink-dev un intent to prototype, por lo que se está desarrollando una implementación de prueba dentro de Chrome
- La página de seguimiento del desarrollo de la función está en chromestatus.com
1 comentarios
Opiniones de Hacker News
Si Google puede hacer cosas que todos sus usuarios odian y nadie puede detenerlo, entonces la división de la empresa se vuelve un argumento bastante convincente.
Google parece haber alcanzado un poder de mercado demasiado grande.
Si mencionas “manifest v3”, te miran con cara de no entender nada; si hablas de anuncios o bloqueadores de anuncios, a la mayoría no le interesa, y algunos ni siquiera usan bloqueadores.
Lugares como HN viven realmente dentro de una burbuja. La mayoría ve la privacidad como algo abstracto sobre lo que casi no tiene control, y en general lo acepta.
También hay gente que acepta que el gobierno debilite la privacidad con pretextos como “hay que proteger a los niños”, o que las empresas la debiliten con el argumento de que recibimos servicios gratis a cambio de datos personales.
Es una realidad triste. Si a la gente realmente le importaran mucho estos problemas, sería difícil entender por qué hay tan pocos cambios; pero viendo que casi nadie usa Firefox aun siendo una alternativa suficiente, no sorprende. A la mayoría no le importa.
Por ejemplo, si Apple hace un cambio de hardware perjudicial para los usuarios, los principales fabricantes de Android lo copian en cuestión de meses[0]. La siguiente opción suele ser algún fabricante chino de celulares de nicho que traerá otros dolores de cabeza.
Ahora estoy casi completamente desconectado de Google. Por requisitos de mi teléfono terminé usando uno sin Google Play Services, y vivo en un país donde Google no es dominante. De vez en cuando solo queda YouTube. Me gustaría poder exportar desde Photos mi archivo antiguo de Google Photos, pero la exportación de Takeout sigue fallando.
[0]: Cuando trabajaba en Google, en una gran lista interna de correo de ingeniería, alguien preguntó directamente: “¿Que Pixel haya quitado el puerto de audífonos fue por Apple?”. La respuesta del equipo de producto terminó siendo un juego de palabras ambiguo que equivalía a “sí”.
Más precisamente, para “todos excepto los anunciantes de mala calidad”.
A diferencia de EME, Web Integrity API requiere un servicio de terceros, y no solo costos de mantenimiento, sino también costos de desarrollo continuos para responder a la carrera armamentista contra los hackers que intenten romper esta verificación.
En una industria de atestación que funcione correctamente, varios servidores de atestación deberían competir en precio y verificar a los usuarios para que la red sea eficiente y robusta, pero no creo que eso sea realista. Una atestación decente requiere tecnología muy compleja para cada navegador compatible, y en la práctica solo hay una empresa que quiere hacer desarrollo significativo de navegadores y además operar servidores de atestación.
En una industria de atestación monopolizada, Google se convierte en el punto único de falla para todos los medios protegidos con DRM en internet. Si Google se cae, Netflix, Hulu, HBO y otros también se caen porque no pueden verificar una versión aprobada de Chrome. Además, Google podría cambiar unilateralmente tarifas y políticas, lo que le daría una enorme palanca sobre otras empresas, y las compañías tienen incentivos para no colocarse en esa posición.
Podría funcionar si toda la industria de medios aceptara Google Chrome como el único navegador compatible para medios en internet y le otorgara a Google ese poder de mercado y esa capacidad de presión. Pero es difícil creer que logre esquivar a todos los principales reguladores del mundo, y si hay algún hueco significativo en el control del mercado, este plan no funciona.
Además, Google puede defenderse señalando a otros gigantes como Microsoft, Apple y Amazon para decir que no se trata de conducta monopólica. Igual que hizo en la demanda de enero para impedir la división de su negocio de publicidad.
A esto se suma el problema de que a muchos usuarios no les importa. La conveniencia pesa demasiado, y es muy fácil para empresas como Google, y también para otros gigantes como Walmart, cambiar la opinión pública.
Aunque el objetivo del proyecto sea “entender mejor a la persona del otro lado de la web”, la introducción dice que estos datos son útiles para contabilizar impresiones publicitarias, bloquear bots en redes sociales, hacer cumplir derechos de propiedad intelectual y evitar trampas en juegos web.
Vete al diablo, Google. El propósito de un navegador es mostrarme páginas web, no averiguar cosas sobre mí.
El uso de la propuesta WEI queda bastante claro con solo ver el documento explicativo (https://github.com/RupertBenWiser/Web-Environment-Integrity/)
Google puede “solicitar un token que pruebe hechos clave del entorno en el que se ejecuta el código del cliente”
Google toma “la decisión final sobre si confiar en el veredicto devuelto por el certificador”
Google podrá “evaluar la autenticidad del dispositivo y una representación honesta del stack de software y del tráfico del dispositivo”
Leí “sitio web” y “servidor web” del texto original como “Google” para dejar clara la intención
¿Por qué Google querría esta capacidad en el navegador? ¿Qué pretende hacer? ¿Cuál es el siguiente paso?
Si fuera un ejecutivo de marketing de Google, diría: “Tenemos que bloquear el navegador web para poder ganar más dinero con anuncios”
“Hay que bloquear los bloqueadores de anuncios. La nueva API WEI garantizará que no haya un bloqueador de anuncios ejecutándose, que los anuncios sean visibles y que el DRM no haya sido vulnerado”
“También quiero frenar el fraude publicitario. Con WEI podemos garantizar que los clics en anuncios sean normales y que la gente esté viendo los anuncios. Si no podemos controlar el sistema operativo, como en Chromebooks y teléfonos Android, tenemos que controlar el navegador web con certeza criptográfica”
El paso 1 es hacer que los navegadores adopten e implementen Web Environment Integrity
El paso 2 es exigir el uso de Web Environment Integrity en todos los sitios web de Google y bloquear el acceso si no se usa
El paso 3 es exigir el uso de Web Environment Integrity en todos los sitios web que publiquen anuncios de Google
¡El paso 4 es ganancias!
Web Environment Integrity es el comienzo de una mayor DRMización y ensitificación de la web
No hay de qué preocuparse. También están pensando en los usuarios que se resisten
“A los usuarios les gusta visitar sitios web que son costosos de crear y mantener, pero a menudo quieren o necesitan hacerlo sin pagar directamente. Estos sitios web se financian con publicidad, pero los anunciantes solo pueden asumir el costo cuando los anuncios los ven personas y no robots. Por eso surge la necesidad de que un usuario humano demuestre al sitio web que es humano, a veces mediante acciones como desafíos o inicios de sesión”
Aunque por la forma de expresarlo parece que permitirá a los sitios de noticias bloquear a usuarios que no pagan, también terminará apuntando contra Internet Archive, otros archivos de páginas web, el modo Reader, etc.
En la discusión de blink-dev me llamó la atención esta parte
“Las decisiones que podamos tomar estarán, en última instancia, influidas por un debate social más amplio sobre la privacidad (regulación, etc.). Porque la privacidad perfecta significa impunidad perfecta para los delincuentes”
Impedir que mi dispositivo me vigile en nombre del gobierno o de una empresa no significa “impunidad perfecta para los delincuentes”
Dejando de lado por un momento la certificación, si pensamos en el cifrado moderno de dispositivos basado en ámbitos de seguridad y sus límites de intentos de contraseña autodestructivos, se puede comparar con diseñar una muy buena caja fuerte capaz de destruir automáticamente su contenido si la fuerzan. Entonces, ¿cada vez que se venda una caja fuerte así, el gobierno debe tener obligatoriamente su propia llave?
El debate solo existe entre las personas que quieren que se respeten sus derechos y las empresas que no quieren hacerlo. Presentarlo como un debate es un intento obvio de construir una narrativa para los lobistas
“Privacidad perfecta” también es un hombre de paja. El punto medio entre no tener privacidad y tener privacidad perfecta no tiene por qué ser “Google cosecha datos contra la voluntad del usuario”
Dejando aparte la misantropía de ese personaje problemático, esta cita sirve como buen recordatorio de que el argumento de “¡pero los delincuentes!” se usa con frecuencia, pero rara vez se justifica
Después de pensarlo unos días, recién ahora caí en la cuenta de que esto es un mecanismo para bloquear todo el web scraping común sin vías alternativas
Toda la “compatibilidad adversarial” de proyectos como Nitter, Teddit, Invidious y youtube-dl desaparecerá. Sitios de archivo como archive.org y archive.ph también podrían ser bloqueados por sitios que exijan certificación
Así como la industria editorial fue “rescatada” por Kindle por miedo a la piratería, los medios que no encuentran un modelo de negocio también acudirán en masa esperando que Google los salve
Parece que se va a poner difícil
Claro que entonces los servicios de scraping con incentivos económicos seguirán funcionando, y los únicos perjudicados serán las personas honestas que quieren libertad de user agent. Igual que con muchos otros DRM
Todavía hay cosas que no me gustan, y muchas de las extensiones que uso son exclusivas de Chromium, pero ya siento que no queda otra opción
Está bien que este problema reciba más atención. La discriminación por agente de usuario, es decir, conductas del tipo “si no eres el Chrome más reciente, lárgate”, debería ser ilegal.
Si mi uso no sobrecarga el servicio, no deberían limitar qué hardware o software uso.
Lo mismo aplica a otros obstáculos que bloquean deliberadamente la accesibilidad y la interoperabilidad. Hay que impedir que se cree un “estándar” tan complejo y cambiante que solo Google pueda implementarlo y seguirle el ritmo, y que se promocione para que, independientemente de su utilidad real, todos los sitios terminen siendo en la práctica exclusivos para Chrome.
Recomiendo identificar a todas las personas responsables de esto y ejercer el derecho a la libre expresión. Funciona con los políticos, así que también debería funcionar con esta otra clase de villanos.
Una vez más, Stallman fue muy visionario: https://www.gnu.org/philosophy/right-to-read.html
¿En qué se diferencia conceptualmente de cuando antes los sitios bloqueaban IE por mala voluntad?
La cadena de agente de usuario del software no es más que un identificador que el navegador agrega para darle contexto al servidor, no una capa de protección.
Google tiene derecho a restringir el uso de su software como quiera, y nosotros simplemente podemos no usarlo.
No existe un derecho fundamental a una internet abierta, y nadie nos la debe. Me gustaría volver a una época en la que internet era mucho más abierta y menos comercializada, pero la regulación legal no traerá esos días.
Está tan equivocado en tantos niveles que ni siquiera sé por dónde empezar.
Primero, odio este tipo de “propuestas”. En realidad la actitud es: “ya lo implementamos en nuestro producto principal, se lo vamos a imponer amablemente a los usuarios, y si tienes opción puedes no usarlo”.
Luego está la parte de “garantizar que no eres un robot y que el navegador no ha sido modificado o alterado de una forma no aprobada”. Uso un navegador open source que no está basado en Chromium, es decir Firefox, y puedo modificarlo y recompilarlo como quiera. Si quiero, puedo usar links, elinks, lynx o dillo, y de hecho los uso. ¿Quiénes son ustedes para decirme qué software debo usar en mi computadora?
Esto es el regreso de la ola de DRM de los 90. Es un ataque continuo contra el software abierto, las plataformas abiertas y los protocolos abiertos.
Me vuelve loco y también me entristece.
Ahora hay todo tipo de entornos de ejecución de “confianza” y computación traicionera como TPM; no se pueden evitar, y las claves públicas de otros están incrustadas en el silicio.
El autor de la propuesta que bloqueó el issue de GitHub[0] también comentó en HN, pero hasta ahora sigue en silencio aquí: https://news.ycombinator.com/item?id=36825097
[0] https://github.com/RupertBenWiser/Web-Environment-Integrity/...
Los Googlers RupertBenWiser[3] y yoavweiss[4] simplemente están siguiendo la política de Google. En particular, es realmente asqueroso que yoavweiss intentara hacer pasar por “spam”[5] el issue original que cerró a la fuerza sin siquiera leer los comentarios.
Ambos usuarios están actuando con mucha mala fe y, en mi opinión, no cumplen adecuadamente con el código ético de la ingeniería.
El solo hecho de bloquear el repositorio de GitHub muestra que ellos mismos lo saben.
Es muy deprimente ver cuánto han caído Google y los Googlers. Lo que alguna vez fue un hogar de innovación, crecimiento y creación tecnológica ahora no es más que publicidad, abuso de posición de mercado para darle a Chrome una ventaja absurda en la etapa final de la guerra de navegadores, y más de lo mismo.
Parece que ya es hora de tomar medidas antimonopolio contra Google. Si aún no lo han hecho, deberían pasarse a Firefox y dejar de usar Chrome. Mozilla se opone a esta propuesta y a los ingenieros que la impulsan[6].
[1] https://github.com/RupertBenWiser/Web-Environment-Integrity/...
[2] https://github.com/RupertBenWiser/Web-Environment-Integrity/...
[3] https://github.com/RupertBenWiser
[4] https://github.com/yoavweiss
[5] https://github.com/RupertBenWiser/Web-Environment-Integrity/...
[6] https://github.com/mozilla/standards-positions/issues/852#is...
Como en el viejo chiste: “pero si te tiras una cabra una sola vez...”
Desde el punto de vista del usuario, esta “atestación” no tiene ningún valor
Con el navegador deberíamos poder hacer lo que queramos. Por ejemplo, deberíamos poder eliminar anuncios o bloquear el acceso a canvas y WebGL, y los sitios no deberían poder saberlo.
Además, es muy probable que esta atestación proporcione señales adicionales de huella digital del navegador, y eso no es algo que queramos.
Podría querer controlar y verificar que mis dispositivos sigan bajo mi control, y sería bueno no tener que entrar físicamente al centro de datos cada semana para comprobarlo. El concepto en sí no es malo.
Pero este concepto parece estar pensado para bloquear los ad blockers e impedir que navegadores como Brave se hagan pasar por Chrome mientras bloquean anuncios sin extensiones.
El único uso positivo para el usuario que se me ocurre es software autohospedado. Tal vez también podría servir para detectar ataques de intermediario o malware que manipule el navegador. En la práctica será “prohibido Firefox, prohibido Linux, prohibidos los ad blockers”.
Eso permitiría descartar keyloggers, extensiones maliciosas del navegador o secuestro de sesiones.
Claro que, en la práctica, se usará para bloquear contenido y obligar a los usuarios a ver anuncios que no se pueden saltar.
Pero ya existe software que hace esto en redes privadas. Creo firmemente que una función así no tiene ningún lugar en la web abierta.
Esta propuesta es hostil para el usuario y puede ser muy peligrosa para el futuro de la web.
¿Estás usando Chrome ahora? No me gusta decirlo, pero tú también eres parte del problema. Puedes cambiar a otra cosa.
No tengo una postura extremadamente anti-Google. Uso Gmail y también uso Google como motor de búsqueda. Pero Firefox es un buen navegador y lo uso como navegador diario. Edge, Brave, Safari y el navegador de DDG también son opciones.
Deberías cambiar hoy mismo y empezar a reducir la palanca de influencia de Google.
Como no bloquean la mayoría de los cambios que Google mete en Chrome, siguen contribuyendo en gran medida al dominio de Google sobre internet.
Si de verdad quieres sacudir el control de Google sobre la plataforma web, las únicas opciones reales son Firefox y Safari.