Tabla de contenido:
- Un nuevo giro a un viejo enfoque
- Detección de anomalías
- Contención de malware
- Resultados de la prueba
- Beneficios de PREC
- El reto
Los mercados de aplicaciones de Android son una forma conveniente para que los usuarios obtengan aplicaciones. Los mercados también son una forma conveniente para que los malos entreguen malware. Los propietarios del mercado, para su crédito, intentan detectar aplicaciones malas utilizando medidas de seguridad como Google Bouncer. Lamentablemente, la mayoría, incluido Bouncer, no están a la altura. Los malos casi inmediatamente descubrieron cómo saber cuándo Bouncer, un entorno de emulación, estaba probando su código. En una entrevista anterior, Jon Oberheide, cofundador de Duo Security y la persona que notificó el problema a Google, explicó:
"Para que Bouncer sea efectivo, debe ser indistinguible del dispositivo móvil de un usuario real. De lo contrario, una aplicación maliciosa podrá determinar que se está ejecutando con Bouncer y no ejecutar su carga maliciosa".
Otra forma en que los malos engañan a Bouncer es usando una bomba lógica. A lo largo de su historia, las bombas lógicas han causado estragos en los dispositivos informáticos. En este caso, el código de la bomba lógica frustra silenciosamente los verificadores de malware, al igual que Bouncer no puede activar la carga útil hasta que la aplicación maliciosa se instala en un dispositivo móvil real.
La conclusión es que los mercados de aplicaciones de Android, a menos que se vuelvan eficientes en la detección de cargas de malware en aplicaciones, son, de hecho, un importante sistema de distribución de malware.
Un nuevo giro a un viejo enfoque
El equipo de investigación de la Universidad Estatal de Carolina del Norte de Tsung-Hsuan Ho, Daniel Dean, Xiaohui Gu y William Enck pueden haber encontrado una solución. En su documento PREC: Practical Root Exploit Containment para dispositivos Android, el equipo de investigación presentó su versión de un esquema de detección de anomalías. PREC consta de dos componentes: uno que funciona con el detector de malware de la tienda de aplicaciones y otro que se descarga con la aplicación en el dispositivo móvil.
El componente de la tienda de aplicaciones es único porque emplea lo que los investigadores llaman "monitoreo de llamadas de sistema clasificado". Este enfoque puede identificar dinámicamente las llamadas al sistema de componentes de alto riesgo como las bibliotecas de terceros (las que no están incluidas en el sistema Android, pero que vienen con la aplicación descargada). La lógica aquí es que muchas aplicaciones maliciosas usan sus propias bibliotecas.
Las llamadas del sistema desde el código de terceros de alto riesgo obtenido de este monitoreo, más los datos obtenidos del proceso de detección de la tienda de aplicaciones, le permiten al PREC crear un modelo de comportamiento normal. El modelo se carga en el servicio PREC, en comparación con los modelos existentes por su precisión, sobrecarga y robustez para imitar los ataques.
El modelo actualizado estará listo para descargarse con la aplicación cada vez que alguien lo solicite cuando visite la tienda de aplicaciones.
Esa se considera la fase de monitoreo. Una vez que el modelo y la aplicación PREC se descargan en el dispositivo Android, el PREC entra en la etapa de aplicación, en otras palabras, detección de anomalías y contención de malware.
Detección de anomalías
Una vez que la aplicación y el modelo PREC están instalados en el dispositivo Android, PREC monitorea el código de terceros, específicamente las llamadas del sistema. Si la secuencia de llamadas al sistema es diferente de la monitoreada en la tienda de aplicaciones, PREC determina la probabilidad de que el comportamiento anormal sea una explotación. Una vez que PREC determina que la actividad es maliciosa, pasa al modo de contención de malware.Contención de malware
Si se entiende correctamente, la contención de malware hace que PREC sea único cuando se trata de antimalware de Android. Debido a la naturaleza del sistema operativo Android, las aplicaciones antimalware de Android no pueden eliminar el malware o ponerlo en cuarentena porque cada aplicación reside en un entorno limitado. Esto significa que el usuario debe eliminar manualmente la aplicación maliciosa ubicando primero el malware en la sección Aplicación del Administrador del sistema del dispositivo, luego abriendo la página de estadísticas de la aplicación de malware y tocando "desinstalar".
Lo que hace que PREC sea único es lo que los investigadores llaman un "mecanismo de contención de grano fino basado en la demora". La idea general es ralentizar las llamadas sospechosas del sistema utilizando un grupo de subprocesos separados. Esto obliga al exploit a agotar el tiempo de espera, lo que da como resultado un estado de "Aplicación que no responde" en el que el sistema operativo Android finalmente cierra la aplicación.
PREC podría programarse para eliminar los hilos de llamada del sistema, pero podría interrumpir las operaciones normales de la aplicación si el detector de anomalías comete un error. En lugar de arriesgarse, los investigadores insertan un retraso durante la ejecución del hilo.
"Nuestros experimentos muestran que la mayoría de las vulnerabilidades de root se vuelven ineficaces después de que ralentizamos el hilo nativo malicioso hasta cierto punto. El enfoque basado en la demora puede manejar las falsas alarmas con más gracia ya que la aplicación benigna no sufrirá fallas o terminaciones debido a fallas transitorias. alarmas ", explica el periódico.
Resultados de la prueba
Para evaluar PREC, los investigadores construyeron un prototipo y lo probaron en 140 aplicaciones (80 con código nativo y 60 sin código nativo), más 10 aplicaciones (cuatro aplicaciones conocidas de explotación de raíz del proyecto Malware Genome y seis aplicaciones de explotación de raíz reempaquetadas) que contenía malware. El malware incluía versiones de DroidDream, DroidKungFu, GingerMaster, RATC, ZimperLich y GingerBreak.
Los resultados:
- PREC detectó y detuvo con éxito todos los exploits raíz probados.
- Levantó cero falsas alarmas en las aplicaciones benignas sin código nativo. (Los esquemas tradicionales generan 67-92% de falsas alarmas por aplicación).
- PREC redujo la tasa de falsas alarmas en las aplicaciones benignas con código nativo en más de un orden de magnitud sobre los algoritmos tradicionales de detección de anomalías
Beneficios de PREC
Además de tener un buen desempeño en las pruebas y reenviar un método viable para contener el malware de Android, PREC tuvo cifras decididamente mejores cuando se trataba de falsos positivos y pérdida de rendimiento. En cuanto al rendimiento, el documento declaró que el "esquema de monitoreo clasificado del PREC impone menos del 1% de sobrecarga, y el algoritmo de detección de anomalías SOM impone hasta el 2% de sobrecarga. En general, el PREC es liviano, lo que lo hace práctico para dispositivos de teléfonos inteligentes".
Los sistemas actuales de detección de malware utilizados por las tiendas de aplicaciones son ineficaces. PREC proporciona un alto grado de precisión de detección, un bajo porcentaje de falsas alarmas y contención de malware, algo que actualmente no existe.
El reto
La clave para que PREC funcione es la aceptación de los mercados de aplicaciones. Solo se trata de crear una base de datos que describa cómo funciona normalmente una aplicación. PREC es una herramienta que se puede utilizar para lograr eso. Luego, cuando un usuario descarga una aplicación deseada, la información de rendimiento (perfil PREC) va con la aplicación y se utilizará para establecer el comportamiento de la aplicación mientras está instalada en el dispositivo Android.