이 페이지에서는 Security Command Center의 Risk Engine에서 생성된 공격 노출 점수와 공격 경로를 학습, 조정, 사용하는 데 도움이 되는 주요 개념, 원칙, 제한사항을 설명합니다.
다음 두 가지 모두에 대해 공격 경로 점수와 공격 경로가 생성됩니다.
- 유효한 고가치 리소스 세트의 리소스 인스턴스를 노출하는 취약점 및 구성 오류 발견 항목(통칭 취약점 발견 항목)
- 유효한 고가치 리소스 세트의 리소스
공격 노출 점수와 공격 경로를 사용하려면 조직 수준에서 Security Command Center 프리미엄 또는 엔터프라이즈 등급을 활성화해야 합니다. 프로젝트 수준 활성화에는 공격 노출 점수 및 공격 경로를 사용할 수 없습니다.
가능성을 나타내는 공격 경로
공격 경로에 실제 공격의 증거가 표시되지는 않습니다.
Risk Engine은 가상의 공격자가 Google Cloud 환경에 대한 액세스 권한을 얻고 Security Command Center에서 이미 발견한 공격 경로와 취약점을 발견하면 수행할 수 있는 작업을 시뮬레이션하여 공격 경로와 공격 노출 점수를 생성합니다.
각 공격 경로는 공격자가 특정 리소스에 액세스할 수 있을 때 사용할 수 있는 하나 이상의 공격 방법을 보여줍니다. 이러한 공격 방법을 실제 공격과 혼동하지 마세요.
마찬가지로 Security Command Center 발견 항목 또는 리소스의 공격 노출 점수가 높더라도 공격이 진행 중이라는 의미는 아닙니다.
실제 공격을 감시하려면 Event Threat Detection 및 Container Threat Detection과 같은 위협 감지 서비스에서 생성한 THREAT
클래스 발견 항목을 모니터링합니다.
자세한 내용은 이 페이지의 다음 섹션을 참조하세요.
공격 노출 점수
Security Command Center 발견 항목 또는 리소스의 공격 노출 점수는 악의적인 행위자가 Google Cloud 환경에 대한 액세스 권한을 얻으려는 경우 잠재적인 공격에 리소스가 얼마나 노출되어 있는지를 측정합니다.
유해한 조합 발견 항목의 공격 노출 점수는 Google Cloud 콘솔의 발견 항목 페이지와 같은 일부 맥락에서는 유해한 조합 점수라고 합니다.
점수 계산 방법에 대한 설명, 발견 항목 해결 우선순위 지정에 대한 일반적인 안내 및 다른 특정 컨텍스트의 공격 노출 점수라는 용어는 유해한 조합 점수에도 적용됩니다.
발견 항목의 경우 점수는 감지된 보안 문제가 하나 이상의 고가치 리소스를 잠재적 사이버 공격에 얼마나 노출하는지를 측정합니다. 고가치 리소스의 경우 점수는 리소스가 잠재적 사이버 공격에 얼마나 노출되어 있는지를 측정합니다.
소프트웨어 취약점, 구성 오류, 유해한 조합 발견 항목에 대한 점수를 사용하여 해당 발견 항목의 해결 우선순위를 지정합니다.
리소스에 대한 공격 노출 점수를 사용하여 비즈니스에 가장 중요한 리소스를 선제적으로 보호합니다.
공격 경로 시뮬레이션에서 Risk Engine은 항상 공개 인터넷에서 시뮬레이션된 공격을 시작합니다. 따라서 공격 노출 점수는 악의적인 또는 태만한 내부 행위자에 대한 가능한 노출을 고려하지 않습니다.
공격 노출 점수를 받는 발견 항목
공격 노출 점수는 지원되는 발견 항목 카테고리에 나열된 활성 발견 항목 클래스에 적용됩니다.
공격 경로 시뮬레이션에는 숨겨진 발견 항목이 포함되므로 Risk Engine은 숨겨진 발견 항목에 대한 점수와 공격 경로도 계산합니다.
공격 경로 시뮬레이션에는 활성 발견 항목만 포함됩니다. 상태가 INACTIVE
인 발견 항목은 시뮬레이션에 포함되지 않으므로 점수를 받지 않으며 공격 경로에 포함되지 않습니다.
공격 노출 점수를 받는 리소스
공격 경로 시뮬레이션은 고가치 리소스 세트에서 지원되는 리소스 유형의 공격 노출 점수를 계산합니다. 리소스 값 구성을 만들어서 고가치 리소스 세트에 속하는 리소스를 지정합니다.
고가치 리소스 세트에 속하는 리소스의 공격 노출 점수가 0인 경우 공격 경로 시뮬레이션에서 잠재적 공격자가 활용할 수 있는 리소스 경로를 식별하지 못한 것입니다.
공격 경로 시뮬레이션에서는 다음 리소스 유형을 지원합니다.
aiplatform.googleapis.com/Dataset
aiplatform.googleapis.com/Featurestore
aiplatform.googleapis.com/MetadataStore
aiplatform.googleapis.com/Model
aiplatform.googleapis.com/TrainingPipeline
bigquery.googleapis.com/Dataset
cloudfunctions.googleapis.com/CloudFunction
compute.googleapis.com/Instance
container.googleapis.com/Cluster
sqladmin.googleapis.com/Instance
storage.googleapis.com/Bucket
점수 계산
공격 경로 시뮬레이션을 실행할 때마다 공격 노출 점수를 다시 계산합니다. 각 공격 경로 시뮬레이션은 시뮬레이션된 공격자가 중요한 리소스에 도달하여 손상시키는 데 사용되는 것으로 알려진 공격 방법과 기법을 시도하는 몇 가지 시뮬레이션을 실제로 실행합니다.
공격 경로 시뮬레이션은 하루에 4회(6시간마다) 실행할 수 있습니다. 조직이 성장함에 따라 시뮬레이션에는 시간이 오래 걸리지만 항상 하루에 한 번 이상 실행됩니다. 시뮬레이션 실행은 리소스 또는 리소스 값 구성의 생성, 수정, 삭제에 의해 트리거되지 않습니다.
시뮬레이션은 다음을 포함한 다양한 측정항목을 사용하여 점수를 계산합니다.
- 노출된 고가치 리소스에 할당된 우선순위입니다.
할당할 수 있는 우선순위 값은 다음과 같습니다.
- 높음 = 10
- 중간 = 5
- 낮음 = 1
- 공격자가 특정 리소스에 도달하기 위해 선택할 수 있는 경로 수
- 시뮬레이션된 공격자가 특정 공격 경로의 끝에서 고가치 리소스에 도달하여 침해할 수 있는 횟수로, 총 시뮬레이션 횟수의 백분율로 표시됩니다.
- 발견 항목의 경우에만 감지된 취약점 또는 잘못된 구성으로 노출된 고가치 리소스의 수입니다.
리소스의 경우 공격 노출 점수는 0~10 사이일 수 있습니다.
개략적으로 시뮬레이션은 성공한 공격 비율에 리소스의 우선순위 수치를 곱하여 리소스 점수를 계산합니다.
발견 항목의 경우 점수에 고정된 상한이 없습니다. 고가치 리소스 세트의 노출된 리소스에 대한 공격 경로에서 발견 항목이 더 자주 발생하고 이러한 리소스의 우선순위 값이 높을수록 점수가 커집니다.
개략적으로 시뮬레이션은 리소스 점수와 동일한 계산 방법으로 발견 항목 점수를 계산하지만, 발견 항목 점수의 경우 시뮬레이션은 발견 항목에서 노출하는 고가치 리소스의 수를 계산 결과에 곱합니다.
점수 변경
공격 경로 시뮬레이션이 실행될 때마다 점수가 변경될 수 있습니다. 발견 항목 또는 리소스의 점수가 오늘은 0점이더라도 내일은 0점이 아닐 수 있습니다.
점수는 다음과 같은 다양한 이유로 변경됩니다.
- 고가치 리소스를 직접적으로 또는 간접적으로 노출하는 취약점 감지 또는 해결
- 환경의 리소스 추가 또는 삭제
시뮬레이션이 실행된 후 발견 항목 또는 리소스에 대한 변경사항은 다음 시뮬레이션이 실행될 때까지 점수에 반영되지 않습니다.
점수를 사용하여 발견 항목 해결 우선순위 지정
공격 노출 또는 유해한 조합 점수를 기준으로 발견 항목 해결의 우선순위를 효과적으로 지정하려면 다음 사항을 고려하세요.
- 점수가 0보다 큰 모든 발견 항목은 어떤 방식으로든 고가치 리소스를 잠재적 공격에 노출시키므로 점수가 0점인 발견 항목보다 우선적으로 해결해야 합니다.
- 발견 항목의 점수가 높을수록 발견 항목이 고가치 리소스를 더 많이 노출시키며, 해결 우선순위를 더 높게 지정해야 합니다.
일반적으로 점수가 가장 높고 고가치 리소스에 대한 공격 경로를 가장 효과적으로 차단하는 발견 항목을 해결하는 데 가장 높은 우선순위를 두어야 합니다.
유해한 조합 발견 항목과 다른 발견 항목 클래스의 발견 항목 점수가 거의 동일한 경우 유해한 조합 발견 항목의 해결에 우선순위를 둡니다. 유해한 조합 발견 항목은 공개 인터넷에서 클라우드 환경에 대한 액세스 권한을 획득한 공격자가 추적할 수 있는 높은 가치의 리소스 하나 이상으로 이어지는 완전한 경로를 나타내기 때문입니다.
Google Cloud 콘솔 또는 보안 운영 콘솔의 Security Command Center 발견 항목 페이지에서 열 제목을 클릭하여 점수별로 발견 항목을 정렬할 수 있습니다.
Google Cloud 콘솔에서는 지정한 숫자보다 공격 노출 점수가 높은 발견 항목만 반환하는 발견 항목 쿼리에 필터를 추가하여 점수가 가장 높은 발견 항목을 볼 수도 있습니다.
또한 보안 운영 콘솔의 케이스 페이지에서 공격 노출 점수에 따라 유해한 조합 케이스를 정렬할 수 있습니다.
해결할 수 없는 발견 항목
알려진 허용 가능한 위험을 나타내거나 발견 항목을 쉽게 해결할 수 없기 때문에 공격 노출 점수가 높은 발견 항목은 해결하지 못할 수 있습니다. 이러한 경우에는 다른 방법으로 위험을 완화해야 할 수 있습니다. 관련 공격 경로를 검토하면 다른 완화 방법에 대한 아이디어를 얻을 수 있습니다.
공격 노출 점수를 사용하여 리소스 보호
리소스의 공격 노출 점수가 0이 아닌 경우 공격 경로 시뮬레이션에 의해 공개 인터넷에서 리소스로 하나 이상의 공격 경로가 식별된 것입니다.
고가치 리소스의 공격 노출 점수를 보려면 다음 단계를 수행합니다.
Google Cloud 콘솔에서 Security Command Center의 애셋 페이지로 이동합니다.
고가치 리소스 세트 탭을 선택합니다. 고가치 리소스 세트의 리소스는 공격 노출 점수 내림차순으로 표시됩니다.
공격 노출 점수 열의 행에 있는 숫자를 클릭하여 리소스의 공격 경로를 표시합니다. 공개 인터넷에서 리소스로의 공격 경로가 표시됩니다.
발견 항목을 나타내는 노드에서 빨간색 원을 찾으면서 공격 경로를 검토합니다. 공격 경로를 해석하는 방법에 대한 자세한 내용은 공격 경로를 참조하세요.
빨간색 원이 있는 노드를 클릭하여 발견 항목을 확인합니다.
발견 항목을 해결하는 조치를 시작합니다.
설정의 공격 경로 시뮬레이션 탭에서 마지막 시뮬레이션에 사용된 중요 리소스 보기를 클릭하여 고가치 리소스의 공격 노출 점수를 확인할 수도 있습니다.
공격 노출 점수 0
리소스의 공격 노출 점수가 0
이면 Security Command Center가 최신 공격 경로 시뮬레이션에서 공격자가 리소스에 도달할 수 있는 잠재적 경로를 식별하지 못한 것입니다.
발견 항목의 공격 노출 점수 0
은 최신 공격 시뮬레이션에서 시뮬레이션된 공격자가 발견 항목을 통해 고가치 리소스에 도달할 수 없음을 의미합니다.
그러나 공격 노출 점수가 0
이라고 해서 위험이 없는 것은 아닙니다. 공격 노출 점수는 지원되는 Google Cloud 서비스, 리소스 및 Security Command Center 발견 항목이 공개 인터넷에서 발생하는 잠재적 위협에 얼마나 노출되어 있는지를 보여줍니다. 예를 들어 내부 행위자, 제로데이 취약점, 타사 인프라의 위협은 이 점수에 반영되지 않습니다.
공격 노출 점수 없음
발견 항목 또는 리소스에 점수가 없는 경우 다음과 같은 이유 때문일 수 있습니다.
- 최근 공격 경로 시뮬레이션 후 발견 항목이 실행된 경우
- 리소스가 최신 공격 경로 시뮬레이션 이후에 고가치 리소스 세트에 추가되었습니다.
- 공격 노출 기능에서 발견 항목 카테고리 또는 리소스 유형을 현재 지원하지 않습니다.
지원되는 발견 항목 카테고리 목록은 Risk Engine 기능 지원을 참고하세요.
지원되는 리소스 유형 목록은 공격 노출 점수를 받는 리소스를 참고하세요.
리소스 값
Google Cloud의 모든 리소스에 값이 있지만, Security Command Center는 가치 있는 리소스라고도 하는 고가치 리소스로 지정된 리소스에 대해서만 공격 경로를 식별하고 공격 노출 점수를 계산합니다.
고가치 리소스
Google Cloud의 고가치 리소스는 잠재적 공격으로부터 비즈니스를 보호하는 데 특히 중요한 리소스입니다. 예를 들어 고가치 리소스는 중요하거나 민감한 정보를 저장하거나 비즈니스에 핵심적인 워크로드를 호스팅하는 리소스일 수 있습니다.
리소스 값 구성에서 리소스의 속성을 정의하여 리소스를 고가치 리소스로 지정합니다. Security Command Center는 구성에서 지정한 속성과 일치하는 모든 리소스 인스턴스를 고가치 리소스로 간주하며, 이 한도는 최대 1,000개까지입니다.
우선순위 값
고가치로 지정한 리소스 중에서도 일부 리소스의 보안을 다른 리소스보다 우선해야 할 수 있습니다. 예를 들어 데이터 리소스 세트에 고가치 데이터가 포함될 수 있지만, 이러한 데이터 리소스 중 일부에는 나머지보다 더 민감한 데이터가 포함될 수 있습니다.
리소스를 고가치로 지정하는 리소스 값 구성에서 우선순위 값을 할당하여 고가치 리소스 세트 내의 리소스 보안에 대해 우선순위를 지정할 필요성을 점수에 반영하세요.
Sensitive Data Protection을 사용하면 리소스에 포함된 데이터의 민감도에 따라 리소스의 우선순위를 자동으로 지정할 수 있습니다.
리소스 우선순위 값 수동 설정
리소스 값 구성에서 다음 우선순위 값 중 하나를 지정하여 일치하는 고가치 리소스에 우선순위를 할당합니다.
LOW
= 1MEDIUM
= 5HIGH
= 10NONE
= 0
리소스 값 구성에서 우선순위 값을 LOW
로 지정하해도 일치하는 리소스는 여전히 고가치 리소스이며, 공격 경로 시뮬레이션에서 낮은 우선순위로 간주되고 우선순위 값이 MEDIUM
또는 HIGH
인 고가치 리소스보다 낮은 공격 노출 점수가 할당될 뿐입니다.
여러 구성이 동일한 리소스에 서로 다른 값을 할당하는 경우 구성이 NONE
값을 할당하지 않는 한 가장 높은 값이 적용됩니다.
리소스 값이 NONE
이면 일치하는 리소스를 고가치 리소스로 간주되지 않도록 제외하고 동일한 리소스에 대한 다른 리소스 값 구성을 모두 재정의합니다. 따라서 NONE
을 지정하는 모든 구성이 제한된 리소스 세트에만 적용되도록 합니다.
데이터 민감도에 따라 리소스 우선순위 값 자동 설정
Sensitive Data Protection 검색을 사용하고 Security Command Center에 데이터 프로필을 게시하는 경우 Security Command Center를 구성하여, 리소스에 포함된 데이터의 민감도에 따라 특정 고가치 리소스의 우선순위 값을 자동으로 설정할 수 있습니다.
리소스 값 구성에서 리소스를 지정할 때 데이터 민감도 우선순위 지정을 사용 설정합니다.
사용 설정하면 Sensitive Data Protection 탐색에서 리소스의 데이터를 MEDIUM
또는 HIGH
민감도로 분류하는 경우 기본적으로 공격 경로 시뮬레이션에서 리소스의 우선순위 값을 해당 값으로 설정합니다.
데이터 민감도 수준은 Sensitive Data Protection에서 정의하지만 다음과 같이 해석할 수 있습니다.
- 높은 민감도 데이터
- Sensitive Data Protection 탐색 중에 리소스에서 높은 민감도 데이터의 인스턴스가 하나 이상 발견되었습니다.
- 중간 민감도 데이터
- Sensitive Data Protection 탐색 중에 리소스에서 중간 민감도 데이터의 인스턴스가 하나 이상 발견되었고 높은 민감도 데이터의 인스턴스는 발견되지 않았습니다.
- 낮은 민감도 데이터
- Sensitive Data Protection 탐색 중에 리소스에서 민감한 데이터, 자유 형식 텍스트 또는 구조화되지 않은 데이터가 감지되지 않았습니다.
Sensitive Data Protection 탐색 중에 일치하는 데이터 리소스에서 낮은 민감도 데이터만 식별된 경우 리소스가 고가치 리소스로 지정되지 않습니다.
낮은 민감도 데이터만 포함된 데이터 리소스를 우선순위가 낮은 고가치 리소스로 지정해야 하는 경우 중복 리소스 값 구성을 만들면서 데이터 민감도 우선순위 지정을 사용 설정하는 대신 우선순위 값을 LOW
로 지정하세요.
Sensitive Data Protection을 사용하는 구성은 LOW
우선순위 값을 할당하는 구성을 재정의하지만 HIGH
또는 MEDIUM
민감도 데이터가 포함된 리소스에만 적용됩니다.
리소스 값 구성에서 민감한 정보가 감지될 때 Security Command Center에서 사용하는 기본 우선순위 값을 변경할 수 있습니다.
Sensitive Data Protection에 대한 자세한 내용은 Sensitive Data Protection 개요를 참조하세요.
데이터 민감도 우선순위 지정 및 기본 고가치 리소스 세트
고가치 리소스 세트를 직접 만들기 전에 Security Command Center는 기본 고가치 리소스 세트를 사용하여 공격 노출 점수와 공격 경로를 계산합니다.
Sensitive Data Protection 탐색을 사용하면 Security Command Center에서 HIGH
또는 MEDIUM
민감도 데이터가 포함된 지원되는 데이터 리소스 유형의 인스턴스를 기본 고가치 리소스 세트에 자동으로 추가합니다.
자동화된 데이터 민감도 우선순위 값에 지원되는 Google Cloud 리소스 유형
공격 경로 시뮬레이션은 다음 데이터 리소스 유형에 대해서만 Sensitive Data Protection 탐색의 데이터 민감도 분류를 기준으로 우선순위 값을 자동으로 설정할 수 있습니다.
bigquery.googleapis.com/Dataset
sqladmin.googleapis.com/Instance
storage.googleapis.com/Bucket
자동화된 데이터 민감도 우선순위 값에 지원되는 AWS 리소스 유형
공격 경로 시뮬레이션은 다음 AWS 데이터 리소스 유형에 대해서만 Sensitive Data Protection 탐색의 데이터 민감도 분류를 기준으로 우선순위 값을 자동으로 설정할 수 있습니다.
- Amazon S3 버킷
고가치 리소스 세트
고가치 리소스 세트는 Google Cloud 환경에서 보안 및 보호에 가장 중요한 것으로 정의된 리소스의 모음입니다.
고가치 리소스 세트를 정의하려면 고가치 리소스 세트에 속하는 Google Cloud 환경의 리소스를 지정해야 합니다. 고가치 리소스 세트를 정의해야만 공격 노출 점수, 공격 경로, 유해한 조합 발견 항목이 보안 우선순위를 정확하게 반영하지 않습니다.
리소스 값 구성을 만들어서 고가치 리소스 세트에 리소스를 지정합니다. 모든 리소스 값 구성의 조합에 따라 고가치 리소스 세트가 정의됩니다. 자세한 내용은 리소스 값 구성을 참조하세요.
첫 번째 리소스 값 구성을 정의할 때까지는 Security Command Center가 기본 고가치 리소스 세트를 사용합니다. 기본 세트는 조직 전체에서 공격 경로 시뮬레이션이 지원하는 모든 리소스 유형에 적용됩니다. 자세한 내용은 기본 고가치 리소스 세트를 참조하세요.
공격 노출 점수 및 일치하는 구성을 포함하여 마지막 공격 경로 시뮬레이션에 사용된 고가치 리소스 세트를 보려면 고가치 리소스 세트 보기를 참고하세요.
리소스 값 구성
리소스 값 구성으로 고가치 리소스 세트의 리소스를 관리합니다.
Google Cloud 콘솔의 Security Command Center 설정 페이지에 있는 공격 경로 시뮬레이션 탭에서 리소스 값 구성을 만듭니다.
리소스 값 구성에서 Security Command Center가 고가치 리소스 세트에 추가할 리소스에 필요한 속성을 지정합니다.
지정할 수 있는 속성에는 리소스 유형, 리소스 태그, 리소스 라벨, 상위 프로젝트, 폴더, 조직이 포함됩니다.
또한 구성에서 리소스에 리소스 값을 할당합니다. 리소스 값은 고가치 리소스 세트의 다른 리소스와 비교하여 구성의 리소스 우선순위를 지정합니다. 자세한 내용은 리소스 값을 참조하세요.
한 Google Cloud 조직에서 리소스 값 구성을 최대 100개까지 만들 수 있습니다.
생성한 모든 리소스 값 구성은 Security Command Center가 공격 경로 시뮬레이션에 사용하는 고가치 리소스 세트를 정의합니다.
리소스 속성
리소스가 고가치 리소스 세트에 포함되려면 리소스의 속성이 리소스 값 구성에 지정된 속성과 일치해야 합니다.
지정할 수 있는 속성은 다음과 같습니다.
- 리소스 유형 또는
Any
.Any
가 지정된 경우 구성은 지정된 범위 내에서 지원되는 모든 리소스 유형에 적용됩니다.Any
가 기본값입니다. - 리소스가 있어야 하는 범위(상위 조직, 폴더 또는 프로젝트). 기본 범위는 조직입니다. 조직 또는 폴더를 지정하면 하위 폴더 또는 프로젝트의 리소스에도 구성이 적용됩니다.
- 필요한 경우 각 리소스에 포함되어야 하는 태그 또는 라벨 하나 이상.
하나 이상의 리소스 값 구성을 지정하는 경우 Google Cloud 환경의 리소스가 구성에 지정된 속성과 일치하지 않으면 Security Command Center에서 SCC Error
발견 항목을 실행하고 기본 고가치 리소스 세트로 되돌립니다.
기본 고가치 리소스 세트
Security Command Center는 기본 고가치 리소스 세트를 사용하여 리소스 값 구성이 정의되어 있지 않거나 정의된 구성이 리소스와 일치하지 않는 경우 공격 노출 점수를 계산합니다.
Security Command Center는 기본 고가치 리소스에 속하는 리소스에 우선순위 값 LOW
를 할당하지만, Sensitive Data Protection 탐색을 사용하는 경우에는 Security Command Center가 높은 민감도 또는 중간 민감도 데이터를 포함하는 리소스에 해당 우선순위 값인 HIGH
또는 MEDIUM
을 할당합니다.
환경에 하나 이상의 리소스와 일치하는 리소스 값 구성이 하나 이상 있으면 Security Command Center에서 기본 고가치 리소스 세트 사용을 중지합니다.
보안 우선순위를 정확하게 반영하는 공격 노출 점수와 유해한 조합 점수를 받으려면 기본 고가치 리소스 세트를 자체 고가치 리소스 세트로 바꿉니다. 자세한 내용은 고가치 리소스 세트 정의 및 관리를 참고하세요.
다음 목록에서는 기본 고가치 리소스 세트에 포함된 리소스 유형을 보여줍니다.
bigquery.googleapis.com/Dataset
cloudfunctions.googleapis.com/CloudFunction
compute.googleapis.com/Instance
container.googleapis.com/Cluster
sqladmin.googleapis.com/Instance
storage.googleapis.com/Bucket
고가치 리소스 세트의 리소스 한도
Security Command Center는 고가치 리소스의 리소스 수를 1,000개로 제한합니다.
하나 이상의 리소스 값 구성에 있는 속성 사양이 매우 광범위하면 속성 사양과 일치하는 리소스 수가 1,000개를 초과할 수 있습니다.
일치하는 리소스 수가 한도를 초과하면 Security Command Center는 리소스 수가 한도 안으로 들어올 때까지 세트에서 리소스를 제외합니다. Security Command Center는 가장 낮은 값이 할당된 리소스를 먼저 제외합니다. Security Command Center는 동일한 값이 할당된 리소스 중에서 제외된 리소스를 리소스 유형에 분산하는 알고리즘으로 리소스 인스턴스를 제외합니다.
고가치 리소스 세트에서 제외된 리소스는 공격 노출 점수 계산에 고려되지 않습니다.
Security Command Center는 점수 계산의 인스턴스 한도를 초과하면 사용자에게 알리기 위해 SCC error
발견 항목을 실행하고 Google Cloud Console의 공격 경로 시뮬레이션 설정 탭에 메시지를 표시합니다.
Security Command Center에서는 기본 고가치 세트가 인스턴스 한도를 초과하면 SCC error
발견 항목을 실행하지 않습니다.
한도를 초과하지 않으려면 리소스 값 구성을 조정하여 고가치 리소스 세트의 인스턴스를 미세 조정합니다.
고가치 리소스 세트를 미세 조정하기 위해 수행할 수 있는 몇 가지 작업은 다음과 같습니다.
- 태그 또는 라벨을 사용하여 지정된 리소스 유형 또는 지정된 범위 내에서 일치하는 항목 수를 줄입니다.
- 다른 구성에 지정된 리소스의 하위 세트에
NONE
값을 할당하는 리소스 값 구성을 만듭니다.NONE
값을 지정하면 다른 구성이 재정의되고 고가치 리소스 세트에서 리소스 인스턴스가 제외됩니다. - 리소스 값 구성에서 범위 사양을 줄입니다.
LOW
값을 할당하는 리소스 값 구성을 삭제합니다.
고가치 리소스 선택
고가치 리소스 세트를 채우려면 해당 환경에서 진정한 고가치 리소스 인스턴스를 결정해야 합니다.
일반적으로 진정한 고가치 리소스는 민감한 정보를 처리하고 저장하는 리소스입니다. 예를 들어 Google Cloud에서는 Compute Engine 인스턴스, BigQuery 데이터 세트 또는 Cloud Storage 버킷일 수 있습니다.
점프 서버와 같이 고가치 리소스에 인접한 리소스는 높은 값으로 지정할 필요가 없습니다. 공격 경로 시뮬레이션은 이러한 인접 리소스를 이미 고려하고 있으며, 이를 높은 값으로 지정하면 공격 노출 점수의 안정성이 낮아질 수 있습니다.
멀티 클라우드 지원
공격 경로 시뮬레이션은 다른 클라우드 서비스 제공업체 플랫폼에서의 배포 위험을 평가할 수 있습니다.
다른 플랫폼에 연결한 후 Google Cloud의 리소스와 마찬가지로 리소스 값 구성을 만들어 다른 클라우드 서비스 제공업체에서 중요한 리소스를 지정할 수 있습니다.
Security Command Center는 다른 클라우드 플랫폼용 시뮬레이션과는 별개로 클라우드 플랫폼용 시뮬레이션을 실행합니다.
다른 클라우드 서비스 제공업체의 첫 번째 리소스 값 구성을 만들기 전에 Security Command Center는 클라우드 서비스 제공업체별로 고유한 기본 고가치 리소스 세트를 사용합니다. 기본 고가치 리소스 세트는 모든 지원되는 리소스를 고가치 리소스로 지정합니다.
지원되는 클라우드 서비스 제공업체 플랫폼
Google Cloud 외에도 Security Command Center는 Amazon Web Services(AWS)에 대한 공격 경로 시뮬레이션을 실행할 수 있습니다. 자세한 내용은 다음을 참고하세요.
공격 경로
공격 경로는 가상의 공격자가 공개 인터넷에서 고가치 리소스 인스턴스 중 하나에 도달하기 위해 사용할 수 있는 잠재적 경로 하나 이상의 대화형 시각적 묘사입니다.
공격 경로 시뮬레이션은 Security Command Center가 환경에서 감지한 취약점 및 잘못된 구성에 공격자가 알려진 공격 방법을 적용하여 고가치 리소스에 도달을 시도한 경우 발생할 수 있는 공격을 모델링하여 잠재적 공격 경로를 식별합니다.
Google Cloud 콘솔에서 발견 항목 또는 리소스의 공격 노출 점수를 클릭하여 공격 경로를 볼 수 있습니다.
보안 운영 콘솔에서 유해한 조합 케이스를 볼 때 케이스 개요 탭에서 유해한 조합에 대한 간소화된 공격 경로를 볼 수 있습니다. 간소화된 공격 경로에는 전체 공격 경로로 연결되는 링크가 포함됩니다. 유해한 조합 발견 항목의 공격 경로에 대한 자세한 내용은 유해한 조합 공격 경로를 참조하세요.
더 큰 공격 경로를 볼 때 디스플레이 오른쪽에 있는 공격 경로의 축소된 보기 주변에서 빨간색 정사각형 초점 영역 선택기를 드래그하여 공격 경로 보기를 변경할 수 있습니다.
공격 경로가 Google Cloud 콘솔에 표시되면 AI 요약미리보기를 클릭하여 공격 경로에 대한 설명을 표시할 수 있습니다. 이 설명은 인공지능(AI)을 사용하여 동적으로 생성됩니다. 자세한 내용은 AI 생성 요약을 참조하세요.
공격 경로에서 공격 경로의 리소스는 상자 또는 노드로 표시됩니다. 선은 리소스 간의 잠재적 접근성을 나타냅니다. 노드와 선은 공격 경로를 나타냅니다.
공격 경로 노드
공격 경로의 노드는 공격 경로의 리소스를 나타냅니다.
노드 정보 표시
공격 경로에서 각 노드를 클릭하면 해당 노드에 대한 자세한 정보를 표시할 수 있습니다.
노드에서 리소스 이름을 클릭하면 리소스에 영향을 주는 발견 항목과 리소스에 대한 추가 정보가 표시됩니다.
노드 펼치기를 클릭하면 공격자가 리소스에 액세스할 수 있게 되었을 때 사용할 수 있는 공격 방법이 표시됩니다.
노드 유형
노드에는 다음과 같은 세 가지 유형이 있습니다.
- 시뮬레이션된 공격의 출발지 또는 진입점(공개 인터넷). 진입점 노드를 클릭하면 공격자가 환경에 대한 액세스 권한을 얻는 데 사용할 수 있는 공격 방법과 함께 진입점에 대한 설명이 표시됩니다.
- 공격자가 경로를 이동하는 데 사용할 수 있는 영향을 받는 리소스.
- 경로 끝에 있는 노출된 리소스(고가치 리소스 세트의 리소스 중 하나). 정의된 또는 기본 고가치 리소스 세트의 리소스만 노출된 리소스가 될 수 있습니다. 리소스 값 구성을 만들어서 고가치 리소스 세트를 정의합니다.
업스트림 및 다운스트림 노드
공격 경로에서 노드는 다른 노드의 업스트림 또는 다운스트림일 수 있습니다. 업스트림 노드는 진입점 및 공격 경로 상단에 가까이 있습니다. 다운스트림 노드는 공격 경로 하단의 노출된 고가치 리소스와 가까이 있습니다.
여러 컨테이너 리소스 인스턴스를 나타내는 노드
인스턴스가 동일한 특성을 공유하는 경우 노드는 특정 컨테이너 리소스 유형의 여러 인스턴스를 나타낼 수 있습니다.
다음 컨테이너 리소스 유형의 여러 인스턴스가 단일 노드로 표시될 수 있습니다.
- ReplicaSet 컨트롤러
- Deployment 컨트롤러
- Job 컨트롤러
- CronJob 컨트롤러
- DaemonSet 컨트롤러
공격 경로 선
공격 경로에서 상자 사이의 선은 공격자가 고가치 리소스에 도달하기 위해 활용할 수 있는 리소스 간의 잠재적 접근성을 나타냅니다.
이 선은 Google Cloud에 정의된 리소스 간의 관계를 나타내지 않습니다.
여러 업스트림 노드에서 다운스트림 노드를 가리키는 여러 경로가 있는 경우 업스트림 노드는 서로 AND
관계나 OR
관계일 수 있습니다.
AND
관계는 공격자가 경로의 다운스트림 노드에 액세스하기 위해 두 업스트림 노드에 모두 액세스해야 함을 의미합니다.
예를 들어 공개 인터넷에서 공격 경로 끝에 있는 고가치 리소스로 연결되는 직접적인 행은 공격 경로에 있는 하나 이상의 다른 행과 AND
관계를 갖습니다. 공격자가 Google Cloud 환경 및 공격 경로에 표시된 하나 이상의 다른 리소스 모두에 대한 액세스 권한을 얻지 않는 한 고가치 리소스에 도달할 수 없습니다.
OR
관계는 공격자가 다운스트림 노드에 액세스하기 위해 업스트림 노드 중 하나에만 액세스해야 함을 의미합니다.
공격 경로 시뮬레이션
Security Command Center는 가능한 공격 경로를 모두 확인하고 공격 노출 점수를 계산하기 위해 고급 공격 경로 시뮬레이션을 수행합니다.
시뮬레이션 일정
공격 경로 시뮬레이션은 하루에 4회(6시간마다) 실행할 수 있습니다. 조직이 성장함에 따라 시뮬레이션에는 시간이 오래 걸리지만 항상 하루에 한 번 이상 실행됩니다. 시뮬레이션 실행은 리소스 또는 리소스 값 구성의 생성, 수정, 삭제에 의해 트리거되지 않습니다.
공격 경로 시뮬레이션 단계
시뮬레이션은 다음 세 단계로 구성됩니다.
- 모델 생성: Google Cloud 환경의 모델은 환경 데이터를 기반으로 자동 생성됩니다. 모델은 공격 경로 분석에 맞춤화된 환경의 그래프 표현입니다.
- 공격 경로 시뮬레이션: 그래프 모델에서 공격 경로 시뮬레이션이 수행됩니다. 시뮬레이션을 통해 가상 공격자가 고가치 리소스 세트의 리소스에 도달하여 손상을 시도할 수 있습니다. 시뮬레이션은 네트워킹, IAM, 구성, 잘못된 구성, 취약점 등 각 특정 리소스와 관계에 대한 유용한 정보를 활용합니다.
- 인사이트 보고: Security Command Center는 시뮬레이션을 기반으로 고가치 리소스와 이를 노출하는 발견 항목에 공격 노출 점수를 할당하고 공격자가 이러한 리소스에 접근할 수 있는 잠재적 경로를 시각화합니다.
시뮬레이션 실행 특성
공격 경로 시뮬레이션은 공격 노출 점수, 공격 경로 인사이트, 공격 경로를 제공하는 것 외에도 다음과 같은 특성을 갖습니다.
- 실제 환경에 영향을 주지 않습니다. 모든 시뮬레이션은 가상 모델에서 수행되며 모델 생성에 읽기 액세스 권한만 사용합니다.
- 동적입니다. 모델이 에이전트 없이 API 읽기 액세스를 통해서만 생성되므로 시뮬레이션이 시간이 지남에 따라 환경의 변경사항을 동적으로 따를 수 있습니다.
- 고가치 리소스에 도달하여 손상시키기 위해 가능한 한 많은 방법과 취약점을 시도하는 가상 공격자가 있습니다. 여기에는 취약점, 구성, 잘못된 구성, 네트워크 관계와 같은 '알려진 요소'뿐만 아니라 피싱 또는 사용자 인증 정보 유출과 같이 가능성은 낮지만 존재하는 것으로 '알려진 알 수 없는' 위험도 포함됩니다.
- 자동화되어 있습니다. 도구에 공격 로직이 내장되어 있습니다. 광범위한 쿼리 세트 또는 대규모 데이터 세트를 빌드하거나 유지보수할 필요가 없습니다.
공격자 시나리오 및 기능
Security Command Center는 시뮬레이션에서 Google Cloud 환경에 대한 액세스 권한을 얻고 리소스 및 감지된 취약점을 통해 잠재적 액세스 경로를 따르는 방식으로 고가치 리소스를 악용하려는 공격자의 시도를 논리적으로 표현합니다.
가상 공격자
시뮬레이션에 사용되는 가상 공격자는 다음과 같은 특성을 갖습니다.
- 공격자는 외부에 있습니다. 공격자는 Google Cloud 환경의 적법한 사용자가 아닙니다. 시뮬레이션은 환경에 합법적으로 액세스할 수 있는 악의적 또는 태만한 사용자의 공격을 모델링하거나 포함하지 않습니다.
- 공격자는 공개 인터넷에서 공격을 시작합니다. 공격자가 공격을 시작하려면 먼저 공개 인터넷에서 사용자 환경에 대한 액세스 권한을 얻어야 합니다.
- 공격자는 영구적입니다. 공격자는 특정 공격 방법이 어렵다고 해서 실망하거나 흥미를 잃지 않습니다.
- 공격자는 숙련된 기술과 지식을 갖추고 있습니다. 공격자는 고가치 리소스에 액세스하기 위해 알려진 방법과 기법을 시도합니다.
초기 액세스
각 시뮬레이션에는 공개 인터넷에서 사용자 환경의 리소스에 대한 액세스 권한을 얻기 위해 다음 방법을 시도하는 가상 공격자가 있습니다.
- 공개 인터넷에서 액세스할 수 있는 모든 서비스 및 리소스를 탐색하고 연결합니다.
- Compute Engine 가상 머신(VM) 인스턴스 및 Google Kubernetes Engine 노드의 서비스
- 데이터베이스
- 컨테이너
- Cloud Storage 버킷
- Cloud Run 함수
- 다음을 포함한 키 및 사용자 인증 정보에 대한 액세스 권한을 얻습니다.
- 서비스 계정 키
- 사용자가 제공하는 암호화 키
- VM 인스턴스 SSH 키
- 프로젝트 전체 SSH 키
- 외부 키 관리 시스템
- 다중 인증(MFA)이 적용되지 않는 사용자 계정
- 가로챈 가상 MFA 토큰
- 도용된 사용자 인증 정보를 사용하거나 Mandiant Attack Surface Management 및 VM Manager에서 보고한 취약점을 악용하여 공개적으로 도달 가능한 클라우드 애셋에 대한 액세스 권한 획득
시뮬레이션을 통해 환경의 가능한 진입점이 발견되면 가상 공격자가 환경 내 보안 구성 및 취약점을 연속적으로 탐색하고 악용하여 진입점에서 고가치 리소스에 도달하고 손상을 시도합니다.
전술과 기법
시뮬레이션은 적법한 액세스 활용, 측면 이동, 권한 에스컬레이션, 취약점, 잘못된 구성, 코드 실행 등 다양한 전술과 기법을 사용합니다.
CVE 데이터 통합
취약점 발견 항목의 공격 노출 점수를 계산할 때 공격 경로 시뮬레이션은 취약점의 CVE 레코드, CVSS 점수 및 Mandiant에서 제공하는 취약점의 악용 가능성 평가 데이터를 고려합니다.
다음과 같은 CVE 정보가 고려됩니다.
- 공격 벡터: CVE를 사용하려면 공격자에게 CVSS 공격 벡터에 지정된 액세스 수준이 부여되어 있어야 합니다. 예를 들어 공개 IP 주소와 열린 포트를 갖춘 애셋에서 발견되는 네트워크 공격 벡터가 포함된 CVE는 네트워크 액세스 권한이 있는 공격자에게 악용될 수 있습니다. 공격자가 네트워크 액세스 권한만 있고 CVE에 물리적 액세스 권한이 필요한 경우 공격자가 CVE를 악용할 수 없습니다.
- 공격 복잡성: 일반적으로 공격 복잡성이 낮은 취약점 또는 잘못된 구성 발견 항목은 공격 복잡성이 높은 발견 항목보다 공격 노출 점수가 높을 가능성이 높습니다.
- 취약점 공격 활동: 일반적으로 Mandiant의 사이버 위협 인텔리전스 분석가가 판단한 광범위한 취약점 공격 활동에 해당하는 취약점 발견 항목이 취약점 공격 활동이 알려지지 않은 발견 항목보다 높은 공격 노출 점수를 받습니다.