es.phhsnews.com


es.phhsnews.com / ¿Qué es ASLR y cómo mantiene segura su computadora?

¿Qué es ASLR y cómo mantiene segura su computadora?


La asignación de espacio de direcciones (ASLR) es una técnica de seguridad utilizada en los sistemas operativos, implementada por primera vez en 2001. Las versiones actuales de todos los sistemas operativos principales (iOS, Android, Windows, MacOS y Linux) cuentan con protección ASLR. Pero en la última semana, se ha encontrado un nuevo método para eludir ASLR. Entonces, ¿debería estar preocupado?

Para aquellos sin un bajo nivel de programación, ASLR puede ser confuso. Para entenderlo, primero debe comprender la memoria virtual.

¿Qué es la memoria virtual?

La memoria virtual es una técnica de administración de memoria con muchos beneficios, pero fue creada principalmente para facilitar la programación. Imagine que tiene Google Chrome, Microsoft Word y muchos otros programas abiertos en una computadora con 4 GB de RAM. En general, los programas en esta computadora usan mucho más de 4 GB de RAM. Sin embargo, no todos los programas estarán activos en todo momento o necesitan acceso simultáneo a esa RAM.

El sistema operativo asigna trozos de memoria a programas llamados páginas . Si no hay suficiente RAM para almacenar todas las páginas a la vez, las páginas que menos se necesitan se almacenan en el disco duro más lento (pero más espacioso). Cuando se necesiten las páginas almacenadas, cambiarán espacios con páginas menos necesarias actualmente en la memoria RAM. Este proceso se llama paginación y le da su nombre al archivo pagefile.sys en Windows.

La memoria virtual facilita a los programas la administración de su propia memoria y también la hace más segura. Los programas no necesitan preocuparse por dónde otros programas están almacenando datos, o la cantidad de RAM que queda. Simplemente pueden solicitar al sistema operativo la memoria adicional (o devolver la memoria no utilizada) según sea necesario. Todo lo que el programa ve es un solo fragmento continuo de direcciones de memoria para su uso exclusivo, llamadas direcciones virtuales. El programa no puede mirar la memoria de otro programa.

Cuando un programa necesita acceder a la memoria, le da una dirección virtual al sistema operativo. El sistema operativo se comunica con la unidad de administración de memoria (MMU) de la CPU. La MMU traduce direcciones virtuales y físicas, devolviendo esa información al sistema operativo. En ningún momento el programa interactúa directamente con la RAM.

¿Qué es ASLR?

La distribución de espacio de direcciones (ASLR) se usa principalmente para proteger contra ataques de desbordamiento de búfer. En un desbordamiento de búfer, los atacantes alimentan una función con la mayor cantidad de datos no deseados que puede manejar, seguidos por una carga maliciosa. La carga útil sobrescribirá los datos a los que el programa pretende acceder. Las instrucciones para saltar a otro punto del código son una carga útil común. El famoso método JailbreakMe de jailbreaking iOS 4, por ejemplo, utilizó un ataque de desbordamiento de búfer, lo que llevó a Apple a agregar ASLR a iOS 4.3.

Los desbordamientos de búfer requieren que un atacante sepa dónde se encuentra cada parte del programa en la memoria. Entender esto suele ser un proceso difícil de prueba y error. Después de determinar eso, deben crear una carga útil y encontrar un lugar adecuado para inyectarla. Si el atacante no sabe dónde se encuentra su código objetivo, puede ser difícil o imposible explotarlo.

ASLR funciona junto con la administración de memoria virtual para aleatorizar las ubicaciones de diferentes partes del programa en la memoria. Cada vez que se ejecuta el programa, los componentes (incluida la pila, el montón y las bibliotecas) se mueven a una dirección diferente en la memoria virtual. Los atacantes ya no pueden saber dónde está su objetivo a través de prueba y error, porque la dirección será diferente cada vez. En general, las aplicaciones deben compilarse con soporte ASLR, pero esto se está convirtiendo en el predeterminado, e incluso es necesario en Android 5.0 y versiones posteriores.

¿ASLR todavía lo protege?

El martes pasado, investigadores de SUNY Binghamton y la Universidad de California, Riverside, presentó un documento llamado Jump Over ASLR: atacando a los pronosticadores de rama para eludir ASLR. El documento detalla una forma de atacar el búfer de destino de bifurcación (BTB). El BTB es parte del procesador que acelera las declaraciones si predice el resultado. Usando el método de los autores, es posible determinar ubicaciones de instrucciones de bifurcación conocidas en un programa en ejecución. El ataque en cuestión se realizó en una máquina Linux con un procesador Intel Haswell (lanzado por primera vez en 2013), pero probablemente podría aplicarse a cualquier sistema operativo y procesador modernos.

Dicho eso, no necesariamente debes desesperarte. El documento ofrece algunas formas en que los desarrolladores de hardware y sistemas operativos pueden mitigar esta amenaza. Las nuevas técnicas ASLR de grano fino requerirían más esfuerzo del atacante, y el aumento de la entropía (aleatoriedad) puede hacer que el ataque Jump Over sea inviable. Lo más probable es que los sistemas operativos y procesadores más nuevos sean inmunes a este ataque.

Entonces, ¿qué queda por usted para hacer? La derivación Jump Over es nueva y aún no se ha detectado en la naturaleza. Cuando los atacantes lo explotan, la falla aumentará el daño potencial que un atacante puede causar en su dispositivo. Este nivel de acceso no es sin precedentes; Microsoft y Apple solo implementaron ASLR en sus sistemas operativos lanzados en 2007 y posteriores. Incluso si este estilo de ataque se convierte en algo común, no estará peor que en los días de Windows XP.

Tenga en cuenta que los atacantes aún tienen que obtener su código en su dispositivo para causar algún daño. Este defecto no les proporciona ninguna forma adicional de infectarlo. Como siempre, debe seguir las mejores prácticas de seguridad. Use antivirus, manténgase alejado de sitios web y programas incompletos, y mantenga su software actualizado. Si sigue estos pasos y mantiene a los actores maliciosos fuera de su computadora, estará más seguro que nunca.

Crédito de la imagen: Steve / Flickr


Cómo posponer o responder a notificaciones desde la pantalla de bloqueo del iPhone

Cómo posponer o responder a notificaciones desde la pantalla de bloqueo del iPhone

Cuando recibe una notificación en el iPhone -digamos, por un mensaje de texto- no tiene que desbloquear su teléfono para responder a eso En realidad, puede responder a todo tipo de notificaciones desde la pantalla de bloqueo, no es necesario desbloquear. No solo puede responder mensajes de texto, sino que también puede responder a recordatorios, eventos, mensajes de Facebook y más.

(how-to)

¿Es posible tener múltiples conexiones SSH en el mismo sistema?

¿Es posible tener múltiples conexiones SSH en el mismo sistema?

Cuando está configurando un servidor personal por primera vez, puede encontrarse con bastantes preguntas sobre qué es, o no es capaz de hacer. Con esto en mente, la publicación SuperUser Q & A de hoy tiene respuestas para una pregunta curiosa del lector. La sesión de preguntas y respuestas de hoy nos llega por cortesía de SuperUser, una subdivisión de Stack Exchange, una agrupación de sitios de preguntas y respuestas.

(how-to)