쿼리를 사용하여 보안 그래프 살펴보기

Security Command Center의 보안 그래프는 클라우드 리소스, 구성, 연결된 위험 지표(예: 취약점, 액세스 권한, 데이터 민감도, 네트워크 노출)를 매핑하는 관계 인식 데이터베이스입니다. 그래프는 클라우드 애셋과 그 관계를 종합적으로 보여줍니다.

이 문서에서는 환경에서 잠재적인 보안 문제를 정확히 파악하는 데 도움이 되는 맞춤 쿼리를 만들어 보안 그래프를 탐색할 수 있는 기능인 그래프 검색에 대해 알아봅니다.

쿼리 구성요소

보안 그래프 쿼리는 다음 세 가지 주요 구성요소 유형으로 구성됩니다.

  • 노드: 보안 발견 항목 또는 클라우드 리소스입니다.
  • Where 절 (필터): 노드의 특정 속성을 기반으로 쿼리를 구체화하기 위해 노드에 적용되는 필터입니다.
  • 연결: 두 노드 간의 방향 관계입니다.

다음은 이러한 구성요소를 사용하여 Google Cloud 콘솔에 표시되는 쿼리의 예입니다.

다양한 구성요소를 사용하는 Security Command Center 그래프 쿼리 예시
다양한 구성요소를 사용하는 Security Command Center 그래프 쿼리 예시

이 예시 쿼리 구조는 보안 엔티티 간의 관계를 식별하여 위험을 정확히 파악하는 데 도움이 됩니다. 먼저 질문에서 조사 대상의 주요 주제, 즉 노드CVE 취약점가상 머신 (GCE)을 설정합니다. 영향을 미치는이라는 문구로 식별되는 연결은 이 두 노드를 명시적으로 연결합니다. 마지막으로 각 노드에서 where 절 또는 필터라고 하는 여러 속성을 사용하여 쿼리가 미세 조정됩니다. 여기에서 사용되는 필터에는 취약점의 심각도와 VM의 네트워크 연결 가능성이 포함됩니다. 이러한 구성요소는 환경에서 위험을 나타낼 수 있는 리소스를 식별하는 데 도움이 됩니다.

노드

노드는 보안 발견 항목 또는 클라우드 리소스를 나타냅니다.

Google Cloud 콘솔의 노드 예는 다음과 같습니다.

  • CVE 취약점: MITRE Corporation에서 정의한 공통 취약점 및 노출 취약점입니다.
  • 가상 머신 (GCE): Compute Engine 인스턴스입니다.
  • GKE 배포: Google Kubernetes Engine 리소스입니다.
  • IAM 서비스 계정: Identity and Access Management (IAM) 서비스 계정입니다.
  • BigQuery 데이터 세트: BigQuery의 데이터 컨테이너입니다. 자세한 내용은 데이터 세트 소개를 참고하세요.

노드는 컴퓨팅, Kubernetes, ID, 데이터베이스와 같은 카테고리로 그룹화됩니다. 쿼리를 구성할 때Google Cloud 콘솔에서 사용 가능한 모든 노드 유형을 탐색하거나 검색할 수 있습니다.

Where 절 (필터)

where 절은 노드에 적용되는 필터로, 노드와 연결된 특정 속성을 기반으로 쿼리를 구체화합니다.

다음은 필터의 몇 가지 예입니다.

  • 심각도 = Critical: 심각도가 'Critical'인 항목(예: CVE)입니다.
  • Has Full API Access = True: 노드가 모든 Google Cloud API에 대한 전체 액세스 권한으로 구성되어 있음을 나타냅니다.
  • Exploitation Activity = Confirmed: 알려지거나 보고되거나 예상되는 취약점의 인스턴스가 실제 상황에서 익스플로잇되고 있음을 나타냅니다.

Google Cloud 콘솔에 표시되는 필터는 컨텍스트를 인식하며 선택한 노드 유형에 따라 달라집니다.

연결

연결은 두 노드 간의 방향 관계입니다.

다음은 연결의 예입니다.

  • that affects: 선택한 두 노드 간의 관계를 정의합니다(예: 가상 머신(GCE)과 관련된 CVE 취약점).
  • 사용: 선택한 두 노드 간의 관계를 정의합니다(예: IAM 서비스 계정과 관련된 가상 머신(GCE)).

연결은 컨텍스트를 인식하며 선택한 노드 유형에 대해 유효한 관계만 표시됩니다.

쿼리 빌드

보안 그래프를 쿼리하여 중요한 기준에 따라 클라우드 환경을 탐색할 수 있습니다. 그래프에서 쿼리를 실행하고 구체화하면 모니터링하려는 특정 보안 취약점을 식별할 수 있습니다.

  1. 위험 > 그래프 검색으로 이동하여 보안 그래프 쿼리 페이지를 엽니다.

  2. 맞춤 쿼리 편집기와 상호작용하여 쿼리를 빌드합니다.

    1. 맞춤 쿼리 만들기

    2. 사전 정의된 검색어 제안을 선택하여 그대로 사용하거나 필요에 맞게 검색어를 수정합니다.

  3. 쿼리를 실행합니다.

  4. 표에서 쿼리 결과를 검토합니다. 표시할 열을 선택하여 결과 보기를 맞춤설정할 수 있습니다. 각 열을 오름차순 또는 내림차순으로 정렬할 수도 있습니다.

  5. CSV 다운로드 옵션을 사용하여 쿼리 결과를 CSV 파일로 내보냅니다.

맞춤 쿼리 만들기

맞춤 쿼리를 정의하여 환경에 특정한 보안 취약점을 식별할 수 있습니다.

이렇게 하려면 다음 단계에 따라 새 맞춤 쿼리를 만들고 실행하거나 기존 검색어 추천을 맞춤설정하세요.

  1. Google Cloud 콘솔에서 위험 > 그래프 검색으로 이동하여 보안 그래프 쿼리 페이지를 엽니다.

  2. 표시 필드에서 를 클릭하고 리소스 또는 결과를 쿼리의 기본 노드로 선택한 다음 선택을 클릭합니다.

  3. 검색어를 구체화하려면 필터 또는 연결의 전환 버튼을 클릭하여 선택한 노드에 사용 설정합니다. 사용 설정한 각 필터의 값을 정의한 다음 선택을 클릭합니다.

    Security Command Center 그래프 검색 위젯
    Security Command Center 그래프 검색 위젯 (확대하려면 클릭)
  4. 노드 또는 연결과 연결된 더하기 아이콘 ()을 클릭하여 업데이트하면 쿼리를 더욱 세부적으로 수정할 수 있습니다. 를 클릭하여 쿼리에서 구성요소를 삭제합니다.

  5. 쿼리 실행을 선택합니다.

그래프 스키마가 발전함에 따라 사용 가능한 노드, 필터, 연결이 Google Cloud 콘솔에서 업데이트됩니다.

추천 검색어 사용 또는 맞춤설정

시작점으로 사용할 수 있는 검색어 추천이 여러 개 제공됩니다. 이러한 제안을 그대로 사용하거나 특정 요구사항에 맞게 맞춤설정할 수 있습니다.

  1. Google Cloud 콘솔에서 위험 > 그래프 검색으로 이동하여 보안 그래프 쿼리 페이지를 엽니다.

  2. 검색어 추천을 선택하여 검색어에 관한 자세한 정보를 확인합니다.

  3. 추천 사용을 클릭합니다.

  4. 필요에 따라 편집기에서 쿼리 세부정보를 수정합니다. 자세한 내용은 맞춤 쿼리 만들기를 참고하세요.

  5. 쿼리 실행을 선택합니다.

결과를 반환하지 않는 쿼리 문제 해결

쿼리가 결과를 반환하지 않으면 다음 단계에 따라 문제를 해결하고 조정해 보세요.

사전 정의된 검색어 추천 사용

제공된 사전 정의된 검색어 추천은 다양한 환경과 관련된 결과를 반환하도록 설계된 예시입니다. 특정 요구사항에 맞게 검색어 추천을 수정할 수 있습니다.

쿼리 간소화 또는 조정

  • 필터를 삭제하거나 줄여 쿼리 범위를 넓히세요.

  • 단일 애셋 유형 또는 속성을 쿼리하여 데이터가 반환되는지 확인합니다.

  • 제약 조건을 너무 많이 결합하지 마세요. 이렇게 하면 의도치 않게 결과가 제외될 수 있습니다.

액세스 권한 확인

쿼리하는 데이터를 볼 수 있는 필요한 권한이 있는지 확인합니다. 올바른 액세스 권한이 없으면 일부 애셋이나 관계가 숨겨지거나 검색 결과에서 제외될 수 있습니다.

데이터 동기화 시간 허용

최근에 생성되거나 업데이트된 리소스가 그래프에 표시되는 데 몇 분 또는 몇 시간이 걸릴 수 있습니다. 예를 들어 리소스를 추가하거나 IAM 정책을 업데이트한 경우 지연이 발생할 수 있습니다. 클라우드 환경을 방금 변경한 경우 잠시 후 쿼리를 다시 실행해 보세요.

그래프 적용 범위

환경 및 지원되는 데이터 유형에 따라 보안 그래프에서 일부 데이터 유형 또는 관계를 사용하지 못할 수 있습니다. 예상한 데이터가 표시되지 않으면 그래프에서 사용할 수 없는 데이터일 수 있습니다.

추가 도움말

위 단계를 시도했지만 여전히 예상한 결과가 표시되지 않으면 프로젝트 관리자에게 문의하거나 지원 받기를 참고하여 쿼리 구성 및 권한을 검토하세요.

다음 단계