Cuando se habla de malware pensamos en infecciones, en perder archivos, perder conexión a internet o perder dinero, pero no se habla de la manera en la que el malware logra sus objetivos. Las infecciones de malware que se dan a diario no necesariamente se debe a que las computadoras no tienen software de seguridad, sino que los usuarios no están educados en cuanto a los peligros que existen y como se pueden prevenir. Otra de las razones de porque las computadoras se infectan tanto, es porque no contamos con software capacitado para protegernos de ataques comunes como lo es el Buffer Overflow Attack. Traducir éste término al español es un poco difícil, así que explicaré lo que es, cómo surgen y cómo malware utiliza esta vulnerabilidad para atacar a usuarios y sus computadoras.
¿Qué es un buffer?
Al momento de ejecutar un programa, el mismo transfiere información del disco duro de tu computadora a la memoria RAM, esto para que su ejecución y desempeño sea el mejor. Ya estando en la memoria RAM, algunos cómputos, comandos y datos que el programa almacena los almacena allí mismo. Para almacenar estos datos, los programas crean buffers o pequeños espacios en memoria limitados por bytes.
¿Qué es un buffer overflow?
Un buffer overflow ocurre cuando un programa intenta escribir a memoria más información de la que cabe en un buffer que haya creado y sucede por una falla en el código del programa o mejor conocido como un bug.
¿Cómo un buffer overflow representa una amenaza?
Los autores de malware dedican la mayor parte de su tiempo a buscar este tipo de fallas en los programas para intentar explotarlos e inyectar código malicioso a programas legítimos. Por ejemplo, si eres usuario de Windows debes conocer lo que son los Windows updates. Estas actualizaciones son parchos de seguridad o security patches y actualizaciones que ayudan a corregir errores en el sistema operativo para evitar que hackers o malware se aprovechen de vulnerabilidades causadas por estos bugs.
Pero Windows no es el único que sufre de estas vulnerabilidades. Programas como Internet Explorer, Adobe Acrobat Reader, Firefox, Adobe flash y otros son atacados continuamente por malware o hackers que intentan acceder a los datos que exceden el tamaño de un buffer para cambiarlos por código malicioso que se ejecutaría al momento que el programa acceda ese buffer en memoria. Cuando el programa atacado accede el buffer infectado en memoria, el código malicioso remplaza los datos del programa legítimo ejecutándose e infectando la computadora.
Este tipo de ataque se ve a menudo ya que los programas no son perfectos y cientos de autores de malware intentan aprovecharse de vulnerabilidades en estos programas legítimos para infectar computadoras. Esto crea desconfianza en programas legítimos ya que el usuario puede pensar que Internet Explorer o Adobe Flash intenta atacar su computadora. Como he mencionado anteriormente en mi artículo Antivirus; lo que conocemos y lo que no, un programa legítimo no puede convertirse en malware por sí mismo. Para que un programa legítimo intente atacar tu computadora, se requiere de una inyección de código malicioso por un malware o un hacker a un buffer de este programa legítimo.
¿Cómo defendernos contra los buffer overflow attacks?
Los antivirus tradicionales no ofrecen protección contra este tipo de ataque ya que solo escanean los archivos de tu computadora esperando encontrar un perfil en su listado de malware. Para prevenir este tipo de ataques, lo primero que se debe hacer es mantener los programas actualizados. Las compañías de software los actualizan a menudo para corregir errores y prevenir ataques, pero la verdad es que desde que se encuentra un error de estos en un programa hasta que lo corrijan, pueden pasar varios días o semanas. Ya para este entonces los autores de malware se han aprovechado de esta vulnerabilidad para atacar computadoras que no tengan protección contra buffer overflow.
Un módulo de HIPS comúnmente protege contra inyección de código de un programa a otro para evitar que malware inyecte código malicioso a otro programa, pero existe otro mecanismo de prevención que actualmente se encuentra solamente en COMODO Internet Security 4 (www.comodo.com) y es un Memory firewall, que se encarga de monitorear programas en memoria que puedan tener este tipo de vulnerabilidad. COMODO detiene el programa que intenta ejecutar código dentro de un buffer de otro programa para evitar los Buffer Overflow Attacks. Este Memory Firewall es parte de la línea de defensa de prevención en COMODO Internet Security 4.
Los ataques de buffer overflow son un ejemplo de los cientos de ataques y peligros que existen que los antivirus tradicionales no pueden prevenir y la mayoría de las compañías que desarrollan estos antivirus no les dan la importancia que requieren ya que alegan que actualizan sus bases de datos continuamente para mantener a sus usuarios “protegidos”.
No hay comentarios:
Publicar un comentario