İçeriğe geç
academia.sh

Ders 14 / 14

Yaygın Ağ Saldırıları

Kursta kurulan altı denetim birlikte açıldığında dört saldırı sınıfının kaç akışta kapandığı sayılır; dar seçicide hiçbiri kırk akışta birden kapanmaz, tam tünelde yalnız biri kapanır ve hizmet engelleme yirmi iki akışta açık kalır.

İçindekiler

Kurs boyunca altı denetim kuruldu ve her biri kendi sınırını iki yönde birden ölçtü: kablosuz tarafta kuşak ve kapsama, güvenlik tarafında bölütleme, kural dizisi, tespit, tünel ve konumdan kimliğe geçen ölçüt. Geriye tek bir soru kalıyor: bu altı denetim birlikte açıldığında ağ saldırılarının hangi sınıfı gerçekten kapanır, kapanmayan kaç sınıf kalır ve kapanmayanlar için elde ne var? Ölçülen şey saldırı değil, savunmanın kapsamıdır.

Bu Ders Ne Yapmaz

Dinleme, sahtecilik, araya girme ve hizmet engelleme sınıflarının nasıl yapıldığı bu kursun konusu değildir. Dördü de Siber Güvenlik müfredatının Ağ Saldırıları konusunda, sekiz ders boyunca yordamıyla anlatıldı; yordam, araç, yük ve atlatma orada durur. Burada dört ad yalnız sınıf adı olarak geçer ve karşılıkları bir yordam değil, birer koşuldur — sınıfın hangi akış için erişilebilir kaldığını söyleyen, yalnız savunma tarafından okunan cümleler.

Sınıf Savunma tarafından okunuşu
Dinleme Akışın içeriği yol üstünde okunabilir durumda mı
Sahtecilik Akışın kaynak bildirimi doğrulanabiliyor mu
Araya girme İçerik okunabilir ve kaynak doğrulanamaz durumda mı
Hizmet engelleme Hizmet, akışın ulaşabildiği bir yerde duruyor mu

Bir sınıf, koşulu sağlanmıyorsa o akış için kapalıdır; sağlanıyorsa açıktır.

Denetimin Açık Olması ile Sınıfın Kapanması

Ölçümün taşıdığı asıl ayrım şudur: bir denetimin kurulmuş olması ile bir sınıfın o akış için kapanmış olması aynı şey değildir. Tünel kuruludur, ama seçicisinin dışında kalan akışa değmez. Kimlik ölçütü kuruludur, ama belgesi bulunmayan akış için karar üretmez. Kuşak yürürlüktedir, ama kablosuz ayağı olmayan akışı ilgilendirmez. Bu yüzden ölçüm akış düzeyinde yapılır: kırk akış ve dört sınıf, 160 akış-sınıf çifti.

Ölçümün varsayımları:

  • AG64 — Kırk akış kursun ortak kurgusundan üretilir; kâhin politika işlevidir ve bu derste değiştirilmez. Her akışa iki alan eklenir: kablosuz, ilk ayağın kablosuz bölütte olduğunu; belge, kaynak bildiriminin doğrulanabildiğini söyler. İkisi de kurgudandır ve önceki dersin çekilişleriyle aynı akış kümesini korur.
  • AG65 — Dinleme, akış tünel seçicisinin içindeyse ve kablosuz ayağı varsa kuşak yürürlükteyse kapanır; iki ayaktan biri örtülmemişse kapanmaz.
  • AG66 — Sahtecilik, sıfır güven ölçütü açıksa ve akışın belgesi varsa kapanır. Araya girme, ikisinin birden kapanmasını gerektirir.
  • AG67 — Hizmet engelleme yalnız hizmet erişilemez olduğunda kapanır: bölütleme ile kural dizisi birlikte açıksa ve niyet o akışı zaten durduruyorsa. Erişilebilir kalan akışta bu sınıf tanımı gereği açıktır.
  • AG68 — Tespit sistemi hiçbir sınıfı kapatmaz; bu kurulumun eksiği değil, düzeneğin tanımıdır ve ölçüme sıfır katkı vermesi beklenen sonuçtur.
  • AG69 — İki tünel seçicisi karşılaştırılır: dar seçici ve tam tünel. Kapsama raporu ölçümünde kâhin, akış düzeyinde hesaplanan kapanmadır.
  • AG70 — Küme 160 çifttir; ölçülebilen en küçük fark 1/160. Akış düzeyinde okunan satırlarda çözünürlük 1/40 = 0,025.

Ölçüm

"""Savunmanin kapsami: hangi denetim hangi sinifi kapatir, kapanmayan ne kalir.

Bolum 1 - akis duzeyinde kapanma, iki tunel secicisinde.
Bolum 2 - denetim kapatildiginda kaybedilen akis-sinif cifti.
Bolum 3 - kapsama raporunun iki yonlu hatasi.
"""
TOHUM = 20260811
BOLGELER = ("dis", "dmz", "ic", "yonetim")
SINIFLAR = ("dinleme", "sahtecilik", "araya girme", "hizmet engelleme")
DENETIMLER = ("bölütleme", "kural dizisi", "tünel", "tespit", "sıfır güven",
              "kablosuz kuşak")


def uretec(tohum):
    d = tohum % 2147483646 + 1

    def r(n):
        nonlocal d
        d = (d * 48271) % 2147483647
        return d % n
    return r


def akislar(sayi=40, tohum=TOHUM):
    r, liste = uretec(tohum), []
    for i in range(sayi):
        liste.append({"no": i + 1, "kaynak": BOLGELER[r(4)],
                      "hedef": BOLGELER[r(4)],
                      "bnokta": (80, 443, 22, 3306, 8080)[r(5)]})
    return liste


def yuzeyler(liste, tohum=TOHUM + 6, ortam=TOHUM + 11):
    """Akisin kablosuz ayagi var mi, kaynak bildirimi belgeli mi."""
    r, o, cikti = uretec(tohum), uretec(ortam), []
    for a in liste:
        r(9), r(4)      # kimlik cekilisleri; ayni akis kumesi korunur
        cikti.append({**a, "belge": r(8) != 0, "kablosuz": o(3) == 0})
    return cikti


def politika(a):
    if a["kaynak"] == "dis":
        return a["hedef"] == "dmz" and a["bnokta"] in (80, 443)
    if a["kaynak"] == "dmz":
        return a["hedef"] == "ic" and a["bnokta"] == 3306
    if a["kaynak"] == "yonetim":
        return True
    return a["hedef"] != "yonetim"


def fark(olaylar, niyet, duzenek):
    d = {"dogru_gecti": 0, "dogru_durdu": 0, "yanlis_gecti": 0, "yanlis_durdu": 0}
    for o in olaylar:
        n, g = niyet(o), duzenek(o)
        if n and g:
            d["dogru_gecti"] += 1
        elif not n and not g:
            d["dogru_durdu"] += 1
        elif g:
            d["yanlis_gecti"] += 1
        else:
            d["yanlis_durdu"] += 1
    return d


def kapanma(a, acik, secici):
    """Akis basina hangi sinif kapali. Yalnizca savunma tarafi okunur."""
    dinleme = ("tünel" in acik and secici(a)
               and (not a["kablosuz"] or "kablosuz kuşak" in acik))
    sahtecilik = "sıfır güven" in acik and a["belge"]
    erisilmez = ("bölütleme" in acik and "kural dizisi" in acik
                 and not politika(a))
    return {"dinleme": dinleme, "sahtecilik": sahtecilik,
            "araya girme": dinleme and sahtecilik,
            "hizmet engelleme": erisilmez}


SECICILER = {"dar seçici": lambda a: a["hedef"] in ("ic", "dmz"),
             "tam tünel": lambda a: True}
DAR = SECICILER["dar seçici"]
HEPSI = set(DENETIMLER)

ak = yuzeyler(akislar())
ciftler = [(a, s) for a in ak for s in SINIFLAR]
print(f"akış {len(ak)} | sınıf {len(SINIFLAR)} | akış-sınıf çifti {len(ciftler)}"
      f" | kablosuz ayaklı {sum(a['kablosuz'] for a in ak)} | belgeli "
      f"{sum(a['belge'] for a in ak)} | bölge sınırı aşan "
      f"{sum(a['kaynak'] != a['hedef'] for a in ak)}")
print()
print(f"{'sınıf':<18s} {'dar seçici':>18s} {'tam tünel':>18s}")
print(f"{'':18s} {'kapalı':>9s} {'açık':>8s} {'kapalı':>9s} {'açık':>8s}")
for s in SINIFLAR:
    h = []
    for sec in SECICILER.values():
        k = sum(kapanma(a, HEPSI, sec)[s] for a in ak)
        h += [k, len(ak) - k]
    print(f"{s:<18s} {h[0]:9d} {h[1]:8d} {h[2]:9d} {h[3]:8d}")

print()
tam = sum(kapanma(a, HEPSI, DAR)[s] for a, s in ciftler)
print(f"{'kapatılan denetim':<18s} {'kapalı çift':>11s} {'kaybedilen':>10s}")
print(f"{'(hiçbiri)':<18s} {tam:11d} {0:10d}")
for d in DENETIMLER:
    n = sum(kapanma(a, HEPSI - {d}, DAR)[s] for a, s in ciftler)
    print(f"{d:<18s} {n:11d} {tam - n:10d}")

print()
RAPORLAR = {"denetim listesi": lambda a, s: s != "hizmet engelleme",
            "yalnız sınır": lambda a, s: kapanma(a, HEPSI - {"kablosuz kuşak",
                                                             "sıfır güven"},
                                                 DAR)[s]}
print(f"{'kapsama raporu':<18s} {'doğru':>6s} {'fazla geçen':>12s} "
      f"{'fazla duran':>12s}")
for ad, rapor in RAPORLAR.items():
    d = fark(ciftler, lambda c: kapanma(c[0], HEPSI, DAR)[c[1]],
             lambda c: rapor(c[0], c[1]))
    print(f"{ad:<18s} {d['dogru_gecti'] + d['dogru_durdu']:6d} "
          f"{d['yanlis_gecti']:12d} {d['yanlis_durdu']:12d}")
akış 40 | sınıf 4 | akış-sınıf çifti 160 | kablosuz ayaklı 9 | belgeli 35 | bölge sınırı aşan 27

sınıf                      dar seçici          tam tünel
                      kapalı     açık    kapalı     açık
dinleme                   18       22        40        0
sahtecilik                35        5        35        5
araya girme               16       24        35        5
hizmet engelleme          18       22        18       22

kapatılan denetim  kapalı çift kaybedilen
(hiçbiri)                   87          0
bölütleme                   69         18
kural dizisi                69         18
tünel                       53         34
tespit                      87          0
sıfır güven                 36         51
kablosuz kuşak              79          8

kapsama raporu      doğru  fazla geçen  fazla duran
denetim listesi        91           51           18
yalnız sınır          105            0           55

Kapanan ve Kapanmayan

Üst tablo dört sınıfı iki tünel yapılandırmasında yan yana koyuyor ve dar seçicide hiçbir sınıf kırk akışın kırkında birden kapanmıyor. En iyi satır sahteciliktir: 35 kapalı, 5 açık. Dinleme 18/22, araya girme 16/24, hizmet engelleme 18/22.

Tünel seçicisi bütün hedefleri kapsadığında dinleme 40 kapalı, 0 açık oluyor — bir sınıf tamamen kapanıyor. Bedeli tünel dersinde ölçüldü: bir sınıfın tamamen kapanması denetimin istisnasız uygulanmasını gerektirir ve istisnasızlığın fiyatı kural tarafında ödenir. Araya girme bir kesişim olduğu için hep daha dardır (16 ve 35); iki denetimin aynı akış kümesini kapsaması gerekir.

Hizmet engelleme iki sütunda da 18/22 kalıyor ve bu sabitlik yapısaldır: bu sınıf yalnız hizmet erişilemez olduğunda kapanır, kırk akışın 22’sini ise niyetin kendisi geçiriyor. Erişilebilirlik bu sınıfın kapatılamamasının nedenidir, bir yapılandırma eksiği değil.

Orta tablo hangi denetimin ne taşıdığını veriyor. Altı denetim açıkken 87 akış-sınıf çifti kapalıdır. Sıfır güven kapatıldığında 51 çift açılır, tünel kapatıldığında 34, bölütleme ya da kural dizisi kapatıldığında 18, kablosuz kuşak kapatıldığında 8. Tespit kapatıldığında 0 çift açılır: tespit hiçbir sınıfı kapatmaz, iki yönlü hatasıyla birlikte görünürlük verir ve göreceği küme bölge sınırı aşan 27 akıştır.

Kapsama Raporunun İki Yönü

Alt tablo dersin asıl uyarısını taşıyor. Denetim listesine bakan bir kapsama raporu — “tünel kurulu, sıfır güven kurulu, kuşak yürürlükte, öyleyse üç sınıf kapalı” diyen rapor — 91 doğru, 51 fazla geçen, 18 fazla duran veriyor. Elli bir çiftte kapalı olmayana kapalı diyor; on sekiz çiftte de kapalı olanı göremiyor, çünkü hizmet engellemenin kural dizisiyle daraldığını hesaba katmıyor.

Yalnız sınırdaki denetimleri sayan rapor — kuşağı ve sıfır güveni başka bir ekibin işi sayıp dışarıda bırakan rapor — 105 doğru, 0 fazla geçen, 55 fazla duran veriyor. Hiç fazla geçeni yok; bütün hatası eksik saymaktan geliyor.

İki rapor da yanlıştır ve yanlışlıkları zıt yönlerdedir: biri kapsamayı olduğundan geniş, öbürü olduğundan dar gösterir. Tek yönü sayan bir kapsama raporu, öbür yönü gizler.

Açık Kalan Sınıflar ve Daraltmalar

Dar seçici yapılandırmasında dört sınıfın dördü de açık akış bırakıyor. Her birinin yanına elde ne olduğu yazılmalıdır.

Dinleme — 22 akış açık. Açık kalanlar tünel seçicisinin dışındaki akışlardır. Daraltma: seçiciyi genişletmek; tam tünelde açık kalan 0’a iner ve bedeli tünel dersinde ölçüldü. Kablosuz ayağı olan 9 akışta örtü iki koşula birden bağlıdır.

Sahtecilik — 5 akış açık. Açık kalanlar belgesi bulunmayan akışlardır. Daraltma: belge kapsamasını genişletmek. Belgesiz akışı örtük rete düşürmek fazla duranı büyütüyordu; kapsamayı genişletmek iki sayıyı birlikte iyileştiren tek harekettir.

Araya girme — 24 akış açık. Kesişim olduğu için en geniş açıklık burada. Daraltma: iki denetimin kapsama kümelerini hizalamak; tünel seçicisini belge kapsamasına denk getirmek, tek bir denetimi genişletmekten daha çok kazandırır.

Hizmet engelleme — 22 akış açık ve hiçbir yapılandırmayla kapanmıyor. Daraltma: yüzey, bölütleme ile kural dizisi birlikte 40’tan 22’ye iner; kalan yirmi iki, niyetin geçirdiği ve hizmetin görevi gereği erişilebilir kaldığı akışlardır. Bu sınıfın kalan yüzeyi kural tarafında değil, kapasite tarafında daralır ve o taraf bu kursun konusu değildir.

Özet

  • Dört sınıf bu derste yalnız sınıf adı olarak geçer; yordamları Siber Güvenlik müfredatının Ağ Saldırıları konusunda durur. Burada her sınıf savunma tarafından okunan bir koşula indirgenir ve ölçüm 160 akış-sınıf çiftinde yapılır.
  • Bir denetimin kurulu olması ile bir sınıfın kapanması ayrı şeylerdir: dar seçicide sahtecilik 35/5, dinleme 18/22, araya girme 16/24, hizmet engelleme 18/22’dir ve hiçbir sınıf kırk akışta birden kapanmaz.
  • Tam tünelde yalnız dinleme 40/0’a çıkar; bir sınıfın tamamen kapanması denetimin istisnasız uygulanmasını gerektirir ve bedeli tünel dersinde ölçülmüştür.
  • Altı denetim açıkken 87 çift kapalıdır; sıfır güven 51, tünel 34, bölütleme ve kural dizisi 18, kuşak 8 çift taşır. Tespit 0 çift kapatır ve bu tanımı gereğidir.
  • Kapsama raporunun iki yönü ayrı ayrı yanılır: denetim listesine bakan rapor 51 fazla geçen, yalnız sınırı sayan rapor 55 fazla duran üretir. Hizmet engelleme hiçbir yapılandırmayla kapanmaz; kalan 22 akış kapasite tarafında daralır.

Kurs Kapanışı

Kurs tek bir soruyu on dört kez sordu: tasarımın niyet ettiği sınır ile gerçekten geçenin farkı nedir? Her ders bir düzenek kurdu, tek bir şeyi değiştirdi ve farkı iki yönde birden saydı. Aşağıdaki tablo her dersin ölçtüğü sınırı ve iki yönünü topluyor; sayılar dersin kendi koşumundan gelir.

Ders Ölçülen sınır Fazla geçen Fazla duran
Kablosuz İletimin Fiziği 52 gücünde otuz metrelik hücre niyeti 0 4
Erişim Noktaları ve Denetleyiciler kararın yeri: bağımsız → denetleyici 2 → 0 4 → 4
Kanal Planlama ve Kapsama güç bütçesi 58 → 40 5 → 0 1 → 14
Dolaşım ve Bant Yönlendirme geçiş eşiği 30 → 14 8 → 0 0 → 8
Kablosuz Güvenlik Protokolleri kuşak koşulu 1 → 3 5 → 2 1 → 20
Kısa Menzilli ve Geniş Alan Kablosuz kısa / yerel / geniş menzil 3 / 0 / 1 0 / 4 / 2
Mobil Ağlar hücre arası uzaklık 90 → 30 5 → 0 1 → 0
Güvenlik Duvarı Türleri yansımasız / aynalı / durum bilgili / uygulama farkındalıklı 6 / 6 / 0 / 0 7 / 4 / 0 / 8
Erişim Denetim Listeleri dar 7 / geniş 6 / bozuk sıralı 8 / sıkı 7 kural 0 / 2 / 2 / 0 0 / 0 / 0 / 2
Ağ Bölütleme ve DMZ bölge grafiği 2 → 4, dar / geniş türetim 0 / 6 → 0 / 0 22 / 0 → 0 / 0
Saldırı Tespit ve Önleme ağ tabanlı eşik 7 → 9; konak tabanlı hiç göremediği 19 akış 0 → 5 7 → 0
VPN Teknolojileri tünel seçici: tam tünel → bölünmüş 0 → 6 0 → 10
Sıfır Güven Ağ Modeli konum ölçütü silinmiş → kimlik ölçütlü 18 → 1 0 → 1
Yaygın Ağ Saldırıları kapsama raporu: denetim listesi / yalnız sınır 51 / 0 18 / 55

Tablonun tek bir okuması vardır ve on dört satırın hepsinde görünür: iki sütun birlikte hareket etmez. Bir sütunu sıfırlayan her ayar öbürünü büyütür. Güç bütçesi düşürülünce sızıntı biter ve eksik on dörde çıkar; kuşak koşulu sertleşince sızıntı beşten ikiye iner ve eksik yirmiye çıkar; tünel seçicisi daraltılınca ulaşamayan on olur. Tek yönü sayan bir denetim, on dört dersin on dördünde de kusursuz bir tablo gösterirdi.

İkinci okuma kural sayısıyla ilgilidir. Yedi kural 40/40 doğru verdi, yedi kural 38 verdi; altı kural sızdırdı, sekiz kural hem sızdırdı hem gölgeledi. Kural saymak politika ölçmez — ve ölçütü silmek, kural sayısını hiç değiştirmeden bir kuralı örtük evete çevirebilir. İki satırın boş kalmasının nedeni de aynı yerdedir: bu kursta bir sayının kaynağı ortak tanım değil, onu koşturan derstir.

Kursun bıraktığı yer de burasıdır. On dört ders sınırın nasıl yazıldığını ölçtü: hangi güç, hangi eşik, hangi kural dizisi, hangi ölçüt, hangi seçici. Hiçbiri sınırın yazıldıktan sonra ne olduğunu sormadı. Yazılan bir sınır yaşayan bir sistemde durur: yükü değişir, kuralları elle düzenlenir, sapması kimseye görünmez ve iki yönlü hatası ancak ölçüldüğünde bilinir. Sınırı yazmak ile yazılanı işletmek ayrı işlerdir.

Sonraki kurs, Ağ İşletimi ve Otomasyon, ikincisini üstlenir: trafiğin nasıl dağıtıldığını, ağın kendi durumunu hangi ölçümlerle bildirdiğini ve yapılandırma kod olarak yönetildiğinde hangi hata modlarının kapandığını ele alır. Bu kursta sayılan iki sütun orada bir ölçüm sorunu hâline gelir: bir sınırın iki yönlü hatası, işletiliyorken nasıl görülür?

İlerlemeni kaydetmek ve not almak için Giriş yap

Notlarım

Not almak için giriş yapmalısın.

Aramak için yazmaya başlayın.

↑↓ Esc gezin · aç · kapat