Skip to main content
Como funcionan los permisos
Language

Permisos de proveedores

Controla lo que los scripts de cada proveedor pueden hacer en tu sitio. Aprende qué cubre cada permiso y qué previene bloquearlo.

La vista Dependencies (dependencias) en el dashboard de cside muestra cada proveedor y dominio que entrega scripts a tu sitio. Abre un proveedor para ver su cuadricula de permisos, organizada en seis categorias: Resource types, Sensitive APIs, Storage, Event listeners, Form field access y Other. Cada capacidad tiene un control Allow y otro Block; cuando no se elige ninguno, el permiso queda sin definir y el proveedor mantiene su comportamiento por defecto.

Esta pagina explica cada permiso, que cubre y que previene bloquearlo.

Como funcionan los permisos

Cada permiso tiene tres estados:

  • Allow (marca verde): los scripts del proveedor pueden usar esta capacidad.
  • Block (escudo rojo): cside impide que los scripts del proveedor usen esta capacidad.
  • Unset (por defecto): el proveedor mantiene su comportamiento normal y cside sigue monitoreando lo que hace. Al pasar el cursor sobre un control seleccionado aparece Clear; haz clic en el para devolver el permiso a este estado.

Los permisos se aplican por proveedor, para todo tu equipo. Cuando un script no coincide con un proveedor conocido, puedes establecer los mismos permisos en su dominio.

Cuando bloqueas un permiso, cside aplica tu decision en el navegador. Los intentos bloqueados se siguen registrando, asi que puedes ver lo que un proveedor intento hacer despues de restringirlo.

Piensa en los permisos como minimo privilegio para terceros: cada proveedor solo obtiene las capacidades que necesita para hacer su trabajo.

La insignia “Used”

Junto a un permiso, una insignia azul Used significa que cside ha observado que los scripts de ese proveedor realmente usaron esa capacidad. Es solo informativa: no cambia ni establece el estado Allow/Block, y una capacidad puede estar Unset y aun asi mostrarse como Used. Usala junto con “Revisa el comportamiento registrado del proveedor” mas abajo para decidir que es seguro bloquear.

Tipos de recursos

Estos permisos controlan lo que los scripts de un proveedor pueden cargar, incrustar o ejecutar en tus paginas.

PermisoQue cubreQue previene bloquearlo
JavaScriptCargar y ejecutar JavaScript, incluido codigo adicional cargado en tiempo de ejecucion con etiquetas scriptImpide que el proveedor cargue codigo nuevo y no revisado despues de que la pagina carga. Asi es como un proveedor comprometido tipicamente escala un ataque.
Network requestsEnviar y obtener datos por la red con fetch y XHRImpide que el proveedor envie datos fuera del navegador hacia sus propios servidores. Este es el canal principal para la exfiltracion de datos.
FramesIncrustar iframes y otras paginas anidadasImpide superposiciones de iframes ocultos, avisos falsos de inicio de sesion e inyeccion de UI estilo clickjacking.
ObjectsIncrustar contenido de plugins como <object> y <embed>Impide contenido de plugins heredados, una via de inyeccion antigua pero todavia abusada.
WorkersEjecutar web workers y service workersImpide scripts en segundo plano que se ejecutan fuera de vista, interceptan solicitudes o siguen trabajando despues de que el usuario abandona la pagina.
MediaCargar audio y videoImpide cargas de audio o video no deseadas, incluyendo medios usados para rastreo o fraude publicitario.
StylesheetsCargar hojas de estilo CSS externasImpide la inyeccion de estilos que puede ocultar elementos de la pagina, superponer UI falsa o filtrar datos escritos a traves de selectores CSS.
PrefetchPrecargar recursos (prefetch y preload)Impide la carga especulativa de recursos del proveedor, que puede filtrar senales de navegacion antes de que un usuario interactue.
ManifestsCargar manifests de aplicaciones webImpide que el proveedor suministre un manifest que cambie como tu sitio se instala o se comporta como aplicacion.
ImagesCargar imagenes externasImpide cargas de imagenes, incluyendo pixeles de rastreo: imagenes diminutas usadas para enviar datos hacia afuera.
FontsCargar fuentes externasImpide cargas de fuentes desde el proveedor, un canal silencioso para rastreo y fingerprinting.

APIs sensibles

Estos permisos controlan el acceso al hardware del dispositivo y a las APIs del navegador que convierten cadenas de texto en codigo en ejecucion.

PermisoQue cubreQue previene bloquearlo
CameraAcceso a la camara del dispositivoImpide que los scripts soliciten acceso a la camara, asi los usuarios nunca ven un aviso que podrian aceptar por error.
Screen captureGrabar la pantalla o una ventanaImpide que los scripts soliciten grabacion de pantalla, que puede exponer cualquier cosa visible en la pantalla del usuario.
LocationLeer la ubicacion geografica del visitanteImpide que los scripts soliciten la ubicacion fisica de tus usuarios.
MicrophoneAcceso al microfono del dispositivoImpide que los scripts soliciten acceso al microfono y graben audio.
EvalEjecutar cadenas como codigo con eval()Impide una tecnica de ofuscacion habitual: los skimmers suelen esconder su carga real en una cadena y ejecutarla con eval().
Function constructorEjecutar cadenas como codigo con el constructor FunctionImpide la otra via principal para ejecutar una cadena como codigo, cerrando el hueco que queda cuando solo se bloquea eval().
document.writeReescribir la pagina con document.writeImpide que el proveedor inyecte marcado y scripts arbitrarios directamente en el documento mientras carga.
Inline framesInyectar contenido de frames inline mediante srcdocImpide que el proveedor cree frames cuyo contenido procede de una cadena en lugar de una URL, una forma de colar codigo que ninguna lista de hosts permitidos cubre.

Almacenamiento

Estos permisos controlan el acceso a los datos almacenados en el navegador.

PermisoQue cubreQue previene bloquearlo
CookiesLeer y escribir cookiesImpide que el proveedor lea identificadores de sesion o tokens, y que coloque sus propias cookies de rastreo.
Local storageLeer y escribir almacenamiento persistente del navegadorImpide el acceso a datos persistentes, que a menudo incluyen identificadores de usuario e informacion personal en cache.
Session storageLeer y escribir almacenamiento por pestana del navegadorImpide el acceso a los datos de sesion por pestana, como el estado de una compra en curso.
IndexedDBLeer y escribir bases de datos IndexedDBImpide el acceso a bases de datos estructuradas del navegador, donde las aplicaciones a menudo almacenan en cache conjuntos mas grandes de datos de usuario.

Escuchas de eventos

Estos permisos controlan si un proveedor puede observar como los usuarios interactuan con tus paginas.

PermisoQue cubreQue previene bloquearlo
ClicksRastrear donde hacen clic los visitantesImpide el rastreo de clics en tus paginas, incluyendo la captura de lo que los usuarios tocan y seleccionan.
KeystrokesRastrear lo que escriben los visitantesImpide el registro de teclas (keylogging). Un script que escucha las pulsaciones de teclas puede capturar todo lo que un usuario escribe, incluyendo credenciales y numeros de tarjeta.

Acceso a campos de formulario

Estos permisos controlan que campos de formulario pueden leer los scripts de un proveedor. Son centrales para prevenir el robo de datos de formularios, incluyendo el skimming estilo Magecart, y respaldan los requisitos 6.4.3 y 11.6.1 de PCI DSS 4.0.1 para paginas de pago.

PermisoQue cubreQue previene bloquearlo
Email fieldsCampos de direccion de correo electronicoImpide la recoleccion de las direcciones de correo que escriben tus usuarios.
File uploadsCampos de subida de archivosImpide el acceso a los archivos que los usuarios adjuntan, como documentos de identidad o estados de cuenta.
Password fieldsCampos de contrasenaImpide el robo de credenciales desde formularios de inicio de sesion y registro.
Hidden fieldsCampos de formulario ocultosImpide la lectura de inputs ocultos, que a menudo contienen tokens de sesion, tokens CSRF o IDs internos.
Address fieldsCampos de direccionImpide la recoleccion de direcciones de domicilio y de envio.
Search fieldsCampos de busquedaImpide la captura de lo que los usuarios buscan en tu sitio.
Phone fieldsCampos de numero de telefonoImpide la recoleccion de numeros de telefono.
URL fieldsCampos de URLImpide la lectura de las URLs que los usuarios ingresan en formularios.
Name fieldsCampos de nombreImpide la recoleccion de nombres personales.
One-time codesCampos de codigos de inicio de sesion de un solo usoImpide el robo de codigos de un solo uso, que los atacantes usan para evadir la MFA.
Birthday fieldsCampos de fecha de nacimientoImpide la recoleccion de fechas de nacimiento, un dato clave para el robo de identidad.
Sex/gender fieldsCampos de sexo y generoImpide la recoleccion de datos demograficos sensibles.
Credit card fieldsCampos de tarjeta de creditoImpide el skimming de tarjetas: scripts que leen los numeros de tarjeta mientras los usuarios los escriben al pagar.
Non-sensitive form accessCampos de formulario que no contienen datos sensiblesEl permiso general de formularios. Bloquearlo impide que el proveedor lea campos de formulario no cubiertos por uno de los permisos mas especificos anteriores.

Otros

PermisoQue cubreQue previene bloquearlo
NotificationsMostrar notificaciones del navegadorImpide los avisos de notificaciones y el spam push del proveedor.
Full screenCambiar la pagina al modo de pantalla completaImpide tomas de control en pantalla completa usadas para imitar la UI del navegador en superposiciones de phishing.
PaymentsAbrir el dialogo de pago del navegadorImpide que el proveedor invoque la interfaz de pago del navegador o sondee las capacidades de pago.
Browser historyCambiar el historial de navegacion del visitanteImpide la manipulacion de URLs que puede disfrazar la pagina en la que realmente esta un usuario o atrapar el boton de retroceso.
ClipboardLeer y escribir en el portapapelesImpide que los scripts lean lo que los usuarios copiaron en otro lugar, como contrasenas o direcciones de wallets, y el secuestro del portapapeles, como cambiar una direccion de pago copiada por la de un atacante.
Send messagesEnviar mensajes entre frames con postMessageImpide que el proveedor pase datos a otros frames, una forma habitual de mover datos robados a un iframe controlado por un atacante.
Receive messagesEscuchar mensajes entre framesImpide que el proveedor reciba instrucciones o datos de otros frames de la pagina.
Worker messagesIntercambiar mensajes con web workersImpide que el proveedor mueva datos hacia y desde workers en segundo plano, donde es mas dificil observarlos.

Como elegir que bloquear

No necesitas tomar 40 decisiones por proveedor el primer dia. Un enfoque practico:

  1. Empieza con las capacidades que el proveedor no tiene razon de usar. La mayoria de los proveedores nunca requieren pulsaciones de teclas, campos de contrasena, campos de tarjeta de credito, eval() o el portapapeles. Bloquearlos rara vez afecta la funcionalidad.
  2. Revisa el comportamiento registrado del proveedor. La vista Dependencies muestra lo que cada proveedor realmente hace en tu sitio. Si un proveedor nunca ha usado una capacidad, bloquearla conlleva poco riesgo.
  3. Restringe las paginas donde estan los datos. En los flujos de pago e inicio de sesion, prioriza los permisos de campos de formulario y Keystrokes.
  4. Observa los reportes despues de bloquear. Los intentos bloqueados se siguen registrando. Un proveedor que intenta repetidamente algo que bloqueaste merece ser investigado.

Si todavia no ves Dependencies en tu dashboard, se esta implementando gradualmente. Contacta a support@cside.dev para habilitarlo para tu equipo.

Paginas relacionadas

Was this page helpful?