
SigCorr هي أول أداة مفتوحة المصدر لكشف سلاسل الهجمات عبر البروتوكولات التي تمتد عبر SS7/MAP وDiameter S6a وGTPv2-C من خلال الربط الموحّد لهوية المشترك.
كشف سلبي للهجمات عبر البروتوكولات في الشبكات الأساسية للهواتف المحمولة
SigCorr هي أول أداة مفتوحة المصدر لكشف سلاسل الهجمات عبر البروتوكولات التي تمتد عبر SS7/MAP وDiameter S6a وGTPv2-C من خلال الربط الموحّد لهوية المشترك.
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
يتحقق من 9 أنماط هجوم مقابل ملفات pcap مولّدة.
# 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 العامة العامة الإصدار 3.0 (AGPL-3.0).
هذا يعني أنه يمكنك بحرية استخدام SigCorr وتعديله وتوزيعه، بما في ذلك في البيئات التجارية. إذا قمت بتعديل SigCorr وأتاحته عبر الشبكة (مثل خدمة مستضافة)، فيجب عليك إصدار تعديلاتك بموجب الرخصة نفسها.
انظر LICENSE للنص الكامل.
إذا لم تكن رخصة AGPL مناسبة لحالة الاستخدام لديك — على سبيل المثال، إذا أردت دمج SigCorr في منتج مملوك أو تقديمه كجزء من خدمة تجارية دون متطلبات مشاركة المصدر الخاصة بـ AGPL — فـرخصة تجارية متاحة.
تواصل مع Shreyas S عبر [email protected] أو افتح GitHub Issue موسومًا بـ licensing للمناقشة.
إذا كنت تستخدم 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 | Attack | Description |
|---|
| ATK-001 | تتبع الموقع الصامت | SRI متبوع بـ PSI لتتبع المشترك |
| ATK-002 | إعداد الاعتراض | SRI متبوع بـ ISD لإعادة توجيه المكالمات |
| ATK-006 | حجب خدمة المشترك | CancelLocation + DeleteSubscriberData |
| ATK-011 | اعتراض الرسائل النصية | SRI-SM متبوع بـ MT-ForwardSM |
| ATK-014 | جمع متجهات المصادقة | SRI متبوع بـ SendAuthInfo |
| ATK-021 | كشف خداع IMSI | UpdateLocation وSendAuthInfo غير شرعيين |
| ID | Attack | Description |
|---|
| ATK-003 | استطلاع متعدد البروتوكولات | هجوم منسق عبر MAP + Diameter + GTP |
| ATK-005 | خفض من Diameter إلى SS7 | فشل AIR في Diameter ثم تراجع إلى MAP |
| ATK-009 | استطلاع Diameter + اختطاف GTP | AIR متبوع بـ CreateSession |
| ATK-010 | اختطاف الموقع عبر Diameter | AIR متبوع بـ ULR مُزيّف |