스키마 및 연산자 개요
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
입력 그래프 원본에서 그래프 패턴의 모든 발생을 검색합니다. 자세한 내용은 그래프 일치 연산자 를 참조하세요.