
SigCorr é a primeira ferramenta de código aberto a detectar cadeias de ataques entre protocolos que abrangem SS7/MAP, Diameter S6a e GTPv2-C através da correlação unificada de identidade de assinante.
Detecção Passiva de Ataques entre Protocolos para Redes de Núcleo Móvel
O SigCorr é a primeira ferramenta de código aberto a detectar cadeias de ataques entre protocolos que abrangem SS7/MAP, Diameter S6a e GTPv2-C por meio da correlação unificada de identidade do assinante.
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
Edite o 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 padrões de ataque contra pcaps gerados.
# Download public samples first (see test-pcaps/public-samples/DOWNLOAD_GUIDE.md)
bash ./test-pcaps/test_public_samples.sh
Testa contra mais de 20 amostras de pcap do mundo real 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
Contribuições são bem-vindas! Sejam relatórios de bugs, ideias de novos padrões de ataque, suporte a protocolos ou melhorias na documentação — toda ajuda é apreciada.
git checkout -b feature/new-attack-pattern)git commit -m 'Add ATK-022: new pattern')git push origin feature/new-attack-pattern)Certifique-se de que ./test.sh passe antes de enviar.
O SigCorr é distribuído sob a GNU Affero General Public License v3.0 (AGPL-3.0).
Isso significa que você é livre para usar, modificar e distribuir o SigCorr, inclusive em ambientes comerciais. Se você modificar o SigCorr e disponibilizá-lo em uma rede (por exemplo, como um serviço hospedado), você deve publicar suas modificações sob a mesma licença.
Consulte LICENSE para o texto completo.
Se a AGPL não atender ao seu caso de uso — por exemplo, se você quiser incorporar o SigCorr a um produto proprietário ou oferecê-lo como parte de um serviço comercial sem os requisitos de compartilhamento de código-fonte da AGPL — uma licença comercial está disponível.
Entre em contato com Shreyas S pelo e-mail [email protected] ou abra uma Issue no GitHub marcada com licensing para conversarmos.
Se você usar o SigCorr em pesquisa acadêmica, cite:
@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 | Descrição |
|---|
| ATK-001 | Rastreamento Silencioso de Localização | SRI seguido de PSI para rastrear o assinante |
| ATK-002 | Configuração de Interceptação | SRI seguido de ISD para redirecionar chamadas |
| ATK-006 | DoS do Assinante | CancelLocation + DeleteSubscriberData |
| ATK-011 | Interceptação de SMS | SRI-SM seguido de MT-ForwardSM |
| ATK-014 | Coleta de Vetores de Autenticação | SRI seguido de SendAuthInfo |
| ATK-021 | Detecção de IMSI Catcher | UpdateLocation + SendAuthInfo não autorizados |
| ID | Ataque | Descrição |
|---|
| ATK-003 | Reconhecimento Multi-Protocolo | Ataque coordenado entre MAP + Diameter + GTP |
| ATK-005 | Rebaixamento de Diameter para SS7 | Falha de AIR no Diameter seguida de fallback para MAP |
| ATK-009 | Recon Diameter + Sequestro de GTP | AIR seguido de CreateSession |
| ATK-010 | Sequestro de Localização via Diameter | AIR seguido de ULR falsificado |