이 문서에서는 Microsoft Sentinel에서 Jupyter Notebook을 실행하기 위한 기본 구성을 설정하고 간단한 쿼리를 실행하는 예제를 제공하는 Microsoft Sentinel ML Notebooks용 시작 가이드를 실행하는 방법을 설명합니다.
Microsoft Sentinel ML Notebooks용 시작 가이드에서는 Microsoft Sentinel Notebook 내에서 보안 조사 및 위협 헌팅을 향상시키기 위해 설계된 강력한 Python 라이브러리인 MSTICPy를 사용합니다. 데이터 보강, 시각화, 변칙 검색 및 자동화된 쿼리를 위한 기본 제공 도구를 제공하여 분석가가 광범위한 사용자 지정 코딩 없이 워크플로를 간소화할 수 있도록 지원합니다.
자세한 내용은 Notebook을 사용하여 조사 강화 및 Jupyter Notebook을 사용하여 보안 위협 헌팅을 참조하세요.
중요합니다
Microsoft Sentinel은 Microsoft Defender XDR 또는 E5 라이선스가 없는 고객을 포함하여 Microsoft Defender 포털에서 일반적으로 사용할 수 있습니다. 자세한 내용은 Microsoft Defender 포털의 Microsoft Sentinel을 참조하세요.
필수 조건
시작하기 전에 필요한 권한과 리소스가 있는지 확인합니다.
전제 조건 | 설명 |
---|---|
권한 | Microsoft Sentinel에서 Notebook을 사용하려면 필요한 권한이 있어야 합니다. 자세한 내용은 Microsoft Sentinel Notebook에 대한 액세스 관리를 참조하세요. |
파이썬 | 이 문서의 단계를 수행하려면 Python 3.6 이상이 필요합니다. Azure Machine Learning에서 Python 3.8 커널(권장) 또는 Python 3.6 커널을 사용할 수 있습니다. 이 문서에 설명된 Notebook을 다른 Jupyter 환경에서 사용하는 경우 Python 3.6 이상을 지원하는 커널을 사용할 수 있습니다. Microsoft Sentinel 및 Azure ML(Machine Learning) 외부에서 MSTICPy Notebook을 사용하려면 Python 환경도 구성해야 합니다. 여러 필수 패키지를 포함하고 있는 Anaconda 배포판으로 Python 3.6 이상을 설치합니다. |
MaxMind GeoLite2 | 이 Notebook은 IP 주소에 MaxMind GeoLite2 지리적 위치 조회 서비스를 사용합니다. MaxMind GeoLite2 서비스를 사용하려면 라이선스 키가 필요합니다. Maxmind 가입 페이지에서 체험 계정 및 키에 가입할 수 있습니다. |
VirusTotal | 이 Notebook은 VT(VirusTotal)를 위협 인텔리전스 원본으로 사용합니다. VirusTotal 위협 인텔리전스 조회를 사용하려면 VirusTotal 계정 및 API 키가 필요합니다. VT 엔터프라이즈 키를 사용하는 경우 msticpyconfig.yaml 파일 대신 Azure Key Vault에 저장합니다. 자세한 내용은 MSTICPY 설명서에서 비밀을 Key Vault 비밀로 지정을 참조하세요. 지금 Azure Key Vault를 설정하지 않으려면 Key Vault 스토리지를 설정할 때까지 체험 계정에 가입하고 사용하세요. |
시작 가이드 Notebook 설치 및 실행
이 절차에서는 Microsoft Sentinel을 사용하여 전자 필기장을 시작하는 방법을 설명합니다.
Defender 포털의 Microsoft Sentinel에 대해서는 Microsoft Sentinel>위협 관리>Notebook을 선택합니다. Azure Portal의 Microsoft Sentinel에 대해서는 위협 관리에서 Notebook을 선택합니다.
템플릿 탭에서 Microsoft Sentinel ML Notebook 시작 가이드를 선택합니다.
템플릿에서 만들기를 선택합니다.
이름을 편집하고 Azure Machine Learning 작업 영역을 적절하게 선택합니다.
저장을 선택하여 Azure Machine Learning 작업 영역에 저장합니다.
Notebook 시작을 선택하여 Notebook을 실행합니다. Notebook에는 다음과 같은 일련의 셀이 포함되어 있습니다.
- Markdown 셀 - Notebook 사용에 대한 지침이 포함된 텍스트 및 그래픽이 포함되어 있습니다.
- 코드 셀에는 Notebook 기능을 수행하는 실행 파일 코드가 포함되어 있습니다.
페이지 맨 위에서 컴퓨팅을 선택합니다.
Notebook의 지침을 사용하여 markdown 셀을 읽고 코드 셀을 순서대로 실행하여 계속합니다. 셀을 건너뛰거나 순서대로 실행하면 나중에 Notebook에서 오류가 발생할 수 있습니다.
수행 중인 함수에 따라 셀의 코드가 빠르게 실행되거나 완료하는 데 다소 시간이 걸릴 수 있습니다. 셀이 실행 중이면 재생 단추가 로딩 스피너로 변경되고 상태가 경과된 시간과 함께 셀 아래쪽에 표시됩니다.
코드 셀을 처음 실행할 때 컴퓨팅 설정에 따라 몇 분 정도 세션을 시작할 수 있습니다. Notebook에서 코드 셀을 실행할 준비가 되면 준비 됨 표시가 표시됩니다. 예시:
Microsoft Sentinel ML Notebook의 시작 가이드에는 다음 작업에 대한 섹션이 포함되어 있습니다.
이름 | 설명 |
---|---|
소개 | Notebook의 기본 사항을 설명하고 Notebook 작동 방식을 확인하기 위해 실행할 수 있는 샘플 코드를 제공합니다. |
노트북 및 MSTICPy 초기화 | 환경을 준비하여 나머지 노트북 파일을 실행할 수 있도록 도와줍니다. Notebook을 초기화할 때 아직 아무것도 구성하지 않았기 때문에 누락된 설정에 대한 구성 경고가 예상됩니다. |
Microsoft Sentinel에서 데이터 쿼리 | Microsoft Sentinel 설정을 확인, 구성 및 테스트하는 데 도움이 됩니다. 이 섹션의 코드를 사용하여 Microsoft Sentinel에 인증하고 샘플 쿼리를 실행하여 연결을 테스트합니다. |
외부 데이터 공급자 구성 및 테스트(VirusTotal 및 Maxmind GeoLite2) | VirusTotal에 대한 설정을 샘플 위협 인텔리전스 서비스로 구성하고, MaxMind GeoLite2를 샘플 지역 위치 조회 서비스로 구성하는 데 도움이 됩니다. 이 섹션의 코드를 사용하여 이러한 데이터 공급자에 대해 샘플 쿼리를 실행하여 테스트합니다. |
Microsoft Sentinel ML Notebook 시작 가이드의 코드는 Notebook 환경을 구성하기 위한 일련의 탭이 있는 MpConfigEdit 도구를 시작합니다. MpConfigEdit 도구를 변경할 때 계속하기 전에 변경 내용을 저장해야 합니다. Notebook에 대한 설정은 작업 영역에 대한 초기 세부 정보로 자동으로 채워지는 msticpyconfig.yaml 파일에 저장됩니다.
각 설정 및 msticpyconfig.yaml 파일을 포함하여 프로세스를 완전히 이해할 수 있도록 markdown 셀을 주의 깊게 읽어야 합니다. 다음 단계, 추가 리소스 및 Azure Sentinel Notebooks wiki에서 자주 묻는 질문은 Notebook의 마지막 부분에서 연결됩니다.
쿼리 사용자 지정(선택 사항)
Microsoft Sentinel ML 노트북 시작 안내서는 노트북에 대해 학습할 때 사용할 수 있는 샘플 쿼리를 제공합니다.
exec_query
함수를 사용하여 더 많은 쿼리 논리를 추가하거나, 전체 쿼리를 실행하여 기본 제공 쿼리를 사용자 지정합니다. 예를 들어 대부분의 기본 제공 쿼리는 필터 또는 다른 작업을 쿼리에 추가하는 데 사용할 수 있는 add_query_items
매개 변수를 지원합니다.
다음 코드 셀을 실행하여 경고 이름별로 경고 수를 요약하는 데이터 프레임을 추가합니다.
from datetime import datetime, timedelta qry_prov.SecurityAlert.list_alerts( start=datetime.utcnow() - timedelta(28), end=datetime.utcnow(), add_query_items="| summarize NumAlerts=count() by AlertName" )
전체 KQL(Kusto 쿼리 언어) 쿼리 문자열을 쿼리 공급자에 전달합니다. 쿼리는 연결된 작업 영역에 대해 실행되고, 데이터는 panda DataFrame으로 반환됩니다. 다음을 실행합니다.
# Define your query test_query = """ OfficeActivity | where TimeGenerated > ago(1d) | take 10 """ # Pass the query to your QueryProvider office_events_df = qry_prov.exec_query(test_query) display(office_events_df.head())
자세한 내용은 다음을 참조하세요.
다른 Notebook에 지침 적용
이 문서의 단계에서는 Microsoft Sentinel을 통해 Azure Machine Learning 작업 영역에서 Microsoft Sentinel ML Notebooks 시작 가이드를 실행하는 방법에 대해 설명합니다. 이 문서는 로컬을 비롯한 다른 환경에서 Notebook을 실행하는 유사한 단계를 안내하는 지침으로도 사용할 수 있습니다.
여러 Microsoft Sentinel Notebook은 자격 증명 스캐너 Notebook이나 PowerShell 및 C# 예제와 같은 MSTICPy를 사용하지 않습니다. MSTICpy를 사용하지 않는 Notebook에는 이 문서에 설명된 MSTICPy 구성이 필요하지 않습니다.
다음과 같은 다른 Microsoft Sentinel Notebook을 사용해 보세요.
- Notebook 환경 구성
- Cybersec Notebook 기능 둘러보기
- Notebook의 Machine Learning 예제
- 계정, 도메인 및 URL, IP 주소, Linux 또는 Windows 호스트에 대한 변형을 포함하는 Entity Explorer 시리즈입니다.
자세한 내용은 다음을 참조하세요.
- Microsoft Sentinel의 탐색 기능이 포함된 Jupyter Notebook
- Microsoft Sentinel의 Jupyter Notebook 및 MSTICPy에 대한 고급 구성
- 첫 번째 Microsoft Sentinel Notebook 만들기 (블로그 시리즈)
- Linux 호스트 탐색기 Notebook 안내 (블로그)
관련 콘텐츠
자세한 내용은 다음을 참조하세요.