¡Vd. usa un navegador obsoleto!

Es posible que la página no se visualice correctamente.

Persona (non) grata

Persona (non) grata

Otras ediciones de este tema (35)
  • añadir a favoritos
    Añadir a marcadores

Protección contra exploits invisible

Consultas: 1537 Comentarios: 2 Ranking: 41

viernes, 3 de marzo de 2017

Para causar daño, los creadores de virus no solamente crean un virus (un troyano, adware etc.) – también deben realizar algunas manipulaciones en el equipo atacado.

Un programa implementado por los malintencionados no siempre debe ser nocivo. Por ejemplo, para robar dinero a una empresa, basta con implementar un espía de teclado – un programa legal destinado para registrar las acciones del personal determinado, o un programa de administración remota, también legal, normalmente usado por los administradores de sistemas. Hay programas legales para bloquear pantalla, cifrar (además, es un servicio del sistema operativo), mining (obtener bitcoins) y muchas cosas más.

Pero ¿qué puede hacer un malintencionado si en el sistema atacado está prohibido instalar nuevo software? Resulta que se puede resolverlo. Los malintencionados pueden usar programación orientada a resultados (return oriented programming, ROP).

Este método consiste en que el atacante no necesita implementar ningún software nocivo – el sistema atacado ya tiene todo lo necesario. El malintencionado solamente debe saber que hay unos extractos del código determinados en el programa atacado o en la biblioteca usada por el mismo – y organizar la ejecución consecutiva de la ejecución de estos extractos del código.

La programación orientada a resultados es una versión mejorada del ataque de desbordamiento del búfer. Para este ataque se usa una vulnerabilidad en el programa atacado, cuando alguna función del programa no comprueba los datos guardados correctamente en el mismo. Como resultado, el atacante puede transferir más datos que espera el programa que al guardar solaparán las áreas de datos fuera del búfer seleccionado. Como resultado, el atacante puede volver a guardar la dirección del resultado de alguna función, y en un momento determinado se ejecutará el código guardado por el malintencionado en el programa.

Este tipo de ataques se conoce hace mucho, y hoy día los sistemas operativos ya pueden protegerse de los mismos. Por ejemplo, se puede prohibir la ejecución del código de las áreas del programa donde solo los datos pueden ser guardados.

Poca gente lo sabes, pero esta restricción afecta el funcionamiento de los antivirus porque los mismos contienen bases de virus. Los primeros virus eran sólidos – en el mismo archivo el programa contenía tanto el antivirus como las firmas para detectar virus. Pero no es cómodo porque hay que actualizar las bases – son bastante grandes, y es incómodo descargar cada vez todas las bases completas. Por lo tanto, ahora las bases de virus están en archivos separados y se descargan en el área de los datos del programa al iniciar el antivirus. Y como las bases contienen no solo firmas, sino también el código ejecutable, para esquivar las restricciones de sistemas operativos, hay que hacer un esfuerzo.

La prevención de la ejecución del código ubicado en el área de los datos no permite atacar usando el método de desbordamiento del búfer. Pero ¿por qué ubicar el código si el mismo ya está en el programa o en las bibliotecas del sistema? El atacante solo debe suplantar las direcciones de resultados de funciones determinadas – y el programa tendrá nueva funcionalidad.

Es más difícil protegerse contra estos ataques. En la programación orientada a resultados las funciones del programa atacante no se usan completamente para el ataque – se usan solo pequeñas consecuencias de instrucciones que terminan con la función de resultado, los así llamados «gadgets». Es más fácil seleccionar estos gadgets si el código necesario para el malintencionado está al final de la función. Por lo tanto, para prevenir ataques, hay que controlar todos los cambios entre las funciones del programa, quitando los sospechosos, así como controlar el «peligro» del código de funciones determinadas, las consultas de este código desde fuera.

Es posible crear este sistema de protección, pero muchos usuarios no pueden hacerlo porque no tienen cualificación necesaria.

#Dr.Web_ShellGuard #ataque_DDoS #seguridad #hackeo #terminología #vulnerabilidad

El mundo de antivirus recomienda

¿Un antivirus, frecuentemente el único medio de protección del usuario, puede proteger contra un ataque similar?

El atacante modifica el programa ya iniciado – las áreas de datos del proceso en la memoria operativa. Por eso el antivirus de archivos puede no notar la amenaza porque no hubo nuevos archivos en el sistema. Solo un control interno de cambios de procesos puede proporcionar seguridad. En lo proporcionan las tecnologías de protección contra exploits Dr.Web ShellGuard (en Dr.Web Security Space 11.0).

[Twitter]

Nos importa su opinión

Para redactar un comentario, debe iniciar sesión para entrar en su cuenta del sitio web Doctor Web. - Si aún no tiene la cuenta, puede crearla.

Comentarios de usuarios