stringtranslate.com

Escalada de privilegios

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

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

Fondo

La mayoría de los sistemas informáticos están diseñados para su uso con varias cuentas de usuario, cada una de las cuales tiene capacidades conocidas como privilegios . Los privilegios más comunes incluyen la visualización y edición de archivos o la modificación de archivos del sistema.

La escalada de privilegios significa que los usuarios reciben privilegios que no les corresponden. 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 previsto por un administrador o desarrollador de sistemas, posiblemente realizando operaciones a nivel de kernel .

Ejemplos

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

Hacer jailbreak

En seguridad informática, el jailbreaking se define como el acto de eliminar 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 el usuario en cuestión. En el contexto de DRM, esto permite al usuario ejecutar código definido arbitrariamente en dispositivos con DRM, así como escapar de las restricciones de tipo chroot. El término se originó con la comunidad de jailbreaking de iPhone / iOS y también se ha utilizado como un término para el hackeo de PlayStation Portable ; estos dispositivos han sido objeto repetidamente de jailbreaks, lo que permite la ejecución de código arbitrario, y algunas veces esos jailbreaks se han desactivado mediante actualizaciones del proveedor.

Los sistemas iOS, incluidos el iPhone , iPad y iPod Touch, han sido objeto de intentos de jailbreak de iOS desde que fueron lanzados 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 encontrar e instalar ajustes y 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 cargas de kernels personalizados y evitar degradaciones de software a firmware anterior que se pueda jailbreakear. 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 cargador de arranque de bajo nivel parcheado o hackear el kernel para enviar el kernel jailbreakeado después de la comprobación SHSH.

Existe un método similar de jailbreak para los teléfonos inteligentes de la plataforma S60 , donde utilidades como HelloOX permiten la ejecución de código no firmado 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 no firmado . Desde entonces, Nokia ha emitido actualizaciones para frenar el jailbreak no autorizado, de manera similar a Apple.

En el caso de las consolas de juegos, el jailbreaking se utiliza a menudo 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 los asociados del grupo fail0verflow por jailbreakear la PlayStation 3 (véase Sony Computer Entertainment America v. George Hotz y PlayStation Jailbreak ).

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

Androide

Los teléfonos Android pueden rootearse oficialmente ya sea siguiendo un proceso controlado por el fabricante, usando un exploit para obtener el root o instalando un recovery personalizado. Los fabricantes permiten rootear mediante un proceso que ellos controlan, mientras que algunos permiten rootear el teléfono 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 la configuración de fábrica, lo que hace que el rooteo 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 vuelve a flashear. Los exploits de software comúnmente apuntan a un proceso de nivel raíz que es accesible para el usuario, mediante un exploit específico del kernel del teléfono, o mediante un exploit conocido de Android que se ha parcheado en versiones más nuevas; al no actualizar el teléfono o al 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 los ataques centrados en las 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 ; esto es efectivamente una forma limitada de escalada de privilegios (específicamente, la suposición no autorizada de la capacidad de suplantar a otros usuarios). En comparación con la escalada de privilegios vertical, la horizontal no requiere actualizar el privilegio de las cuentas. A menudo se basa en los errores del sistema. [14]

Ejemplos

Este problema se produce 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 de las aplicaciones web o situaciones que pueden provocar esta condición incluyen:

Véase también

Referencias

  1. ^ Taimur Asad (27 de octubre de 2010). «Apple reconoce un fallo de seguridad en iOS 4.1. Lo solucionará en noviembre con iOS 4.2». RedmondPie. Archivado desde el original el 18 de febrero de 2013. Consultado el 5 de noviembre de 2010 .
  2. ^ "Definición de JAILBREAK". www.merriam-webster.com . Archivado desde el original el 24 de diciembre de 2022 . Consultado el 24 de diciembre de 2022 .
  3. ^ Cyrus Peikari; Anton Chuvakin (2004). Guerrero de la seguridad: conozca a su enemigo . "O'Reilly Media, Inc.", pág. 304. ISBN 978-0-596-55239-8.
  4. ^ James Quintana Pearce (2007-09-27), El desacuerdo de Apple con Orange, los piratas informáticos del iPhone, paidContent.org, archivado desde el original el 2012-07-29 , consultado el 2011-11-25
  5. ^ "Informes: la próxima actualización de iPhone dañará las aplicaciones de terceros y desbloqueos desastrosos]". Computerworld en v1.1.3 . Archivado desde el original el 2008-01-04 . Consultado el 2008-01-01 .
  6. ^ Phat^Trance (16 de febrero de 2010). "Anuncio: el foro está fuera de servicio por mantenimiento". dailymobile.se . Archivado desde el original el 3 de marzo de 2009 . Consultado el 30 de agosto de 2016 . Solo quería informarles que el foro está fuera de servicio por mantenimiento. Volverá a estar en línea en un día o dos (me equivoqué un poco con los archivos de configuración y necesito restaurar una copia de seguridad de un día, así que pensé por qué no actualizar toda la plataforma del servidor)
  7. ^ "HelloOX 1.03: hack de un paso para teléfonos Symbian S60 3rd ed. y también para Nokia 5800 XpressMusic". Archivado desde el original el 2020-08-07 . Consultado el 2009-07-06 .
  8. ^ "Omitir los Midlets firmados de Symbian e instalar Midlets SISX/J2ME no firmados en Nokia S60 v3 con permisos completos del sistema". Archivado desde el original el 11 de septiembre de 2016. Consultado el 6 de julio de 2009 .
  9. ^ "¿Qué es el Jailbreaking en modelos de IA como ChatGPT?". Archivado desde el original el 2023-12-01 . Consultado el 2023-11-01 .
  10. ^ "El 'jailbreak' de ChatGPT intenta que la IA rompa sus propias reglas o muera". Archivado desde el original el 2023-03-02 . Consultado el 2023-11-01 .
  11. ^ "Microsoft minimiza la amenaza de desbordamientos de búfer y crea aplicaciones confiables". Microsoft . Septiembre de 2005 . Consultado el 4 de agosto de 2008 . [ enlace muerto ]
  12. ^ Smalley, Stephen. "Establecer 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 de kernel adicional: mecanismo de prevención de ataques de escalada de privilegios centrado en cambios de privilegios de llamadas del sistema». Revista internacional de seguridad de la información . 20 (4): 461–473. doi : 10.1007/s10207-020-00514-7 . ISSN  1615-5262. Archivado desde el original el 24 de mayo de 2024 . Consultado el 10 de noviembre de 2023 .
  14. ^ Diogenes, Yuri (2019). Ciberseguridad: estrategias de ataque y defensa. Segunda edición. Erdal Ozkaya, Safari Books Online (2.ª ed.). pág. 304. ISBN 978-1-83882-779-3. OCLC  1139764053. Archivado desde el original el 24 de mayo de 2024. Consultado el 13 de agosto de 2022 .