Skip to content

About

SOC ekipleri için gerçek zamanlı güvenlik alarmı triyaj motoru. Redis Streams + consumer group ile varlık kritikliği, tehdit istihbaratı (IOC), MITRE ATT&CK teknik ciddiyeti ve korelasyona göre P1–P4 önceliklendirme; ilişkili alarmları olaya bağlar. Açıklanabilir triyaj + MITRE eşlemeli kurumsal dashboard. · Docker. Sentetik veri.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

SOC Alarm Triyaj & Olay Konsolu

Python FastAPI Redis MITRE ATT&CK Docker Lisans

Bir Güvenlik Operasyon Merkezi (SOC) için gerçek zamanlı alarm triyaj motoru. Sensörlerden (IDS, güvenlik duvarı, kimlik doğrulama, EDR, DNS) gelen güvenlik alarmları bir akışa düşer; triyaj motoru her alarmı varlık kritikliği × sensör önemi × tehdit istihbaratı (IOC) × MITRE ATT&CK teknik ciddiyeti × korelasyon ile skorlar, P1–P4 önceliği üretir, ilişkili alarmları olaya (incident) bağlar ve analiste "önce şuna bak" der. Dashboard her alarmın neden o önceliği aldığını açıklanabilir dökümle gösterir.

Öğrenme/portföy projesidir. Tamamen sentetik alarm verisiyle çalışır; gerçek kişi, sistem veya ağ verisi işlemez.


Neden triyaj?

SOC ekiplerinin en büyük derdi alarm yorgunluğu: günde binlerce alarm gelir, çoğu gürültüdür, ama içlerindeki birkaç kritik olay kaçarsa felaket olur. Bu proje, ham alarmları önceliklendirip zenginleştirerek analistin dikkatini doğru yere yöneltir — SIEM/SOAR dünyasının çekirdek problemi.


Mimari

flowchart LR
    SEN["Sensörler<br/>IDS · FW · AUTH · EDR · DNS"] -->|POST /api/simulate| API["API · FastAPI"]
    API -->|XADD| S1[("Redis Stream<br/>alerts.raw")]
    S1 -->|consumer group| ENG["Triyaj Motoru<br/>skorlama + korelasyon"]
    ENG -->|XADD| S2[("Redis Stream<br/>alerts.scored")]
    ENG <-->|varlık · IOC · korelasyon| ST[("Redis<br/>durum + olaylar")]
    ENG -.->|ui:events pub/sub| API
    API -.->|WebSocket| UI["Dashboard · nginx"]

    classDef stream fill:#0B2E52,stroke:#0B2E52,color:#fff;
    class S1,S2,ST stream;
Loading
Servis Rol Teknoloji Host portu
frontend Kurumsal dashboard (öncelik göstergesi + MITRE) nginx tek açılan port
api Alarm üretici + WebSocket köprüsü + istatistik FastAPI + asyncio (iç)
engine Triyaj + korelasyon tüketicisi asyncio + Redis Streams (iç)
redis Akış + durum + olay kaydı Redis 7.2 (iç)

Port çakışması yok: yalnızca dashboard bir host portu açar (SOC_PORT, varsayılan 8097). Diğer servisler tamamen iç ağdadır.


Triyaj skorlaması

Skor 0–100 birikir; öncelik bantları: ≥80 P1 (Kritik) · ≥55 P2 (Yüksek) · ≥30 P3 (Orta) · <30 P4 (Düşük).

Faktör Ne yakalar Katkı
Sensör önem derecesi Sensörün ham önem (1–4) +8…65
Varlık kritikliği Kritik varlık / sunucu / iş istasyonu +4…25
MITRE teknik ciddiyeti ATT&CK tekniğinin ağırlığı +7…22
Tehdit istihbaratı (IOC) Kaynak/hedef bilinen zararlı IP +18
Başarılı saldırı Erişim gerçekten sağlandı +15
Korelasyon Aynı kaynaktan ≥3 ilişkili alarm → olay +15
Güven Sensör güven yüzdesi (ölçekleyici) ×0.6–1.0

Her alarm ayrıca MITRE ATT&CK tekniğine ve taktiğine eşlenir (ör. T1041 · C2 Kanalıyla Sızdırma → Sızdırma), böylece analist saldırının hangi aşamada olduğunu görür.


Senaryolar

Senaryo MITRE Beklenen
Kaba Kuvvet → Başarılı Giriş (kritik DB) T1110 P1
Veri Sızıntısı (C2'ye exfiltration) T1041 P1
Fidye Yazılımı Şüphesi T1486 P1
Yatay Hareket (SMB, korelasyon) T1021.002 P1
Bilinen Zararlı IP Teması (C2) T1071 P2
Şüpheli PowerShell (LOLBin) T1059.001 P2
Port Tarama T1046 P3
Kaba Kuvvet (düşük) T1110 P4

Çalıştırma

git clone https://github.com/sayha2304/soc-triage.git
cd soc-triage
cp .env.example .env

Port boş mu bak (doluysa .env'de SOC_PORT değiştir):

ss -tlnp | grep ":8097 " || echo "8097 boş"

Ardından:

docker compose up -d --build

Dashboard: http://SUNUCU_IP:8097 → senaryo seç → Alarm Üret. Öncelik göstergesi, MITRE eşlemesi, neden dökümü ve alarm kuyruğu güncellenir. Sağlık: curl http://SUNUCU_IP:8097/api/stats · Durdurma: docker compose down

Triyaj motorunu ölçeklemek için (consumer group otomatik dağıtır):

docker compose up -d --scale engine=3

Motor testleri

Triyaj motoru bağımlılıksız ve birim testlidir (her faktör, öncelik bandı, MITRE eşlemesi, korelasyon):

python3 -m unittest triage.test_triage -v

Proje yapısı

soc-triage/
├── triage/             # triyaj motoru (bağımlılıksız, testli)
│   ├── alerts.py       # Alarm modeli, varlık envanteri, IOC, senaryolar
│   ├── mitre.py        # MITRE ATT&CK teknik/taktik kataloğu
│   ├── rules.py        # ağırlıklı skorlama → P1-P4 + neden + MITRE
│   └── test_triage.py  # birim testler
├── engine/             # Redis Streams tüketicisi (korelasyon + olay)
├── api/                # FastAPI üretici + WebSocket köprüsü
├── frontend/           # kurumsal dashboard (gauge + MITRE + döküm)
├── docker-compose.yml
└── .env.example

Not

Bu sistem savunma amaçlıdır ve yalnızca sentetik alarm verisiyle çalışır; gerçek kişi/sistem izlemez veya veri toplamaz. Amaç, SOC triyaj ve MITRE ATT&CK eşleme akışını uçtan uca göstermektir.


Lisans

Tüm Hakları Saklıdır. Kod görüntülenebilir ancak izinsiz kullanılamaz, kopyalanamaz veya dağıtılamaz. Ayrıntılar için LICENSE.


Sayha Kılıç · güvenlik operasyonları & ödeme sistemleri — sayha.cloud

About

SOC ekipleri için gerçek zamanlı güvenlik alarmı triyaj motoru. Redis Streams + consumer group ile varlık kritikliği, tehdit istihbaratı (IOC), MITRE ATT&CK teknik ciddiyeti ve korelasyona göre P1–P4 önceliklendirme; ilişkili alarmları olaya bağlar. Açıklanabilir triyaj + MITRE eşlemeli kurumsal dashboard. · Docker. Sentetik veri.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages