chetannaveen/threat-intelligence-url-reputation-dashboard

GitHub: chetannaveen/threat-intelligence-url-reputation-dashboard

一个聚合公开威胁情报源并结合启发式分析的URL信誉评估仪表板,能够检测已知恶意指标并识别伪装性钓鱼域名。

Stars: 0 | Forks: 0

# 威胁情报 URL 信誉仪表板 ## 1. 项目概述 威胁情报 URL 信誉仪表板是一个轻量级 Web 应用程序,它聚合公开的威胁情报源,并结合可疑域名启发式分析。用户可以提交 URL、域名或 IP 地址,并获得: - 直接的情报源匹配 - 匹配的指标类型 - 来源情报归因 - 启发式可疑性发现 - 高亮显示的可疑字符或片段 - 统一的风险评分和判定结果 该仪表板是主要产品。这不是一个 CLI 优先的项目。 ## 2. 为什么会有这个工具 许多用于钓鱼和恶意软件传播的域名不会立即出现在公开情报源中。仅依赖情报源的信誉评估会漏掉诸如 `rnicrosoft.com` 或 `micr0soft-login-secure.com` 这样的模仿域名。本项目通过结合以下功能填补了这一空白: - 威胁情报聚合 - 标准化和精确匹配 - 欺诈和抢注分析 - 对可疑字符和片段的视觉解释 ## 3. 功能特性 - 带 REST API 的 FastAPI 后端 - 基于 SQLite 的标准化指标存储 - 针对 Spamhaus DROP、OpenPhish、URLHaus 和 Feodo Tracker 的公开情报源摄取 - URL/域名/IP 分析端点 - 针对欺诈和钓鱼式命名的可疑域名启发式分析 - Punycode 解码和 Unicode 可疑性检查 - 针对欺骗性片段的视觉高亮生成 - 近期查询历史 - 情报源和指标统计 - 轻量级响应式仪表板前端 ## 4. 架构概览 ``` Feeds - Spamhaus DROP - OpenPhish - URLHaus - Feodo Tracker | v Collectors / Parsers | v Normalization Layer | v SQLite Database | v Reputation + Suspicious Domain Analysis Engine | v FastAPI REST API | v Frontend Dashboard ``` ## 5. 数据源 - Spamhaus DROP 列表 - OpenPhish 情报源 - URLHaus 在线 CSV 情报源 - Feodo Tracker IP 黑名单 这些来源均为公开可用,可以通过仪表板或 API 进行刷新。 ## 6. URL 信誉分析如何工作 1. 输入被解析为 URL、域名或 IP。 2. 应用程序提取标准化的可比较项,如完整 URL、主机名、注册域名、子域名、路径和 IP。 3. 信誉引擎在数据库中搜索: - 精确的 URL 匹配 - 主机名或注册域名匹配 - 精确的 IP 匹配 - 针对 Spamhaus DROP 等网络情报源的 CIDR 包含检查 4. 情报源匹配结果会附带元数据和置信度返回。 ## 7. 可疑域名检测如何工作 启发式引擎检查主机名和路径中的欺骗性模式,例如: - Punycode 或 IDN 使用 - 非 ASCII 字符 - 同形字或外观相似的替换 - 针对精选品牌列表的抢注检测 - 诸如 `login`、`verify`、`secure` 和 `update` 等钓鱼关键词 - 过多的连字符 - 误导性子域名 - 可疑的 TLD - 看起来像生成的高熵长标签 ## 8. 高亮显示如何工作 后端返回结构化的高亮对象,包含: - 字段名称,例如 `hostname` 或 `path` - 可疑片段 - 严重程度 - 解释 - 可选的偏移量 前端将这些渲染为带注释的视觉标记,以便用户准确看到域名的哪一部分看起来具有欺骗性。 ## 9. 风险评分逻辑 最终评分结合了: - 威胁情报源匹配 - 指标类型严重程度 - 情报源置信度 - 欺诈启发式分析 - Punycode 和 Unicode 可疑性 - 品牌外观相似度检测 - 钓鱼关键词密度 判定类别: - `Safe` (安全) - `Low Risk` (低风险) - `Suspicious` (可疑) - `High Risk` (高风险) - `Known Malicious` (已知恶意) 情报源匹配主导最终判定。没有直接匹配的域名如果强烈类似于钓鱼基础设施,仍可能被评定为可疑或高风险。 ## 使用的算法和启发式规则 ### 指标标准化 每条情报源记录被标准化为一个通用模式,包含 `normalized_value`、`indicator_type`、主机上下文、时间戳、标签、置信度和来源元数据。 ### URL 解析与规范化 分析器使用 `urllib.parse` 规范化 URL,将主机名转换为小写,尽可能解码 punycode 标签,并派生出主机名、注册域名、子域名、路径和 IP 等可比较的工件。 ### 威胁情报源匹配 查询引擎对 URL、域名和 IP 执行精确匹配。对于 Spamhaus DROP 等 CIDR 类情报源,它将网络转换为整数范围,并对 IP 输入执行范围包含检查。 ### 可疑字符检测 分析器标记诸如 `0 -> o`、`1 -> l` 和 `rn -> m` 等可疑替换,并为 UI 高亮显示这些片段。 ### 同形字 / 相似度检测 项目使用替换感知的标准化,结合对精选品牌列表的编辑距离检查,以检测在混淆字符被标准化后看起来像知名品牌的域名。 ### Punycode 检测与解码 以 `xn--` 开头的主机标签会被标记并解码。解码后的形式会被返回,以便 UI 可以清楚地标记需要额外审查的国际化域名。 ### 抢注启发式规则 品牌相似度、字符替换、近似拼写和附加的钓鱼关键词被结合起来,以检测抢注和欺诈模式。 ### 钓鱼关键词启发式规则 引擎在主机名和路径中搜索诸如 `login`、`verify`、`secure`、`update` 和 `account` 等术语,当这些术语出现在品牌或账户相关的上下文中时,会提高可疑度。 ### 风险评分 威胁情报匹配贡献最大的分数。启发式分析贡献累加的可疑分数。这意味着像 `microsoft.com` 这样的干净域名保持低风险,而 `micr0soft-login-secure.com` 即使没有情报源匹配也可能得高分。 ### 误报 vs 漏报 对于合法的 IDN、与安全相关的域名或碰巧 resemble 品牌的域名,可能会出现误报。当恶意域名是新的、使用微妙的命名或尚未出现在公开情报源中时,可能会出现漏报。该项目特意将情报源数据与启发式分析相结合,因为仅凭其中一种信号是不完整的。 ### 为什么结合威胁情报匹配与启发式分析是有价值的 威胁情报源提供关于已知恶意基础设施的高置信度证据。启发式分析为尚未公布的欺骗性基础设施提供更早的可见性。结合两者可以提高实际的分析师实用性。 ## 10. 设置说明 ``` cd threat-intelligence-url-reputation-dashboard python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt ``` ## 11. 运行后端 ``` cd threat-intelligence-url-reputation-dashboard PYTHONPATH=backend uvicorn app.main:app --reload ``` 应用程序将在 `http://127.0.0.1:8000/` 启动。 ## 12. 运行前端 前端由 FastAPI 从 `frontend/` 目录提供服务。不需要单独的前端服务器。 打开: - `http://127.0.0.1:8000/` ## 13. 更新威胁情报源 从 UI: - 点击 `Update feeds` 从 API: ``` curl -X POST http://127.0.0.1:8000/update-feeds ``` ## 14. 示例分析结果 ### `microsoft.com` - 无恶意情报源匹配 - 极小的启发式可疑度 - 预期判定:`Safe` 或 `Low Risk` ### `rnicrosoft.com` - 如果是新注册的,可能没有情报源匹配 - 高亮 `rn`,因为它在视觉上可能类似 `m` - 预期判定:`Suspicious` ### `micr0soft-login-secure.com` - 可能没有直接的情报源匹配 - 高亮 `0` 和钓鱼关键词 - 预期判定:`Suspicious` 或 `High Risk` ### `xn--microsofft-abc.com` - Punycode 标记 - 显示解码后的主机名 - 预期判定取决于解码内容和品牌相似度 ## 15. 限制 - 公开情报源是不完整的,可能会滞后于活跃的活动 - 品牌列表是精选的,并非详尽无遗 - SQLite 适用于本地使用和演示,但较大的部署可能更倾向于 PostgreSQL - 启发式检测既可能产生误报,也可能产生漏报 - 公共后缀提取的准确性取决于本地 `tldextract` 数据缓存 ## 16. 未来改进 - 异步定时情报源更新 - 分析师备注和案例标签 - 更广泛的品牌语料库和易混淆字符数据集 - 截图或 WHOIS 丰富 - 路径和查询字符串钓鱼模板分析 - PostgreSQL 支持和后台工作者 - 情报源新鲜度警报 - 分析师导出格式,如 JSON 和 CSV 报告 ## 17. 适合简历的项目描述 构建了一个仪表板优先的威胁情报平台,使用 FastAPI、SQLite 和响应式 Web UI,聚合公开的 IOC 情报源并执行 URL/域名信誉分析。实现了情报源收集器、标准化指标存储、精确和基于 CIDR 的匹配、针对欺诈和抢注的可疑域名启发式分析、结构化高亮生成,以及用于钓鱼和恶意软件基础设施分析的统一风险评分引擎。
标签:AMSI绕过, AV绕过, DAST, DNS枚举, ESC4, FastAPI, Feodo Tracker, HTTP/HTTPS抓包, IDN欺骗, IP信誉, OpenPhish, OSINT, Punycode解码, Python, REST API, Spamhaus, SQLite, URLHaus, URL信誉分析, 仪表盘, 仿冒域名识别, 域名安全, 威胁情报, 威胁检测, 开发者工具, 态势感知, 恶意软件分析, 无后门, 欺诈检测, 网络安全工具, 误植域名, 逆向工具, 配置审计, 钓鱼检测