1 2 3 4 5 6

La mayoría del malware en Java explota vulnerabilidades "type confusion"

SC Magazine 27-Jul-2012

Un investigador de seguridad recorrió algunos de los métodos usados por el malware Flashback para identificar los distintos tipos de vulnerabilidades de Java que los desarrolladores suelen explotar.

El malware Java se enfoca en cierto tipo de vulnerabilidades, el más común es el de la clase “type confusion”, dijo Jeong Wook (Matt) Oh, investigador de Microsoft, a los asistentes al ciclo de la conferencia Black Hat del jueves en Las Vegas.
 
Type Confusion, o "confusión de tipo" se refiere a engañar a una aplicación Java para tratar a un objeto como algo que no es. Otras categorías comunes de vulnerabilidades Java incluyen errores de lógica, corrupción de memoria o inyección de argumentos, dijo Oh.
 
Type Safety, o el mecanismo de verificación que se encarga de la seguridad al revisar que la manera de tratar a los tipos de dato sea la correcta, es el elemento principal de la seguridad en Java, dijo Oh. Si la verificación de seguridad falla por cualquier razón, provoca un problema de Type Confusion. Oh lo compara con el robo de identidad del mundo real.
 
“Si una persona puede robar la identidad de otra, esto puede provocar que esa persona sea explotada junto con los recursos a los que tiene acceso”, señaló.
 
Type Confusion es un problema bien conocido y uno de los más grandes grupos de vulnerabilidades que se explota en Java, es uno de los exploits que con más frecuencia afectan a las organizaciones. El malware Flashback que provocó estragos a principios de la primavera a cientos de miles de computadoras Mac explotó una vulnerabilidad type confusion con un elemento “AtomicReferenceArray”.
 
“Esta vulnerabilidad es actualmente el vector número uno en exploits drive-by”, dijo Oh a su audiencia.
 
El malware Java es muy portable, pues la tecnología es multiplataforma, lo que permite a todas las aplicaciones, incluso a las maliciosas, ejecutarse automáticamente en muchos sistemas operativos. Considerando que Oracle se jacta de que más de 11 mil millones de equipos ejecutan el software, desarrollar malware Java tiene mucho sentido desde el punto de vista de un creador, dijo Oh.
 
Hay maneras de analizar código Java para determinar si es malicioso, y Oh muestra algunas herramientas en su presentación. Desensambladores como IDA se usan para mostrar instrucciones a nivel de bytecode y tablas constantes cuando el binario ha sido manipulado y no puede ser decompilado, señala Oh. Si no se puede decompilar, los decompiladores como JD-GUI y JAD son buenas herramientas para generar código fuente de binarios Java. Depuradores como Eclipse y Netbeans se pueden usar para analizar el código fuente y averiguar qué hace exactamente cada línea de código.
 
Sin embargo, el malware Java se ofusca comunmente, un método con el que el código se hace difícil de decompilar. Herramientas de instrumentación, como BCEL y ACM son útiles, porque permiten a los investigadores identificar el código en lugar de tratar de analizar código ofuscado.
 
Fuente: SC Magazine MA

Universidad Nacional Autonoma de México Aviso legal |  Créditos |  Staff |  Administración
Copyright © Todos los derechos reservados
UNAM - CERT