
SigCorr ist das erste Open-Source-Tool zur Erkennung protokollübergreifender Angriffsketten über SS7/MAP, Diameter S6a und GTPv2-C hinweg durch eine einheitliche Teilnehmeridentitäts-Korrelation.
Passive protokollübergreifende Angriffserkennung für Mobile-Core-Netze
SigCorr ist das erste Open-Source-Tool zur Erkennung protokollübergreifender Angriffsketten über SS7/MAP, Diameter S6a und GTPv2-C durch die Korrelation vereinheitlichter Teilnehmeridentitäten.
git clone https://github.com/sage-s11/sigcorr.git
cd sigcorr
mvn clean package -DskipTests
java -jar target/sigcorr-0.1.0.jar analyze capture.pcap
./test.sh
┌─────────────────────────────────────────────────────────────────┐
│ SigCorr │
├─────────────────────────────────────────────────────────────────┤
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ SS7/MAP │ │ Diameter │ │ GTPv2-C │ │
│ │ Parser │ │ Parser │ │ Parser │ │
│ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ │
│ │ │ │ │
│ └────────────┬────┴────────────────┘ │
│ ▼ │
│ ┌─────────────────────┐ │
│ │ Identity Resolver │ IMSI ↔ MSISDN correlation │
│ └──────────┬──────────┘ │
│ ▼ │
│ ┌─────────────────────┐ │
│ │ Correlation Engine │ Temporal windowing │
│ └──────────┬──────────┘ │
│ ▼ │
│ ┌─────────────────────┐ │
│ │ Pattern Matcher │ 22 attack signatures │
│ └──────────┬──────────┘ │
│ ▼ │
│ ALERTS │
└─────────────────────────────────────────────────────────────────┘
════════════════════════════════════════════════════════════════
SigCorr v0.1.0 - Cross-Protocol Signaling Security Correlator
════════════════════════════════════════════════════════════════
Analyzing: full_multi_protocol_attack.pcap
Events decoded:
SS7/MAP: 2
Diameter: 2
GTPv2-C: 1
Total: 5
Alerts:
ALERT[CRITICAL] ATK-001 | Silent Location Tracking
subscriber=IMSI:234101234567890
confidence=95%
events=2
ALERT[CRITICAL] ATK-003 | Multi-Protocol Reconnaissance
subscriber=IMSI:234101234567890
confidence=90%
cross-protocol=true
events=5
Summary: 2 alerts generated
Bearbeiten Sie sigcorr-config.yaml:
sigcorr:
tshark:
path: /usr/bin/tshark
timeout: 30s
correlation:
temporal_window: 30s
inference_window: 10s
detection:
min_confidence: 70
enabled_patterns:
- ATK-001
- ATK-002
- ATK-003
# ... or 'all'
output:
evidence_dir: ./evidence
extract_pcap: true
./test.sh
Validiert 9 Angriffsmuster anhand generierter Pcaps.
# Public-Samples zuerst herunterladen (siehe test-pcaps/public-samples/DOWNLOAD_GUIDE.md)
bash ./test-pcaps/test_public_samples.sh
Testet gegen über 20 reale Pcap-Beispiele auf:
sigcorr/
├── src/main/java/io/sigcorr/
│ ├── core/ # Core models (SignalingEvent, SubscriberIdentity)
│ ├── ingest/ # Protocol parsers (TsharkBridge)
│ ├── correlation/ # Identity resolution, temporal windowing
│ └── detection/ # Attack patterns, alerting
├── test-pcaps/
│ ├── attack-samples/ # Generated attack pcaps
│ ├── public-samples/ # Real-world validation samples
│ └── generate_*.py # Pcap generators
├── evidence/ # Extracted evidence pcaps (runtime)
├── pom.xml
├── sigcorr-config.yaml
└── test.sh
Beiträge sind willkommen! Ob Fehlerberichte, Ideen für neue Angriffsmuster, Protokollunterstützung oder Verbesserungen der Dokumentation – jede Hilfe wird geschätzt.
git checkout -b feature/new-attack-pattern)git commit -m 'Add ATK-022: new pattern')git push origin feature/new-attack-pattern)Bitte stellen Sie sicher, dass ./test.sh vor dem Einreichen erfolgreich durchläuft.
SigCorr wird unter der GNU Affero General Public License v3.0 (AGPL-3.0) veröffentlicht.
Das bedeutet, dass Sie SigCorr frei verwenden, modifizieren und verbreiten dürfen, auch in kommerziellen Umgebungen. Wenn Sie SigCorr modifizieren und über ein Netzwerk bereitstellen (z. B. als gehosteten Dienst), müssen Sie Ihre Änderungen unter derselben Lizenz veröffentlichen.
Den vollständigen Text finden Sie unter LICENSE.
Wenn die AGPL für Ihren Anwendungsfall nicht geeignet ist – zum Beispiel, wenn Sie SigCorr in ein proprietäres Produkt einbetten oder als Teil eines kommerziellen Dienstes ohne die Quelloffenlegungspflichten der AGPL anbieten möchten – ist eine kommerzielle Lizenz erhältlich.
Kontaktieren Sie Shreyas S unter [email protected] oder eröffnen Sie ein GitHub-Issue mit dem Tag licensing, um zu sprechen.
Wenn Sie SigCorr in der akademischen Forschung verwenden, zitieren Sie bitte:
@software{sigcorr2025,
author = {Shreyas S},
title = {SigCorr: Passive Cross-Protocol Attack Detection for Mobile Core Networks},
year = {2025},
url = {https://github.com/sage-s11/sigcorr},
doi = {10.5281/zenodo.19439509}
}
Shreyas S (GitHub: @sage-s11)
| ID | Angriff | Beschreibung |
|---|
| ATK-001 | Stilles Standort-Tracking | SRI gefolgt von PSI, um den Teilnehmer zu verfolgen |
| ATK-002 | Aufbau eines Abfangvorgangs | SRI gefolgt von ISD, um Anrufe umzuleiten |
| ATK-006 | Teilnehmer-DoS | CancelLocation + DeleteSubscriberData |
| ATK-011 | SMS-Abfangen | SRI-SM gefolgt von MT-ForwardSM |
| ATK-014 | Auth-Vektor-Harvesting | SRI gefolgt von SendAuthInfo |
| ATK-021 | IMSI-Catcher-Erkennung | Unberechtigtes UpdateLocation + SendAuthInfo |
| ID | Angriff | Beschreibung |
|---|
| ATK-003 | Mehrprotokoll-Aufklärung | Koordinierter Angriff über MAP + Diameter + GTP |
| ATK-005 | Diameter-zu-SS7-Abstieg | Diameter-AIR-Fehler, dann MAP-Fallback |
| ATK-009 | Diameter-Aufklärung + GTP-Hijacking | AIR gefolgt von CreateSession |
| ATK-010 | Diameter-Standort-Hijacking | AIR gefolgt von gespooftem ULR |