Ders 09 / 18
Sanal Alan Analizi
Sanal alan çözümlemesinin gizlenen davranış cinsinden ölçülmesi: 14 kalemin hazır görüntüde 5'inin ortamı fark edip belirleyici davranışını göstermemesi, karara bağlanan kalem sayısının 7'den 12'ye çıkarken hazırlık ve gözlem süresinin 288 dakikadan 965 dakikaya yükselmesi, bir ortam ipucunun hiçbir ortamda gizlenememesi ve çözümlemenin hedefte sıfır kayıt bırakıp karşı tarafa iz düşürmesi.
İçindekiler
Önceki üç araç ağ üzerinde çalıştı. Değerlendirme sırasında incelenmesi gereken kalemlerin bir bölümü ise dosyadan gelir: bir uçta bulunan bilinmeyen bir çalıştırılabilir, bir ekten çıkan arşiv, saha ekibinin dışarıdan aldığı bir yardımcı araç. Bunların ne yaptığını istek göndererek öğrenmek mümkün değildir; öğrenmenin yolu kalemi yalıtılmış bir yerde çalıştırıp davranışını gözlemektir.
Sanal alanın yalıtım gücü Uç Nokta Güvenliği kursunda ölçüldü ve burada girdi olarak alınır; bu derste ölçülen şey yalıtım değil çözümlemenin verimidir. Tek soru şudur: bir kalemin davranışlarından kaçı gözlenebiliyor, kaçı ortamın bir çözümleme ortamı olduğunu fark edip gizleniyor ve kaç kalem karara bağlanamadan kalıyor.
Ortam İpucu ve Gizlenme
Bir kalem çalışırken bulunduğu ortama bakabilir. Baktığı şeyler, çözümleme ortamlarını gerçek uçlardan ayıran izlerdir: makinenin çok kısa süredir açık olması, aygıt sayısının azlığı, kullanıcı geçmişinin boş olması, çözümleme araçlarının bıraktığı izler, saatin hızlandırılmış olması, ağ yanıtlarının tek düze olması. Bu izlerden biri bile duruyorsa kalem ortamı tanır ve belirleyici davranışını hiç göstermez — çalışır, zararsız birkaç iş yapar ve durur.
Her izi gizlemek mümkündür ve her birinin bir hazırlık maliyeti vardır: görüntünün elden geçirilmesi, sahte bir kullanıcı geçmişinin oluşturulması, araç izlerinin temizlenmesi. Bir iz bunun dışında kalır. Ağ yanıtlarının tek düze olmasını gidermenin tek yolu, kalemin gerçek bir hedefe ulaşmasına izin vermektir; yetkilendirilmiş bir değerlendirmede bu adım kapsamın dışındadır ve yazılı yetki olmadan başka bir tarafın altyapısına bağlantı kurmak hem yasadışı hem meslek dışıdır. Bu iz, hazırlıkla kapanmayan bir sınırdır.
- AA22. İpucu kataloğu, ortamlar, kalem listesi ve davranışlar modeldir; gerçek bir kalem çalıştırılmadı. Kalemler yalnız denetlediği ipucu ve gözlenen davranış sınıfıyla anılır.
- AA23. Yalıtımın gücü burada ölçülmez, girdi olarak alınır.
- AA24. Bir kalem, denetlediği ipuçlarından en az biri gizlenmemişse ortamı fark eder ve belirleyici davranışlarını göstermez. Zararsız davranışları göstermeye devam eder.
- AA25. Bir davranışın görünmesi için gözlem penceresinin gecikmesinden büyük olması gerekir. Gecikmeler ve pencereler elle yazıldı; rastgelelik yok.
- AA26. Karar üç değerlidir. Kanıt: belirleyici bir davranış gözlendi. Temiz: kalem gizlenmedi, bütün davranışları pencereye sığdı ve hiçbiri belirleyici değildi. Belirsiz: kalan her durum.
- AA27. Belirleyici işaret davranışa aittir, kaleme değil; meşru bir kalem de belirleyici sayılan bir davranış gösterebilir.
- AA28. Çözümleme hedef ortamda koşmaz; hedef sistemlerde kayıt üretmez.
// alan/gozlem.mjs — sanal alan COZUMLEMESI modelidir. Gercek bir kalem calistirilmaz; // kalemler yalniz denetledigi ortam ipucu ve gozlenen davranis sinifiyla anilir. // Yalitimin gucu burada olculmez; Uc Nokta Guvenligi kursundan girdi olarak alinir. // ipucu -> o ipucunu gizlemenin hazirlik maliyeti (dk) export const IPUCU = { 'kisa-calisma-suresi': 8, 'az-aygit-sayisi': 12, 'bilinen-arac-izleri': 15, 'bos-kullanici-gecmisi': 20, 'hizlandirilmis-saat': 10, 'tekduze-ag-yaniti': 0, }; // Cozumleme ortami: hangi ipuclarini gizliyor, gozlem penceresi kac dakika. // 'tekduze-ag-yaniti' hicbir ortamda gizlenmez: gizlemek kalemin gercek bir hedefe // ulasmasini gerektirir ve yetkilendirilmis bir degerlendirmede bu kapsam disidir. export const ORTAM = { 'hazir-goruntu': { gizler: ['kisa-calisma-suresi'], pencere: 5 }, 'elden-gecirilmis': { gizler: ['kisa-calisma-suresi', 'az-aygit-sayisi', 'bilinen-arac-izleri'], pencere: 20 }, 'gercege-yakin': { gizler: ['kisa-calisma-suresi', 'az-aygit-sayisi', 'bilinen-arac-izleri', 'bos-kullanici-gecmisi', 'hizlandirilmis-saat'], pencere: 60 }, }; export const ELLE_DK = 30; // belirsiz kalem basina elle inceleme // satir: kalem | gercek | denetledigi ipuclari | davranislar (ad:gecikme, * belirleyici) export const KALEM = ` k01 kotu kisa-calisma-suresi dosya-yazma:0,*kalicilik:2 k02 kotu az-aygit-sayisi,bilinen-arac-izleri surec-olusturma:0,*kimlik-okuma:5 k03 kotu bos-kullanici-gecmisi dosya-yazma:0,*dis-baglanti:10 k04 kotu hizlandirilmis-saat dosya-yazma:0,*zamanli-tetik:45 k05 kotu tekduze-ag-yaniti surec-olusturma:0,*dis-baglanti:3 k06 kotu - dosya-yazma:0,*kalicilik:1,dis-baglanti:4 k07 kotu kisa-calisma-suresi,tekduze-ag-yaniti dosya-yazma:0,*kimlik-okuma:8 k08 temiz - dosya-yazma:0,surec-olusturma:1 k09 temiz - dosya-yazma:0,dis-baglanti:2 k10 temiz - dosya-yazma:0,surec-olusturma:0,dis-baglanti:1 k11 temiz - dosya-yazma:0,*kimlik-okuma:3 k12 temiz - dosya-yazma:0,zamanli-tetik:40 k13 temiz - surec-olusturma:0,dis-baglanti:35 k14 temiz - dosya-yazma:0 `.trim().split('\n').map((r) => { const [ad, gercek, ipucu, dav] = r.trim().split(/\s+/); return { ad, kotu: gercek === 'kotu', kontrol: ipucu === '-' ? [] : ipucu.split(','), davranis: dav.split(',').map((d) => { const [n, g] = d.split(':'); return { ad: n.replace('*', ''), belirleyici: n.startsWith('*'), gecikme: +g }; }) }; }); // Kalem, denetledigi ipuclarindan biri gizlenmemisse ortami fark eder ve GIZLENIR: // belirleyici davranislarini hic gostermez. export const gizlenir = (k, o) => k.kontrol.some((i) => !ORTAM[o].gizler.includes(i)); export function gozlem(k, o) { const p = ORTAM[o].pencere; const g = gizlenir(k, o); const gorulen = k.davranis.filter((d) => d.gecikme <= p && !(g && d.belirleyici)); const bastirilan = k.davranis.length - gorulen.length; let karar = 'belirsiz'; if (gorulen.some((d) => d.belirleyici)) karar = 'kanit'; else if (!g && bastirilan === 0) karar = 'temiz'; return { gizlendi: g, gorulen: gorulen.length, bastirilan, karar, disBaglanti: gorulen.some((d) => d.ad === 'dis-baglanti') }; } export function ortamOlc(o) { const s = { hazirlik: 0, gizlenen: 0, gorulen: 0, bastirilan: 0, kanit: 0, temiz: 0, belirsiz: 0, yanlisKanit: 0, kacan: 0, disIz: 0 }; s.hazirlik = ORTAM[o].gizler.reduce((t, i) => t + IPUCU[i], 0); for (const k of KALEM) { const r = gozlem(k, o); if (r.gizlendi) s.gizlenen += 1; s.gorulen += r.gorulen; s.bastirilan += r.bastirilan; s[r.karar] += 1; if (r.karar === 'kanit' && !k.kotu) s.yanlisKanit += 1; if (r.karar !== 'kanit' && k.kotu) s.kacan += 1; if (r.disBaglanti) s.disIz += 1; } s.gozlemDk = KALEM.length * ORTAM[o].pencere; s.elleDk = s.belirsiz * ELLE_DK; s.toplamDk = s.hazirlik + s.gozlemDk + s.elleDk; return s; }
On Dört Kalem, Üç Ortam
// alan/olc.mjs — on dort kalem uc cozumleme ortaminda gozlenir. import { IPUCU, ORTAM, KALEM, ELLE_DK, gizlenir, gozlem, ortamOlc } from './gozlem.mjs'; const y = (g, ...s) => console.log(s.map((v, i) => (g[i] < 0 ? String(v).padEnd(-g[i]) : String(v).padStart(g[i]))).join('').trimEnd()); console.log(`${KALEM.length} kalem (${KALEM.filter((k) => k.kotu).length} kotu), ` + `${Object.keys(IPUCU).length} ortam ipucu, ${Object.keys(ORTAM).length} cozumleme ortami`); console.log(`hicbir ortamda gizlenemeyen ipucu: ` + Object.keys(IPUCU).filter((i) => !Object.values(ORTAM).some((o) => o.gizler.includes(i))).join(', ')); const A = [-18, 9, 10, 9, 12, 8, 8, 10, 13]; console.log('\n1. ortam basina sonuc'); y(A, 'ortam', 'pencere', 'gizlenen', 'gorulen', 'bastirilan', 'kanit', 'temiz', 'belirsiz', 'yanlis kanit'); for (const o of Object.keys(ORTAM)) { const s = ortamOlc(o); y(A, o, ORTAM[o].pencere, s.gizlenen, s.gorulen, s.bastirilan, s.kanit, s.temiz, s.belirsiz, s.yanlisKanit); } const B = [-7, 8, 21, 21, 21]; console.log('\n2. kalem basina karar'); y(B, 'kalem', 'gercek', ...Object.keys(ORTAM)); for (const k of KALEM) y(B, k.ad, k.kotu ? 'kotu' : 'temiz', ...Object.keys(ORTAM).map((o) => { const r = gozlem(k, o); return r.gizlendi ? `${r.karar} (gizlendi)` : r.karar; })); const C = [-18, 10, 11, 9, 11, 12, 9]; console.log('\n3. bedel ve iz'); y(C, 'ortam', 'hazirlik', 'gozlem dk', 'elle dk', 'toplam dk', 'kacan kotu', 'dis iz'); for (const o of Object.keys(ORTAM)) { const s = ortamOlc(o); y(C, o, s.hazirlik, s.gozlemDk, s.elleDk, s.toplamDk, s.kacan, s.disIz); } const h = ortamOlc('hazir-goruntu'), g = ortamOlc('gercege-yakin'); console.log(`\nkarara baglanan kalem ${h.kanit + h.temiz} -> ${g.kanit + g.temiz} / ${KALEM.length}`); console.log(`ortami fark eden kalem ${h.gizlenen} -> ${g.gizlenen} / ${KALEM.length}`); console.log(`hedefte uretilen kayit 0 (cozumleme hedef ortamda kosmaz)`); console.log(`elle inceleme suresi ${ELLE_DK} dk/kalem`);
14 kalem (7 kotu), 6 ortam ipucu, 3 cozumleme ortami hicbir ortamda gizlenemeyen ipucu: tekduze-ag-yaniti 1. ortam basina sonuc ortam pencere gizlenen gorulen bastirilan kanit temiz belirsiz yanlis kanit hazir-goruntu 5 5 22 7 3 4 7 1 elden-gecirilmis 20 4 23 6 4 4 6 1 gercege-yakin 60 2 27 2 6 6 2 1 2. kalem basina karar kalem gercek hazir-goruntu elden-gecirilmis gercege-yakin k01 kotu kanit kanit kanit k02 kotu belirsiz (gizlendi) kanit kanit k03 kotu belirsiz (gizlendi) belirsiz (gizlendi) kanit k04 kotu belirsiz (gizlendi) belirsiz (gizlendi) kanit k05 kotu belirsiz (gizlendi) belirsiz (gizlendi) belirsiz (gizlendi) k06 kotu kanit kanit kanit k07 kotu belirsiz (gizlendi) belirsiz (gizlendi) belirsiz (gizlendi) k08 temiz temiz temiz temiz k09 temiz temiz temiz temiz k10 temiz temiz temiz temiz k11 temiz kanit kanit kanit k12 temiz belirsiz belirsiz temiz k13 temiz belirsiz belirsiz temiz k14 temiz temiz temiz temiz 3. bedel ve iz ortam hazirlik gozlem dk elle dk toplam dk kacan kotu dis iz hazir-goruntu 8 70 210 288 5 3 elden-gecirilmis 35 280 180 495 4 3 gercege-yakin 65 840 60 965 2 5 karara baglanan kalem 7 -> 12 / 14 ortami fark eden kalem 5 -> 2 / 14 hedefte uretilen kayit 0 (cozumleme hedef ortamda kosmaz) elle inceleme suresi 30 dk/kalem
Gizlenen Davranış
İlk tablonun gizlenen sütunu bu dersin ölçüsüdür. Hazır bir görüntüde on dört kalemin beşi
ortamı fark ediyor ve belirleyici davranışını hiç göstermiyor. Ortam elden geçtikçe bu sayı 4’e,
sonra 2’ye iniyor. Gözlenen davranış 22’den 27’ye çıkarken bastırılan davranış 7’den 2’ye düşüyor.
Gizlenme, gözlem penceresinin kısalığından farklı bir şeydir ve ikisini ayırmak gerekir. Pencere
kısaysa davranış henüz görünmemiştir; uzatmak çözer. Kalem gizleniyorsa davranış hiç
görünmeyecektir; pencereyi uzatmak bir şey değiştirmez, ipucunu gizlemek gerekir. İkinci tabloda bu
ayrım kalem kalem okunur: k04 kırk beş dakika gecikmeli bir davranışa sahiptir ve saat ipucunu
denetler; onu görmek için hem pencerenin altmış dakikaya çıkması hem de hızlandırılmış saatin
gizlenmesi gerekir — biri olmadan öteki yetmez. Buna karşılık k12 ve k13 hiçbir şey
denetlemez; onlar için pencereyi uzatmak tek başına yeter ve ikisi de en geniş ortamda temiz çıkar.
Hazırlığın hangi adımının hangi kalemi açtığı da bu tablodan okunur ve kazanç eşit dağılmaz. Hazır
görüntüden elden geçirilmiş ortama geçmek 27 dakika ek hazırlık ister ve tek bir kalemi — aygıt
sayısı ile araç izlerini birlikte denetleyen k02 — kanıta çevirir. Elden geçirilmişten gerçeğe
yakına geçmek 30 dakika ek hazırlık ve dört kat uzun pencere ister; karşılığında k03 ile k04
kanıta, k12 ile k13 temize döner. İkinci adım birincinin biraz üzerinde bir hazırlık maliyetiyle
dört kat iş görür, ama bunu pencere süresini 280 dakikadan 840 dakikaya çıkararak yapar. Hazırlık
ucuz, pencere pahalıdır ve ikisi ayrı kalemlerdir.
İki kalem hiçbir ortamda karara bağlanamıyor: k05 ve k07. İkisi de ağ yanıtlarının tek
düzeliğini denetliyor ve o ipucu hiçbir ortamda gizlenmiyor. Yedi kötü kalemin ikisi, çözümleme
ortamının kalitesinden bağımsız olarak belirsiz kalır. Bu iki kalem elle incelemeye devredilir
ve raporda “çözümleme karara bağlayamadı” satırıyla yer alır.
Kanıt, Temiz ve Yanlış Kanıt
Aday–kanıt farkı burada üç değerli okunur. On dört kalem çözümlemeye aday olarak gelir. Hazır görüntüde 3’ü kanıta dönüşür, 4’ü temiz çıkar, 7’si belirsiz kalır. En iyi ortamda 6 kanıt, 6 temiz ve 2 belirsiz vardır. Karara bağlanan kalem sayısı 7’den 12’ye çıkar.
Temiz çıkan kalemler kanıt kadar değerlidir. Bir kalemin bütün davranışları görüldü ve hiçbiri
belirleyici değilse o kalem kuyruktan düşer; bu, aday listesini kısaltan tek mekanizmadır. Ama
“temiz” kararının koşulu katıdır: kalem gizlenmemiş ve hiçbir davranışı bastırılmamış olmalıdır.
Bastırılmış tek bir davranış varsa karar temize değil belirsize gider. Bu katılık kasıtlıdır, çünkü
gevşetildiğinde k05 ve k07 sessizce temiz sayılır.
Ters yönde bir hata her ortamda duruyor: yanlış kanıt sütunu üçünde de 1. Meşru bir kalem, belirleyici sayılan bir davranışı gösteriyor ve çözümleme onu kanıt olarak işaretliyor. Hazırlığı artırmak, pencereyi uzatmak ve ipuçlarını gizlemek bu satırı değiştirmez, çünkü eksik olan gözlem değil bağlamdır. Sanal alan davranışı görür; o davranışın yerinde olup olmadığını, kalemin hangi işi yapmak üzere kurulduğunu görmez. Bu yüzden çözümleme çıktısı tek başına bir karar değil, bir karara girdidir.
Bedel ve Karşı Tarafa Düşen İz
Üçüncü tablo maliyeti veriyor ve tek yönlü artıyor. Hazırlık 8 dakikadan 65’e, gözlem 70’ten 840’a çıkıyor. Elle inceleme ters yönde gidiyor — 210 dakikadan 60’a — ama düşüş artışı karşılamıyor: toplam 288 dakikadan 965 dakikaya, üç katından fazlasına çıkıyor. Karşılığında karara bağlanan kalem beş tane artıyor ve kaçan kötü kalem 5’ten 2’ye iniyor. Kalem başına ödenen bedel yaklaşık 135 dakikadır.
Son sütun bu kursta ilk kez görülen bir iz türüdür. Hedef sistemlerde üretilen kayıt sıfırdır; çözümleme hedef ortamda koşmaz, hiçbir isteği hedefe ulaşmaz. Ama gözlem sırasında dış bağlantı denemesi yapan kalem sayısı 3’ten 5’e çıkıyor ve bu denemeler bir yere gider. Denetimli ağ bunları gerçek bir hedefe ulaştırmasa bile, denemenin kendisi ve zamanlaması karşı tarafa bir şey söyleyecek biçimde dışarı sızabilir. Çözümleme ortamı ne kadar gerçeğe yakınsa kalem o kadar çok davranış gösterir; gösterdiği her davranış aynı zamanda incelendiğinin işaretidir.
Bu, kursun iz sütununu ikiye ayırır: savunmanın gördüğü iz ve karşı tarafın görebileceği iz. İkisinin yönü terstir. Savunmanın gördüğü iz değerlendirmenin kurum içinde şeffaf yürüdüğünün işaretidir ve fazlalığı yalnız gürültü yaratır. Karşı tarafa düşen iz ise geri alınamaz: bir kalemin incelendiğinin öğrenilmesi, o kalemi kullananın davranışını değiştirmesine yeter ve sonraki bütün ölçümleri bozar. Bir sonraki ders ikincisini çok daha keskin bir biçimde ölçecektir.
Özet
- On dört kalemin hazır bir görüntüde beşi ortamı fark edip belirleyici davranışını göstermez; ortam elden geçtikçe bu sayı 2’ye iner ve gözlenen davranış 22’den 27’ye çıkar.
- Gizlenme ile kısa pencere ayrı sorunlardır: birincisi ipucu gizlemekle, ikincisi pencereyi uzatmakla çözülür ve bazı kalemler ikisini birden ister.
- Bir ortam ipucu hiçbir ortamda gizlenemez, çünkü gizlemek kalemin gerçek bir hedefe ulaşmasını gerektirir ve bu kapsam dışıdır; yedi kötü kalemin ikisi bu nedenle her ortamda belirsiz kalır.
- Karara bağlanan kalem 7’den 12’ye çıkar; temiz çıkan kalem, aday listesini kısaltan tek mekanizmadır ve koşulu katıdır.
- Yanlış kanıt üç ortamda da 1’dir; eksik olan gözlem değil bağlamdır ve hazırlıkla kapanmaz.
- Toplam süre 288 dakikadan 965 dakikaya çıkar; hedefte üretilen kayıt sıfırdır ama dış bağlantı denemesi yapan kalem sayısı 3’ten 5’e çıkarak karşı tarafa iz bırakır.
Sonraki Adım
Bu derste tek bir çözümleme ortamının kararı ölçüldü ve iki kalem karara bağlanamadan kaldı. Bir kalemi karara bağlamanın ikinci bir yolu daha vardır: aynı kalemi çok sayıda bağımsız motora sorup çıkan sonuçları birleştirmek. Bu yol çözümleme süresini dakikalardan saniyelere indirir ve karşılığında yeni bir soru getirir — birbiriyle çelişen sonuçlar nasıl birleştirilir.
Sonraki ders çoklu motor itibar servislerini bu eksende ele alır. Aynı kalem kümesi çok sayıda motordan geçirilir, çoğunluk kararının yanlış pozitif ve yanlış negatif oranı eşik eşik ölçülür ve tek motora güvenmenin bedeli sayılır. Bunun yanında gizlilik bedeli hesaplanır: bir dosyayı dışarıdaki bir servise göndermek onu yayımlamaktır ve kurgu ölçüm ağındaki kalemlerin bir bölümü abone verisi taşır.
İlerlemeni kaydetmek ve not almak için Giriş yap
Notlarım
Not almak için giriş yapmalısın.