Técnicas de automatización de sistemas de red

(Para giorgio tosi)
08/11/21

La referencia al uso de técnicas de automatización y posiblemente AI (Inteligencia Artificial) se ha convertido en una práctica común para abordar muchos problemas de análisis de datos de los que extraer información sobre el comportamiento futuro de sistemas complejos.

En realidad, la posibilidad de que un sistema reaccione de forma autónoma a eventos particulares con el fin de estandarizar el comportamiento ha estado presente en muchos dispositivos desde hace algún tiempo. En estas notas examinaremos un ejemplo de las funcionalidades disponibles en algunos nodos de las redes empresariales (hasta la fecha todas basadas en el protocolo IP) que permiten:

El reconocimiento de un evento específico

La creación de una política a aplicar en caso de que ocurra el evento en cuestión.

La aplicación de la política al sistema con la siguiente modificación de su comportamiento.

Todos los principales proveedores de dispositivos de red IP (Cisco Systems, Juniper Networks, Arista Networks,…) ofrecen, con diferentes nombres, dicha funcionalidad.

Sin entrar en las especificidades de cada sistema, simplemente me gustaría ilustrar el principio de funcionamiento para ofrecer una idea de cómo existen, incluso en el campo de los dispositivos de red, herramientas y funciones que permiten la automatización del comportamiento de los nodos. ante hechos puntuales.

La difusión de estas herramientas también podría conducir a soluciones que, en sinergia con técnicas de seguridad basadas en IA (leer articulo) permiten intervenir eficazmente ante problemas específicos, evitando que la amenaza o intento de compromiso pueda llegar a los sistemas finales (servidores o estaciones de trabajo individuales).

Por tanto, me referiré a un dispositivo de red hipotético. El nodo en cuestión proporciona un entorno de desarrollo centrado en la implementación de funciones de automatización.

Muy a menudo, este entorno se desarrolla sobre la base de un sistema Linux optimizado para ejecutarse en un procesador "auxiliar" dentro del nodo de la red. La gran ventaja de una solución de este tipo deriva de poder explotar muchas (aunque no todas) las bibliotecas y lenguajes disponibles en Linux. A esto se suma la posibilidad, que ofrecen los fabricantes del nodo de red, de acceder a las principales características de uso del propio nodo desde este entorno Linux.

Por tanto, es posible acceder a parámetros específicos de las interfaces a través de una librería (suministrada por el fabricante) que permite conocer, por ejemplo, el número de paquetes transitados en entrada-salida desde un puerto específico o identificar paquetes mal formados (demasiado grandes o demasiado pequeño o con errores, ...). Estas funciones no se limitan a las características de la interfaz, sino que pueden afectar a otros subsistemas del nodo, como el nivel de enrutamiento o algunas de las características físicas del sistema (temperatura, estado del ventilador, etc.).

Por lo tanto, puedo definir un evento específico en función de la ocurrencia de una condición predeterminada: exceder el número de errores CRC en un puerto, cambiar una tabla de enrutamiento, exceder un valor de umbral con respecto a la temperatura del sistema, la carga de la CPU o la ocupación de la memoria.

En este punto, el evento así definido se puede utilizar como disparador para una acción específica (política): deshabilitar una puerta, enviar un mensaje (de diferentes formas) al administrador del sistema, intervenir en la configuración para cambiar una ruta por defecto y así sobre.

Todas las acciones se pueden realizar a través de scripts o programas ejecutables: típicamente los sistemas ofrecen la posibilidad de utilizar los lenguajes principales, por lo tanto Python, Perl, Ruby y un entorno nativo basado en su propia interfaz de comandos.

Esta característica abre toda una serie de posibles implicaciones muy interesantes también desde el punto de vista de la seguridad de la red.

Si fuera posible, utilizando herramientas externas al sistema y basadas en IA, en la perspectiva definida por el artículo antes mencionado, para instruir y comunicar adecuadamente la presencia de una posible amenaza identificada al sistema, sería posible intervenir de inmediato (o en muy poco tiempo). La intervención hipotetizada bloquearía, por tanto, la conexión específica y, al mismo tiempo, implementaría una política específica previamente definida, interviniendo así en la configuración del propio sistema.

De esta forma podría ser posible, por ejemplo, aislar un dominio específico, considerado poco confiable, al tiempo que se asegura el mantenimiento de la conectividad a nivel global.

Naturalmente, las sinergias entre los equipos de red y los sistemas de seguridad están sujetas a análisis y desarrollo por parte de todos los principales proveedores que son capaces de ofrecer herramientas para identificar y contener las ciberamenazas, las cuales, correctamente configuradas y utilizadas, resultan muy efectivas.