Sobre Sandboxing y otras nimiedades…

Marvin G. Soto
6 min readJan 16, 2021

--

Imagen tomada de Internet

El término Sandbox o Sandboxing, tal y como indica su nombre, se refiere a un “cajón de arena” o a un entorno controlado.

Para crear un símil de la vida diaria, pues todos conocemos esos cajones de arena donde los padres dejan que sus hijos jueguen con sus juguetes o esos donde les proveemos un espacio a los gatos para sus cosas. Son lugares seguros donde la arena protege de golpes y donde pueden divertirse aislados de los peligros del exterior en el caso de los pequeños y donde sin contaminar por allí nuestros felinos hacen sus travesuras.

Basándose en este concepto, los expertos en ciberseguridad pensaron que una buena forma de proteger las máquinas de los virus, malware o artefactos en análisis, era aislarlos en una «caja de arena«. En fondo; se refieren a aislar el programa malicioso o el elemento infectado con algún malware o virus informático del resto del sistema para que no se extienda o quede contenido en ese espacio aislado.

Las cajas de arena o sandbox, vistas en este contexto, proporcionan ambientes ideales y aislados para contener, controlar, diseccionar o analizar tipos de malware, sin darle a ese malware la oportunidad de propagarse.

Un analista de seguridad, basándose en el comportamiento observado, puede clasificar las muestras como inofensivas, maliciosas, estableciendo toda la “cadena cibernética de la muerte” o “Cyber Kill Chain” del artefacto en estudio.

De paso, el concepto “Cyber Kill Chain” fue acuñado por analistas de Lockheed Martin Corporation, quienes en el año 2011 publicaron un artículo donde explicaban lo que llamaban “Intrusion Kill Chain”, con la intención de ayudar a la toma de decisiones para detectar y responder a los posibles ataques o intrusiones a los que se encuentra expuesto cualquier sistema.

Imagen tomada del articulo citado de Lockheed Martin Corporation

La cadena definida en el informe citado, es lo que ha venido a llamarse “Cyber Kill Chain” dentro del mundo de la ciberseguridad.

Volviendo a nuestro tema central, el ecosistema en que las muestras se permiten correr se conocen como arenboxes y el entorno aislado donde se ejecuta se denomina Sandboxing.

En síntesis, deducimos entonces que el Sandboxing es una estrategia de gestión de software que aísla las aplicaciones de recursos del sistema crítico y otros programas, ayudando a reducir el impacto que cualquier programa, aplicación o artefacto individual de riesgo contenido o analizado en nuestro sistema.

En la práctica, es un entorno físico o virtual utilizado para abrir archivos o ejecutar programas sin la posibilidad de que ninguna muestra interfiera con nuestro monitoreo o afecte permanentemente el dispositivo en el que están funcionando.

El Sandboxing tiene como fin, probar código o aplicaciones que podrían ser maliciosas antes de que lleguen (seguridad ofensiva) o cuando hayan llegado a dispositivos críticos (análisis forense digital).

En muchos casos, se permitirá que el código funcione y que un algoritmo de aprendizaje automático (ML) u otro tipo de Inteligencia Artificial (AI) pueda ser empleado para clasificar la muestra y anticipar una determinación o bloqueo en fase temprana, en la cibercadena de la muerte.

Imagen tomada de Internet

A medida que los Sandbox desarrollan sofisticación, inteligencia y evolucionan para derrotar las técnicas de evasión, observamos múltiples cepas de malware que cambian dramáticamente sus tácticas y técnicas para disuadirlos y afectar el entorno virtual o real objetivo.

Las técnicas de evasión analizadas en el Sandboxing nos proporcionan, tanto a desarrolladores, como a investigadores; una comprensión más profunda sobre cómo detectar el malware que lo evadió.

Algunas técnicas y principios para detectar malware que ha evadido el Sandbox son:

Implementar aprendizaje automático: El análisis de malware basado en algoritmos de aprendizaje automático puede detectar efectivamente técnicas de evasión antes de que se ejecute el malware. Los algoritmos de aprendizaje automático pueden analizar cada acto de inactividad de malware o sueño como señal de una técnica de evasión. Además, puede recoger millones de otras señales que colectivamente pueden ayudar a correlacionar patrones de comportamiento para detectar código malicioso.

Cambiar dinámicamente el ciclo de sueño o hibernación: Mientras que un Sandbox suele analizar el malware durante segundos, la ampliación del tiempo de análisis aumenta significativamente las posibilidades de detectar dicho malware; sin embargo, este método podria ser ineficaz, ya que requiere más tiempo, no se sabe cuánto en particular. Una técnica más audaz, es hacer que el Sandbox cambie dinámicamente su tiempo de análisis, para engañar al malware y estimular su ejecución.

Realizar análisis estático y dinámico: Las tecnologías de Sandboxing, permite el análisis dinámico de malware, ya que examina su comportamiento vivo o en ejecución en un entorno seguro. Es decir; si el malware que evadió el Sandbox no realiza ninguna acción, se puede someter a un análisis completo de código estático. El análisis estático nos ayudara a comprobar el archivo en términos de técnicas de evasión o piezas de código codificadas.

Imagen tomada de Internet

Simular interacciones humanas: El ambiente del Sandbox no simulan interacciones por defecto, pero puede añadir algunas interacciones similares al usuario para analizar mejor el malware. No obstante; debemos considerar la variable de que el malware moderno, con mayor inteligencia; puede ser lo suficientemente inteligente para detectar clics o movimientos falsos del ratón.

Añadir artefactos ambientales y hardware real: Recuperar información de hardware en el Sandbox nos ayudará a detectar malware que verifica el tamaño del disco duro, los archivos recientes, el número de CPU, la versión del sistema operativo, el volumen de memoria y otras características del sistema y el hardware en que se ejecuta. Debemo tener presente la capacidad polimórfica de estos artefactos malignos.

Análisis de huella digital: La tecnología de huella digital permite analizar un archivo de malware y encontrar los indicadores de código malicioso. La huella digital también puede usarse para detectar las características de evasión del malware.

Análisis basado en el comportamiento: El análisis basado en comportamiento ofrece características diseñadas para detectar y combatir las técnicas de evasión. Durante este análisis, el Sandbox interactúa con el propio malware para encontrar posibles vías de ejecución. Además, emula interacciones de procesos para parecer un ordenador anfitrión. Una vez que se detecta una técnica de evasión, el Sandbox contrarresta su código malicioso.

Personalizar nuestra Sandboxing: Al añadir otras características innovadoras para la detección de malware, usted puede mejorar significativamente su efectividad para detectar malware. Usar una matriz multi-sandbox de distintos entornos y análisis iterativo, verificar las comunicaciones del malware más allá del sistema API, añadir al Sandbox la característica de buscar y verificar rastros de código malicioso en tiempo de ejecución, entre otras son algunas de esas características.

Análisis del núcleo o Kernel: La mayoría de las soluciones de Sandboxing operan en modo usuario, algunos tipos de malware están diseñados para inyectar código malicioso en el espacio del núcleo (rootkits o drivers) y así escapar del SandBox. Un análisis de las primeras versiones del malware Turla, cargaron y explotaron un driver de VirtualBox vulnerable y controles incapaces de validar la carga de drivers solo firmados. Al añadir el análisis del núcleo, podemos blindar el núcleo y evitar que el malware se mueva a ese espacio del sistema.

El Sandboxing a pesar de su desarrollo continuo, ha sido y sin duda sera una tecnica o principio muy valioso en la lucha contra todo tipo de adversarios y para la proteccion de nuestras infraestructuras.

--

--

Marvin G. Soto
Marvin G. Soto

Written by Marvin G. Soto

Pensador, innovador, luchador, enamorado de su profesión, apasionado por las letras… de dificil renunciar y lejano a rendirse…

No responses yet