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信誉分析, 仪表盘, 仿冒域名识别, 域名安全, 威胁情报, 威胁检测, 开发者工具, 态势感知, 恶意软件分析, 无后门, 欺诈检测, 网络安全工具, 误植域名, 逆向工具, 配置审计, 钓鱼检测