Soluciones de protección del puesto de trabajo: importancia de la tecnología endpoint de última generación

Soluciones de protección del puesto de trabajo: importancia de la tecnología endpoint de última generación

En relación con elúltimo artículo dedicado a las amenazas en la era post-covid, vamos a analizar la importancia de disponer de una solución endpoint de última generación la cual utilice técnicas de Inteligencia Artificial y Deep Learning, debido a la evolución incesante de técnicas de ataque cada vez más elaboradas, así como de la necesidad de disponer de una solución EDR, para la realización de análisis forensesremediación manual y Threat Hunting (Búsqueda de amenazas) que sea monitorizada y gestionada por un equipo de respuesta a incidentes.

Inicialmente, a principios de la década de los 80 comenzaron a aparecer los primeros virus, en muchos casos, sencillos programas que eran hasta graciosos en muchos casos, pero que rápidamente evolucionaron hacia comportamientos más peligrosos, sobre todo en la última década, dónde todos conocemos la aparición de los ransomware, expansión masiva mediante la red, redes de máquinas botnet, y un sinfín más de nuevas amenazas que tienden a la robotización de estas y por tanto son cada vez más complejas de abordar por tecnologías que no se basen en idénticas técnicas robotizadas, en nuestro caso, basadas en inteligencia artificial para la detección y protección de amenazas en tiempo real, aunque el análisis humano, lejos de estar obsoleto,  toma una mayor importancia si cabe en este panorama, para poder detectar una aguja digital en un pajar de datos inmenso.

Hasta hace poco, los antivirus se habían basado detección mediante tecnología de firmas, o lo que es lo mismo en comparar hashes criptográficos.

¿Qué es un hash?

Un hash es un texto de tamaño reducido, el cual resume a otro texto mayor. Lo habitual es que los hashes tengan una longitud fija dependiendo del algoritmo utilizado. Un hash, se obtiene tras procesar el texto original mediante un algoritmo de tipo hash que devolverá el resumen de dicho texto con una longitud acotada.

En el siguiente ejemplo, se obtiene un hash mediante el algoritmo MD5, el cual devuelve un resumen del texto original acotado a 128bits de longitud, siendo este codificado con un alfabeto de letras y números llamado (Base64) para facilitar la lectura por humanos.

Ejemplo de codificación mediante algoritmo de hash MD5:

Dado que mediante el mismo texto origen se obtiene el mismo código hash que resume a este texto, si se comparan dos hashes, será igual que comparar dos ficheros.

Ya que, a nivel de esfuerzo de computación, este método es relativamente poco costoso, se ha establecido como el método ideal para comparar grandes cantidades de archivos.

Hasta hace relativamente poco tiempo, esta era la principal tecnología de detección de virus, que comparaba cada hash de cada fichero de una máquina con una lista de hashes maliciosos para determinar cuales eran ficheros peligrosos y cuales no lo eran.

Por desgracia las técnicas de ataque han avanzado mucho desde entonces, por lo que a día de hoy, la detección por firmas ha perdido su efectividad, aunque evidentemente tiene bastante utilidad aún en la actualidad.

Esta pérdida de efectividad se debe a la popularización de herramientas que permiten ocultar (ofuscar) el código de infinitas maneras, basándose en técnicas esteganográficas (ocultar información dentro de otra información diferente, para que la primera no sea detectada) y el uso de cifrado entre muchas otras.

Este tipo de técnicas unido a la profesionalización del atacante, permite que técnicas avanzadas a las que sólo podían acceder atacantes expertos, ahora sean asequibles para gente sin conocimientos.

Para dicho fin, existen múltiples herramientas de ciberseguridad de código abierto e incluso los propios atacantes comercializan sus herramientas de creación de virus a medida en la Deep web o incluso en internet tradicional sin esconderse.

Como se puede observar en las siguientes capturas, las herramientas de creación de malware a medida, son muy simples de configurar y permiten generar malware no detectable por técnicas tradicionales de protección de un modo casi trivial.

Herramientas de creación de malware a medida:

Para mostrar lo simple que sería esta creación de un fichero malicioso con herramientas open source, mostramos el siguiente ejemplo de forjado de un PDF malicioso, realizado con la suite Kali Linux y el conocido software Metasploit, en sólo unas pocas líneas de código:

Teniendo en cuenta la facilidad para poder crear malware y la posibilidad de hacerlo indetectable por antivirus tradicionales, surge la necesidad de afrontar el problema desde otra perspectiva.

Dada la diversidad de ataques posibles, las soluciones de antivirus, pasan a llamarse de Endpoint, al ser un conjunto de soluciones de protección, debido a que no detectan únicamente virus, sino todo tipo de malware incluidos los ataques que puedan alcanzar mediante la red a un dispositivo (Tecnología HIPS), control de dispositivos USB, cifrado, etc.

A su vez, las tecnologías de detección tienen que evolucionar hacia la detección basada en comportamiento, dónde existen diversas tecnologías estadísticas, que durante algún tiempo fueron suficientes, pero tras ser superadas, se recurrió al sandboxing, en dónde se envía el fichero sospechoso a un entorno de máquinas virtuales especial para ser ejecutado y poder determinar paso a paso qué acciones realizaba dicho fichero, las cuales pudieran poner en peligro a los sistemas, ya sea de manera automatizada o como parte de un análisis más concienzudo por parte de los equipos de respuesta a incidentes en un ámbito forense, siendo una técnica utilizada hasta nuestros días.

Estas tecnologías han sido capaces de detectar por ejemplo, ataques de ransomware y, ataques de día cero entre muchos otros.

Por ejemplo, para poder detectar el comportamiento del ransomware, la sandbox comprueba la creación de nuevos ficheros con nombres de ficheros existentes, terminados en ciertas extensiones, como .crypt y el borrado de los ficheros originales tras su cifrado.

Detectando dicho comportamiento inicialmente se puede detectar la mayoría de los ataques de ransomware, aunque según evolucionaron las técnicas, cada vez ha sido más compleja la detección de este tipo de infección.

Estas técnicas son aplicadas hoy en día con cada vez menor éxito, dado que tras aparecer por ejemplo el sandboxing, los malware realizaban determinadas acciones para intentar ocultarse de la detección, tales como esperar sin realizar acciones para no levantar sospechas, hasta que se sobrepase el tiempo máximo de análisis de la sandbox, tras este periodo, se procedería a ejecutar el proceso de infección del sistema.

Evidentemente la tecnología de sandbox ha ido mejorando día a día para poder hacer frente a estas técnicas de evasión, pero todo tiene un límite, aunque evidentemente sirve para poder analizar el comportamiento de un fichero sospechoso, por un equipo de analistas, lo cual es casi imprescindible para la respuesta a incidentes.

Según pasó el tiempo, estas técnicas perdían eficacia y se necesitaba una auténtica revolución o la batalla estaría perdida.

Esta revolución, como en todos los aspectos de la vida últimamente viene de la mano de la inteligencia artificial así como las técnicas de Machine Learning y Deep Learning.

La IA es una tecnología que tiene muchas décadas de historia, pero que no era lo suficientemente madura para un uso aplicado a problemas tan complejos. Por suerte, esta tecnología se ha ido desarrollando en silencio durante todas estas décadas y es en los últimos 2 o 3 años, cuando ha explotado su utilización masiva.

En cuanto a la protección anti-malware, esta tecnología provee de unas capacidades de detección basadas en aprendizaje de comportamiento de ataques previos, pudiendo detectar ataques similares sin llegar a ser idénticos al ataque aprendido inicialmente.

Cómo es posible aprender y detectar los ataques con esta tecnología.

La tecnología de inteligencia artificial se basa en su gran mayoría en lo que se denomina redes neuronales, que nacen por imitación del comportamiento del cerebro humano con sus neuronas y dendritas que interconectan dichas neuronas a través de diversos caminos, pero realizado mediante un modelado matemático.

Dichas redes neuronales se basan en el concepto de neurona, tal como se muestra en el dibujo previo, en dónde podemos asimilar:

Flechas de entrada “X” y salidas “Y” a las dendritas (enlaces de comunicación con otras neuronas).

El axon sería la parte interna que procesa la información entrante para obtener un resultado presentado en la salida.

Dicho axon es el resultado del sumatorio de entradas multiplicadas por su peso (cuan importante es el dato recibido por dicha entrada con respecto al conjunto), dicho sumatorio de términos se representa por “∑”, dicho resultado se introduce en la función de activación “F” y se obtiene el resultado “Y” que se envía a la entrada de otras neuronas.

Hasta aquí tenemos algo con una utilidad casi nula, pero la cosa cambia si unimos varias capas de neuronas para obtener una red neuronal, dado que podremos aplicar algoritmos de aprendizaje, para poder identificar patrones y realizar predicciones, basadas en un aprendizaje previo de dicha red neruronal.

Por tanto, de primeras la red no es capaz de detectar nada, ya que sus pesos no están entrenados para algún tipo de detección.

Es evidente que dicha red se ha de entrenar para tener utilidad, introduciendo valores en las entradas X y tras obtener un resultado Y, hay que comparar si el resultado es el esperado o si por el contrario no lo es, existiendo una desviación.

Se deberá repetir el proceso de recálculo de pesos, teniendo en cuenta la desviación detectada, hasta obtener la salida deseada en respuesta a una entrada dada.

Esto sería el algoritmo de aprendizaje más simple, pero existen muchos otros de algoritmos de aprendizaje especializados.

Los algoritmos de aprendizaje pueden ser supervisados, donde se le provee de manera controlada un conjunto de datos de entrada y se calculan los pesos, para una salida determinada, siendo todo el proceso de alimentación controlado por humanos.

Pero el punto disruptivo en esta tecnología, es la aparición de algoritmos de aprendizaje no supervisado, por lo cual la máquina es capaz de aprender por sí sola para alcanzar una solución óptima a un problema, sin indicarle cómo alcanzar dicha solución, por lo tanto existe un aprendizaje automatizado. Tal como una persona haría, mediante el método de ensayo y error.

La realidad, es que no se sabe al 100% cómo ocurre esa magia de aprender sin supervisión, dado que el proceso es complejo, pero los resultados están ahí y son espectaculares, abriendo las puertas a un cambio radical en todos los aspectos de nuestra civilización.

Aquí entran los conceptos de moda, el Machine Learning y el Deep Learning.

El Machine Learning no es más que la creación de una red neuronal como las anteriores, alimentándola con datos, procediendo a entrenar dicha red neuronal para obtener cierto resultado, y posteriormente obtener una predicción basada en unas entradas y el conocimiento de dicha red neuronal. Un ejemplo sería predicción de precios, detección del fraude, recomendación de productos, etc.

Esta técnica, habitualmente se traslada a la obtención de árboles de decisión, que son mucho más rápidos para una aplicación sistemática.

Por otra parte, tenemos el Deep Learning, que es un subconjunto de técnicas del Machine Learning, que buscan que la red neuronal aprenda de manera autónoma “Aprendizaje no supervisado”.

Al final, se le ofrece un modelo a la red neuronal y tras ejecutar el algoritmo de aprendizaje, él propio algoritmo, sin intervención humana, es capaz de encontrar una solución óptima a un problema propuesto, por tanto, aun estando ambas técnicas basadas en redes neuronales, los algoritmos de aprendizaje no supervisado permiten realizar tareas diferentes y mucho más complejas.

En el caso de detección de ataques, es una tecnología perfecta, ya que se puede alimentar con la información relacionada con los ataques conocidos hasta el momento y por tanto, la red neuronal será capaz de detectar ataques que no siendo iguales, imiten parte de ese comportamiento sospechoso.

Hoy en día, se hace imprescindible disponer de este tipo de técnicas en cualquier anti-malware que se precie, dado que ya existen técnicas de ataque que no pueden ser detectadas por técnicas tradicionales.

Un ejemplo sería la detección de un nuevo malware nunca visto anteriormente, que con técnicas anteriores no sería posible detectar hasta que alguien lo hubiera aislado y reportado, ahora se detectará inmediatamente y sin necesidad de intercomunicarse con un sandbox u otro tipo de servicio situado en la nube, por lo tanto, dando protección incluso desconectado de la red, teniendo un consumo de recursos muy bajo, lo cual siempre es un plus.

Otro punto a tener en cuenta es que, dada la complejidad de los ataques actuales, es más probable que algún ataque pueda ser realizado con éxito, aún disponiendo de la mejor tecnología de protección.

Por tanto, es más que recomendable disponer del apoyo de un servicio de seguridad gestionada para proveer de los niveles de respuesta a incidentes necesarios en estos días.

Dadas las necesidades de estos equipos de seguridad gestionada, ha ido aparecido la tecnología EDR (Endpoint Detection & Response), la cual es importante no tanto por la tecnología en sí, sino porque aporta una visibilidad casi total al equipo de respuesta a incidentes y una capacidad de reacción, remediación y threat hunting, que de otro modo no sería factible.

Por tanto, dado que las soluciones endpoint de diversas compañías no han evolucionado al mismo ritmo, algunas van quedando relegadas en un momento u otro, no prestando niveles de protección adecuados a las nuevas técnicas de ataque.

Nuestra recomendación es revisar las capacidades de su solución de endpoint cada par de años, con el fin de detectar posibles obsolescencias tecnológicas del producto y evaluar la idoneidad de implantación de una solución más puntera en capacidades de detección avanzadas.

Como punto final, recomendar disponer un servicio de respuesta a incidentes con profesionales de alto nivel, provisto internamente o proporcionado como servicio por un tercero para garantizar que cualquier incidente de seguridad sea solventado de manera casi inmediata, limitando el impacto, así como para buscar activamente ataques que puedan pasar inadvertidos comprometiendo la seguridad.

Abel Robledo García

Chief Security Officer

Asseco Spain Group