데이터에 영향을 미치는 위험한 애플리케이션 권한

MEDIUM

설명

Microsoft에서는 Entra ID에서 애플리케이션을 통해 API를 노출하여 타사 애플리케이션이 Microsoft Entra ID 자체, Microsoft 365(O365)와 SharePoint Online 및 Exchange Online과 같은 서비스에서 작업을 수행하도록 허용합니다. "API 권한"은 이러한 API에 대한 액세스를 보호하며 해당 권한이 필요한 서비스 주체에게만 제공되어야 합니다. 이 권한 승인을 "애플리케이션 역할 할당" 또는 "동의 부여"라고 합니다.

일부 Microsoft API의 특정 권한은 환경에 중요한 데이터에 위협이 될 수 있습니다.​ 이러한 권한이 있는 서비스 주체는 전역 관리자와 같이 강력한 관리자 역할을 가진 사용자보다 더 눈에 덜 띄면서도 잠재적으로 중요한 정보에 액세스할 수 있기 때문입니다.

이러한 권한은 정상인 경우라도 데이터 침해 위험을 높입니다. 이러한 권한이 정상이 아닌 경우, 이메일과 같이 중요한 정보에 액세스하려 탈취하려는 악의적인 시도가 있다는 의미일 수 있습니다.

Microsoft Entra ID에는 두 가지 유형의 API 권한이 있습니다(Microsoft 설명서 권한 및 동의 개요 참조).

  • 애플리케이션 권한: 이 위험 노출 지표는 이 첫 번째 유형을 검사합니다.​ Microsoft Entra 테넌트 전체에 대한 위협은 관련 위험 노출 지표 "테넌트에 영향을 미치는 위험한 애플리케이션 권한"을 참조하십시오. 관리자가 동의하고 권한은 테넌트 전체에 적용됩니다. Microsoft의 설명에 따르면:

애플리케이션 권한은 로그인한 사용자 없이 실행되는 앱이 사용합니다. 예를 들어 백그라운드 서비스 또는 데몬으로 실행되는 앱입니다. 애플리케이션 권한은 관리자만 동의할 수 있습니다.

  • 위임된 권한: 관련 위험 노출 지표 "데이터에 영향을 미치는 위험한 위임된 권한"을 참조하십시오.

이 위험 노출 지표(IoE)는 서비스 주체에 관해서만 보고합니다. API 권한은 사용자가 아니라 서비스 주체에만 적용되기 때문입니다.

이 IoE는 중요한 권한의 목록을 추적하며, 대부분은 이름만으로도 이해할 수 있습니다. 하지만 다음 권한에는 더 자세한 설명이 필요합니다.

  • Group.Read.All(Microsoft Graph APIOffice 365 Exchange Online에 의해 노출됨): 이 권한은 M365 그룹의 "캘린더, 대화, 파일 및 기타 그룹 콘텐츠" 내용까지 읽을 수 있게 허용하기 때문에 매우 위험합니다. Microsoft Teams에서 사용하는 M365 그룹에 어떤 영향이 발생할지 고려하십시오.

이처럼 중요한 권한을 가진 정상 애플리케이션에서 요청하는 액세스 권한의 범위가 지나치게 넓을 수 있습니다. 이것은 "불법적인 동의 부여"라고 알려진 피싱 공격을 시사할 수도 있습니다. 이 경우 공격자가 관리자로부터 동의를 얻는 데 성공합니다.

기본적으로 이 IoE는 사용 중지된 서비스 주체를 무시합니다. 공격자가 즉시 사용할 수 없기 때문입니다.

외부 참조:

솔루션

해당 권한을 가진 것으로 보고된 서비스 주체가 정상인지 판단하는 것​부터 시작합니다. 피싱 공격에서는 표시 이름을 스푸핑하는 것도 기술적으로 가능한 일이라는 점을 유의하시기 바랍니다. 서비스 주체가 알려진 소프트웨어 공급업체 소속인 것으로 보이는 경우, 보고된 애플리케이션 ID가 공급업체의 소속이 맞는지 확인을 요청합니다. 서비스 주체가 불법이고 알려진 애플리케이션 이름을 스푸핑하는 경우, 포렌식 분석​을 해야 합니다.

  • 서비스 주체가 정상인 경우:%

    • 주체의 소유자와 역할을 파악하여 실제로 이러한 중요한 권한이 필요한지 평가합니다.
      • 내부 애플리케이션인 경우, 기능을 평가하고 최소 권한 원칙을 따라 권한을 축소합니다(Microsoft Graph API 설명서의 동의 및 권한 부여 섹션 참조). 이 참고 자료는 각 API에 필요한 최소 권한이 명시되어 있습니다.
      • 타사 애플리케이션인 경우, 이 애플리케이션에 대하여 데이터 액세스 권한이 적절한지 유효성을 검사하십시오(경계는 동일함). 적절하지 않은 경우, 공급업체에 권한이 필요한 이유와 권한을 안전하게 제거할 수 있는지 문서로 설명하도록 합니다.
    • 심층 방어 수단으로, 필수 워크로드 ID 프리미엄 라이선스가 있는 경우 워크로드 ID용 조건부 액세스를 이용하는 방안도 고려할 만합니다. 이렇게 하면 고위험 주체를 신뢰할 수 있는, 알려진 위치로만 제한하고 위험한 로그인 기준으로 액세스를 제한할 수 있습니다.
  • 애플리케이션 권한 은 항상 관리자 동의가 필수입니다. 이러한 관리자를 교육하여 의심스러운 애플리케이션과 중요한 권한(예: 데이터 관련 애플리케이션 권한)을 알아볼 수 있도록 해야 합니다. 이것은 대규모 애플리케이션 거버넌스 노력의 일부분이어야 합니다.

  • 불법적인 것으로 간주되는 권한은 제거하십시오. Tenable은 심층 포렌식 조사를 수행할 계획인 경우, 먼저 증거를 남겨둘 것을 권장합니다. Microsoft Entra 포털에는 엔터프라이즈 애플리케이션에 부여된 권한을 검토하는 전용 기능이 있습니다.

Microsoft에서는 2개의 가이드, 애플리케이션 동의 부여 조사를 수행하는 방법과 불법적 동의 부여를 탐지하여 수정하는 방법을 게시했습니다.

위험한 권한을 애플리케이션에서 제거하는 것이 아니라("앱 등록" 메뉴에 있음), 서비스 주체에서 제거해야 합니다(포털의 "엔터프라이즈 애플리케이션" 메뉴에 있음). 위험한 권한을 애플리케이션에서 제거하면 권한 요청만 삭제되고 실제 권한 할당에는 영향이 없습니다.

마지막으로, Graph API 활동 로그를 사용으로 설정하여 Graph API 이벤트에 관한 상세한 정보를 수집하면 SOC 또는 SIEM이 의심스러운 활동을 식별하거나 공격이 발생할 때 포렌식 조사를 수행하는 데 도움이 됩니다. 이 외에, 특히 여기에 강조 표시된 고위험 서비스 주체를 위주로 서비스 주체 로그인을 모니터링하고 의심스러운 행동에 대한 알림을 구성하십시오.

지표 세부 정보

이름: 데이터에 영향을 미치는 위험한 애플리케이션 권한

코드명: DANGEROUS-APPLICATION-PERMISSIONS-AFFECTING-DATA

심각도: Medium

유형: Microsoft Entra ID Indicator of Exposure

MITRE ATT&CK 정보: