다음을 통해 공유


보안 코드 모범 사례

Azure Machine Learning에서 모든 원본의 파일 및 콘텐츠를 Azure로 업로드할 수 있습니다. 로드하는 Jupyter Notebook 또는 스크립트 내의 콘텐츠는 잠재적으로 세션에서 데이터를 읽고, Azure에서 조직 내 중요한 데이터에 액세스하거나, 사용자를 대신해 악의적인 프로세스를 실행할 수 있습니다.

Important

신뢰할 수 있는 원본에서만 Notebook 또는 스크립트를 실행합니다. 사용자 또는 보안 팀에서 Notebook 또는 스크립트를 검토한 위치를 예로 들 수 있습니다.

잠재적 위협

Azure Machine Learning을 사용한 개발에는 Notebooks 또는 Azure Machine Learning 스튜디오와 같은 웹 기반 개발 환경이 포함되는 경우가 많습니다. 웹 기반 개발 환경을 사용하는 경우 잠재적인 위협은 다음과 같습니다.

  • XSS(교차 사이트 스크립팅)

    • DOM 주입:이 유형의 공격은 브라우저에 표시되는 UI를 수정할 수 있습니다. 예를 들어 Jupyter Notebook에서 실행 단추가 동작하는 방식을 변경합니다.
    • 액세스 토큰 또는 쿠키: XSS 공격도 로컬 스토리지 및 브라우저 쿠키에 액세스할 수 있습니다. Microsoft Entra 인증 토큰은 로컬 스토리지에 저장됩니다. XSS 공격은 이 토큰을 사용하여 사용자 대신 API 호출을 수행한 다음 외부 시스템 또는 API로 데이터를 보낼 수 있습니다.
  • CSRF(교차 사이트 요청 위조): 이 공격은 이미지 또는 링크의 URL을 악성 스크립트나 API의 URL로 바꿀 수 있습니다. 이미지를 로드하거나 링크를 클릭하면 URL에 대한 호출이 수행됩니다.

Azure Machine Learning 스튜디오 Notebook

Azure Machine Learning 스튜디오는 브라우저에서 호스트된 Notebook 환경을 제공합니다. Notebook의 셀은 악성 코드를 포함하는 HTML 문서 또는 조각을 출력할 수 있습니다. 출력이 렌더링되면 코드를 실행할 수 있습니다.

가능한 위협:

  • XSS(교차 사이트 스크립팅)
  • CSRF(교차 사이트 요청 위조)

Azure Machine Learning에서 제공하는 완화:

  • 코드 셀 출력은 iframe에서 샌드박스가 적용됩니다. iframe은 스크립트가 부모 DOM, 쿠키 또는 세션 스토리지에 액세스할 수 없도록 합니다.
  • Markdown 셀 콘텐츠는 dompurify 라이브러리를 사용하여 정리됩니다. 이렇게 하면 markdown 셀에서 악성 스크립트가 실행되지 않도록 차단됩니다.
  • 이미지 URLMarkdown 링크는 악성 값을 확인하는 Microsoft 소유의 엔드포인트로 전송됩니다. 악의적인 값이 검색되면 엔드포인트가 요청을 거부합니다.

권장 작업은 다음과 같습니다.

  • 스튜디오에 업로드하기 전에 파일 콘텐츠를 신뢰하는지 확인합니다. 신뢰할 수 있는 파일을 업로드하고 있음을 확인해야 합니다.
  • 외부 애플리케이션을 여는 링크를 선택하면 애플리케이션을 신뢰하는지 묻는 메시지가 표시됩니다.

Azure Machine Learning 컴퓨팅 인스턴스

Azure Machine Learning 컴퓨팅 인스턴스는 Jupyter 및 Jupyter Lab을 호스트합니다. 둘 중 하나를 사용하면 Notebook 셀 내부의 코드가 악성 코드가 포함된 HTML 문서나 조각을 출력할 수 있습니다. 출력이 렌더링되면 코드를 실행할 수 있습니다. 컴퓨팅 인스턴스에서 호스트되는 RStudio 또는 Posit Workbench(이전 RStudio Workbench)를 사용하는 경우에도 동일한 위협이 적용됩니다.

가능한 위협:

  • XSS(교차 사이트 스크립팅)
  • CSRF(교차 사이트 요청 위조)

Azure Machine Learning에서 제공하는 완화:

  • 없음 Jupyter 및 Jupyter Lab은 Azure Machine Learning 컴퓨팅 인스턴스에 호스트되는 오픈 소스 애플리케이션입니다.

권장 작업은 다음과 같습니다.

  • 업로드하기 전에 파일 콘텐츠를 신뢰하는지 확인합니다. 신뢰할 수 있는 파일을 업로드하고 있음을 확인해야 합니다.

보안 문제 보고

Azure Machine Learning은 Microsoft Azure 버그 장려금 프로그램 대상입니다. 자세한 내용은 https://www.microsoft.com/msrc/bounty-microsoft-azure을 참조하세요.