Ders 01 / 22
Tehdit Aktörleri
Aktörün yetenek ve motivasyon düzeyiyle ayrılması: sekiz adımlık zincirde beş aktör düzeyinden yalnız birinin sekiz adımın tamamını geçmesi, iki düzeyin yetenek eşiğine dördüncü adımda takılması, yetenek duvarının zincirin uçlarında değil ortasında oturması, hedefine ulaşan iki aktörden birinin en düşük yetenekli aktör olması, zincir hiç kırılmazsa beş aktörün 64 kalem, keşifte kırılırsa 0 kalem etkilemesi ve bir adımı geç kırmanın bedelinin 4 ile 17 kalem arasında değişmesi.
İçindekiler
Beş kurs boyunca hep savunma tarafından bakıldı: her denetimin kaç yolu kapattığı, neyi kaçırdığı ve meşru işe bedeli sayıldı. Kaçırılan yolların kim tarafından, hangi sırayla ve neden kullanıldığı ise hiç ele alınmadı. Bu kurs karşı tarafa geçer — ama saldırıyı bir olay olarak değil, önkoşulları olan bir adım dizisi olarak ele alır.
Zincir modeli Siber Güvenliğe Giriş kursunda kuruldu: İstismar ve Yük dersi açıktan etkiye giden
diziyi adımladı, Saldırı Yüzeyi dersi erişim adımını yol sayısına çevirdi. Burada o model
devralınır ve tek soru sorulur: bu zincir hangi halkada kırılabilir ve geç kırmak ne
kaybettirir. İlk adım, zinciri yürüyenin kim olduğunu ölçülebilir hale getirmektir.
Aktör Bir Yetenek ve Motivasyon Çiftidir
Aşağıdaki yapı bir modeldir: gerçek bir grup, kampanya ya da olay adı yoktur; aktörler yalnız yetenek düzeyi ve motivasyonu ile anılır. Buradaki adımların gerçek bir sistem üzerinde denenmesi yazılı yetki ve tanımlı kapsam olmadan hem yasadışı hem meslek dışıdır.
TM1: zincir sekiz adımdır; her adımın bir yetenek eşiği (1–5), bir süre maliyeti ve tamamlandığında erişilmiş olan kurgu kalem sayısı vardır. TM2: aktör üç sayıyla anılır — yetenek düzeyi, sabır (gün bütçesi) ve hedef adım, yani motivasyonun zincirdeki karşılığı. TM3: aktör zinciri baştan yürür ve yetenek eşiği aşılırsa ya da gün bütçesi biterse durur.
// tehdit/aktor.mjs — aktor yetenegi ile zincir adimlarinin modeli: burada calisan bir saldiri // adimi yoktur, yalnizca adim adlarindan ve sayilardan olusan bir veri yapisi vardir. // Gercek bir aktor, grup ya da kampanya adi gecmez; aktorler yetenek ve motivasyonla anilir. // TM1: zincir sekiz adimdir; her adimin bir yetenek esigi (1..5), bir sure maliyeti (gun) ve // tamamlandiginda erisilmis olan kurgu kalem sayisi vardir. Kalem sayisi birikimlidir. export const ADIM = [ { ad: "kesif", yetenek: 1, gun: 3, kalem: 0 }, { ad: "ilk-erisim", yetenek: 2, gun: 2, kalem: 1 }, { ad: "yurutme", yetenek: 3, gun: 1, kalem: 2 }, { ad: "kalicilik", yetenek: 3, gun: 2, kalem: 3 }, { ad: "yetki-yukseltme", yetenek: 4, gun: 5, kalem: 9 }, { ad: "yanal-gecis", yetenek: 4, gun: 14, kalem: 26 }, { ad: "toplama", yetenek: 2, gun: 21, kalem: 41 }, { ad: "sizdirma", yetenek: 3, gun: 4, kalem: 48 }, ]; // TM2: aktor uc sayiyla anilir: yetenek duzeyi (1..5), sabir (gun butcesi) ve hedef adim // (motivasyonun zincirdeki karsiligi). `atlanan`, konumun bedelsiz sagladigi adimlardir. export const AKTOR = [ { ad: "dusuk-yetenek-firsatci", yetenek: 2, sabir: 6, hedef: "yurutme", atlanan: [] }, { ad: "orta-yetenek-ideolojik", yetenek: 3, sabir: 10, hedef: "kalicilik", atlanan: [] }, { ad: "orta-yetenek-gelir-odakli", yetenek: 3, sabir: 45, hedef: "sizdirma", atlanan: [] }, { ad: "ic-erisimli-orta-yetenek", yetenek: 3, sabir: 120, hedef: "toplama", atlanan: ["kesif", "ilk-erisim", "yetki-yukseltme"] }, { ad: "yuksek-yetenek-hedefli", yetenek: 5, sabir: 400, hedef: "sizdirma", atlanan: [] }, ]; // TM3: aktor zinciri bastan yurur; yetenek esigi asilirsa ya da gun butcesi biterse durur. // Durdugu anda erisilmis kalem sayisi bir onceki adimin kalemidir. export function yuru(a, esik = {}) { let gun = 0, i = 0, engel = "yok"; for (; i < ADIM.length; i++) { if (a.atlanan.includes(ADIM[i].ad)) continue; const y = ADIM[i].yetenek + (esik[ADIM[i].ad] || 0); if (y > a.yetenek) { engel = "yetenek"; break; } if (gun + ADIM[i].gun > a.sabir) { engel = "sabir"; break; } gun += ADIM[i].gun; } const hedefSira = ADIM.findIndex((s) => s.ad === a.hedef); return { durak: i, gun, engel, kalem: i === 0 ? 0 : ADIM[i - 1].kalem, gecen: ADIM.slice(0, i).filter((s) => !a.atlanan.includes(s.ad)).length, durdugu: i < ADIM.length ? ADIM[i].ad : "-", basardi: i > hedefSira }; } // Zincir k. adimda kirilirsa aktorun erisebildigi kalem, kendi duragi ile k'nin kucugudur. export const kalemKirilinca = (a, k) => { const d = Math.min(yuru(a).durak, k); return d === 0 ? 0 : ADIM[d - 1].kalem; }; export const toplamKalem = (k) => AKTOR.reduce((s, a) => s + kalemKirilinca(a, k), 0);
// tehdit/olc.mjs — hangi aktor zincirin kac adimini geciyor, hangi halka kimi eliyor. import { ADIM, AKTOR, yuru, toplamKalem } from "./aktor.mjs"; const yaz = (g, ...s) => console.log(s.map((v, i) => (g[i] < 0 ? String(v).padEnd(-g[i]) : String(v).padStart(g[i]))).join("")); const S = AKTOR.map((a) => ({ a, r: yuru(a) })); console.log(`${ADIM.length} adimlik zincir, ${AKTOR.length} aktor duzeyi; ` + `yetenek esikleri ${ADIM.map((s) => s.yetenek).join("")}, ` + `bastan sona ${ADIM.reduce((t, s) => t + s.gun, 0)} gun, ` + `tam zincirin erisebildigi kalem ${ADIM.at(-1).kalem}`); const A = [-27, 9, 7, 18, 8, 6, 18, 8]; console.log("\n1. her aktor duzeyi zincirin kac adimini geciyor"); yaz(A, "aktor", "yetenek", "sabir", "hedef adim", "gecti", "gun", "durdugu adim", "kalem"); for (const { a, r } of S) yaz(A, a.ad, a.yetenek, a.sabir, a.hedef, r.gecen, r.gun, r.durdugu, r.kalem); console.log(`hedefine ulasan aktor: ${S.filter((x) => x.r.basardi).length}/${AKTOR.length} ` + `(${S.filter((x) => x.r.basardi).map((x) => x.a.ad).join(", ")})`); const B = [-18, 9, 6, 13, 15, 8]; console.log("\n2. hangi halka kimi eliyor"); yaz(B, "adim", "yetenek", "gun", "gecen aktor", "burada duran", "kalem"); for (let i = 0; i < ADIM.length; i++) { const gecen = S.filter((x) => x.r.durak > i).length; const duran = S.filter((x) => x.r.durak === i); yaz(B, ADIM[i].ad, ADIM[i].yetenek, ADIM[i].gun, gecen, duran.length ? `${duran.length} (${duran[0].r.engel})` : "-", ADIM[i].kalem); } const C = [-18, 14, 18, 14, 20]; console.log("\n3. zincir hangi adimda kirilirsa (bes aktorun toplam kalemi)"); yaz(C, "kirilan adim", "toplam kalem", "kurtarilan kalem", "dusen hedef", "bir adim gec kirma"); const taban = toplamKalem(ADIM.length); for (let k = 0; k <= ADIM.length; k++) { const t = toplamKalem(k); const dusen = S.filter((x) => x.r.basardi && k <= ADIM.findIndex((s) => s.ad === x.a.hedef)).length; yaz(C, k < ADIM.length ? ADIM[k].ad : "kirilmadan", t, taban - t, dusen, k < ADIM.length ? toplamKalem(k + 1) - t : "-"); } const D = [-18, 15, 14, 18, 13]; console.log("\n4. bir adimin yetenek esigi bir basamak yukseltilirse"); yaz(D, "yukseltilen adim", "yeni durduran", "toplam kalem", "kurtarilan kalem", "dusen hedef"); for (const s of ADIM) { const y = AKTOR.map((a) => yuru(a, { [s.ad]: 1 })); const t = y.reduce((n, r) => n + r.kalem, 0); yaz(D, s.ad, y.filter((r, i) => r.durak < S[i].r.durak).length, t, taban - t, y.filter((r, i) => S[i].r.basardi && !r.basardi).length); }
8 adimlik zincir, 5 aktor duzeyi; yetenek esikleri 12334423, bastan sona 52 gun, tam zincirin erisebildigi kalem 48 1. her aktor duzeyi zincirin kac adimini geciyor aktor yetenek sabir hedef adim gecti gun durdugu adim kalem dusuk-yetenek-firsatci 2 6 yurutme 2 5 yurutme 1 orta-yetenek-ideolojik 3 10 kalicilik 4 8 yetki-yukseltme 3 orta-yetenek-gelir-odakli 3 45 sizdirma 4 8 yetki-yukseltme 3 ic-erisimli-orta-yetenek 3 120 toplama 2 3 yanal-gecis 9 yuksek-yetenek-hedefli 5 400 sizdirma 8 52 - 48 hedefine ulasan aktor: 2/5 (orta-yetenek-ideolojik, yuksek-yetenek-hedefli) 2. hangi halka kimi eliyor adim yetenek gun gecen aktor burada duran kalem kesif 1 3 5 - 0 ilk-erisim 2 2 5 - 1 yurutme 3 1 4 1 (yetenek) 2 kalicilik 3 2 4 - 3 yetki-yukseltme 4 5 2 2 (yetenek) 9 yanal-gecis 4 14 1 1 (yetenek) 26 toplama 2 21 1 - 41 sizdirma 3 4 1 - 48 3. zincir hangi adimda kirilirsa (bes aktorun toplam kalemi) kirilan adim toplam kalem kurtarilan kalem dusen hedef bir adim gec kirma kesif 0 64 2 0 ilk-erisim 0 64 2 5 yurutme 5 59 2 4 kalicilik 9 55 2 4 yetki-yukseltme 13 51 1 12 yanal-gecis 25 39 1 17 toplama 42 22 1 15 sizdirma 57 7 1 7 kirilmadan 64 0 0 - 4. bir adimin yetenek esigi bir basamak yukseltilirse yukseltilen adim yeni durduran toplam kalem kurtarilan kalem dusen hedef kesif 0 64 0 0 ilk-erisim 1 63 1 0 yurutme 3 52 12 1 kalicilik 3 55 9 1 yetki-yukseltme 0 64 0 0 yanal-gecis 0 64 0 0 toplama 0 64 0 0 sizdirma 0 64 0 0
Sayılar ölçüm sınıfındadır; girdileri TM1–TM3’tür.
Beş Düzeyden Biri Sekiz Adımı Geçiyor
Birinci tablo aktörü tek bir sıfatla değil, kaç adım sayısıyla anar. Beş düzeyden yalnız biri zincirin sekiz adımının tamamını geçer. Düşük yetenekli fırsatçı iki adım sonra durur, iki orta yetenekli düzey dördüncü adımda takılır, içeriden erişimi olan düzey konumunun bedelsiz sağladığı üç adım sayesinde beşinci adıma kadar gider ama altıncıda durur.
Durma nedeni her satırda yazılıdır ve hepsinde aynıdır: yetenek. Sabır bütçesi hiçbir düzeyi durdurmaz, çünkü zincirin toplam süresi 52 gündür ve bu bütçeyi aşan tek düzey altı günlük fırsatçıdır — o da yetenek eşiğine daha önce takılır. Süre bu derste bağlayıcı kısıt değildir; bir sonraki ders sürenin kendisini ölçü ekseni yapacaktır.
İçeriden erişimi olan düzey ayrı bir satırdır. Yeteneği ortadır, ama konumu üç adımı bedelsiz verir: keşif, ilk erişim ve yetki yükseltme. Bu düzey yalnız iki adım yürüyerek dokuz kaleme ulaşır; aynı yetenekteki dışarıdaki düzey dört adım yürür ve üç kaleme ulaşır. Kaç adım geçildiği tek başına ölçü değildir — nereden başlandığı onu üç kat büyütür.
Duvar Zincirin Ortasındadır
İkinci tablo eşikleri sıraya dizer: 1, 2, 3, 3, 4, 4, 2, 3. En yüksek iki eşik zincirin beşinci ve altıncı adımlarındadır; son iki adım ise ilk erişimden daha düşük eşiklidir. Toplanan verinin dışarı çıkarılması, ilk kapının açılmasından daha az yetenek ister.
Bunun sonucu geçen aktör sütununda görünür. Keşif ve ilk erişimi beş düzeyin beşi de geçer; yürütmeyi dördü, yetki yükseltmeyi ikisi, yanal geçişi biri geçer. Zincir bir eleme dizisidir ve elemenin tamamı ortadaki iki adımda olur. Uçlardaki adımlar kimseyi elemez: girişteki iki adım herkesin geçtiği, çıkıştaki iki adım da yalnız oraya varabilmiş olanın geçtiği adımlardır.
Bu, savunmanın nereye konacağı sorusunu doğrudan etkiler. Ortadaki iki adım aktörleri kendiliğinden eler; oraya konan bir denetim zaten seyrelmiş bir kümeyle karşılaşır. Baştaki iki adıma konan bir denetim ise beş düzeyin beşini birden görür. Zincirin doğal elemesi ile savunmanın elemesi aynı yerde toplanırsa, savunma yalnız kendiliğinden elenen aktörleri durdurur.
Hedef Adım Başarıyı Yeniden Tanımlar
Hedefine ulaşan aktör satırı iki düzey listeler ve bunlardan biri en düşük sabırlı, orta yetenekli ideolojik düzeydir. Sekiz adımın yalnız dördünü geçmiştir; buna rağmen hedefine ulaşmıştır, çünkü hedef adımı dördüncü sıradadır. Aynı yeteneğe sahip gelir odaklı düzey de tam olarak aynı dört adımı geçer, aynı üç kaleme ulaşır ve hedefine ulaşamaz, çünkü onun hedef adımı sekizincidir.
İki satır tabloda ölçüm olarak aynıdır, sonuç olarak birbirinin zıddıdır. Motivasyon burada bir sıfat değil, zincirdeki bir sıra numarasıdır. Başarıyı zincirin sonuna varmak diye tanımlayan bir değerlendirme, dördüncü adımda hedefine ulaşan düzeyi başarısız sayar ve onu ölçüm dışında bırakır. Aynı yanılgı ters yönde de işler: en yüksek yetenekli düzey sekiz adımı 52 günde geçer ve 48 kalemin tamamına erişir — sabır bütçesinin ancak sekizde birini harcayarak.
Geç Kırmanın Bedeli Bir Sayıdır
Üçüncü tablo bu dersin son sütununu verir. Zincir hiç kırılmazsa beş aktörün toplam erişimi 64 kalemdir. Keşifte ya da ilk erişimde kırılırsa 0; yürütmede 5, yetki yükseltmede 13, yanal geçişte 25, toplamada 42 kalem. Son sütun aynı sayıları farkla okur: bir adım geç kırmanın bedeli sırasıyla 0, 5, 4, 4, 12, 17, 15 ve 7 kalemdir.
Bu sayılar beş aktörün toplamıdır, tek bir saldırının değil. Aynı zincir üzerinde farklı yeteneğe sahip düzeyler farklı derinliklere varır; bir denetim noktası hepsini aynı anda karşılar. Bu yüzden bir kırılma noktasının değeri, tek bir aktöre göre değil, o noktaya varabilen bütün düzeylerin toplam erişimine göre yazılır.
Bedelin dağılımı düz değildir. İlk dört adımda geç kalmanın toplam bedeli 13 kalemdir; yetki yükseltme ile toplama arasındaki üç adımda 44 kalemdir. Zincirin ortasında bir adım geç kırmak, başında dört adım geç kırmaktan üç kat pahalıdır. Dördüncü sütun ise kırılmanın hedefe etkisini verir: kalıcılıkta ve öncesinde kırmak iki aktörün hedefini birden düşürür, sonrasında yalnız birini.
Dördüncü tablo savunma tarafının gerçek hamlesini dener: bir adımın yetenek eşiğini bir basamak yükseltmek. Yürütme adımında bu, üç aktörü daha erken durdurur ve 12 kalem kurtarır; kalıcılıkta üç aktörü durdurur ve 9 kalem kurtarır. Zincirin en zor iki adımında — yetki yükseltme ve yanal geçiş — aynı hamle hiçbir aktörü durdurmaz ve sıfır kalem kurtarır, çünkü o adımları zaten yalnız eşiğin üstündeki tek düzey geçmektedir. Sertleştirme çabasının en zor adıma yığılması, ölçüldüğünde karşılığı olmayan bir karardır.
Özet
- Tehdit aktörü ad ile değil üç sayıyla anılır: yetenek düzeyi, sabır bütçesi ve hedef adım. Sekiz adımlık zincirde beş düzeyden yalnız biri sekiz adımın tamamını geçer.
- Yetenek duvarı zincirin ortasındadır: eşikler 1, 2, 3, 3, 4, 4, 2, 3 sırasını izler; beş düzeyin beşi ilk iki adımı, dördü üçüncüyü, ikisi beşinciyi ve biri altıncıyı geçer.
- Konum yürünen adım sayısını değiştirir: içeriden erişimli düzey üç adımı bedelsiz alır, yalnız iki adım yürür ve 9 kaleme ulaşır; aynı yetenekteki dışarıdaki düzey dört adım yürür, 3 kaleme.
- Motivasyon zincirdeki bir sıra numarasıdır: aynı dört adımı geçen iki düzeyden hedefi dördüncü adımda olan başarır, hedefi sekizinci adımda olan başaramaz.
- Kırılma noktası bedeli belirler: hiç kırılmazsa 64 kalem, keşifte kırılırsa 0. Bir adım geç kırmanın bedeli 0, 5, 4, 4, 12, 17, 15, 7 kalemdir; ortadaki üç adım toplamın üçte ikisini taşır.
- Bir adımın eşiğini bir basamak yükseltmek yürütmede 12, kalıcılıkta 9 kalem kurtarır; zincirin en zor iki adımında 0 kalem kurtarır, çünkü orayı zaten tek düzey geçmektedir.
Sonraki Adım
Bu dersin bütün ölçümlerinde süre bağlayıcı olmadı. Sabır bütçesi hiçbir aktörü durdurmadı, çünkü zincirin toplam maliyeti 52 gün yazılmıştı ve en sabırlı düzeyin bütçesi 400 gündü. O düzey sekiz adımı geçti, 48 kaleme erişti ve bütçesinin sekizde birini harcadı — geriye kalan 348 günde ne yaptığı hiç sorulmadı.
Oysa uzun soluklu bir kampanyada asıl ölçü sürenin kendisidir. Bir adım günlerce değil aylarca sürebilir; o ay boyunca her gün savunma tarafında bir kayıt doğar ve her kayıt bir fırsat penceresidir. Sonraki ders zinciri süre eksenine oturtur: hangi adım kaç gün sürüyor, o süre boyunca kaç fırsat penceresi doğuyor, kaç penceresi hiçbir denetimin bakmadığı gün, ve tespit edilmemiş kalınan her hafta kalem sayısını ne kadar büyütüyor.
İlerlemeni kaydetmek ve not almak için Giriş yap
Notlarım
Not almak için giriş yapmalısın.