스키마 및 연산자 개요

Microsoft 보안 노출 관리의 엔터프라이즈 노출 그래프 스키마는 잠재적 위협이 중요한 자산에 도달하고 손상될 수 있는 방법을 이해하는 데 도움이 되는 공격 표면 정보를 제공합니다. 이 문서에서는 노출 그래프 스키마 테이블 및 연산자를 요약합니다.

보안 노출 관리는 현재 공개 미리 보기로 제공됩니다.

중요

이 게시물의 일부 정보는 상용으로 출시되기 전에 실질적으로 수정될 수 있는 사전 릴리스된 제품과 관련이 있습니다. Microsoft는 여기에서 제공되는 정보와 관련하여 명시적이거나 묵시적인 어떠한 보증도 하지 않습니다.

스키마 표

노출 그래프는 다음 테이블에 의존합니다.

  • ExposureGraphNodes
  • ExposureGraphEdges

ExposureGraphNodes

ExposureGraphNodes 에는 조직 엔터티 및 해당 속성이 포함됩니다. 여기에는 디바이스, ID, 사용자 그룹 및 VM(가상 머신), 스토리지 및 컨테이너와 같은 클라우드 자산과 같은 엔터티가 포함됩니다. 각 노드는 개별 엔터티에 해당하며 조직 구조 내의 특성, 특성 및 보안 관련 인사이트에 대한 정보를 캡슐화합니다.

다음은 ExposureGraphNodes 열 이름, 형식 및 설명입니다.

  • NodeId (string) - 고유 노드 식별자입니다. 예: "650d6aa0-10a5-587e-52f4-280bfc014a08"
  • NodeLabel (string)- 노드 레이블입니다. 예: "microsoft.compute/virtualmachines", "elasticloadbalancing.loadbalancer"
  • NodeName (string)- 노드 표시 이름입니다. 예: "nlb-test"(네트워크 부하 분산 장치 이름)
  • Categories (Dynamic (json)) - 노드의 범주입니다. 예:
[
  "compute",
  "virtual_machine"
] 
  • NodeProperties (Dynamic (json)) - 리소스가 인터넷에 노출되는지 아니면 원격 코드 실행에 취약한지와 같은 리소스와 관련된 인사이트를 포함하여 노드의 속성입니다. 값은 원시 데이터 형식(구조화되지 않음)입니다. 예:
{   
"rawData": {
"osType": "linux",   
"exposed to the internet": 
{     
"routes": [ { … } ]   
}
} 
}
  • EntityIds(Dynamic (json)) - 알려진 모든 노드 식별자입니다. 예:
{ 
"AzureResourceId": "A1",  
"MdeMachineId": "M1", 
}

ExposureGraphEdges

ExposureGraphEdges 스키마와 보완 ExposureGraphNodes 스키마는 그래프의 엔터티와 자산 간의 관계에 대한 가시성을 제공합니다. 많은 헌팅 시나리오에서는 엔터티 관계 및 공격 경로를 탐색해야 합니다. 예를 들어 특정 위험 취약성에 노출된 디바이스를 헌팅할 때 엔터티 간의 관계를 알고 있으면 중요한 조직 자산을 발견할 수 있습니다.

다음은 ExposureGraphEdges 열 이름, 레이블 및 설명입니다.

  • EdgeId (string) - 관계/에지에 대한 고유 식별자입니다.
  • EdgeLabel (string) - 에지 레이블입니다. 예: "영향", "트래픽 라우팅", "실행 중" 및 "포함"입니다. 그래프를 쿼리하여 에지 레이블 목록을 볼 수 있습니다. 자세한 내용은 테넌트에서 모든 에지 레이블 나열을 참조하세요.
  • SourceNodeId (string) - 에지 원본의 노드 ID입니다. 예: "12346aa0-10a5-587e-52f4-280bfc014a08"
  • SourceNodeName (string) - 원본 노드 표시 이름입니다. 예: "mdvmaas-win-123"
  • SourceNodeLabel (string) - 원본 노드 레이블입니다. 예: "microsoft.compute/virtualmachines"
  • SourceNodeCategories (Dynamic (json)) - 원본 노드의 범주 목록입니다.
  • TargetNodeId (string) - 에지 대상의 노드 ID입니다. 예: "45676aa0-10a5-587e-52f4-280bfc014a08"
  • TargetNodeName (string) - 대상 노드의 표시 이름입니다. 예: gke-test-cluster-1
  • TargetNodeLabel (string) - 대상 노드 레이블입니다. 예: "compute.instances"
  • TargetNodeCategories (Dynamic (json)) - 대상 노드의 범주 목록입니다.
  • EdgeProperties (Dynamic (json)) - 노드 간의 관계와 관련된 선택적 데이터입니다. 예: 의 EdgeLabel 를 사용하여 "트래픽을 라우팅" EdgeProperties 하는 networkReachability경우 A 지점에서 B 지점으로 트래픽을 전송하는 데 사용되는 포트 및 프로토콜 범위에 대한 정보를 제공합니다.
{   
 "rawData": {
  "networkReachability": {
    "type": "NetworkReachability",
    "routeRules": [
      {
        "portRanges": [
          "8083"
        ],
        "protocolRanges": [
          "6"
        ]
      },
      {
        "portRanges": [
          "80"
        ],
        "protocolRanges": [
          "6"
        ]
      },
      {
        "portRanges": [
          "443"
        ],
        "protocolRanges": [
          "6"
        ]
      }
    ]
  }
}
}

그래프 Kusto 쿼리 언어(KQL) 연산자

Microsoft 보안 노출 관리는 노출 그래프 테이블과 고유한 노출 그래프 연산자를 사용하여 그래프 구조에 대한 작업을 가능하게 합니다. 그래프는 연산자를 make-graph 사용하여 테이블 형식 데이터에서 빌드된 다음 그래프 연산자를 사용하여 쿼리합니다.

make-graph 연산자

make-graph operator 에지 및 노드의 테이블 형식 입력에서 그래프 구조를 빌드합니다. 사용 및 구문에 대한 자세한 내용은 make-graph 연산자 를 참조하세요.

그래프 일치 연산자

연산자는 graph-match 입력 그래프 원본에서 그래프 패턴의 모든 발생을 검색합니다. 자세한 내용은 그래프 일치 연산자 를 참조하세요.

다음 단계

엔터프라이즈 노출 그래프를 쿼리합니다.