
SigCorr es la primera herramienta de código abierto para detectar cadenas de ataques entre protocolos que abarcan SS7/MAP, Diameter S6a y GTPv2-C mediante la correlación unificada de identidad de suscriptor.
Detección pasiva de ataques entre protocolos para redes de núcleo móvil
SigCorr es la primera herramienta de código abierto que detecta cadenas de ataques entre protocolos que abarcan SS7/MAP, Diameter S6a y GTPv2-C mediante la correlación unificada de identidad del suscriptor.
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
Edita 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
Valida 9 patrones de ataque contra pcaps generados.
# Download public samples first (see test-pcaps/public-samples/DOWNLOAD_GUIDE.md)
bash ./test-pcaps/test_public_samples.sh
Pruebas contra más de 20 muestras reales de pcap para:
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
¡Las contribuciones son bienvenidas! Ya sean informes de errores, ideas de nuevos patrones de ataque, soporte de protocolos o mejoras de documentación — toda ayuda es apreciada.
git checkout -b feature/new-attack-pattern)git commit -m 'Add ATK-022: new pattern')git push origin feature/new-attack-pattern)Asegúrate de que ./test.sh pase antes de enviar.
SigCorr se publica bajo la GNU Affero General Public License v3.0 (AGPL-3.0).
Esto significa que eres libre de usar, modificar y distribuir SigCorr, incluso en entornos comerciales. Si modificas SigCorr y lo pones a disposición a través de una red (por ejemplo, como servicio alojado), debes publicar tus modificaciones bajo la misma licencia.
Consulta LICENSE para ver el texto completo.
Si la AGPL no se ajusta a tu caso de uso — por ejemplo, si quieres integrar SigCorr en un producto propietario u ofrecerlo como parte de un servicio comercial sin los requisitos de compartir el código fuente de la AGPL — hay una licencia comercial disponible.
Contacta con Shreyas S en [email protected] o abre un GitHub Issue etiquetado como licensing para hablarlo.
Si utilizas SigCorr en investigación académica, por favor cita:
@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 | Ataque | Descripción |
|---|
| ATK-001 | Seguimiento silencioso de ubicación | SRI seguido de PSI para rastrear al suscriptor |
| ATK-002 | Configuración de interceptación | SRI seguido de ISD para redirigir llamadas |
| ATK-006 | DoS al suscriptor | CancelLocation + DeleteSubscriberData |
| ATK-011 | Interceptación de SMS | SRI-SM seguido de MT-ForwardSM |
| ATK-014 | Recolección de vectores de autenticación | SRI seguido de SendAuthInfo |
| ATK-021 | Detección de IMSI Catcher | UpdateLocation y SendAuthInfo no autorizados |
| ID | Ataque | Descripción |
|---|
| ATK-003 | Reconocimiento multiprotocolo | Ataque coordinado de MAP + Diameter + GTP |
| ATK-005 | Degradación de Diameter a SS7 | Fallo de AIR de Diameter seguido de respaldo a MAP |
| ATK-009 | Reconocimiento de Diameter + secuestro de GTP | AIR seguido de CreateSession |
| ATK-010 | Secuestro de ubicación en Diameter | AIR seguido de ULR suplantado |