stringtranslate.com

Escalada de privilegios

Un diagrama que describe la escalada de privilegios. La flecha representa un rootkit que obtiene acceso al kernel y la pequeña puerta representa la elevación de privilegios normal, donde el usuario debe ingresar un nombre de usuario y contraseña de administrador.

La escalada de privilegios es el acto de explotar un error , un defecto de diseño o un descuido de la configuración en un sistema operativo o aplicación de software para obtener acceso elevado a recursos que normalmente están protegidos de una aplicación o usuario . El resultado es que una aplicación con más privilegios de los previstos por el desarrollador de la aplicación o el administrador del sistema puede realizar acciones no autorizadas .

Fondo

La mayoría de los sistemas informáticos están diseñados para usarse con múltiples cuentas de usuario, cada una de las cuales tiene capacidades conocidas como privilegios . Los privilegios comunes incluyen ver y editar archivos o modificar archivos del sistema.

La escalada de privilegios significa que los usuarios reciben privilegios a los que no tienen derecho. Estos privilegios se pueden utilizar para eliminar archivos, ver información privada o instalar programas no deseados como virus. Suele ocurrir cuando un sistema tiene un error que permite eludir la seguridad o, alternativamente, tiene suposiciones de diseño erróneas sobre cómo se utilizará. La escalada de privilegios se produce de dos formas:

Vertical

Anillos de privilegios para x86 disponibles en modo protegido

Este tipo de escalada de privilegios ocurre cuando el usuario o proceso puede obtener un nivel de acceso más alto que el que pretendía un administrador o desarrollador del sistema, posiblemente realizando operaciones a nivel de kernel .

Ejemplos

En algunos casos, una aplicación con privilegios elevados supone que solo se le proporcionará una entrada que coincida con la especificación de su interfaz, por lo que no valida esta entrada. Entonces, un atacante puede aprovechar esta suposición para ejecutar código no autorizado con los privilegios de la aplicación:

jailbreak

En seguridad informática, el jailbreak se define como el acto de eliminar las limitaciones que un proveedor intentó codificar en su software o servicios. [2] Un ejemplo común es el uso de conjuntos de herramientas para salir de un chroot o jail en sistemas operativos tipo UNIX [3] o eludir la gestión de derechos digitales (DRM). En el primer caso, permite al usuario ver archivos fuera del sistema de archivos que el administrador pretende poner a disposición de la aplicación o usuario en cuestión. En el contexto de DRM, esto permite al usuario ejecutar código definido arbitrariamente en dispositivos con DRM, así como romper restricciones tipo chroot. El término se originó en la comunidad de jailbreak de iPhone / iOS y también se ha utilizado como término para hackear PlayStation Portable ; Estos dispositivos han estado sujetos repetidamente a jailbreak, lo que permite la ejecución de código arbitrario y, en ocasiones, esos jailbreak se han desactivado mediante actualizaciones de proveedores.

Los sistemas iOS , incluidos iPhone , iPad y iPod Touch, han estado sujetos a esfuerzos de jailbreak de iOS desde su lanzamiento y continúan con cada actualización de firmware. [4] [5] Las herramientas de jailbreak de iOS incluyen la opción de instalar interfaces de paquetes como Cydia e Installer.app , alternativas de terceros a la App Store , como una forma de buscar e instalar ajustes y archivos binarios del sistema. Para evitar el jailbreak de iOS, Apple ha hecho que la ROM de arranque del dispositivo ejecute comprobaciones de blobs SHSH para no permitir la carga de kernels personalizados y evitar degradaciones de software a firmware anterior con jailbreak. En un jailbreak "sin ataduras", el entorno de iBoot se cambia para ejecutar un exploit de ROM de arranque y permitir el envío de un gestor de arranque de bajo nivel parcheado o piratear el kernel para enviar el kernel liberado después de la verificación SHSH.

Existe un método similar de jailbreak para los teléfonos inteligentes con plataforma S60 , donde utilidades como HelloOX permiten la ejecución de código sin firmar y acceso completo a los archivos del sistema. [6] [7] o firmware editado (similar al firmware pirateado M33 utilizado para PlayStation Portable ) [8] para eludir las restricciones sobre el código sin firmar . Desde entonces , Nokia ha publicado actualizaciones para frenar el jailbreak no autorizado, de manera similar a Apple.

En el caso de las consolas de juegos, el jailbreak se suele utilizar para ejecutar juegos caseros . En 2011, Sony , con la ayuda del bufete de abogados Kilpatrick Stockton , demandó a George Hotz , de 21 años, y a sus asociados del grupo fail0verflow por hacer jailbreak a la PlayStation 3 (ver Sony Computer Entertainment America contra George Hotz y PlayStation Jailbreak ).

El jailbreak también puede ocurrir en sistemas y software que utilizan modelos de inteligencia artificial generativa, como ChatGPT . En los ataques de jailbreak a sistemas de inteligencia artificial , los usuarios pueden manipular el modelo para que se comporte de manera diferente a como fue programado, lo que permite revelar información sobre cómo se instruyó al modelo e inducirlo a responder de manera anómala o dañina. [9] [10]

Androide

Los teléfonos Android se pueden rootear oficialmente ya sea mediante un proceso controlado por el fabricante, utilizando un exploit para obtener root o actualizando una recuperación personalizada. Los fabricantes permiten el rooteo a través de un proceso que ellos controlan, mientras que algunos permiten que el teléfono sea rooteado simplemente presionando combinaciones de teclas específicas en el momento del arranque, o mediante otros métodos autoadministrados. El uso de un método del fabricante casi siempre restablece el dispositivo a los valores de fábrica, lo que hace que el enraizamiento sea inútil para las personas que desean ver los datos y también anula la garantía de forma permanente, incluso si el dispositivo se desrootea y se actualiza. Los exploits de software comúnmente se dirigen a un proceso de nivel raíz al que puede acceder el usuario, mediante el uso de un exploit específico del kernel del teléfono o mediante un exploit de Android conocido que ha sido parcheado en versiones más recientes; al no actualizar el teléfono o degradar intencionalmente la versión.

Estrategias de mitigación

Los sistemas operativos y los usuarios pueden utilizar las siguientes estrategias para reducir el riesgo de escalada de privilegios:

Investigaciones recientes han demostrado qué puede proporcionar protección eficaz contra ataques de escalada de privilegios. Entre ellas se incluye la propuesta del observador de kernel adicional (AKO), que previene específicamente ataques centrados en vulnerabilidades del sistema operativo. Las investigaciones muestran que AKO es, de hecho, eficaz contra los ataques de escalada de privilegios. [13]

Horizontal

La escalada de privilegios horizontal ocurre cuando una aplicación permite al atacante obtener acceso a recursos que normalmente habrían estado protegidos de una aplicación o usuario . El resultado es que la aplicación realiza acciones con el mismo usuario pero en un contexto de seguridad diferente al previsto por el desarrollador de la aplicación o el administrador del sistema ; Esta es efectivamente una forma limitada de escalada de privilegios (específicamente, la asunción no autorizada de la capacidad de hacerse pasar por otros usuarios). En comparación con la escalada de privilegios vertical, la horizontal no requiere actualizar los privilegios de las cuentas. A menudo se basa en errores del sistema. [14]

Ejemplos

Este problema ocurre a menudo en aplicaciones web . Considere el siguiente ejemplo:

Esta actividad maliciosa puede ser posible debido a debilidades o vulnerabilidades comunes de las aplicaciones web.

Las posibles vulnerabilidades o situaciones de las aplicaciones web que pueden provocar esta condición incluyen:

Ver también

Referencias

  1. ^ Taimur Asad (27 de octubre de 2010). "Apple reconoce un error de seguridad de iOS 4.1. Lo solucionará en noviembre con iOS 4.2". Pastel de Redmond.
  2. ^ "Definición de JAILBREAK". www.merriam-webster.com . Consultado el 24 de diciembre de 2022 .
  3. ^ Ciro Peikari; Antón Chuvakin (2004). Guerrero de la seguridad: conoce a tu enemigo . "O'Reilly Media, Inc.". pag. 304.ISBN _ 978-0-596-55239-8.
  4. ^ James Quintana Pearce (27 de septiembre de 2007), El desacuerdo de Apple con Orange, piratas informáticos de iPhone,paidContent.org, archivado desde el original el 29 de julio de 2012 , consultado el 25 de noviembre de 2011
  5. ^ "Informes: la próxima actualización de iPhone interrumpirá las aplicaciones de terceros y bloqueará los desbloqueos]". Computerworld en v1.1.3 .
  6. ^ Phat^Trance (16 de febrero de 2010). "Anuncio: Foro inactivo por mantenimiento". dailymobile.se . Archivado desde el original el 3 de marzo de 2009 . Consultado el 30 de agosto de 2016 . Sólo quería hacerles saber que el foro está inactivo por mantenimiento. Volverá a estar en línea en aproximadamente un día (arruiné un poco los archivos de configuración y necesito restaurar la copia de seguridad de un día, así que pensé por qué no actualizar toda la plataforma del servidor)
  7. ^ "HelloOX 1.03: truco de un paso para teléfonos Symbian S60 de 3.ª edición y también para Nokia 5800 XpressMusic".
  8. ^ "Evitar Symbian firmado e instalar Midlets SISX/J2ME no firmados en Nokia S60 v3 con permisos completos del sistema".
  9. ^ "¿Qué es el jailbreak en modelos de inteligencia artificial como ChatGPT?".
  10. ^ "El 'jailbreak' de ChatGPT intenta hacer que la IA rompa sus propias reglas o muera".
  11. ^ "Microsoft minimiza la amenaza de saturaciones del búfer y crea aplicaciones confiables". Microsoft . Septiembre de 2005 . Consultado el 4 de agosto de 2008 .[ enlace muerto ]
  12. ^ Smalley, Stephen. "Sentar una base segura para los dispositivos móviles" (PDF) . Archivado desde el original (PDF) el 28 de agosto de 2017 . Consultado el 7 de marzo de 2014 .
  13. ^ Yamauchi, Toshihiro; Akao, Yohei; Yoshitani, Ryota; Nakamura, Yuichi; Hashimoto, Masaki (agosto de 2021). "Observador del kernel adicional: mecanismo de prevención de ataques de escalada de privilegios que se centra en los cambios de privilegios de las llamadas al sistema". Revista Internacional de Seguridad de la Información . 20 (4): 461–473. doi : 10.1007/s10207-020-00514-7 . ISSN  1615-5262.
  14. ^ Diógenes, Yuri (2019). Ciberseguridad - Estrategias de ataque y defensa - Segunda edición. Erdal Ozkaya, Safari Books en línea (2ª ed.). pag. 304.ISBN _ 978-1-83882-779-3. OCLC  1139764053.