Microsoft Sentinel 헌팅 기능을 사용하는 Jupyter Notebook

Jupyter Notebook은 기계 학습, 시각화 및 데이터 분석을 위해 방대한 라이브러리 컬렉션과 전체 프로그래밍 기능을 결합합니다. 이러한 특성 덕분에 Jupyter는 보안 조사 및 헌팅에 맞는 강력한 도구가 될 수 있습니다.

Microsoft Sentinel의 기반은 데이터 저장소입니다. 이는 고성능 쿼리와 동적 스키마를 결합하고 대규모 데이터 볼륨으로 확장합니다. Azure Portal과 모든 Microsoft Sentinel 도구는 공통 API를 사용하여 이 데이터 저장소에 액세스합니다. 동일한 API를 Jupyter Notebook 및 Python과 같은 외부 도구에도 사용할 수 있습니다.

Important

Microsoft Sentinel은 Microsoft Defender 포털에서 통합 보안 운영 플랫폼의 공개 미리 보기의 일부로 사용할 수 있습니다. 자세한 내용은 Microsoft Defender 포털의 Microsoft Sentinel을 참조하세요.

Jupyter Notebook을 사용하는 경우

포털에서 다수의 일반적인 작업을 수행할 수 있지만 Jupyter는 데이터로 수행할 수 있는 작업의 범위를 확장합니다.

예를 들어 Notebook을 사용하여 다음을 수행합니다.

  • 일부 Python 기계 학습 기능과 같이 Microsoft Sentinel에서 기본 제공되지 않는 분석 수행
  • 사용자 지정 타임라인 및 프로세스 트리와 같이 Microsoft Sentinel에서 기본 제공되지 않는 데이터 시각화 만들기
  • 온-프레미스 데이터 세트와 같이 Microsoft Sentinel 외부의 데이터 원본을 통합합니다.

Jupyter 환경이 Azure Portal에 통합되어 있어서 Notebook을 쉽게 만들고 실행하여 데이터를 분석할 수 있습니다. Kqlmagic 라이브러리는 Microsoft Sentinel에서 KQL(Kusto 쿼리 언어) 쿼리를 가져와 Notebook 내에서 직접 실행할 수 있는 수단을 제공합니다.

일부 Microsoft 보안 분석가가 개발한 여러 Notebook은 Microsoft Sentinel로 패키지되어 있습니다.

  • 이러한 Notebook 중 일부는 특정 시나리오에 맞게 빌드되어 있어서 그대로 사용할 수 있습니다.
  • 그 외 Notebook은 기술과 기능을 설명하는 샘플로 제공되며, 사용자가 Notebook에서 사용하기 적합하게 수정하거나 복사할 수 있습니다.

다른 Notebook은 Microsoft Sentinel GitHub 리포지토리에서 가져옵니다.

Jupyter Notebook 작동 방식

Notebook의 두 가지 구성 요소는 다음과 같습니다.

  • 쿼리와 코드를 입력 및 실행하고, 실행 결과가 표시되는 브라우저 기반 인터페이스
  • 코드 자체의 구문 분석과 실행을 담당하는 ‘커널’

Microsoft Sentinel Notebook의 커널은 Azure VM(가상 머신)에서 실행됩니다. VM 인스턴스는 한 번에 많은 Notebook을 실행하도록 지원할 수 있습니다. Notebook에 복잡한 기계 학습 모델이 포함되어 있는 경우 더 강력한 가상 머신을 사용할 수 있는 몇 가지 라이선스 옵션이 있습니다.

Python 패키지 이해

Microsoft Sentinel Notebook은 pandas, matplotlib, bokeh 등과 같은 인기 있는 다양한 Python 라이브러리를 사용합니다. 다음과 같은 영역에 관하여 선택할 수 있는 다른 Python 패키지가 많이 있습니다.

  • 시각화 및 그래픽
  • 데이터 처리 및 분석
  • 통계 및 수치 계산
  • 기계 학습 및 딥 러닝

복잡하고 반복적인 코드를 Notebook 셀에 입력하거나 붙여넣지 않도록 방지하기 위해 대부분의 Python Notebook은 패키지라는 타사 라이브러리를 사용합니다. Notebook에서 패키지를 사용하려면 패키지를 설치하고 가져와야 합니다. Azure Machine Learning 컴퓨팅에는 가장 일반적인 패키지가 사전 설치되어 있습니다. 패키지 또는 패키지의 관련 부분(모듈, 파일, 함수 또는 클래스)을 가져와야 합니다.

Microsoft Sentinel Notebook은 데이터 검색, 분석, 보강 및 시각화를 위한 사이버 보안 도구 컬렉션인 MSTICPy라는 Python 패키지를 사용합니다.

MSTICPy 도구는 특별히 헌팅 및 조사를 위한 Notebook을 만드는 데 도움이 되도록 설계되었으며, 새로운 기능과 향상된 기능을 위해 적극적으로 노력하고 있습니다. 자세한 내용은 다음을 참조하세요.

Notebook 찾기

Microsoft Sentinel에서 Notebook을 선택하여 Microsoft Sentinel에서 제공하는 Notebook을 확인합니다. Azure Log Analytics의 자격 증명 검사단계별 조사 - 경고 처리와 같은 몇 가지 Notebook 템플릿을 검색하여 위협 헌팅과 조사에 Notebook을 사용하는 방법을 자세히 알아봅니다.

Microsoft에서 빌드하거나 커뮤니티에서 제공하는 더 많은 Notebook을 보려면 Microsoft Sentinel GitHub 리포지토리로 이동하세요. Microsoft Sentinel GitHub 리포지토리에서 공유되는 Notebook을 사용자 고유의 Notebook을 개발할 때 사용할 수 있는 유용한 도구, 그림 및 코드 샘플로 사용합니다.

  • Sample-Notebooks 디렉터리에는 의도한 출력을 표시하는 데 사용할 수 있는 데이터와 함께 저장된 Notebook 샘플이 포함되어 있습니다.

  • HowTos 디렉터리에는 기본 Python 버전 설정, Notebook에서 Microsoft Sentinel 책갈피 만들기 등과 같은 개념을 설명하는 Notebook이 포함되어 있습니다.

Microsoft Sentinel Notebook에 대한 액세스 관리

Microsoft Sentinel에서 Jupyter Notebook을 사용하려면 먼저 사용자 역할에 따라 올바른 권한이 있어야 합니다.

Microsoft Sentinel에서 JupyterLab 또는 Jupyter 클래식의 Microsoft Sentinel Notebook을 실행할 수 있지만, Notebook은 Azure Machine Learning 플랫폼에서 실행됩니다. Microsoft Sentinel에서 Notebook을 실행하려면 Microsoft Sentinel 작업 영역과 Azure Machine Learning 작업 영역 모두에 대한 적절한 액세스 권한이 있어야 합니다.

Permission 설명
Microsoft Sentinel 권한 다른 Microsoft Sentinel 리소스와 마찬가지로 Microsoft Sentinel Notebook 블레이드에서 Notebook에 액세스하려면 Microsoft Sentinel 읽기 권한자, Microsoft Sentinel 응답자 또는 Microsoft Sentinel 기여자 역할이 필요합니다.

자세한 내용은 Microsoft Sentinel의 권한을 참조하세요.
Azure Machine Learning 권한 Azure Machine Learning 작업 영역은 Azure 리소스입니다. 다른 Azure 리소스와 마찬가지로 새 Azure Machine Learning 작업 영역을 만들 때 기본 역할이 제공됩니다. 작업 영역에 사용자를 추가하고 이러한 기본 제공 역할 중 하나에 할당할 수 있습니다. 자세한 내용은 Azure Machine Learning 기본 역할Azure 기본 제공 역할을 참조하세요.

중요: Azure에서 역할 액세스의 범위를 여러 수준으로 지정할 수 있습니다. 예를 들어 작업 영역에 대한 소유자 액세스 권한이 있는 사용자에게 작업 영역을 포함하는 리소스 그룹에 대한 소유자 액세스 권한이 없을 수 있습니다. 자세한 내용은 Azure RBAC 작동 방식을 참조하세요.

Azure ML 작업 영역의 소유자는 작업 영역에 대한 역할을 추가 및 제거하고 사용자에게 역할을 할당할 수 있습니다. 자세한 내용은 다음을 참조하세요.
- Azure Portal
- PowerShell
- Azure CLI
- REST API
- Azure 리소스 관리자 템플릿
- Azure Machine Learning CLI

기본 제공 역할이 충분하지 않은 경우 사용자 지정 역할도 만들 수 있습니다. 사용자 지정 역할에는 해당 작업 영역에서 읽기, 쓰기, 삭제 및 컴퓨팅 리소스 권한이 있을 수 있습니다. 특정 작업 영역 수준, 특정 리소스 그룹 수준 또는 특정 구독 수준에서 역할을 사용하도록 설정할 수 있습니다. 자세한 내용은 사용자 지정 역할 만들기를 참조하세요.

Notebook에 대한 피드백 제출

피드백, 기능 요청, 버그 보고서 또는 기존 Notebook 개선 사항을 제출합니다. Microsoft Sentinel GitHub 리포지토리로 이동하여 문제를 작성하거나, 포크하거나, 기여 자료를 업로드합니다.

블로그, 비디오 및 기타 리소스는 다음을 참조하세요.