图形示例数据集和示例

此页列出了https://help.chinaeast2.kusto.chinacloudapi.cn群集上的现有图形,并演示如何使用 Kusto 查询语言(KQL)对其进行查询。 这些示例演示如何查询预生成的图形模型,而无需任何创建或设置步骤。

用于学习基础知识的简单教育图

用法:graph("Simple")

目的:基本图形作和学习基本图形查询模式。

说明:一个小型教育图,其中包含具有各种关系的人、公司和城市。 非常适合学习图形遍历和了解基本模式。 此紧凑数据集包括 11 个节点(5 人、3 家公司和 3 个城市)通过 20 个关系连接,因此非常适合理解图形基础知识,而无需大型数据集的复杂性。 该图演示了常见的真实场景,如就业关系、地理位置、社交连接和个人偏好。

用例

  • 学习图形查询基础知识
  • 测试图形算法
  • 了解关系模式
  • 图形概念的教育示例

架构关系

包含具有各种关系的人员、公司和城市的图形架构。

架构和计数

  • 节点类型

    • Person - 个人人员(5 个节点)
    • Company - 业务组织(3 个节点)
    • City - 地理位置(3 个节点)
  • 关系类型

    • works_at - 就业关系 (5 个边缘)
    • located_at - 地理位置分配(8 个边缘)
    • knows - 人与人之间的社交联系(4 个边缘)
    • likes - 个人偏好和兴趣(3 个边缘)

图形实例示例

此示例演示了一个易于理解的小型网络中的基本图形关系,显示人们如何通过各种关系类型连接到公司和城市。

包含具有各种关系的人员、公司和城市的实例的图形。

示例查询

查找特定公司的所有员工:

graph("Simple")
| graph-match (person)-[works_at]->(company)
    where company.name == "TechCorp"
    project employee_name = person.name, employee_age = person.properties.age
employee_name employee_age
爱丽丝 二十五
鲍勃 30
艾玛 26

查找同事(在同一家公司工作的人员):

graph("Simple")
| graph-match (person1)-->(company)<--(person2)
    where person1.id != person2.id and labels(company) has "Company"
    project colleague1 = person1.name, colleague2 = person2.name, company = company.name
| take 1
同事 1 同事 2 公司
爱丽丝 鲍勃 TechCorp

LDBC SNB 交互式

用法:graph("LDBC_SNB_Interactive")

目的:社交网络遍历和朋友探索。

注释

此数据集在 Apache 许可证 2.0 下提供。 LDBC 社交网络基准数据集由 链接数据基准委员会(LDBC)创建。

说明:链接数据基准委员会(LDBC) 社交网络基准交互 工作负载数据集表示一个全面的社交网络建模真实社交媒体平台。 此基准可捕获具有 327,000 多个节点和多个关系类型的现代社交网络的复杂性,包括分层地理数据、多层次组织结构和丰富的内容交互。 数据集为现实的社交媒体生态系统建模,人们创建帖子和评论,参与论坛,在组织工作,生活在从大陆到城市的详细层次结构中的地理位置。

用例

  • 社交网络分析和建议系统
  • 社区检测算法
  • 影响传播研究
  • 基于社交连接的内容建议
  • 好友发现
  • 社交图挖掘研究

图形架构概述

图形的架构,其中包含 LDBC SNB 数据集中的节点和关系。

架构和计数

  • 核心社交实体类型

    • PERSON - 社交网络用户(1,528 个节点)
    • POST - 用户帖子(135,701 个节点)
    • COMMENT - 帖子评论 (151,043 个节点)
    • FORUM - 讨论论坛 (13,750 个节点)
  • 组织和地理类型

    • ORGANISATION - 大学和公司 (7,955 个节点)
    • PLACE - 地理位置:大陆(6)、国家/地区(111个)、城市(1,343个) - 总共 1,460 个节点
  • 内容分类类型

    • TAG - 内容标记 (16,080 个节点)
    • TAGCLASS - 标记类别(71 个节点)
  • 关键关系类型

    • KNOWS - 友元关系 (14,073 边缘)
    • LIKES - 内容赞: 帖子 (47,215) + 评论 (62,225) = 109,440 个总边缘
    • HAS_CREATOR - 内容创作:帖子(135,701) + 评论 (151,043) = 286,744 边缘
    • HAS_MEMBER - 论坛成员身份(123,268 个边缘)
    • HAS_TAG - 内容标记:帖子 (51,118) + 评论 (191,303) + 论坛 (47,697) = 290,118 个边缘
    • IS_LOCATED_IN - 位置关系:人员 (1,528) + 组织 (7,955) + 帖子 (135,701) + 评论 (151,043) = 296,227 个边缘
    • REPLY_OF - 批注线程处理:批注到注释(76,787) + 评论到帖子 (74,256) = 151,043 个边缘
    • WORK_AT / STUDY_AT - 专业/教育史 (4,522 边缘)
    • HAS_INTEREST - 个人利益 (35,475 边缘)
    • 其他关系:HAS_MODERATOR、、IS_PART_OFCONTAINER_OFHAS_TYPEIS_SUBCLASS_OF

图形实例示例

此示例演示了现实社交媒体环境中复杂的社交网络交互,展示了用户如何参与内容、参与论坛和形成社交连接。

包含 LDBC SNB 数据集的示例子图。

此示例演示:

  • 社会参与: 马欣达喜欢阿卜杜拉的帖子和对这篇文章的评论
  • 内容线程: 评论 (关于格洛丽亚 Macapagal-Arroyo) 回复帖子 (关于奥兰格泽布)
  • 内容创作:阿卜杜拉在其自己的论坛墙上创建帖子
  • 社区参与:马欣达是阿卜杜拉论坛的成员,其中内容出现
  • 内容分类:帖子和评论都用内容中的相关主题进行标记
  • 地理上下文:所有实体都具有地理分析的位置关系

用例

  • 社交网络分析和建议系统
  • 社区检测算法
  • 影响传播研究
  • 基于社交连接的内容建议
  • 好友发现
  • 社交图挖掘研究

示例查询

查找与类似年龄的直接友谊:

此查询标识通过“KNOWS”关系直接连接的对人员,并且年龄相似(彼此 30 天内的生日)。 它遍历 LDBC 社交网络图,以查找类似年龄组的人之间的现有友谊。 查询返回网络中此类年龄相似的友谊对的总计数,这对于分析基于年龄的社会模式或验证好友推荐算法很有用。

graph("LDBC_SNB_Interactive")
| graph-match (person1)-[knows]->(person2)
    where labels(person1) has "PERSON" and labels(person2) has "PERSON" and 
        labels(knows) has "KNOWS"and abs(person1.birthday - person2.birthday) < 30d
    project person_name = person1.firstName, friend_name = person2.firstName
| count 
计数
225

通过以下方式查找热门文章:

此查询根据有多少唯一的人喜欢他们的帖子来识别最受欢迎的内容创建者,从而分析社交参与度。 它遍历社交网络关系图,遍历路径:→喜欢→帖子→ has_creator →创建者。 该查询聚合数据以显示每个创建者的唯一赞者和不同帖子的总数,然后返回最喜欢的前 3 个创建者。 这对于识别有影响力的内容创建者、了解参与模式以及发现社交网络中的病毒内容非常有用。

graph("LDBC_SNB_Interactive")
| graph-match (person)-[likes]->(post)-[has_creator]->(creator)
    where labels(person) has "Person" and labels( post) has "POST" and labels(has_creator) has "HAS_CREATOR" and isnotempty(creator.lastName)
    project personId = person.id, postId = post.id, creator = creator.lastName
| summarize Likes = dcount(personId), posts = dcount(postId) by creator
| top 3 by Likes desc
创建者 喜欢 公告
371 207
霍夫曼 340 9
辛格 338 268

LDBC 财务

用法:graph("LDBC_Financial")

目的:财务交易分析和欺诈检测模式。

注释

此数据集在 Apache 许可证 2.0 下提供。 LDBC 财务基准数据集由 链接数据基准委员会(LDBC)创建。

说明:LDBC 财务基准数据集,该数据集表示一个全面的金融网络,其中包含公司、人员、帐户、贷款和各种金融交易。 此数据集为实际金融生态系统建模,总共有 5,580 个节点,超过 31,000 个金融交易和关系。 它专为欺诈检测、洗钱(AML)分析和金融犯罪调查方案而设计,它捕获了复杂的模式,包括帐户所有权、贷款申请、担保和金融犯罪方案中常见的多步骤交易链。

用例

  • 财务欺诈检测
  • 洗钱(AML)分析
  • 事务模式分析
  • 风险评估和信用评分
  • 可疑活动监视
  • 财务网络分析

图形架构概述

图形的架构,其中包含 LDBC 财务数据集中的节点和关系。

架构和计数

  • 节点类型

    • COMPANY - 业务实体(386 个节点)
    • PERSON - 单个客户(785 个节点)
    • ACCOUNT - 财务帐户 (2,055 个节点)
    • LOAN - 贷款产品 (1,376 个节点)
    • MEDIUM - 事务介质/通道(978 个节点)
  • 关系类型

    • TRANSFER - 帐户之间的资金转移(8,132 边缘)
    • WITHDRAW - 从帐户提取现金(9,182 个边缘)
    • DEPOSIT - 将资金存款存入账户(2,758 个边缘)
    • OWN - 帐户所有权关系 (2,055 边缘)
    • APPLY - 贷款申请 (1,376 边缘)
    • GUARANTEE - 贷款担保 (579 边缘)
    • INVEST - 投资交易 (1,983 边缘)
    • REPAY - 贷款还款 (2,747 边缘)
    • SIGN_IN - 身份验证事件(2,489 个边缘)

图形实例示例

此示例演示了具有多个实体类型和交易模式的复杂金融网络,演示金融机构如何为客户、帐户、贷款和交易流之间的关系建模,以便进行欺诈检测和风险评估。

包含 LDBC 财务数据集的示例子图。

示例查询

通过循环转移检测潜在的洗钱:

此查询标识可能指示洗钱活动的可疑循环交易模式。 它搜索向另一个帐户发送资金的帐户,然后通过 1 到 3 个转移链将其接收回,从而创建循环流。 该查询专门查找大型初始传输(超过 10,000 次),并返回有关可疑帐户的详细信息,包括转移金额和循环链的长度。 这种模式检测适用于洗钱(AML)系统和金融欺诈调查。

graph("LDBC_Financial")
| graph-match (account1)-[t1]->(account2)-[t2*1..3]->(account1)
    where labels(t1) has "TRANSFER" and t1.amount > 10000  // Large initial transfer
    project suspicious_account = account1.node_id,
            amount = t1.amount,
            transfer_chain_length = array_length(t2) + 1
| take 10
suspicious_account transfer_chain_length
Account::4818007176356300028 5035377,73 2
Account::4818007176356300028 5035377,73 2
Account::4845310249097233848 359062,45 2
Account::4818007176356300028 5035377,73 3
Account::4818007176356300028 5035377,73 4
Account::4840243699516440940 5753668,55 4
Account::4818007176356300028 5035377,73 4
Account::180143985094820389 465338,26 4
Account::4814910951612482356 1684581,62 4
Account::4816599801472746629 963626,42 4

查找高风险贷款担保人:

此查询标识保证多个贷款总额重大的个人或公司,这可能表示财务风险暴露。 它沿着路径遍历金融网络图:担保人→担保→借款人→申请→贷款。 查询聚合每个担保人的担保总额和贷款数量,然后筛选出担保总额超过 10 万的担保人,并按担保总额返回前 5 个。 此分析适用于风险评估、识别过度利用的担保人,以及评估贷款网络中的系统性金融风险。

graph("LDBC_Financial")
| graph-match (guarantor)-[guarantee]->(borrower)-[apply]->(loan)
    where labels(guarantee) has "GUARANTEE" and labels(apply) has "APPLY"
    project guarantor_id = guarantor.node_id,
            borrower_id = borrower.node_id,
            loan_amount = loan.loanAmount
| summarize total_guaranteed = sum(loan_amount), loan_count = count() by guarantor_id
| where total_guaranteed > 100000
| top 5 by total_guaranteed desc
guarantor_id total_guaranteed loan_count
Person::44 439802195 8
Person::15393162789155 411111642 8
Company::12094627905931 404538891 6
Company::4398046511208 366243272 8
Person::19791209300551 338838223 6

BloodHound Entra 数据集

用法:graph("BloodHound_Entra")

目的:Microsoft Entra 特权提升和攻击路径分析。

注释

此数据集在 Apache 许可证 2.0 下提供。 BloodHound 数据集由 BloodHound 项目创建。

说明:Microsoft Entra 环境的 BloodHound 数据集。 此综合安全数据集包含 13,526 个Microsoft Entra 对象,包括用户、组、应用程序、服务主体、设备和各种云资源。 超过 800,000 个权限关系和安全边缘,它为企业组织典型的复杂Microsoft Entra 环境建模。 数据集捕获详细的Microsoft Entra 权限、角色分配、组成员身份和资源所有权模式,这些模式对于识别云环境中的特权提升路径和攻击途径至关重要。

用例

  • 条目 ID 安全评估
  • 特权提升路径发现
  • 攻击路径可视化
  • 标识治理分析
  • 基于风险的安全控制
  • 云环境的合规性审核

图形架构概述

包含来自 BloodHound Entra 数据集的节点和关系的图形架构。

架构和计数

注释

此数据集在 Apache 许可证 2.0 下提供。 BloodHound 社区版项目创建了 BloodHound 数据集。

说明:Microsoft Entra 环境的 BloodHound Community Edition 数据集。 此综合安全数据集包含 13,526 个Microsoft Entra 对象,包括用户、组、应用程序、服务主体、设备和各种云资源。 超过 800,000 个权限关系和安全边缘,它为企业组织典型的复杂Microsoft Entra 环境建模。 数据集捕获详细的Microsoft Entra 权限、角色分配、组成员身份和资源所有权模式,这些模式对于识别云环境中的特权提升路径和攻击途径至关重要。

架构和计数

  • 主节点类型

    • AZUser - Microsoft Entra 用户(230 个节点)
    • AZServicePrincipal - 服务主体和应用程序(6,270 个节点)
    • AZApp - Azure 应用程序(6,648 个节点)
    • AZGroup - Microsoft Entra 组(58 个节点)
    • AZDevice - 托管设备(47 个节点)
  • Azure 资源类型

    • AZResourceGroup - 资源组(59 个节点)
    • AZVM - 虚拟机(66 个节点)
    • AZRole - Azure 角色(116 个节点)
    • AZSubscription - Azure 订阅(3 个节点)
    • AZTenant - Azure 租户(1 个节点)
  • 关键关系类型 (按卷排序的主要权限):

    • AZMGAddOwner - 管理组所有者权限(403,412 边缘)
    • AZMGAddSecret - 机密管理权限 (345,324 边缘)
    • AZAddSecret - 应用程序机密权限(24,666 个边缘)
    • AZContains - 资源包含关系 (12,924 边缘)
    • AZRunsAs - 服务执行权限(6,269 个边缘)
    • AZMemberOf - 组成员身份关系 (4,439 边缘)
    • AZOwns - 资源所有权(2,870 个边缘)

图形实例示例

此示例演示了在云环境中具有复杂特权结构和潜在攻击路径的 Entra 和 Entra 标识关系Microsoft。

包含 BloodHound Entra 数据集的示例子图

用例

  • 条目 ID 安全评估
  • 特权提升路径发现
  • 攻击路径可视化
  • 标识治理分析
  • 基于风险的安全控制
  • 云环境的合规性审核

示例查询

查找管理权限的路径:

此查询标识Microsoft Entra 环境中的常规用户到管理组的特权提升路径。 它通过 1-3 个关系跃点搜索可以访问管理员组(如 Microsoft Entra DC 管理员、DnsAdmins 等)的用户,帮助安全团队了解潜在的攻击路径和特权提升风险。

graph("BloodHound_Entra")
| graph-match (user)-[path*1..3]->(admingroup)
    where labels(user) has_any ("User", "AZUser") 
          and labels(admingroup) has_any ("Group", "AZGroup")
          and (admingroup.name contains "ADMIN" or admingroup.displayname contains "ADMIN")
    project source_user = user.name,
             path_length = array_length(path),
             admin_group = coalesce(admingroup.displayname, admingroup.name)
| take 10
source_user path_length admin_group
THISUSERHASINTUNEADMINROLE@PHANTOMCORP.ONMICROSOFT.COM 1 ADSyncAdmins
097EF6C2-GROUPSADMINISTRATOR@PHANTOMCORP.ONMICROSOFT.COM 1 AAD DC 管理员
USERBELONGSTOGAGROUP@PHANTOMCORP.ONMICROSOFT.COM 1 ADSyncAdmins
THISUSERHASINTUNEADMINROLE@PHANTOMCORP.ONMICROSOFT.COM 1 DnsAdmins
RHADMIN@PHANTOMCORP.ONMICROSOFT.COM 1 DnsAdmins
CJACKSON@PHANTOMCORP.ONMICROSOFT.COM 1 Azure ATP 虚拟管理员
097EF6C2-INTUNEADMINISTRATOR@PHANTOMCORP.ONMICROSOFT.COM 1 AAD DC 管理员
RHADMIN_PHANTOMCORP.ONMICROSOFT.COM#EXT#@PHANTOMCORP.ONMICROSOFT.COM 1 资源组管理员
THISUSERHASKNOWLEDGEMANAGERROLE@PHANTOMCORP.ONMICROSOFT.COM 1 DnsAdmins
097EF6C2-INTUNEADMINISTRATOR@PHANTOMCORP.ONMICROSOFT.COM 1 DnsAdmins

确定高价值目标(第 0 层资产):

此查询标识环境中标记为“admin_tier_0”的关键管理资产。 这些帐户是最敏感且最强大的帐户、服务主体和资源,如果遭到入侵,则构成最高风险。 了解这些资产有助于确定安全监视和保护工作的优先级。

graph("BloodHound_Entra")
| graph-match (asset)
    where asset.properties.system_tags contains "admin_tier_0"
    project asset_name = asset.name,
             asset_type = tostring(labels(asset)[1]),  // Get primary type (AZUser, AZServicePrincipal, etc.)
             system_tags = asset.properties.system_tags
| take 10
asset_name asset_type system_tags
JJACOB@PHANTOMCORP.ONMICROSOFT.COM AZUser admin_tier_0
PLEWIS@PHANTOMCORP.ONMICROSOFT.COM AZUser admin_tier_0
JMILLER@PHANTOMCORP.ONMICROSOFT.COM AZUser admin_tier_0
CJACKSON@PHANTOMCORP.ONMICROSOFT.COM AZUser admin_tier_0
RHALL@PHANTOMCORP.ONMICROSOFT.COM AZUser admin_tier_0
THISAPPHASGLOBALADMIN@PHANTOMCORP AZServicePrincipal admin_tier_0
MYCOOLAUTOMATIONACCOUNT@PHANTOMCORP AZServicePrincipal admin_tier_0
SERVICEPRINCIPALE@PHANTOMCORP AZServicePrincipal admin_tier_0
31E3B75F-PRIVILEGED 身份验证ADMINISTRATOR@PHANTOMCORP AZServicePrincipal admin_tier_0
31E3B75F 特权角色ADMINISTRATOR@PHANTOMCORP AZServicePrincipal admin_tier_0

BloodHound Active Directory 数据集

用法:graph("BloodHound_AD")

目的:本地 Active Directory 安全分析和特权映射。

注释

此数据集在 Apache 许可证 2.0 下提供。 BloodHound 数据集由 BloodHound 项目创建。

说明:本地 Active Directory 环境的 BloodHound Community Edition 数据集。 此数据集包含 1,495 个 Active Directory 对象,这些对象表示具有复杂权限结构和攻击路径的典型企业 AD 部署。 数据集包括跨多个域的用户、计算机、组、组织单位、组策略对象和证书颁发机构组件。 在超过 18,000 个权限关系和安全边缘的情况下,它捕获了实际的 AD 攻击方案,包括特权提升路径、基于 ACL 的权限、组成员身份以及 Windows 域环境中常见的基于证书的身份验证漏洞。

用例

  • Active Directory 安全评估
  • 攻击路径分析和渗透测试
  • 域特权映射
  • 组策略安全分析
  • Kerberoasting 和 ASREPRoasting 目标标识
  • 安全控制差距分析

图形架构概述

  • 核心 AD 对象类型

    • User - 域用户(99 个节点)
    • Computer - 域计算机(34 个节点)
    • Group - 安全和通讯组(219 个节点)
    • ADLocalGroup - 计算机上的本地组(28 个节点)
    • GPO - 组策略对象(32 个节点)
  • AD 基础结构类型

    • Domain - Active Directory 域(5 个节点)
    • OU - 组织单位(20 个节点)
    • Container - AD 容器(939 个节点)
    • CertTemplate - 证书模板(106 个节点)
    • EnterpriseCA - 证书颁发机构(4 个节点)
    • RootCA - 根证书颁发机构(5 个节点)
  • 密钥权限类型 (主要攻击途径):

    • GenericAll - 完全控制权限(3,292 个边缘)
    • WriteDacl - 修改权限(2,221 个边缘)
    • WriteOwner - 更改所有权(2,187 个边缘)
    • Owns - 对象所有权(1,439 个边缘)
    • Contains - 包含关系 (1,416 边缘)
    • GenericWrite - 写入权限(579 个边缘)
    • MemberOf - 组成员身份(301 个边缘)

图形架构概述

包含来自 BloodHound AD 数据集的节点和关系的图形架构。

图形实例示例

此示例演示传统 Windows 域环境中的本地 Active Directory 攻击路径和潜在安全漏洞。

包含 BloodHound AD 数据集的示例子图。

用例

  • Active Directory 安全评估
  • 攻击路径分析和渗透测试
  • 域特权映射
  • 组策略安全分析
  • Kerberoasting 和 ASREPRoasting 目标标识
  • 安全控制差距分析

示例查询

查找潜在的特权提升:

此查询计算Microsoft Entra 中可能向管理员升级的非管理员用户数。 它遍历每个用户向授予危险权限的组(GenericAll、WriteDacl、WriteOwner、ForceChangePassword)超过管理员用户(admincount=true)最多 10 个 MemberOf 组跃点(无周期),然后返回此类“潜在攻击者”用户的非重复数量。

graph("BloodHound_AD")
| graph-match cycles=none (user)-[memberof*0..10]->(group)-[permission]->(target)
    where labels(user) has "User" 
          and labels(group) has "Group"
          and all(memberof, labels() has "MemberOf")
          and user.properties.admincount == false
          and (labels(permission) has_any ("GenericAll", "WriteDacl", "WriteOwner", "ForceChangePassword"))
          and (labels(target) has "User" and target.properties.admincount == true)
    project  attack_user = user.name
| summarize ['Potential attackers'] = dcount(attack_user)
潜在攻击者
2

查找黄金证书攻击路径:

此查询标识可以执行黄金证书攻击的实体,从而允许攻击者将证书伪造为域中的任何用户。 这些漏洞是关键漏洞,因为它们允许攻击者通过伪造证书模拟任何用户(包括域管理员)来破坏整个域。

graph("BloodHound_AD")
| graph-match (attacker)-[goldencert]->(target)
    where labels(goldencert) has "GoldenCert"
    project 
        Attacker = attacker.name,
        AttackerType = case(
            attacker.name has "DC", "Domain Controller",
            attacker.name has "CA", "Certificate Authority", 
            attacker.name has "SRV", "Server",
            "Unknown System"
        ),
        Target = target.name,
        RiskLevel = "CRITICAL",
        AttackCapability = case(
            attacker.name has "DC", "Primary domain controller with certificate services",
            attacker.name has "EXTCA", "External Certificate Authority with root access",
            attacker.name has "SRV", "Compromised server with certificate generation rights",
            "System with certificate forging capabilities"
        )
攻击者 AttackerType 目标 RiskLevel AttackCapability
DC01。幽灵。公司 未知系统 幽灵。公司 危急 具有证书伪造功能的系统
SRV-SHARPHOUND。幽灵。公司 Server 幽灵。公司 危急 具有证书生成权限的已泄露服务器
EXTCA01。幽灵。公司 未知系统 幽灵。公司 危急 具有证书伪造功能的系统
EXTCA02。幽灵。公司 未知系统 幽灵。公司 危急 具有证书伪造功能的系统