El software de administración de eventos e información de seguridad basado en la nube de Microsoft, Sentinel, se basa en las herramientas de administración de datos de Azure, incluido Azure Monitor y su Log Analytics integrado. Una parte clave de esta suite es Azure Data Explorer, una herramienta que se utiliza para explorar y analizar datos con consultas en varias tiendas, mezclando datos estructurados y no estructurados en un lago de datos.
VER: Aprenda Microsoft Azure en línea (Academia TechRepublic)
En el corazón de Data Explorer hay un lenguaje de consulta llamado Kusto, generalmente conocido como KQL, que está diseñado para ayudar a encontrar patrones en los datos. A diferencia de SQL, KQL solo está diseñado para leer datos. Esa es una característica importante para una herramienta SIEM como Sentinel, donde los usuarios deben trabajar de forma no destructiva, tratando los datos de registro únicamente como una fuente de información.
Es un enfoque muy parecido al que se usa en los almacenes de datos a gran escala, donde las consultas se usan para encontrar datos lo más rápido posible, para ayudar a tomar decisiones comerciales críticas.
Salta a:
El lenguaje de consulta de Kusto acelera los tiempos de respuesta a incidentes
El soporte de Kusto para trabajar con grandes cantidades de datos es clave para su uso en Sentinel, ya que los registros y otros datos de seguridad se convierten rápidamente en grandes repositorios. Las acciones de un mal actor o malware son la proverbial aguja en el pajar de los registros, por lo que una herramienta que esté optimizada para este tipo de consulta es esencial.
Confiar en las herramientas automatizadas de Sentinel puede dejarlo en desventaja, con una postura reactiva en lugar de proactiva. Ser capaz de realizar sus propias investigaciones es clave para mantenerse al tanto de su postura de seguridad, así como para proporcionar información que ayude a entrenar futuros conjuntos de reglas SIEM.
La seguridad empresarial se ha convertido en un problema de big data, por lo que tiene sentido usar herramientas de big data para ayudar a generar información, especialmente cuando explora regularmente archivos de registro específicos o combinaciones de registros. Como KQL está diseñado para este tipo de tareas y es utilizado por algunas de las herramientas analíticas que se combinan en Sentinel, es la elección obvia. Además de utilizarse para consultas ad hoc, KQL se puede incrustar en runbooks para ayudar a automatizar las respuestas y el análisis personalizado.
Creación de consultas KQL
KQL es un interesante híbrido de scripting y herramientas de consulta, por lo que es familiar para cualquiera que haya usado Python para la ciencia de datos o SQL para trabajar con bases de datos. Está diseñado para funcionar con tablas de datos, con la capacidad de crear variables y constantes que pueden ayudar a controlar el flujo de un conjunto de declaraciones KQL.
una buena manera de piense en una consulta KQL como una canalización: Implica primero obtener datos, luego filtrarlos, antes de resumirlos y ordenarlos, y finalmente seleccionar los resultados que necesita. Existe cierta similitud con la estructura de un comando de PowerShell, con un requisito más explícito para ordenar las declaraciones, ya que cambiar el orden de los filtros y resúmenes puede afectar significativamente la salida.
Obtener el orden correcto de los filtros es la clave para construir un KQL efectivo
La canalización utilizada para ejecutar KQL conecta los filtros en serie, por lo que debe asegurarse de filtrar los datos al comienzo de una consulta, minimizando la cantidad de datos que se pasan a las etapas posteriores. Microsoft ha detallado mejores prácticas sobre el uso del filtro KQL que pueden ayudarlo mientras trabaja con sus datos de Sentinel, incluidos:
- Usando filtros de tiempo primero.
- Evitar la búsqueda de subcadenas.
- Solo usando columnas específicas para búsquedas de texto.
Esto significa que es fundamental comprender tanto las fuentes de datos como los resultados que busca antes de crear cualquier consulta de Kusto.
El modelo de canalización de KQL hace que la creación y el diseño de consultas sean relativamente fáciles
Si bien es fácil trabajar con KQL, no obtendrá buenos resultados si no comprende la estructura de sus datos. Primero, debe conocer los nombres de todas las tablas utilizadas en el espacio de trabajo de Sentinel. Estos son necesarios para especificar de dónde obtiene los datos, con modificadores para tomar solo un número determinado de filas y limitar la cantidad de datos que se devuelven.
Luego, estos datos deben ordenarse, con la opción de tomar solo los últimos resultados. Luego, los datos se pueden filtrar, por ejemplo, solo obtiene datos de un rango de IP específico o para un período de tiempo establecido.
Una vez que los datos han sido seleccionados y filtrados, se resumen. Esto crea una nueva tabla con solo los datos que ha filtrado y solo en las columnas que ha elegido. Las columnas se pueden renombrar según sea necesario e incluso pueden ser el producto de funciones KQL, por ejemplo, sumar datos o usar los valores máximo y mínimo para los datos.
Las funciones disponibles incluyen operaciones estadísticas básicas, por lo que puede usar sus consultas para buscar datos significativos, una herramienta útil cuando busca intrusiones sospechosas a través de gigabytes de registros. Se pueden llevar a cabo operaciones más complejas utilizando el operador de evaluación, que utiliza complementos para manejar tareas de ciencia de datos.
VER: Kit de contratación: Científico de datos (TechRepublic Premium)
Si bien la mayoría de las operaciones de KQL se llevan a cabo en una sola tabla de registro, puede usar declaraciones de unión o unión para trabajar con varias tablas al mismo tiempo. Esto le permite comenzar a correlacionar datos entre registros, donde las señales de un ataque pueden ser más obvias.
Aprenda KQL usando KQL en Sentinel
El resultado es un poderoso conjunto de herramientas que, con algo de experiencia, se transforman en una forma de explorar repetidamente los archivos de registro, en busca de signos de ataques y atacantes. Las consultas se pueden incrustar en los libros de trabajo de Sentinel, por lo que se pueden compartir con todos en su centro de operaciones de seguridad.
Útilmente hay libros de trabajo de capacitación integrados en Sentinel que se pueden usar para acelerar el aprendizaje del idioma y que ofrecen ejemplos de cómo se puede usar KQL en diferentes casos de uso.
Si desea experimentar antes de comenzar, no necesita tener instalado Sentinel, ya que Microsoft tiene un entorno de demostración de Azure Log Analytics en Azure Portal que se puede usar para experimentar con el diseño de consultas KQL. También es de uso gratuito; todo lo que necesita es un inicio de sesión de Azure.
Las herramientas SIEM como Sentinel simplifican la obtención de datos de los archivos de registro y la actuación sobre ellos. Sin embargo, el aprendizaje automático aún no es rival para los ojos de un analista de seguridad experimentado, especialmente cuando se trata de nuevos ataques y las señales sutiles de amenazas persistentes avanzadas.
Es por eso que incluir KQL como parte de Sentinel tiene mucho sentido, ya que combina herramientas de análisis avanzadas con la simplicidad de un lenguaje de secuencias de comandos. Cuando se combina con herramientas como Power BI, el resultado es una forma de analizar y visualizar rápidamente gigabytes de datos de registro, encontrando la información necesaria para mantener segura su red.