Búsqueda de amenazas con Microsoft Sentinel
Tanto los analistas como los investigadores de seguridad, quieren buscar amenazas de seguridad de forma proactiva, pero los distintos sistemas y dispositivos de seguridad generan gran cantidad de datos que pueden ser difíciles de analizar y filtrar para convertirlos en eventos significativos. Microsoft Sentinel tiene eficaces herramientas de búsqueda y consulta que permiten buscar amenazas de seguridad en los orígenes de datos de cualquier organización. Para ayudar a los analistas de seguridad a buscar proactivamente nuevas anomalías que ni las aplicaciones de seguridad ni las reglas de análisis programadas han sido capaces de identificar, las consultas de búsqueda integradas de Microsoft Sentinel servirán de guía para formular las preguntas adecuadas para detectar problemas en los datos que ya hay en la red.
Por ejemplo, una consulta integrada proporciona datos sobre los procesos menos habituales que se ejecutan en la infraestructura. No desea recibir una alerta cada vez que se ejecuten (pueden ser totalmente inofensivos), pero puede echar un vistazo a la consulta de vez en cuando para ver si hay algo inusual.
Nota
Para obtener información sobre la disponibilidad de características en las nubes de la Administración Pública de Estados Unidos, consulte las tablas de Microsoft Sentinel en Disponibilidad de características en la nube para clientes de la Administración Pública de Estados Unidos.
Uso de consultas integradas
En el panel de búsqueda se proporcionan ejemplos predefinidos de consultas diseñadas para que pueda empezar a trabajar y a familiarizarse con las tablas y el lenguaje de consulta. Las consultas se ejecutan en datos almacenados en tablas de registro, como para la creación de procesos, eventos de DNS u otros tipos de eventos.
Las consultas de búsqueda integradas las desarrollan los investigadores de seguridad de Microsoft de forma continua mediante la incorporación de nuevas consultas y el ajuste de las consultas existentes para proporcionar un punto de entrada para buscar nuevas detecciones y averiguar dónde empezar a buscar los comienzos de nuevos ataques.
Use consultas antes, durante y después de un ataque para realizar las acciones siguientes:
Antes de que se produzca un incidente: no es suficiente esperar a las detecciones. Tome medidas proactivas mediante la ejecución de cualquier consulta de búsqueda de amenazas relacionada con los datos que ingiere en el área de trabajo al menos una vez a la semana.
Los resultados de la búsqueda proactiva proporcionan una visión temprana de los eventos que puede confirmar que hay un ataque en proceso o, al menos, mostrará áreas más débiles en el entorno que están en riesgo y necesitan atención.
Durante un ataque: use Live Stream para ejecutar una consulta específica de manera constante y presentar los resultados a medida que llegan. Use Live Stream cuando necesite supervisar de forma activa los eventos de usuario, por ejemplo, si necesita comprobar si todavía se produce un ataque específico, para ayudar a determinar la siguiente acción de un actor de amenazas y hacia el final de una investigación para confirmar que el ataque ha terminado realmente.
Después de un ataque: después de que se haya producido un ataque o un incidente, asegúrese de mejorar la cobertura y la información para evitar incidentes similares en el futuro.
Modifique las consultas existentes o cree otras para ayudar con la detección temprana, en función de las conclusiones que haya obtenido del ataque o incidente.
Si ha detectado o creado una consulta de búsqueda que proporciona conclusiones muy valiosas sobre posibles ataques, cree reglas de detección personalizadas en función de esa consulta y exponga esas conclusiones como alertas para los elementos de respuesta a los incidentes de seguridad.
Vea los resultados de la consulta y seleccione Nueva regla de alertas>Crear una alerta de Microsoft Sentinel. Use el asistente para reglas de análisis para crear una regla en función de la consulta. Para obtener más información, vea Creación de reglas de análisis personalizadas para detectar amenazas.
También puede crear consultas de búsqueda y Live Stream sobre los datos almacenados en Azure Data Explorer. Para obtener más información, vea los detalles de la creación de consultas entre recursos en la documentación de Azure Monitor.
Use recursos de la comunidad, como el repositorio de Microsoft Sentinel en GitHub para buscar consultas y orígenes de datos adicionales.
Uso del panel de búsqueda
El panel de búsqueda le permite ejecutar todas las consultas, o un subconjunto concreto, en una sola selección. En el portal de Microsoft Sentinel, seleccione Hunting (Búsqueda).
En la tabla se muestran todas las consultas escritas por el equipo de analistas de seguridad de Microsoft, y otras consultas adicionales que haya creado o modificado. En cada consulta se proporciona una descripción de lo que se busca y en qué tipo de datos se ejecuta. Estas consultas se agrupan por sus tácticas de tipo MITRE ATT&CK. Los iconos de la derecha clasifican el tipo de amenaza, como el acceso inicial, la persistencia y la filtración. Las técnicas MITRE ATT&CK se muestran en la columna Técnicas y describen el comportamiento específico identificado por la consulta de búsqueda.
Use el panel de búsqueda para identificar dónde empezar la búsqueda. Para ello, examine el recuento de resultados, los picos o el cambio en el recuento de resultados en un período de 24 horas. Puede ordenar y filtrar por favoritos, origen de datos, táctica o técnica MITRE ATT&CK, resultados, delta de resultados o porcentaje delta de resultados. Vea las consultas que necesitan orígenes de datos conectados y obtenga recomendaciones sobre cómo habilitarlas.
En la tabla siguiente se describen las acciones detalladas disponibles en el panel de búsqueda:
Acción | Descripción |
---|---|
Ver cómo se aplican las consultas al entorno | Seleccione el botón Ejecutar todas las consultas , o bien seleccione un subconjunto de consultas mediante las casillas que hay a la izquierda de cada fila y seleccione el botón Ejecutar las consultas seleccionadas. La ejecución de las consultas puede tardar entre unos segundos y varios minutos, en función del número de consultas seleccionadas, el intervalo de tiempo y la cantidad de datos que se consultan. |
Ver las consultas que han devuelto resultados | Una vez que las consultas terminen de ejecutarse, vea cuáles han devuelto resultados mediante el filtro Results (Resultados): - Ordene para ver qué consultas han tenido más el mayor o menor número de resultados. - Vea qué consultas no están activas en el entorno; para ello, seleccione N/A (N/D) en el filtro Results (Resultados). - Mantenga el puntero sobre el icono de información (i) que aparece junto a N/A (N/D) para ver qué orígenes de datos se necesitan para activar esta consulta. |
Identificar picos en los datos | Identifique picos en los datos ordenando o filtrando mediante la opción Delta de resultados o Porcentaje delta de resultados. De esta forma se comparan los resultados de las últimas 24 horas con los de las 24-48 horas anteriores, para resaltar las diferencias de volumen grandes o las diferencias relativas en el volumen. |
Ver las consultas asignadas a la táctica MITRE ATT&CK | En la barra de tácticas de MITRE ATT&CK, al principio de la tabla, se muestran cuántas consultas se asignan a cada táctica de MITRE ATT&CK. La barra de tácticas se actualiza dinámicamente en función del actual conjunto de filtros aplicado. Esto le permite ver qué tácticas de MITRE ATT&CK se muestran al filtrar por un recuento de resultados determinado, una diferencia de resultados alta, resultados de tipo N/A o cualquier otro conjunto de filtros. |
Ver las consultas asignadas a técnicas de MITRE ATT&CK | Las consultas también se pueden asignar a técnicas de MITRE ATT&CK. Para filtrar u ordenar por técnicas de MITRE ATT&CK, utilice el filtro Technique (Técnica). Al abrir una consulta, podrá seleccionar la técnica para ver la descripción de MITRE ATT&CK de la técnica. |
Guardar una consulta en los favoritos | Las consultas guardadas en favoritos se ejecutan automáticamente cada vez que se accede a la página Hunting (Búsqueda). Puede crear sus propias consultas de búsqueda o clonar y personalizar una plantilla de consulta de búsqueda ya existente. |
Ejecución de consultas | Seleccione Run query (Ejecutar consulta) en la página de detalles de la consulta de búsqueda para ejecutar la consulta directamente desde la página de búsquedas. El número de coincidencias se muestra en la tabla, en la columna Results (Resultados). Revise la lista de consultas de búsqueda y las coincidencias encontradas correspondientes. |
Revisión de una consulta subyacente | Realice una revisión rápida de la consulta subyacente en el panel de detalles de la consulta. Para ver los resultados, haga clic en el vínculo View query results (Ver resultados de la consulta) (debajo de la ventana de consulta) o en el botón View Results (Ver resultados) (en la parte inferior del panel). La consulta se abrirá en la hoja Logs (Registros) (Log Analytics) y, debajo de la consulta, puede revisar las coincidencias de la consulta. |
Creación de una consulta de búsqueda personalizada
Cree o modifique una consulta, y guárdela como consulta propia o compártala con los usuarios que están en el mismo inquilino.
Para crear una consulta:
Seleccione Nueva consulta.
Rellene todos los campos en blanco y seleccione Create (Crear).
Para clonar y modificar una consulta existente:
En la tabla, seleccione la consulta de búsqueda que quiere modificar.
Seleccione el botón de puntos suspensivos (...) en la línea de la consulta que quiere modificar y seleccione Clone query (Clonar consulta).
Modifique la consulta y seleccione Create (Crear).
Para modificar una consulta personalizada existente:
En la tabla, seleccione la consulta de búsqueda que quiere modificar. Tenga en cuenta que solo se pueden editar las consultas procedentes de un origen de contenido personalizado. Otros orígenes de contenido deben editarse en ese origen.
Seleccione el botón de puntos suspensivos (...) en la línea de la consulta que quiere modificar y seleccione Editar consulta.
Modifique el campo Consulta personalizada con la consulta actualizada. También puede modificar la asignación de entidades y las técnicas, tal y como se explica en la sección "Para crear una consulta" de esta documentación.
Consulta de ejemplo
Una consulta típica empieza por un nombre de tabla o de analizador, seguido de una serie de operadores separados por un carácter de barra vertical ("|").
En el ejemplo anterior, empiece con la tabla SecurityEvent y agregue elementos canalizados según sea necesario.
Defina un filtro de tiempo para revisar solo los registros de los últimos siete días.
Agregue un filtro a la consulta para mostrar únicamente el evento con el identificador 4688.
Agregue un filtro a la consulta en la línea de comandos para que solo contenga instancias de cscript.exe.
Proyecte solo las columnas que quiera explorar, limite los resultados a 1000 y seleccione Run query (Ejecutar consulta).
Seleccione el triángulo de color verde y ejecute la consulta. Puede comprobar la consulta y ejecutarla para hallar comportamientos anómalos.
Le recomendamos que en la consulta use un analizador del Modelo avanzado de información de seguridad (ASIM) y no una tabla integrada. Esto garantiza que la consulta admitirá cualquier origen de datos relevante, actual o futuro, en lugar de un único origen de datos.
Crear marcadores
Durante el proceso de búsqueda e investigación, es posible que encuentre resultados de consulta que puedan parecer inusuales o sospechosos. Marque estos elementos para hacerles referencia en el futuro; por ejemplo, al crear o enriquecer un incidente para investigarlo. Los eventos como las posibles causas principales, los indicadores de riesgo u otros eventos importantes se deben generar como marcadores. Si alguno de los eventos clave que ha marcado es lo suficientemente grave como para garantizar una investigación, escálelo para convertirlo en un incidente.
En los resultados, marque las casillas de las filas que quiera conservar y seleccione Add bookmark (Agregar marcador). Esto crea un registro para cada fila marcada (un marcador) que contiene los resultados de la fila, así como la consulta que creó los resultados. Puede agregar etiquetas y notas propias a cada marcador.
- Igual que sucede con las reglas de análisis programadas, puede enriquecer los marcadores con asignaciones de entidades para extraer varios tipos de entidades e identificadores, y asignaciones de MITRE ATT&CK para asociar tácticas y técnicas concretas.
- Los marcadores usarán de forma predeterminada la misma entidad y las asignaciones de técnicas MITRE ATT&CK que la consulta de búsqueda que produjo los resultados marcados.
Para ver todos los resultados añadidos como marcadores, haga clic en la pestaña Bookmarks (Marcadores) de la página principal de Hunting (Búsqueda). Agregue etiquetas a los marcadores a fin de clasificarlos para el filtrado. Por ejemplo, si va a investigar una campaña de ataques, puede crear una etiqueta para la campaña, aplicar la etiqueta a todos los marcadores pertinentes y, después, filtrar todos los marcadores por esa campaña.
Para investigar un único resultado incluido en los marcadores, seleccione el marcador y, después, haga clic en Investigate (Investigar) en el panel de detalles para abrir la experiencia de investigación. También puede seleccionar directamente una entidad de la lista para ver la página de entidad correspondiente a esa entidad.
También puede crear un incidente a partir de uno o varios marcadores, o bien agregar uno o varios marcadores a un incidente existente. Active una casilla situada a la izquierda de los marcadores que quiera usar y, después, seleccione Incident actions>Create new incident (Acciones de incidente > Crear incidente), o bien Add to existing incident (Agregar a incidente existente). Realice una evaluación de prioridades del incidente e investíguelo como cualquier otro.
Para obtener más información, vea Uso de marcadores de búsqueda.
Uso de cuadernos como tecnología de las investigaciones
Cuando la búsqueda y las investigaciones se vuelvan más complejas, use cuadernos de Microsoft Sentinel para mejorar su actividad con aprendizaje automático, visualizaciones y análisis de datos.
Los cuadernos se asemejan a un espacio aislado virtual, con su propio kernel, donde puede llevar a cabo una investigación completa. El cuaderno puede incluir los datos sin procesar, el código que se ejecuta en dichos datos, los resultados y sus visualizaciones. Guarde los cuadernos para que pueda compartirlos con otros usuarios con el fin de reutilizarlos en su organización.
Los cuadernos pueden ser útiles cuando la búsqueda o la investigación adquieran un volumen demasiado grande como para recordarlas fácilmente, para ver detalles, o bien si necesita guardar consultas y resultados. Para ayudarle a crear y compartir cuadernos, Microsoft Sentinel proporciona Jupyter Notebook, un entorno de desarrollo interactivo y manipulación de datos de código abierto, integrado directamente en la página Notebooks de Microsoft Sentinel.
Para más información, consulte:
- Uso de Jupyter Notebook para buscar amenazas de seguridad
- Documentación de Jupyter Project
- Documentación introductoria de Jupyter
- Infosec Jupyter Book
- Tutoriales de Real Python
En la siguiente tabla se describen varios métodos de uso de cuadernos de Jupyter Notebook para ayudarle con sus procesos en Microsoft Sentinel:
Método | Descripción |
---|---|
Persistencia de datos, repetibilidad y vuelta atrás (backtracking) | Si trabaja con muchas consultas y conjuntos de resultados, es probable que tenga puntos muertos. Tendrá que decidir qué consultas y resultados conservar y cómo acumular los resultados útiles en un único informe. Use cuadernos de Jupyter Notebook para guardar consultas y datos sobre la marcha, use variables para volver a ejecutar consultas con diferentes valores o fechas, o guarde las consultas para volver a ejecutarlas en futuras investigaciones. |
Scripting y programación | Use cuadernos de Jupyter Notebook para agregar programación a sus consultas, lo que incluye: - Lenguajes declarativos, como el lenguaje de consulta Kusto (KQL) o SQL, para codificar su lógica en una sola instrucción, posiblemente compleja. - Lenguajes de programación de procedimientos, para ejecutar una lógica en una serie de pasos. Dividir la lógica en pasos puede ayudarle a ver y depurar resultados intermedios, agregar una funcionalidad que podría no estar disponible en el lenguaje de consulta y reutilizar resultados parciales en pasos de procesamiento posteriores. |
Vínculos a datos externos | Aunque las tablas de Microsoft Sentinel son las que tienen más datos de eventos y telemetría, los cuadernos de Jupyter Notebook pueden vincularse a datos que estén accesibles a través de su red o desde un archivo. Usando cuadernos de Jupyter Notebook, puede incluir datos como los siguientes: - Datos de servicios externos que no posee, como datos de geolocalización u orígenes de inteligencia sobre amenazas - Datos confidenciales que solo se almacenen en el seno de su organización, como bases de datos de recursos humanos o listas de recursos de gran valor - Datos que aún no haya migrado a la nube |
Herramientas especializadas de procesamiento de datos, aprendizaje automático y visualización | Los cuadernos de Jupyter Notebook proporcionan visualizaciones adicionales, bibliotecas de aprendizaje automático y características de procesamiento y transformación de datos. Por ejemplo, use cuadernos de Jupyter Notebook con las siguientes funcionalidades de Python: - Pandas para procesamiento de datos, limpieza e ingeniería - Matplotlib, HoloViews y Plotly para visualización - NumPy y SciPy para procesamiento numérico y científico avanzado - scikit-learn para aprendizaje automático - TensorFlow, PyTorch y Keras para aprendizaje profundo Sugerencia: Los cuadernos de Jupyter Notebook admiten varios kernels de lenguaje. Use magics para mezclar lenguajes dentro del mismo cuaderno, permitiendo la ejecución de celdas individuales mediante otro lenguaje. Por ejemplo, puede recuperar datos mediante una celda de script de PowerShell, procesar los datos en Python y usar JavaScript para representar una visualización. |
Herramientas de seguridad de MSTIC, Jupyter y Python
Microsoft Threat Intelligence Center (MSTIC) es un equipo de ingenieros y analistas de seguridad de Microsoft que realizan detecciones de seguridad para varias plataformas de Microsoft y trabajan en la identificación e investigación de amenazas.
MSTIC ha creado MSTICPy, una biblioteca para investigaciones de seguridad de la información y búsqueda en cuadernos de Jupyter Notebook. MSTICPy proporciona una funcionalidad reutilizable que pretende agilizar la creación de cuadernos y que facilita la lectura de cuadernos en Microsoft Sentinel por parte de los usuarios.
Por ejemplo, MSTICPy puede hacer lo siguiente:
- Consultar datos de registro de varios orígenes.
- Enriquecer los datos con inteligencia sobre amenazas, geolocalizaciones y datos de recursos de Azure.
- Extraer indicadores de actividad (IoA) de registros y desempaquetar datos codificados.
- Realizar análisis sofisticados, como la detección de sesiones anómalas y la descomposición de series temporales.
- Visualizar datos usando escalas de tiempo interactivas, árboles de proceso y Morph Charts multidimensionales.
MSTICPy también incluye varias herramientas de cuadernos que ahorran tiempo, como widgets que establecen límites de tiempo de consulta, seleccionan y muestran elementos de listas, y configuran el entorno del cuaderno.
Para más información, consulte:
- Documentación de MSTICPy
- Tutorial: Introducción a Jupyter Notebook y MSTICPy en Microsoft Sentinel
- Configuraciones avanzadas para cuadernos de Jupyter Notebook y MSTICPy en Microsoft Sentinel
Operadores y funciones útiles
Las consultas de búsqueda se crean en el lenguaje de consulta Kusto (KQL), un lenguaje de consulta eficaz con IntelliSense que proporciona la eficacia y flexibilidad necesarias para llevar la búsqueda a un nuevo nivel.
Es el mismo lenguaje que usan las consultas en las reglas de análisis y en otros lugares de Microsoft Sentinel. Para obtener más información, vea Referencia de lenguaje de consulta.
Los operadores siguientes son especialmente útiles en las consultas de búsqueda de Microsoft Sentinel:
where: filtra una tabla por el subconjunto de filas que cumplen un predicado.
summarize: crea una tabla que agrega el contenido de la tabla de entrada.
join: combina las filas de dos tablas para formar una nueva tabla, haciendo coincidir los valores de las columnas especificadas de cada tabla.
count: devuelve el número de registros en el conjunto de registros de entrada.
top: devuelve los primeros N registros ordenados por las columnas especificadas.
limit: devuelve hasta el número de filas especificado.
project: selecciona las columnas que se incluirán, las cambia de nombre o las quita e inserta nuevas columnas calculadas.
extend: crea columnas calculadas y las anexa al conjunto de resultados.
makeset: devuelve una matriz dinámica (JSON) del conjunto de valores distintos que una expresión toma en el grupo.
find: busca filas que coinciden con un predicado a través de un conjunto de tablas.
adx(): esta función ejecuta consultas entre recursos de orígenes de datos de Azure Data Explorer desde la experiencia de búsqueda de Microsoft Sentinel y Log Analytics. Para obtener más información, consulte Consulta entre recursos en Azure Data Explorer mediante Azure Monitor.
Pasos siguientes
En este artículo, ha aprendido a realizar una investigación de búsqueda en Microsoft Sentinel.
Para más información, consulte:
- Uso de cuadernos de Jupyter Notebook para buscar amenazas de seguridad
- Realizar un seguimiento de los datos durante una búsqueda
Obtenga información de un ejemplo del uso de reglas de análisis personalizadas al supervisar Zoom con un conector personalizado.