Uso de cuadernos de Jupyter para buscar amenazas de seguridad

Los cuadernos de Jupyter Notebook combinan la programación completa con una vasta colección de bibliotecas pensadas para el análisis de datos, la visualización y el aprendizaje automático. Estas características hacen que Jupyter sea una herramienta fascinante para la búsqueda e investigación relacionadas con cuestiones de seguridad.

La base de Microsoft Sentinel es el almacén de datos; este combina consultas de alto rendimiento y esquemas dinámicos, y tiene capacidad para escalar a volúmenes de datos masivos. Azure Portal y todas las herramientas de Microsoft Sentinel emplean una API común para acceder a este almacén de datos. Esta misma API está disponible también para herramientas externas, como los cuadernos de Jupyter y Python.

Momentos de uso de los cuadernos de Jupyter Notebook

Mientras que muchas tareas comunes pueden llevarse a cabo en el portal, Jupyter amplía las posibilidades de lo que se puede hacer con estos datos.

Por ejemplo, use cuadernos para:

  • Realizar análisis que no se incluyan de forma preestablecida en Microsoft Sentinel, como algunas características de aprendizaje automático de Python.
  • Crear visualizaciones de datos que no se incluyan de forma preestablecida en Microsoft Sentinel, como escalas de tiempo personalizadas y árboles de proceso.
  • Integrar orígenes de datos fuera de Microsoft Sentinel, como un conjunto de datos local.

Hemos integrado la experiencia de Jupyter en Azure Portal, lo que facilita el proceso para crear y ejecutar cuadernos para analizar los datos. La biblioteca Kqlmagic actúa como el elemento aglutinador que permite realizar consultas KQL desde Microsoft Sentinel y ejecutarlas directamente en un cuaderno.

Microsoft Sentinel incluye varios cuadernos, desarrollados por algunos de los analistas de seguridad de Microsoft:

  • Algunos de estos cuadernos se crean para escenarios concretos y se pueden usar tal cual;
  • otros se incluyen como ejemplos para ilustrar las técnicas y características que se pueden copiar o adaptar para usarlas en sus propios cuadernos,

Otros cuadernos también se pueden importar desde el repositorio de Microsoft Sentinel en GitHub.

Funcionamiento de los cuadernos de Jupyter Notebook

Los cuadernos constan de dos componentes:

  • La interfaz basada en explorador donde se escriben y ejecutan las consultas y el código, y donde se muestran los resultados de la ejecución.
  • Un kernel, responsable de analizar y ejecutar el código en sí.

El kernel del cuaderno de Microsoft Sentinel se ejecuta en una máquina virtual de Azure. La instancia de la máquina virtual puede admitir la ejecución de muchos cuadernos a la vez. Existen varias opciones de licencia para aprovechar las máquinas virtuales más eficaces si los cuadernos incluyen modelos de aprendizaje automático complejos.

Descripción de los paquetes de Python

Los cuadernos de Microsoft Sentinel usan muchas bibliotecas de Python conocidas, como pandas, matplotlib y bokeh, entre otras. Existen otros muchos paquetes de Python que se pueden elegir, que cubren áreas como las siguientes:

  • Visualizaciones y gráficos
  • Procesamiento de datos y análisis
  • Estadísticas y computación numérica
  • Aprendizaje automático y aprendizaje profundo

Para evitar tener que escribir o pegar código complejo y repetitivo en las celdas del cuaderno, la mayoría de los cuadernos de Python se basan en bibliotecas de terceros denominadas paquetes. Para usar un paquete en un cuaderno, debe instalarlo e importarlo. Proceso de ML de Azure tiene los paquetes más comunes preinstalados. Asegúrese de importar el paquete o la parte pertinente del paquete, como un módulo, un archivo, una función o una clase.

En los cuadernos de Microsoft Sentinel se usa un paquete de Python denominado MSTICPy, que es una colección de herramientas de ciberseguridad para la recuperación, el análisis, el enriquecimiento y la visualización de datos.

Las herramientas de MSTICPy están diseñadas expresamente para facilitar la creación de cuadernos que se puedan usar en búsquedas e investigaciones, y estamos trabajando activamente en nuevas características y mejoras. Para más información, consulte:

Búsqueda de cuadernos

En Azure Portal, vaya a Microsoft Sentinel>Administración de amenazas>Cuadernos para ver los cuadernos que proporciona Microsoft Sentinel. Para más cuadernos creados por Microsoft o aportados por la comunidad, vaya al repositorio de GitHub de Microsoft Sentinel.

Administración del acceso a los cuadernos de Microsoft Sentinel

Para usar los cuadernos de Jupyter Notebook en Microsoft Sentinel, primero debe tener los permisos adecuados, en función del rol de usuario.

Aunque puede ejecutar cuadernos de Microsoft Sentinel en JupyterLab o Jupyter clásico, en Microsoft Sentinel, los cuadernos se ejecutan en una plataforma de Azure Machine Learning. Para ejecutar cuadernos en Microsoft Sentinel, debe tener acceso adecuado al área de trabajo de Microsoft Sentinel y un área de trabajo de Azure Machine Learning.

Permiso Descripción
Permisos de Microsoft Sentinel Al igual que otros recursos de Microsoft Sentinel, para acceder a los cuadernos de Microsoft Sentinel se requiere un rol de lector, respondedor o colaborador de Microsoft Sentinel.

Para más información, consulte Permisos de Microsoft Sentinel.
Permisos de Azure Machine Learning Un área de trabajo de Azure Machine Learning es un recurso de Azure. Al igual que otros recursos de Azure, cuando se crea un área de trabajo de Azure Machine Learning, viene con roles predeterminados. Puede agregar usuarios al área de trabajo y asignarlos a uno de estos roles integrados. Para más información, vea Roles predeterminados de Azure Machine Learning y Roles integrados de Azure.

Importante: El acceso de los roles puede tener un ámbito de varios niveles en Azure. Por ejemplo, un usuario con acceso de propietario a un área de trabajo podría no tener acceso de propietario al grupo de recursos que contiene el área de trabajo. Para obtener más información, consulte Cómo funciona Azure RBAC.

Si es propietario de un área de trabajo de Azure ML, puede agregar y quitar roles para el área de trabajo y asignar roles a los usuarios. Para más información, consulte:
- Azure Portal
- PowerShell
- CLI de Azure
- API de REST
- Plantillas de Azure Resource Manager
- CLI de Azure Machine Learning

Si los roles integrados no son suficientes, también puede crear roles personalizados. Los roles personalizados pueden tener permisos para leer, escribir, eliminar y procesar recursos de ese área de trabajo. Puede hacer que el rol esté disponible en un nivel de área de trabajo específico, un nivel de grupo de recursos específico o un nivel de suscripción específico. Para más información, vea Creación de un rol personalizado.

Pasos siguientes

Otros recursos:

  • Otros cuadernos compartidos del repositorio de GitHub de Microsoft Sentinel son herramientas, ilustraciones y ejemplos de código útiles que puede usar al desarrollar sus propios cuadernos.

  • Envíe cualquier comentario, sugerencia, petición de características, contribución de cuadernos, informe de errores o mejora e incorporación a cuadernos ya existentes. Vaya al repositorio de Microsoft Sentinel en GitHub para abrir una incidencia, crear una bifurcación o cargar una contribución.

  • Más información sobre el uso de los cuadernos en la búsqueda y la investigación de amenazas mediante la exploración de algunas plantillas de cuaderno, como Examen de credenciales en Azure Log Analytics e Investigación guiada: alertas de proceso.

    Busque más plantillas de cuaderno en la pestaña >Notebooks>Plantillas de Microsoft Sentinel.

  • Busque más cuadernos en el repositorio de Microsoft Sentinel en GitHub:

    • El directorio Sample-Notebooks incluye cuadernos de ejemplo que se guardan con datos que puede usar para mostrar la salida deseada.

    • El directorio HowTos incluye cuadernos que describen conceptos como la configuración de la versión predeterminada de Python, la creación de marcadores de Microsoft Sentinel a partir de un cuaderno, etc.

Para más información, consulte: