
SigCorrは、統一的加入者ID相関を通じてSS7/MAP、Diameter S6a、GTPv2-Cにまたがるクロスプロトコル攻撃チェーンを検出する、初のオープンソースツールです。
モバイルコアネットワーク向けパッシブ型クロスプロトコル攻撃検出
SigCorr は、SS7/MAP、Diameter S6a、GTPv2-C にまたがるクロスプロトコル攻撃チェーンを、統合された加入者ID相関により検出する最初のオープンソースツールです。
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
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
生成されたpcapに対して9つの攻撃パターンを検証します。
# Download public samples first (see test-pcaps/public-samples/DOWNLOAD_GUIDE.md)
bash ./test-pcaps/test_public_samples.sh
20以上の実世界pcapサンプルに対して以下をテスト:
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
コントリビューションを歓迎します!バグ報告、新しい攻撃パターンのアイデア、プロトコルサポート、ドキュメント改善など、あらゆる支援が役立ちます。
git checkout -b feature/new-attack-pattern)git commit -m 'Add ATK-022: new pattern')git push origin feature/new-attack-pattern)提出前に ./test.sh が成功することを確認してください。
SigCorr は GNU Affero General Public License v3.0(AGPL-3.0) の下でリリースされています。
これは、商用環境を含め、SigCorr を自由に使用、変更、配布できることを意味します。SigCorr を変更し、ネットワーク経由で利用可能にした場合(例: ホスト型サービスとして提供する場合)、その変更内容を同じライセンスの下で公開する必要があります。
全文は LICENSE を参照してください。
AGPL がお客様のユースケースに合わない場合(例えば、SigCorr をプロプライエタリ製品に組み込む場合や、AGPL のソース共有要件なしに商用サービスの一部として提供する場合)には、商用ライセンスが利用可能です。
お問い合わせは Shreyas S([email protected])まで、または licensing タグを付けて GitHub Issue を開いてください。
学術研究で SigCorr を使用する場合は、次のように引用してください:
@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 | 攻撃 | 説明 |
|---|
| ATK-001 | サイレント位置追跡 | 加入者を追跡するためのSRIに続くPSI |
| ATK-002 | 傍受のセットアップ | SRIに続くISDによる呼の転送 |
| ATK-006 | 加入者に対するDoS | CancelLocation + DeleteSubscriberData |
| ATK-011 | SMS傍受 | SRI-SMに続くMT-ForwardSM |
| ATK-014 | 認証ベクター収集 | SRIに続くSendAuthInfo |
| ATK-021 | IMSIキャッチャー検出 | 不正なUpdateLocation + SendAuthInfo |
| ID | 攻撃 | 説明 |
|---|
| ATK-003 | マルチプロトコル偵察 | MAP + Diameter + GTP による協調攻撃 |
| ATK-005 | DiameterからSS7へのダウングレード | Diameter AIR失敗後のMAPフォールバック |
| ATK-009 | Diameter偵察 + GTPハイジャック | AIRに続くCreateSession |
| ATK-010 | Diameter位置ハイジャック | AIRに続く偽装ULR |