ring z3ro labs
>
Artificial Intelligence

El poder de la canalización — Parte 1

David Julián
,
CEO de Alpine Security
__wf_reserved_heredar

Introducción:

Lanzamos una serie de blogs que explorarán el mundo de la ciberseguridad y la informática forense. Este primer capítulo profundizará en la estrategia de «canalización» en la informática forense, una técnica clave para resolver problemas específicos que afectan a grandes cantidades de datos que se van a analizar.

Las organizaciones se enfrentan a desafíos cada vez más complejos en un mundo en el que las amenazas digitales avanzan rápidamente. En este artículo, abordaremos un interesante caso práctico de canalización que revela cómo la tecnología y la experiencia humana se combinan para proteger a las organizaciones.

En esa serie de publicaciones, profundizaremos en el problema crítico al que se enfrentan las organizaciones cuando se trata de comprometer datos y posibles robos. Se pueden considerar varias estrategias para abordar este preocupante problema.

  • Identifique el tipo de datos comprometidos:

Es fundamental saber qué tipos de datos tiene o pueden haber sido comprometidos o incluso filtrados. Definiremos formas de entender los diferentes conjuntos de datos y definiremos estrategias de análisis para cada tipo de datos y de acuerdo con su cantidad.

  • Elimine la carga de trabajo al reducir los elementos conocidos:

Al validar el tipo de archivos conocidos, podemos reducir el tiempo, el esfuerzo y la carga de trabajo. Esta estrategia se puede combinar con algunas de las que se describen a continuación.

  • Identifique y detecte el malware oculto en los datos:

Las operaciones empresariales deben empezar a utilizar sus archivos y datos lo antes posible, por lo que es fundamental diferenciar los archivos limpios de los que pueden contener malware.

  • Indexación y aprovisionamiento de información de contenido de datos:

Métodos para comprender el contenido y el tipo de datos comprometidos, mediante la ejecución de procesos para detectar un tipo específico de información dentro de los datos comprometidos como PII (información de identificación personal).

Se detectó un problema cuando aún no se ha confirmado la exfiltración de los repositorios de datos:

El tiempo es fundamental durante la fase de respuesta al incidente, en la que la prioridad es la contención y evitar la propagación o la persistencia de la amenaza, así como identificar el posible alcance del compromiso en relación con la información contenida en el repositorio.

Las normas reguladoras y las posibles multas en caso de que la información de datos personales haya sido expuesta o extraída también son motivo de gran preocupación, por lo que el objetivo no es solo certificar que los datos están libres de amenazas, sino identificar la posible exposición de la empresa en caso de que alguno de los datos se vea comprometido.

El poder de la canalización:

El concepto de»Canalización» en informática forense surge como una estrategia muy valiosa para cubrir grandes cantidades de datos e identificar la posible afectación del incidente oculto en algunos de los archivos o las amenazas en toda la información afectada.

Los equipos de seguridad no pueden simplemente revisar y evaluar cada uno de los archivos de grandes repositorios, ya que la tarea tardará una eternidad.

¿Qué es exactamente la canalización y cómo ayuda en esas situaciones?

En términos sencillos, la canalización es una estrategia forense que se utiliza para clasificar de forma granular un enorme conjunto de datos a fin de definir diferentes estrategias en función de las necesidades u objetivos que necesitamos alcanzar. ¿De qué tipo de objetivos estamos hablando?

  • Clasificación de datos
  • Validación de limpieza de datos
  • Indexación de datos

La canalización es la clave en estas situaciones, ya que permite a los equipos de seguridad diferenciar más rápidamente los datos limpios de los que podrían estar comprometidos, identificar el tipo de datos involucrados en el incidente, el contenido de los datos y, lo que es más importante, acelera el retorno de las operaciones comerciales, ya que pueden liberar los repositorios de datos una vez que se demuestra que son seguros.

Canalización: desglose de las metodologías

La canalización cubre dos objetivos principales a alcanzar:

  • Identifique las posibles amenazas ocultas en los archivos comprometidos.
  • Identifique la naturaleza exacta del contenido de los archivos comprometidos, de modo que las empresas puedan tomar medidas en función de los riesgos identificados.

Canalización de malware.

La canalización para la identificación del malware se basa en tres fases principales:

  • Fase automática: En esta etapa inicial, se aplican herramientas automáticas para filtrar muchos archivos en busca de amenazas conocidas. Esto incluye la búsqueda de hashes conocidos, el análisis en busca de antivirus y la aplicación de reglas de detección.
  • Fase semiautomática: Con la reducción del número de archivos, comenzamos una fase semiautomática, en la que se utilizan herramientas que requieren una revisión más detallada. Esto incluye el análisis cronológico, la comprobación de la entropía y la búsqueda de indicadores de compromiso más sutiles.
  • Fase manual: Finalmente, en esta fase, los archivos se reducen a un número manejable y se aplican técnicas de análisis individuales. Se utilizan servicios como VirusTotal, el análisis en entornos aislados y las investigaciones exhaustivas del tráfico de red.

Canalización para el análisis de datos comprometidos.

En este caso, actuaremos también en las fases principales:

  • Índice de contenido automático: En esta etapa inicial, el análisis automático del contenido basado en la indexación del contenido y el uso de herramientas escaneadas y de reconocimiento de imágenes se aplican a los documentos identificados. Previamente, se debe llevar a cabo un proceso para clasificar e identificar los documentos reales que contienen información: archivos PDF, archivos de Office, archivos de texto, etc. Un proceso automático para extraer e indexar el contenido de los archivos se lleva a cabo mediante el uso de motores de búsqueda, herramientas de ocr, etc.
  • fase de descubrimiento electrónico: Una vez que los datos están indexados y organizados, se debe realizar una búsqueda específica de patrones de datos basada en herramientas de descubrimiento electrónico para revisar la documentación que contiene esos patrones a fin de evaluar el valor o el riesgo de la información.
  • Fase manual: Finalmente, en esta fase, una vez que se generan los archivos identificados que contienen los datos de patrones utilizados en la búsqueda de contenido, se requiere un proceso manual de evaluación para evaluar el riesgo. Normalmente, esta no es una tarea técnica, sino que depende del negocio.

Funda ACME

LLEGÓ, una empresa líder en su sector, se enfrenta a un incidente de ciberseguridad. Se sospecha que un conjunto de repositorios de datos compartidos por servidores comprometidos ocultan archivos de malware, forman parte de la siguiente fase del ataque o pueden haber sido filtrados.

Este es un ejemplo de una situación común en la actualidad, en la que el presunto acceso inicial proviene de un correo electrónico de suplantación de identidad de un proveedor de confianza, que permitió el ataque a través de un correo electrónico falso del Departamento de Recursos Humanos en el que se solicitaba a los trabajadores que autoevaluaran un documento adjunto malintencionado.

La apertura y ejecución del archivo adjunto por parte de uno de los empleados con acceso de escritura a los repositorios generó un conjunto de alertas en varios sistemas compatibles con varios TTP para el despliegue de malware y el acceso y la exfiltración de datos.

¿Cuál era el desafío?

En este momento, ACME busca la asistencia y los servicios de Alpine Security con el objetivo claro de centrarse en:

  • Certificar la naturaleza del incidente (despliegue de malware o robo de datos)
  • Determinar la exposición en caso de una violación de datos exitosa.
  • Si los datos se han visto comprometidos, especifique el tipo de datos (financieros, de propiedad intelectual, personales u otros) que se han visto afectados.
  • Cómo tratar con la agencia de protección de datos en función del tipo de información afectada.

Clasificación de datos

La estrategia de canalización pasó a ser estratégica para LLEGÓ recuperar las operaciones comerciales. Con el fin de facilitar el acceso a los repositorios de datos afectados, priorizando los diferentes repositorios, desde los más críticos hasta los menos necesarios, de modo que los esfuerzos se centren en las necesidades reales reales de la empresa.

Se deben aplicar los dos tipos de procesos de canalización: primero el proceso de canalización de malware y realizar el proceso de descubrimiento electrónico una vez que se demuestre que los datos son claros.

Una de las herramientas más eficaces del proceso es el uso del programa personalizado denominado «funify.py» desarrollado por SEGURIDAD ALPINA LABORATORIOS equipo que se encarga de clasificar los diferentes tipos de archivos presentes en el repositorio de datos, mientras realiza una segregación de categorías según el tipo de archivo y las extensiones, para realizar un análisis más específico en paralelo de diferentes maneras.

¿Qué hace «funify.py»?

La herramienta «funify.py» (https://github.com/alpine-sec/funify) es una utilidad de línea de comandos en Python, diseñada para analizar y clasificar los archivos presentes en un repositorio de datos en una fuente de datos digital. Su función principal es identificar las extensiones de archivo y agruparlas en categorías predefinidas según su tipo.

Como en cualquier script, «funify.py» viene con un menú de ayuda:

Modo de ejecución:

uso: funify.py [-h] [-V] -f FileUtilidad para crear un resumen de las extensiones de archivoOpciones: -h, --help mostrar este mensaje de ayuda y salir -V, --version mostrar el número de versión del programa y salir -f FILE, --file FILE Ruta al archivo Excel (.xlsx) o CSV (.csv)

Ejemplo:

python3.11.exe funify.py -f. \ comp001-fstl.csv

Para proporcionar la lista de archivos que se van a analizar en el repositorio de datos como parámetro, primero generaremos la lista específica de archivos y la ruta completa mediante otra herramienta, la herramienta «mftmactime.py» (https://github.com/kero99/mftmactime), creado también por uno Seguridad alpina miembro del equipo.

Mftmactime generará un archivo csv de salida que contiene toda la jerarquía de archivos y las rutas identificadas en el repositorio de datos.

A continuación, Funify.py leerá cada línea proporcionada en el archivo csv de entrada y examinará todas las rutas de los archivos y extraerá la extensión de cada archivo.

A medida que procesa los archivos, cuenta cuántas veces aparece cada extensión para que más adelante el equipo pueda definir diferentes estrategias de análisis en función del perfil de contenido exacto encontrado en esta etapa inicial.

def read_file (file_path): con open (file_path, 'r', encoding='utf-8') como archivo: lines = [line.rstrip () para línea en file.readlines ()] devuelve linesdef count_extensions (file_paths): extensions_counter = Counter () para file_path en file_paths: si «(eliminado)» no está en file_path y «, d/d» no está en file_path: _, extension = os.path.splitext (file_path) extensions_counter [extension] += 1 return extensions_counter

Nuestra herramienta proporcionará un informe organizado de las extensiones en categorías predefinidas, como «Oficina», «Documento», «Archivo», «Imagen», «Vídeo», «Base de datos», «Audio», «Máquina», «Correo electrónico», «Binarios» e «Instaladores».

print («==========================») print (» FUNIFY «) print («==============================») print () category_list = {«Oficina»: ['.doc', '.dot', '.wbk', '.docx', '.docm', '.dotx', '.docb', '.pdf', '.wll', '.wwl', '.xls', '.xlsx', '.xlsm', '.xltx', '.xltm', '.xlsb', '.xla', '.xlam', '.xll', '.xlw', '.ppt', '.pptx', '.pptm', '.potx', '.potm', '.ppam', '.pps', '.ppsx', '.ppsm', '.sldx', '.sldm', '.pa', '.accda', '.accdb', '.accde', '.accdt', '.accdr', '.accdu', '.mda', '.mde', '.one', '.ecf', '.pub', '.xps'], «Documento»: ['.csv', '.odf', '.odt', '.rtf', '. txt', '.wpd', '.wpg', '.wps', '.wri', '.xml', '.n43'], «Archivo»: ['.7z', '.7zip', '.arj', '.bz', '.bz2', '.gz', '.gzip', '.rar', '.rr' zip ',' .tar ',' .taz ',' .tgz ',' .tib ',' .zip ',' .xz '], «Imagen»: [' .bmp ',' .gif ',' .jpeg ',' .jpg ',' .png ',' .tiff '], «Vídeo»: [' .asf ',' .avi ',' .mov ',' .mp4 ',' .mpeg ',' .mpg ',' .wmv '], «Base de datos»: [' .accdb ',' .dbx ',' .mdb '], «Audio»: [' .mp3 ',' .flac ',' .wma '], «Máquina»: [' .vmdk ',' .ova '], «Correo electrónico»: [' .cal ',' .dbx ',' .edb ',' .eml ',' .emlx ',' .mbox ',' .msf ',' .msg ',' .nsf ',' .pst ',' .snm ',' .vcard ',' .vcf ',' .wab ',' .ost '] , «Binarios»: ['.exe', '.dll', '.bin', '.bat', '.cmd', '.com', '.cpl', '.gadget', '.inf1', '.ins', '.inx', '.isu', '.job', '.jse', '.lnk', '.msc', 'f', '.ps1', '.reg', '.rgs', '.scr', '.sct', '.shb', '.shs', '.u3p', '.vb', '.vbs', '.vbscript', '.ws', '.wsf', '.wsh', 'cab'], «Instaladores»: ['.msi', '.msp', '.mst', '.paf']}

Por último, funify.py proporcionará el recuento de archivos para cada extensión y categoría, lo que le permitirá comprender mejor la composición de los datos y centrarse en áreas específicas de interés durante la investigación forense.

def extract_extensions (extensions_counter): filtered_extensions_counter = Counter () other_extensions_counter = Counter () para extensión, cuente en extensions_counter.items (): si extension count ('.') > 1: last_dot = extension ('.') last_extension = extension [last_dot:] filtered_extensions_counter [last_extension] += count elicount f len (extension) > 5 y extension.count ('.') == 1: other_extensions_counter [extension] += count else: last_dot = extension rfind ('.') si es last_dot! = -1: last_extension = extension [last_dot:] filtered_extensions_counter [last_extension] += count else: filtered_extensions_counter [extension] += count return filtered_extensions_counter, other_extensions_counter

Los resultados se pintarán por pantalla teniendo en cuenta el total de archivos por categorías y por cada una de las extensiones.

para categoría, extensiones en category_list.items (): if all (filtered_extensions.get (extension, 0) == 0 para extensión en extensiones): print (f"+ {category} Extensions: 0") #print (» Files: 0") else: print (f"+ {category} Extensions:») para extensiones en extensiones: count = filtered_extensions.get (extension, 0) if count > 0: print (f» + {extension}: Archivos: {count}») print ()

Importancia en la canalización:

En el contexto de la canalización de malware, «funify.py» desempeña un papel crucial en la fase inicial del filtrado automático. Ayuda a identificar rápidamente las extensiones de archivo presentes en la fuente de datos, lo que permite LLEGÓ que el equipo de investigación centre sus esfuerzos en las categorías de archivos más relevantes para la investigación.

Esto acelera significativamente el proceso de reducción de datos y la identificación de posibles amenazas, además de permitir la capacidad o la realización de los procesos de descubrimiento electrónico una vez que se identifican los documentos reales con contenido.

Como resultado, obtenemos una muestra del alcance de la estrategia de canalización con el número total de archivos existentes en la evidencia categorizados por tipo de extensión:

Con una visión clara de la cantidad de archivos que se analizarán y las áreas clave identificadas, nuestra atención se centrará en descomprimir los archivos comprimidos, explorar los archivos adjuntos de correo electrónico y profundizar en los detalles de los archivos relevantes.

Este es solo el principio de nuestra estrategia de canalización. La historia continuará...

compartir este post

__wf_reserved_heredar
David Julián
CEO de Alpine Security