当前位置: 首页 > news >正文

Yeti实体关系图构建指南:如何可视化威胁活动与攻击者关联

Yeti实体关系图构建指南:如何可视化威胁活动与攻击者关联

【免费下载链接】yetiYour Everyday Threat Intelligence项目地址: https://gitcode.com/gh_mirrors/ye/yeti

🔍Yeti威胁情报平台为网络安全分析师提供了一个强大的实体关系图构建工具,帮助您直观地追踪威胁活动、分析攻击者关联、揭示复杂的网络攻击链。本指南将向您展示如何利用Yeti的可视化功能,快速构建专业的威胁情报关系网络。

🎯 为什么需要威胁情报实体关系图?

在网络安全分析中,孤立的数据点往往难以揭示完整的攻击图景。通过Yeti实体关系图,您可以:

  • 关联分析:将攻击者、恶意软件、入侵集、漏洞等实体连接起来
  • 可视化追踪:直观展示威胁活动的时间线和传播路径
  • 深度调查:发现隐藏的攻击模式和关联关系
  • 团队协作:共享威胁情报,提高响应效率

Yeti支持多种实体类型,包括攻击者(Threat Actor)、恶意软件(Malware)、入侵集(Intrusion Set)、漏洞(Vulnerability)、工具(Tool)等,这些实体都可以通过关系连接形成完整的威胁图谱。

📊 Yeti实体关系图的核心组件

实体类型系统

Yeti的实体系统位于core/schemas/entities/目录,支持多种威胁情报实体:

  • 攻击者实体threat_actor.py- 代表威胁行为者
  • 恶意软件实体malware.py- 恶意软件家族和变种
  • 入侵集实体intrusion_set.py- 有组织的攻击团体
  • 漏洞实体vulnerability.py- 安全漏洞信息
  • 工具实体tool.py- 攻击者使用的工具

关系模型

关系系统定义在core/schemas/graph.py中,支持:

  • Relationship:基础关系模型,连接任意两个实体
  • RoleRelationship:权限控制关系
  • GraphFilter:图形查询过滤器

🛠️ 实战:构建您的第一个威胁关系图

步骤1:创建实体

首先,您需要创建相关的威胁实体。例如,创建一个攻击者实体:

# 创建攻击者实体 threat_actor = entity.save( name="APT29", type="threat-actor", aliases=["Cozy Bear", "The Dukes"], description="Russian state-sponsored threat actor" )

步骤2:建立实体关系

使用Yeti的图形API建立实体之间的关联:

# 建立攻击者与恶意软件的关联 malware = entity.save( name="Cobalt Strike", type="malware", family="Cobalt Strike", description="Commercial penetration testing tool abused by threat actors" ) # 创建关系:攻击者使用恶意软件 relationship = threat_actor.link_to( malware, relationship_type="uses", description="APT29 frequently uses Cobalt Strike for post-exploitation" )

步骤3:查询关系网络

通过图形API查询实体关联:

# 查询攻击者的所有关联实体 vertices, paths, total = threat_actor.neighbors( link_types=["uses", "targets", "employs"], target_types=["malware", "tool", "vulnerability"], direction="outbound", min_hops=1, max_hops=3 )

🔍 高级关系图构建技巧

1. 多跳关系查询

Yeti支持复杂的关系路径查询,让您发现间接关联:

# 查找3跳内的所有关联实体 vertices, paths, total = entity.neighbors( min_hops=1, max_hops=3, direction="any" )

2. 类型过滤查询

只查询特定类型的实体关联:

# 仅查询与恶意软件相关的关联 vertices, paths, total = threat_actor.neighbors( target_types=["malware"], link_types=["uses", "distributes"] )

3. 关系方向控制

灵活控制查询方向:

  • outbound:从当前实体出发的关系
  • inbound:指向当前实体的关系
  • any:双向关系

📈 可视化分析实战案例

案例:追踪勒索软件攻击链

假设您正在调查一起勒索软件攻击,可以这样构建关系图:

  1. 创建勒索软件实体

    ransomware = entity.save( name="Conti", type="malware", family="Conti", description="Ransomware-as-a-Service operation" )
  2. 关联攻击者

    # 关联已知的Conti运营者 conti_actor = entity.save( name="Wizard Spider", type="threat-actor", aliases=["Gold Blackburn"], description="Russian-speaking cybercrime group" ) conti_actor.link_to(ransomware, "operates", "Primary operator of Conti ransomware")
  3. 关联攻击基础设施

    # 关联C2服务器 c2_server = observable.save( value="malicious-domain.com", type="hostname", tags=["c2", "conti"] ) ransomware.link_to(c2_server, "communicates-with", "C2 infrastructure")
  4. 关联攻击手法

    # 关联使用的漏洞 vulnerability = entity.save( name="CVE-2021-34527", type="vulnerability", description="PrintNightmare vulnerability" ) ransomware.link_to(vulnerability, "exploits", "Used for initial access")

🎨 关系图的最佳实践

1. 标准化关系类型

建议使用以下标准关系类型:

  • uses:攻击者使用工具/恶意软件
  • targets:攻击特定目标
  • employs:使用特定TTP
  • exploits:利用漏洞
  • communicates-with:与基础设施通信
  • belongs-to:属于某个组织

2. 丰富的关系描述

为每个关系提供详细的描述:

relationship = source.link_to( target, relationship_type="uses", description="First observed use in Operation XYZ on 2023-05-15, used for lateral movement via SMB" )

3. 定期更新关系

威胁情报是动态的,定期更新实体关系:

  • 添加新的关联证据
  • 标记过时的关系
  • 记录关系的时间线

🔧 API接口使用指南

Yeti提供了完整的图形API接口,位于core/web/apiv2/graph.py

主要端点:

  1. POST /graph/search- 搜索实体关系
  2. POST /graph/add- 添加新关系
  3. PATCH /graph/{id}- 修改关系
  4. POST /graph/match- 匹配可观察项

请求示例:

{ "source": "threat-actor/apt29", "target": "malware/cobaltstrike", "link_type": "uses", "description": "APT29使用Cobalt Strike进行命令与控制" }

🚀 快速开始建议

新手入门路径:

  1. 从简单开始:先创建少量实体和关系
  2. 使用模板:参考现有的威胁情报报告
  3. 逐步扩展:随着调查深入添加更多关联
  4. 团队协作:共享和验证关系数据

推荐的学习资源:

  • 实体定义:core/schemas/entities/
  • 关系模型:core/schemas/graph.py
  • API接口:core/web/apiv2/graph.py
  • 实战示例:tests/apiv2/graph.py

📝 总结

Yeti的实体关系图功能为网络安全分析师提供了一个强大的可视化工具,帮助您:

快速构建威胁情报关系网络
深度分析攻击者关联和攻击链
团队协作共享调查结果
自动化查询通过API接口

通过本指南,您已经掌握了Yeti实体关系图的基本构建方法。现在就开始创建您的第一个威胁情报关系图,让复杂的网络攻击模式一目了然!

💡提示:关系图的价值在于持续维护和更新。随着新威胁情报的获取,不断丰富您的实体关系网络,构建一个动态、准确的威胁情报知识库。

记住,好的威胁情报关系图不仅是数据展示,更是分析思路的体现。通过Yeti的强大功能,您可以将碎片化的威胁信息转化为有价值的战略洞察。

【免费下载链接】yetiYour Everyday Threat Intelligence项目地址: https://gitcode.com/gh_mirrors/ye/yeti

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/781806/

相关文章:

  • Nuxt.js Token管理完全指南:JWT、刷新令牌和安全存储的最佳实践 [特殊字符]
  • LeetCode--已知前序遍历和中序遍历构造二叉树_已知一棵树的前序遍历和中序遍历
  • ComfyUI节点冲突深度解析:5种系统化解决方案与最佳实践
  • OpenCode与Cursor Pro深度整合:无限制提示词与完整工具调用实战
  • Claude Stacks:AI开发环境一键打包与共享的CLI工具实战
  • Rune语言社区贡献指南:如何参与开源项目开发的完整教程
  • 第二篇:Redis的过期删除与内存淘汰——数据过期了怎么删?内存满了怎么办?
  • Blueboat性能优化秘籍:让你的JavaScript应用运行速度提升300%
  • 树莓派Zero W打造开源电子宠物:软硬结合与低功耗设计实战
  • 视频转文字的方法有哪些?2026年视频转文字工具推荐完全对比
  • Vale编译器构建系统详解:跨平台编译与依赖管理终极指南
  • LitElement自定义渲染根终极指南:解锁Shadow DOM的高级配置
  • Claude全面入侵Office,微软慌了!
  • 5分钟快速上手:Windows DLL注入器Xenos终极使用指南
  • 开源AI网关实战:LLM API治理、成本控制与安全合规指南
  • 如何用AKShare快速搞定金融数据获取?终极实战指南
  • Vrite高级功能揭秘:实时评论、版本历史和冲突解决
  • 终极navi指南:10个变量依赖和扩展功能的实战技巧
  • 碧蓝航线自动化革命:如何用AzurLaneAutoScript实现7x24小时全托管游戏体验
  • XUnity自动翻译器:让外语游戏秒变中文版的终极解决方案
  • 原神FPS解锁器:终极免费工具轻松突破60帧限制,享受丝滑游戏体验
  • FP8量化在生成式推荐系统OneRec-V2中的优化实践
  • Sanic消息格式终极指南:如何自定义协议与优化数据交换性能
  • FeignClient注解及参数问题---SpringCloud微服务
  • 5分钟打造个性化Windows桌面:TranslucentTB透明任务栏终极指南
  • 基于RAG技术构建私有知识库智能问答系统:从原理到实践
  • Docker-Mailserver终极指南:如何配置DKIM和DMARC实现专业邮件身份验证
  • Chatbox:桌面端AI助手聚合客户端,统一管理多模型与本地部署
  • 如何为ChatGPT-Micro-Cap-Experiment贡献代码:从零开始的AI金融项目贡献指南
  • Gallop Arena:LLM竞技场评估平台,自动化模型对比与Elo排名实战