stringtranslate.com

Problema de diputado confundido

En seguridad de la información , un diputado confundido es un programa de computadora que es engañado por otro programa (con menos privilegios o menos derechos) para que haga un mal uso de su autoridad en el sistema. Es un tipo específico de escalada de privilegios . [1] El problema del diputado confundido a menudo se cita como un ejemplo de por qué la seguridad basada en capacidades es importante.

Los sistemas de capacidad protegen contra el problema de los diputados confusos, mientras que los sistemas basados ​​en listas de control de acceso no lo hacen. [2]

Ejemplo

En el ejemplo original de un diputado confundido, [3] había un programa compilador proporcionado en un servicio comercial de tiempo compartido . Los usuarios podrían ejecutar el compilador y, opcionalmente, especificar un nombre de archivo donde escribiría la salida de depuración, y el compilador podría escribir en ese archivo si el usuario tuviera permiso para escribir allí.

El compilador también recopiló estadísticas sobre el uso de funciones del lenguaje. Esas estadísticas se almacenaron en un archivo llamado "(SYSX)STAT", en el directorio "SYSX". Para que esto sea posible, el programa compilador recibió permiso para escribir en archivos en SYSX.

Pero había otros archivos en SYSX: en particular, la información de facturación del sistema se almacenaba en un archivo "(SYSX)BILL". Un usuario ejecutó el compilador y nombró "(SYSX)BILL" como el archivo de salida de depuración deseado. [ cita necesaria ]

Esto produjo un problema confuso para los diputados. El compilador realizó una solicitud al sistema operativo para abrir (SYSX)BILL. Aunque el usuario no tenía acceso a ese archivo, el compilador sí lo tenía, por lo que la apertura se realizó correctamente. El compilador escribió el resultado de la compilación en el archivo (aquí "(SYSX)BILL") como de costumbre, sobrescribiéndolo y la información de facturación fue destruida.

El diputado confundido

En este ejemplo, el programa compilador es el suplente porque actúa a petición del usuario. El programa se considera "confuso" porque fue engañado para que sobrescribiera el archivo de facturación del sistema.

Siempre que un programa intenta acceder a un archivo, el sistema operativo necesita saber dos cosas: qué archivo solicita el programa y si el programa tiene permiso para acceder al archivo. En el ejemplo, el archivo se designa por su nombre, “(SYSX)BILL”. El programa recibe el nombre del archivo del usuario, pero no sabe si el usuario tenía permiso para escribir el archivo. Cuando el programa abre el archivo, el sistema utiliza el permiso del programa, no el del usuario. Cuando el nombre del archivo pasó del usuario al programa, el permiso no lo acompañó; el sistema aumentó el permiso de forma silenciosa y automática.

No es esencial para el ataque que el archivo de facturación esté designado por un nombre representado como una cadena. Los puntos esenciales son que:

Otros ejemplos

Prototípico diputado confundido Barney Fife

Una falsificación de solicitud entre sitios (CSRF) es un ejemplo de un ataque adjunto confuso que utiliza el navegador web para realizar acciones confidenciales contra una aplicación web. Una forma común de este ataque ocurre cuando una aplicación web utiliza una cookie para autenticar todas las solicitudes transmitidas por un navegador. Usando JavaScript , un atacante puede forzar a un navegador a transmitir solicitudes HTTP autenticadas .

El gusano informático Samy utilizó secuencias de comandos entre sitios (XSS) para convertir la sesión de MySpace autenticada del navegador en un sustituto confuso. Al utilizar XSS, el gusano obligó al navegador a publicar una copia ejecutable del gusano como un mensaje de MySpace que luego fue visto y ejecutado por los amigos del usuario infectado.

Clickjacking es un ataque en el que el usuario actúa como el diputado confundido. En este ataque, un usuario cree que está navegando de forma inofensiva en un sitio web (un sitio web controlado por un atacante), pero en realidad se le engaña para que realice acciones confidenciales en otro sitio web. [4]

Un ataque de rebote FTP puede permitir a un atacante conectarse indirectamente a puertos TCP a los que la máquina del atacante no tiene acceso, utilizando un servidor FTP remoto como sustituto confundido.

Otro ejemplo se relaciona con el software de firewall personal . Puede restringir el acceso a Internet para aplicaciones específicas. Algunas aplicaciones evitan esto iniciando un navegador con instrucciones para acceder a una URL específica. El navegador tiene autoridad para abrir una conexión de red, aunque la aplicación no la tenga. El software de firewall puede intentar solucionar este problema avisando al usuario en los casos en que un programa inicia otro que luego accede a la red. Sin embargo, el usuario frecuentemente no tiene información suficiente para determinar si dicho acceso es legítimo; los falsos positivos son comunes y existe un riesgo sustancial de que incluso los usuarios sofisticados se acostumbren a hacer clic en "Aceptar" ante estas indicaciones. [5]

No todos los programas que abusan de su autoridad son diputados confusos. A veces, el abuso de autoridad es simplemente el resultado de un error del programa. El problema del diputado confuso ocurre cuando la designación de un objeto se pasa de un programa a otro y el permiso asociado cambia involuntariamente, sin ninguna acción explícita por parte de ninguna de las partes. Es insidioso porque ninguna de las partes hizo nada explícito para cambiar la autoridad.

Soluciones

En algunos sistemas es posible pedirle al sistema operativo que abra un archivo usando los permisos de otro cliente. Esta solución tiene algunos inconvenientes:

La forma más sencilla de resolver el confuso problema del diputado es agrupar la designación de un objeto y el permiso para acceder a ese objeto. Esto es exactamente lo que es una capacidad . [ cita necesaria ]

Usando la seguridad de capacidad en el ejemplo del compilador, el cliente pasaría al servidor una capacidad para el archivo de salida, como un descriptor de archivo , en lugar del nombre del archivo. Dado que carece de capacidad para el archivo de facturación, no puede designar ese archivo para su salida. En el ejemplo de falsificación de solicitudes entre sitios, una URL proporcionada por un sitio "cruzado" incluiría su propia autoridad independiente de la del cliente del navegador web.

Ver también

Referencias

  1. ^ Wu, Jianliang; Cui, hormigueo; Prohibición, Tao; Guo, Shanqing; Cui, Lizhen (10 de septiembre de 2015). "PaddyFrog: detección sistemática de vulnerabilidad adjunta confusa en aplicaciones de Android: PaddyFrog: detección sistemática de vulnerabilidad adjunta confusa en aplicaciones de Android". Redes de Seguridad y Comunicaciones . 8 (13): 2338–2349. doi : 10.1002/seg.1179.
  2. ^ "Las ACL no lo hacen". fuenteforge.net .
  3. ^ "El diputado confundido (o por qué se podrían haber inventado capacidades)". Archivado desde el original el 5 de diciembre de 2003 . Consultado el 31 de diciembre de 2003 .
  4. ^ "clickjacking: ¡El diputado confundido vuelve a montar!". fuenteforge.net .
  5. ^ Alfred Spiessens: Patrones de colaboración segura, tesis doctoral. http://www.evoluware.eu/fsp_thesis.pdf Sección 8.1.5

enlaces externos