Escalada de privilegiosLa escalada de privilegios es el acto de explotar un error, un fallo de diseño o una supervisión de la configuración en un sistema operativo o una aplicación de software para obtener un acceso elevado a los recursos que normalmente están protegidos de una aplicación o un 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. Consiste en aprovechar vulnerabilidades del sistema como archivos o servicios mal configurados para poder ejecutar scripts o exploits con privilegios de superusuario.[1][2] AntecedentesLa mayoría de los sistemas informáticos están diseñados para ser utilizados con múltiples cuentas de usuario, cada una de las cuales tiene habilidades conocidas como privilegios. Los privilegios comunes incluyen la visualización y edición de archivos, o la modificación de los archivos del sistema. La escalada de privilegios significa que un usuario recibe privilegios a los que no tiene derecho. Estos privilegios pueden utilizarse para eliminar archivos, ver información privada o instalar programas no deseados, como virus. Suele ocurrir cuando un sistema tiene un fallo 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:
VerticalEste tipo de escalada de privilegios se produce cuando el usuario o el proceso puede obtener un nivel de acceso más alto del que pretendía un administrador o un desarrollador de sistemas, posiblemente mediante la realización de operaciones a nivel del núcleo. Ejemplos
JailbreakingArtículo principal: Jailbreak IOS El jailbreak es el acto o la herramienta que se utiliza para realizar el acto de escapar de una chroot o de un jail en sistemas operativos de tipo UNIX-like[4] o para 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 la DRM, esto permite al usuario ejecutar código definido arbitrariamente en dispositivos con DRM, así como romper las restricciones de tipo chroot. El término se originó en la comunidad de delincuentes de iPhone/iOS y también se ha utilizado como término para el pirateo de PlayStation Portable; estos dispositivos han sido objeto repetidamente de jail, lo que ha permitido la ejecución de código arbitrario, y a veces han sido desactivados por las actualizaciones de los proveedores. Los sistemas iOS, incluidos el iPhone, el iPad y el iPod touch, han sido objeto de los esfuerzos de iOS jailbreaking desde su lanzamiento, y continúan con cada actualización de firmware.[5] Las herramientas de iOS jailbreaking incluyen la opción de instalar Cydia o Sileo, alternativas de terceros a la App Store, como una forma de encontrar e instalar ajustes y binarios del sistema. Para evitar que iOS se rompa mediante un jailbreak, Apple ha hecho que la ROM de arranque del dispositivo ejecute comprobaciones de los blobs SHSH con el fin de no permitir la subida de kernels personalizados y evitar que el software se reduzca a un firmware anterior que se pueda romper el jail. En un jailbreak "sin ataduras", el entorno de iBoot se cambia para ejecutar un exploit de la 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 fugado después de la comprobación SHSH. Existe un método similar de evasión 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 el acceso total a los archivos del sistema.[6][7] o el firmware editado (similar al firmware pirateado M33 utilizado para la PlayStation Portable)[8] para eludir las restricciones del código no firmado. Desde entonces, Nokia ha emitido actualizaciones para frenar el jailbreak, de manera similar a Apple. En el caso de las consolas de juego, el jailbreak 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 de edad, y a los asociados del grupo fail0verflow por haber violado el jailbreak de la PlayStation 3 (véase Sony Computer Entertainment America contra George Hotz y PlayStation Jailbreak). AndroidArtículo principal: Android rooting Los teléfonos Android pueden rootearse oficialmente ya sea pasando por un proceso controlado por los fabricantes, usando un exploit para rootearse o flasheando la recuperación personalizada. Los fabricantes permiten el rooting a través de un proceso que ellos controlan, mientras que algunos permiten el rooting del teléfono simplemente pulsando combinaciones de teclas específicas en el momento del arranque, o por otros métodos auto-administrados. El uso de un método de los fabricantes casi siempre anula la garantía de forma permanente, incluso si el dispositivo se desinstala y se vuelve a encender. Los exploits de software suelen tener como objetivo un proceso a nivel de raíz accesible para el usuario, utilizando un exploit específico del núcleo del teléfono, o utilizando un exploit de Android conocido que ha sido parcheado en versiones más recientes; no actualizando el teléfono, o degradando intencionadamente la versión. Estrategias de mitigación
Investigaciones recientes han demostrado qué puede proporcionar protección eficaz contraataques 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.[11] HorizontalLa escalada horizontal de privilegios se produce cuando una aplicación permite al atacante acceder a recursos que normalmente estarían protegidos de una aplicación o un 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; se trata efectivamente de una forma limitada de escalada de privilegios (concretamente, la asunción no autorizada de la capacidad de hacerse pasar por otros usuarios). EjemplosEste problema se produce a menudo en las aplicaciones web.
Esta actividad maliciosa puede ser posible debido a las debilidades o vulnerabilidades comunes de las aplicaciones web. Entre las posibles vulnerabilidades o situaciones de la aplicación web que pueden dar lugar a esta condición se incluyen:
Véase también
Referencias
|