다음을 통해 공유


Jupyter Notebook을 사용하여 보안 위협 헌팅

보안 조사 및 헌팅의 일환으로 Jupyter Notebooks를 실행하고 실행하여 데이터를 프로그래밍 방식으로 분석합니다.

이 문서에서는 Azure Machine Learning 작업 영역을 만들고, Microsoft Sentinel에서 Azure Machine Learning 작업 영역으로의 Notebook을 시작하고, Notebook에서 코드를 실행합니다.

중요합니다

Microsoft Sentinel은 Microsoft Defender XDR 또는 E5 라이선스가 없는 고객을 포함하여 Microsoft Defender 포털에서 일반적으로 사용할 수 있습니다. 자세한 내용은 Microsoft Defender 포털에서 Microsoft Sentinel을 참조하세요.

필수 조건

이 문서의 단계를 완료하기 전에 Microsoft Sentinel Notebooks에 대해 알아보는 것이 좋습니다. Jupyter Notebook을 사용하여 보안 위협을 헌팅하는 방법을 참조하세요.

Microsoft Sentinel Notebooks를 사용하려면 다음 역할 및 권한이 있어야 합니다.

유형 세부 정보
Microsoft Sentinel - Microsoft Sentinel Contributor 역할은 Microsoft Sentinel에서 전자 필기장을 저장하고 시작하기 위한 것입니다.
Azure Machine Learning - 필요한 경우 새 Azure Machine Learning 작업 영역을 만들기 위한 리소스 그룹 수준 소유자 또는 기여자 역할입니다.
- Microsoft Sentinel Notebook을 실행하는 Azure Machine Learning 작업 영역에서의 기여자 역할입니다.

자세한 내용은 Azure Machine Learning 작업 영역에 대한 액세스 관리를 참조하세요.

Microsoft Sentinel에서 Azure Machine Learning 작업 영역 만들기

작업 영역을 만들려면 공용 엔드포인트를 사용할지 아니면 프라이빗 엔드포인트를 사용할지에 따라 다음 탭 중 하나를 선택합니다.

  • 네트워크 통신에서 잠재적인 문제를 방지하려면 Microsoft Sentinel 작업 영역에 퍼블릭 엔드포인트 가 있는 경우 사용하는 것이 좋습니다.
  • 가상 네트워크에서 Azure Machine Learning 작업 영역을 사용하려면 프라이빗 엔드포인트를 사용합니다.
  1. Azure Portal의 Microsoft Sentinel의 경우 위협 관리에서 Notebook을 선택합니다.
    Defender 포털의 Microsoft Sentinel에 대해 Microsoft Sentinel>위협 관리>노트북을 선택합니다.

  2. Azure Machine Learning>새 AML 작업 영역 만들기 구성을 선택합니다.

  3. 다음 세부 정보를 입력하고 다음을 선택합니다.

    필드 설명
    구독 사용할 Azure 구독을 선택합니다.
    리소스 그룹 구독의 기존 리소스 그룹을 사용하거나 이름을 입력하여 새 리소스 그룹을 만듭니다. 리소스 그룹은 Azure 솔루션에 관련된 리소스를 보유합니다.
    작업 영역 이름 작업 영역을 식별하는 고유한 이름을 입력합니다. 이름은 리소스 그룹 전체에서 고유해야 합니다. 다른 사용자가 만든 작업 영역과 구별되고 기억하기 쉬운 이름을 사용하세요.
    지역 사용자 및 데이터 리소스와 가장 가까운 위치를 선택하여 작업 영역을 만듭니다.
    스토리지 계정 스토리지 계정은 작업 영역의 기본 데이터 저장소로 사용됩니다. 새 Azure Storage 리소스를 만들거나 구독의 기존 리소스를 선택할 수 있습니다.
    keyVault 키 자격 증명 모음은 작업 영역에 필요한 비밀과 기타 중요한 정보를 저장하는 데 사용됩니다. 새 Azure Key Vault 리소스를 만들거나 구독의 기존 리소스를 선택할 수 있습니다.
    Application Insights 작업 영역은 Azure Application Insights를 사용하여 배포된 모델에 대한 모니터링 정보를 저장합니다. 새 Azure Application Insights 리소스를 만들거나 구독의 기존 리소스를 선택할 수 있습니다.
    컨테이너 레지스트리 컨테이너 레지스트리는 교육과 배포에서 사용되는 docker 이미지를 등록하는 데 사용됩니다. 비용을 최소화하기 위해 첫 번째 이미지를 빌드한 후에만 새 Azure Container Registry 리소스가 생성됩니다. 또는 지금 리소스를 만들거나 구독에서 기존 리소스를 선택하거나 컨테이너 레지스트리를 사용하지 않으려면 없음 을 선택할 수 있습니다.
  4. 네트워킹 탭에서 모든 네트워크에서 공용 액세스 사용을 선택합니다.

    고급 또는 태그 탭에서 관련 설정을 정의한 다음 검토 + 만들기를 선택합니다.

  5. 검토 + 만들기 탭에서 정보를 검토하여 올바른지 확인한 다음 만들기를 선택하여 작업 영역 배포를 시작합니다. 예시:

    Microsoft Sentinel에서 Machine Learning 작업 영역을 검토 + 만듭니다.

    클라우드에서 작업 영역을 만드는 데 몇 분 정도 걸릴 수 있습니다. 이 시간 동안 작업 영역 개요 페이지에는 현재 배포 상태가 표시되고 배포가 완료되면 업데이트됩니다.

배포가 완료되면 Microsoft Sentinel의 Notebooks로 돌아가 새 Azure Machine Learning 작업 공간에서 노트북을 시작하십시오.

여러 Notebook이 있는 경우 Notebook을 시작할 때 사용할 기본 AML 작업 영역을 선택해야 합니다. 예시:

Notebook에 대한 기본 AML 작업 영역을 선택합니다.

Azure Machine Learning 작업 영역에서 Notebook 시작

Azure Machine Learning 작업 영역을 만든 후 Microsoft Sentinel의 해당 작업 영역에서 Notebook을 시작합니다. Azure Storage 계정에서 공용 네트워크 액세스에 대한 프라이빗 엔드포인트 또는 제한 사항이 있는 경우 Microsoft Sentinel에서 Azure Machine Learning 작업 영역에서 Notebook을 시작할 수 없습니다. Microsoft Sentinel에서 Notebook 템플릿을 복사하고 Azure Machine Learning 스튜디오에 Notebook을 업로드해야 합니다.

Azure Machine Learning 작업 영역에서 Microsoft Sentinel Notebook을 시작하려면 다음 단계를 완료합니다.

  1. Azure Portal의 Microsoft Sentinel의 경우 위협 관리에서 Notebook을 선택합니다.
    Defender 포털의 Microsoft Sentinel에 대해 Microsoft Sentinel>위협 관리>노트북을 선택합니다.

  2. 서식 파일 탭을 선택하여 Microsoft Sentinel에서 제공하는 전자 필기장을 확인합니다.

  3. Notebook을 선택하여 해당 설명, 필수 데이터 형식, 데이터 원본을 확인합니다.

  4. 사용할 전자 필기장을 찾으면 템플릿에서 만들기 를 선택하고 저장 을 선택하여 고유한 작업 영역에 복제합니다. 동일한 구독의 Azure Machine Learning 작업 영역만 선택할 수 있습니다.

  5. 필요에 따라 이름을 편집합니다. Notebook이 작업 영역에 이미 있는 경우 기존 Notebook을 덮어쓰거나 새로 만듭니다. 기본적으로 Notebook은 선택한 AML 작업 영역의 /Users/<Your_User_Name>/ 디렉터리에 저장됩니다.

    노트북을 저장하여 자신의 작업 공간에 복제하세요.

  6. 전자 필기장을 저장한 후, 전자 필기장 저장 버튼이 전자 필기장 시작 버튼으로 변경됩니다. 노트북 실행을 선택하여 AML 작업 영역에서 엽니다.

    예시:

    AML 작업 영역에서 노트북을 실행하세요.

  7. 페이지 맨 위에서 Notebook 서버에 사용할 Compute 인스턴스를 선택합니다.

    컴퓨팅 인스턴스가 없는 경우 새 인스턴스를 만듭니다. 컴퓨팅 인스턴스가 중지된 경우 인스턴스를 시작해야 합니다. 자세한 내용은 Azure Machine Learning 스튜디오에서 Notebook 실행을 참조하세요.

    사용자가 만든 컴퓨팅 인스턴스만 보고 사용할 수 있습니다. 사용자 파일은 VM과 별도로 저장되고 작업 영역의 모든 컴퓨팅 인스턴스 간에 공유됩니다.

    Notebook을 테스트하려는 새 컴퓨팅 인스턴스를 만드는 경우, 범용 범주로 컴퓨팅 인스턴스를 생성하십시오.

    커널도 Azure Machine Learning 창의 오른쪽 위에 표시됩니다. 필요한 커널이 선택되지 않은 경우 드롭다운 목록에서 다른 버전을 선택합니다.

  8. Notebook 서버가 만들어지고 시작되면 Notebook 셀을 실행합니다. 각 셀에서 실행 아이콘을 선택하여 Notebook 코드를 실행합니다.

    자세한 내용은 명령 모드 바로 가기를 참조하세요.

  9. Notebook이 중단되거나 다시 시작하려는 경우 커널을 다시 시작하고 Notebook 셀을 처음부터 다시 실행할 수 있습니다. 커널을 다시 시작하면 변수 및 기타 상태가 삭제됩니다. 다시 시작한 후 초기화 및 인증 셀을 다시 실행합니다.

    다시 시작하려면 커널 작업>을 선택합니다. 예시:

    Notebook 커널을 다시 시작합니다.

Notebook에서 코드 실행

항상 Notebook 코드 셀을 순서대로 실행합니다. 셀을 건너뛰면 오류가 발생할 수 있습니다.

Notebook에서,

  • Markdown 셀에는 HTML 및 정적 이미지를 비롯한 텍스트가 있습니다.
  • 코드 셀에는 코드가 포함되어 있습니다. 코드 셀을 선택한 후 셀 왼쪽의 재생 아이콘을 선택하거나 Shift+Enter를 눌러 셀에서 코드를 실행합니다.

예를 들어 Notebook에서 다음 코드 셀을 실행합니다.

# This is your first code cell. This cell contains basic Python code.

# You can run a code cell by selecting it and then selecting
# the Play button to the left of the cell, or by pressing SHIFT+ENTER.
# Code output displays below the code.

print("Congratulations, you just ran this code cell")

y = 2 + 2

print("2 + 2 =", y)

샘플 코드는 다음 출력을 생성합니다.

Congratulations, you just ran this code cell

2 + 2 = 4

Notebook 코드 셀 내에 설정된 변수는 셀 간에 유지되므로 셀을 함께 연결할 수 있습니다. 예를 들어 다음 코드 셀은 이전 셀의 y 값을 사용합니다.

# Note that output from the last line of a cell is automatically
# sent to the output cell, without needing the print() function.

y + 2

출력은 다음과 같습니다.

6

모든 Microsoft Sentinel Notebook 다운로드

이 섹션에서는 Microsoft Sentinel GitHub 리포지토리에 사용 가능한 모든 노트북을 Microsoft Sentinel 노트북 내에서 Git을 사용하여 Azure Machine Learning 작업 영역으로 직접 다운로드하는 방법을 설명합니다.

Microsoft Sentinel Notebook을 Azure Machine Learning 작업 영역에 저장하면 쉽게 업데이트할 수 있습니다.

  1. Microsoft Sentinel Notebook에서 다음 코드를 빈 셀에 입력한 다음, 셀을 실행합니다.

    !git clone https://github.com/Azure/Azure-Sentinel-Notebooks.git azure-sentinel-nb
    

    GitHub 리포지토리 콘텐츠의 복사본은 Azure Machine Learning 작업 영역의 사용자 폴더에 있는 azure-Sentinel-nb 디렉터리에 만들어집니다.

  2. 이 폴더에서 원하는 Notebook을 작업 디렉터리에 복사합니다.

  3. Notebook을 GitHub의 최근 변경 내용으로 업데이트하려면 다음을 실행합니다.

    !cd azure-sentinel-nb && git pull