mrcord77/recurrence-detection-framework
GitHub: mrcord77/recurrence-detection-framework
非周期确定性C2调度检测框架,用于识别潜在网络威胁。
Stars: 0 | Forks: 0
# 结构性循环检测框架
[](https://doi.org/10.5281/zenodo.20467943)
**通过代数循环分析检测非周期确定性 C2 调度**
一种用于命令和控制信标检测的结构性检测框架,它使用确定性非周期时间——斐波那契、三阶斐波那契、帕多瓦、纳拉亚纳循环调度和有界无理旋转。这些调度族通过设计规避了 RITA 风格的周期性评分,同时通过多门循环测试保持结构可识别性。
**安德烈·科尔多罗** — RepoSignal.io LLC
## 关键结果
- **天花板定理**:RITA 风格的复合评分对于增长区间调度(最大分数 0.50 + 0.50/n,对于 n ≥ 3 低于 0.70 警报阈值)具有可证明的结构盲点
- 在 145,406 个标记的背景流(CTU-13 + Stratosphere 数据集,n ≥ 8)中检测到 **22 个结构激活**
- 在 3,165 个标记的僵尸网络流中 **零激活**
- 在四种最常见的重试/回退模式(二进制、AWS SDK、Kubernetes、TCP 重传)上 **零误报**
## 验证检测器
| 检测器 | 家族 | 增长模式 | 信号类型 |
|--------|--------|--------------|-------------|
| Beacon Hunter v0.3.0 | 斐波那契(φ ≈ 1.618) | 指数 | 加法循环 |
| Tribonacci Hunter v1.1 | 三阶斐波那契(τ ≈ 1.839) | 指数 | 加法循环 |
| Padovan Hunter v1.1 | 帕多瓦(ρ ≈ 1.325) | 指数 | 加法循环 |
| Narayana Hunter v1.1 | 纳拉亚纳(N ≈ 1.466) | 指数 | 加法循环 |
| Bounded Hunter v1.0 | 无理旋转 | 有界 | 三间隙定理 |
| Reverse Scanner v1.2 | 所有四个循环家族 | — | 双向扩展(在反向顺序遍历中包装循环检测器) |
所有检测器都使用多门架构:
- **门 1**:比率/增长预过滤器(计算成本低)
- **门 2**:结构确认与排列显著性测试
- **门 2.5**:基于收敛的几何回退拒绝
## 快速入门
```
git clone https://github.com/mrcord77/recurrence-detection-framework.git
cd recurrence-detection-framework
pip install -r requirements.txt
# 运行检测差距演示
python demo.py
```
### 演示输出
```
Family n RITA Score Ceiling Alert? Detector Result Conf
fibonacci 20 ✗ 56.4% 52.5% no ✓ ADDITIVE_RECURRENCE_BEACON 83.3%
tribonacci 15 ✗ 55.3% 53.3% no ✓ TRIBONACCI_RECURRENCE_BEACON 73.8%
padovan 20 ✗ 46.7% 52.5% no ✓ PADOVAN_RECURRENCE_BEACON 83.3%
narayana 20 ✗ 52.0% 52.5% no ✓ NARAYANA_RECURRENCE_BEACON 73.4%
rotation 30 ✗ 40.9% 51.7% no ✓ ROTATION_BEACON 21.1%
RITA-style scoring: 5/5 schedules score below alert threshold
Structural detectors: 5/5 schedules detected
✓ DETECTION GAP CONFIRMED
```
**经 RITA v5.1.2 验证**:一个 20 连接的斐波那契信标得分为 45.9%(严重程度:无)。Beacon Hunter 以 86.1% 的置信度将该流量分类为 ADDITIVE_RECURRENCE_BEACON。
生成 RITA 导入的 Zeek conn.logs:
```
python demo.py --zeek
# 然后:rita import --logs demo_logs --database demo_test
```
### 在 Zeek conn.log 上运行单个检测器
```
from detectors.beacon_hunter.detectors import classify_flow
# 时间戳 = 单个流连接的时间戳列表
result = classify_flow(timestamps, connection_level=True, min_pkts=7)
print(result["classification"]) # ADDITIVE_RECURRENCE_BEACON or BACKGROUND
```
### 在 Zeek conn.log 上运行所有检测器
```
import importlib
DETECTORS = [
("Beacon Hunter", "detectors.beacon_hunter.detectors"),
("Tribonacci Hunter", "detectors.tribonacci_hunter.detectors"),
("Padovan Hunter", "detectors.padovan_hunter.detectors"),
("Narayana Hunter", "detectors.narayana_hunter.detectors"),
("Bounded Hunter", "detectors.bounded_hunter.detectors"),
]
for name, module_path in DETECTORS:
mod = importlib.import_module(module_path)
result = mod.classify_flow(timestamps, connection_level=True, min_pkts=7)
if result["classification"] != "BACKGROUND":
print(f"{name}: {result['classification']} (conf={result['confidence']:.2f})")
```
### 运行反向扫描器(双向)
```
from detectors.reverse_scanner.detectors import classify_flow
result = classify_flow(timestamps, connection_level=True, min_pkts=7)
# 返回方向:正向或反向
print(f"{result['classification']} ({result['direction']})")
```
## 证据强化测试
可重现的验证脚本确认了所有主要论文主张:
```
# 一次性运行所有测试(约12秒)
PYTHONPATH=. python3 run_all_tests.py
```
| 测试 | 验证内容 | 论文部分 |
|------|-----------------|---------------|
| 测试 1(RITA 天花板) | 天花板定理有效且保守;偏斜和双峰与增长序列反相关 | 第 4.2 节 |
| 测试 2(注入) | 5/5 信标检测到,5/5 RITA 警报,0/200 背景FP在混合语料库中 | 第 8.1 节 |
| 测试 3(n敏感性) | n≥8 阈值经验上合理;n=6 时检测率为 0%,n=8 时为 100% 对于三个家族 | 第 8.4 节 |
| 测试 5(门 2.5 成本) | 10% 骤变时检测率为 78%,20% 骤变时为 50%;所有未检测到的是来自门 2.5 的 | 第 8.7 节 |
| 测试 6(多方法) | 在 RITA、CV、Lomb-Scargle、FFT 与所有 5 个家族 × 5 骤变级别相比,0/100 警报 | 第 8.10 节 |
单个脚本位于 `validation/` 中,可独立使用。
**关于门 2.5(测试 5)的说明**:论文先前将循环检测器的骤变容忍度描述为“对 15-20% 骤变稳健”。100 个种子的扫描显示,斐波那契(n=20)在 10% 骤变时的检测率为 78%,在 20% 骤变时的检测率为 50%。这是回退拒绝和真正阳性率之间的记录校准权衡。论文的第 8.7 节已根据经验率进行了更正。
## 验证
### CTU-13 大规模验证
```
cd validation
python validate_ctu13_core.py # Config A: 5 individual detectors
python validate_ctu13_reverse.py # Config B: Reverse Scanner + Bounded
```
需要 CTU-13 数据集:https://www.stratosphereips.org/datasets-ctu13
### 回退压力测试
```
cd validation
python backoff_test_battery.py
```
测试了 8 种常见的重试/回退模式(二进制、AWS SDK、Kubernetes、TCP、gRPC、浏览器、CDN、移动)与所有检测器。
### 合成多周流量
```
cd validation
python generate_multiweek_traffic.py
```
生成 970 个流量,涵盖 10 种现实企业流量类型,并测试所有检测器。
## 仓库结构
```
recurrence-detection-framework/
├── LICENSE # AGPL-3.0
├── README.md
├── requirements.txt
├── demo.py # Detection gap demonstration
├── detectors/
│ ├── beacon_hunter/ # Fibonacci (φ ≈ 1.618)
│ │ └── detectors.py
│ ├── tribonacci_hunter/ # Tribonacci (τ ≈ 1.839)
│ │ └── detectors.py
│ ├── padovan_hunter/ # Padovan (ρ ≈ 1.325)
│ │ └── detectors.py
│ ├── narayana_hunter/ # Narayana (N ≈ 1.466)
│ │ └── detectors.py
│ ├── bounded_hunter/ # Irrational rotation
│ │ └── detectors.py
│ └── reverse_scanner/ # Bidirectional recurrence (v1.2)
│ └── detectors.py
├── validation/
│ ├── validate_ctu13_core.py # Config A: individual detectors
│ ├── validate_ctu13_reverse.py # Config B: reverse scanner + bounded
│ ├── backoff_test_battery.py # Retry/backoff confounder testing
│ ├── spectral_comparison.py # Rayleigh periodogram analysis
│ └── generate_multiweek_traffic.py
└── paper/
├── framework_paper_final.docx # Full paper
└── framework_paper_draft.md # Markdown source
```
## 分类法
该框架识别了确定性非周期调度的四种增长模式:
| 增长模式 | 示例 | 检测状态 |
|--------------|---------|-----------------|
| **指数** | 斐波那契、三阶斐波那契、帕多瓦、纳拉亚纳 | ✅ 已验证(22 个激活 / 145K 流) |
| **有界** | 无理旋转(三间隙定理) | ✅ 已验证(3 个激活 / 145K 流) |
| **对数** | 连续质数 | ⬜ 开放性研究问题 |
| **多项式** | 幂律增长(n²、n³) | ⬜ 开放性研究问题 |
对数和多项式模式已在分类法中识别,但没有经过验证的检测方法。当前针对这些模式的方法测试单个区间值而不是区间之间的关系,在规模上产生不可接受的误报率。为这些模式开发关系检测信号是一个开放性研究问题。
## 论文
**“非周期确定性 C2 调度的结构检测框架:分类法、天花板证明和特定家族检测器”**
安德烈·科尔多罗,RepoSignal.io LLC
完整论文可在 `paper/framework_paper_final.docx` 中找到。
主要贡献:
1. **结构天花板证明**:针对 RITA 风格的复合评分在增长调度上的有效性
2. **非周期确定性调度家族的增长模式分类法**
3. **代数循环枚举**——二阶系数循环的封闭分类
4. **多门检测架构**:基于收敛的回退拒绝
5. **CTU-13 上的大规模验证**(145K+ 流,22 个结构激活)
6. **三间隙定理的应用**:网络安全检测
## 威胁模型
这些调度族对攻击者具有操作上的吸引力,因为它们易于实现(1-3 行代码),完全确定(攻击者知道每个未来的回调时间),并产生没有主导周期、没有模态区间和高变差的间隔。
**尚未发现已知使用这些调度族的恶意软件。** 该框架基于操作激励分析解决了一个可能的未来威胁,而不是一个已确认的当前威胁。
## 引用
如果您使用这项工作,请引用:
```
@article{cordero2026structural,
title={A Structural Detection Framework for Non-Periodic Deterministic C2 Scheduling},
author={Cordero, Andre},
year={2026},
note={RepoSignal.io LLC}
}
```
## 相关工作
- [Beacon Hunter](https://github.com/mrcord77/beacon-hunter) — 原始的仅斐波那契检测器(本框架的前身)
- [RITA](https://github.com/activecm/rita) — 真实智能威胁分析
- [Cobalt Strike](https://www.cobaltstrike.com/) — 具有可塑时间配置文件的 C2 框架
## 许可证
GNU Affero 通用公共许可证 v3.0 (AGPL-3.0)
请参阅 [LICENSE](LICENSE) 以获取全文。
通过 RepoSignal.io LLC 提供商业许可。
标签:AMSI绕过, Apex, C2 漏洞检测, CTU-13, Stratosphere, 信号处理, 反病毒, 多门控架构, 威胁情报, 威胁检测, 开发者工具, 异常检测, 数学分析, 斐波那契数列, 机器学习, 模式识别, 真实攻击检测, 算法检测, 算法识别, 结构化检测, 结构确认, 网络安全, 误报率, 逆向工具, 递归分析, 隐私保护, 非周期性调度, 预过滤