---
title: 'Diğer Kanallar'
source: 'https://academia.sh/tr/kurslar/saldiri-teknikleri/diger-kanallar'
course: 'Saldırı Teknikleri ve Tehdit Ortamı'
language: tr
updated: '2026-08-17T18:08:33+00:00'
license: 'CC BY-SA 4.0'
---

# Diğer Kanallar

Kısa mesaj ve sesli arama temelli kimlik avını doğrulanabilirlik cinsinden ölçmek: on doğrulama kaleminin dört kanaldaki gücü, sesli aramada güçlü kalem sayısının sıfır olması, kanal başına kırılabilen halka sayısı ve geri doğrulama yordamının yalnız bir kanalda kazandırdığı halka ile dört kanalda ödenen bedel.

Önceki dersin bütün göstergeleri tek bir kanala aitti ve o kanalın belirleyici bir özelliği vardı:
ileti saklanır. Başlıklar okunabilir, alan adı sorgulanabilir, bağlantı hedefi metinle
karşılaştırılabilir — ve bunların hepsi ileti açılmadan önce yapılabilir. Kısa mesajda bu
kalemlerin bir bölümü, sesli aramada neredeyse tamamı yoktur.

Bu ders kanalları üslupla değil, tek bir ölçüyle karşılaştırır: **kanal başına kaç doğrulama kalemi
uygulanabiliyor.** Bir kalem üç durumdan birindedir — kanalda uygulanabilir, kanalda vardır ama
taklit edilebilir, kanalda hiç yoktur. Aynı beş adımlık zincir dört kanalda koşturulur ve her
kanalda kaç halkanın kırıldığı sayılır. Sonuçta bir kanal ortaya çıkar ki zincir hiçbir halkada
kırılmaz; o kanalın hangi yordamla kırılabildiği ve o yordamın neye mal olduğu dersin son
bölümüdür.

- **SM13.** Kanal listesi, doğrulama kalemleri ve güç değerleri kurgusal bölgesel ölçüm ağının saha
  ekipleri ile abone hizmetleri masasına aittir. Ölçülen şey `node` ile kurulan modeldir.
- **SM14.** Güç değeri üç basamaklıdır (2, 1, 0). Gerçekte doğrulanabilirlik süreklidir; üç basamak
  kanallar arası sıralamayı korur, kanal içi ince farkları siler.
- **SM15.** Kalemin "taklit edilebilir" sayılması, gösterilen kaynağın kaynağın kendisi olduğunun
  bağımsız bir kayıtla doğrulanamadığı anlamına gelir. Kanal altyapısının hangi durumda bunu
  sağladığı modellenmedi.
- **SM16.** Zincir dört kanalda **aynı** kabul edildi. Gerçekte kanal, zincirin uzunluğunu da
  değiştirir; sabit zincir kanallar arası karşılaştırmayı mümkün kılar.
- **SM17.** Trafik sayıları günlüktür ve kurgudur. Kapsama giren talep, yetki ya da ödeme isteyen
  taleptir; pencereye sığmayan talep, geri arama tamamlanmadan geçmesi gereken taleptir.
- **SM18.** Bir adım ya kırılır ya kırılmaz. Kısmi kırılma — talebin yavaşlaması, ikinci bir soru
  sorulması — modellenmedi.

## Kanal Başına Doğrulanabilirlik

```js
// kanal.mjs — kanal basina dogrulama kalemi gucu, zincir ve mesru trafik; model
export const KANAL = ['e-posta', 'kisa mesaj', 'sesli arama', 'anlik ileti'];
// kalem: kanal sirasiyla guc (2 uygulanabilir, 1 zayif/taklit edilebilir, 0 yok)
export const KALEM = {
  'gonderen alan adi sorgusu': [2, 0, 0, 1],
  'gonderen dogrulama kaydi': [2, 0, 0, 0],
  'baglanti hedefi karsilastirmasi': [2, 2, 0, 2],
  'iletiyi acmadan inceleme': [2, 2, 0, 2],
  'kayitli rehberde bulma': [2, 1, 1, 1],
  'sonradan yeniden okuma': [2, 2, 0, 2],
  'gecmis yazismayla esleme': [2, 1, 0, 2],
  'kaynagi bagimsiz kayitla dogrulama': [1, 1, 1, 1],
  'ikinci kisiye danisma penceresi': [2, 2, 0, 2],
  'kaydi denetim icin saklama': [2, 2, 0, 1],
};
// [adim, onkosul, adimi kiran kalem (guc 2 gerekir), adim bitince dusen kalem]
export const ZINCIR = [
  ['kanal secimi ve hazirlik', 'ulasilabilir kanal adresi', null, 0],
  ['temas', 'alicinin yanit vermesi', 'kayitli rehberde bulma', 1],
  ['guven kurma', 'dogrulanamayan ic ayrinti', 'gecmis yazismayla esleme', 1],
  ['talep iletme', 'alicinin ilgisi', 'iletiyi acmadan inceleme', 3],
  ['eylem', 'karar vericinin tek basina olmasi', 'ikinci kisiye danisma penceresi', 6],
];
export const GERI_SURE = 180; // saniye
// [kanal, gunluk mesru talep, yordam kapsamina giren, kapsamda geri arama penceresine sigmayan]
export const TRAFIK = [['e-posta', 240, 36, 1], ['kisa mesaj', 60, 15, 3],
  ['sesli arama', 45, 18, 7], ['anlik ileti', 120, 24, 2]];
export const guc = (kalem, k) => KALEM[kalem][k];
export function kirilan(k, yordam = false) {
  const d = ZINCIR.map((a, i) => (a[2] && guc(a[2], k) === 2 ? i : -1)).filter((i) => i >= 0);
  return yordam && !d.includes(4) ? [...d, 4] : d;
}
```

```js
// kosum1.mjs — kanal basina dogrulama kalemi sayisi ve toplam dogrulanabilirlik gucu
import { KANAL, KALEM } from './kanal.mjs';

console.log(`${Object.keys(KALEM).length} dogrulama kalemi, ${KANAL.length} kanal ` +
  `(2 uygulanabilir, 1 zayif, 0 yok)\n`);
console.log(`${'kalem'.padEnd(35)} ${KANAL.map((k) => k.padStart(12)).join('')}`);
for (const [ad, v] of Object.entries(KALEM))
  console.log(`${ad.padEnd(35)} ${v.map((g) => String(g).padStart(12)).join('')}`);
console.log(`\n${'kanal'.padEnd(13)} ${'guclu kalem'.padStart(11)} ${'zayif kalem'.padStart(11)} ` +
  `${'hic yok'.padStart(7)} ${'toplam guc'.padStart(10)} ${'e-postanin yuzdesi'.padStart(18)}`);
const guclu = KANAL.map((_, k) => Object.values(KALEM).filter((v) => v[k] === 2).length);
const toplam = KANAL.map((_, k) => Object.values(KALEM).reduce((a, v) => a + v[k], 0));
KANAL.forEach((ad, k) => console.log(`${ad.padEnd(13)} ${String(guclu[k]).padStart(11)} ` +
  `${String(Object.values(KALEM).filter((v) => v[k] === 1).length).padStart(11)} ` +
  `${String(Object.values(KALEM).filter((v) => v[k] === 0).length).padStart(7)} ${String(toplam[k]).padStart(10)} ` +
  `${`%${Math.round((toplam[k] / toplam[0]) * 100)}`.padStart(18)}`));
const hepsinde = Object.entries(KALEM).filter(([, v]) => v.every((g) => g >= 1));
console.log(`\ndort kanalda da bulunan kalem ${hepsinde.length}: ${hepsinde.map(([a, v]) => `${a} (guc ${v.join('/')})`).join('; ')}`);
console.log(`sesli aramada guclu kalem sayisi: ${guclu[2]}`);
```

```
10 dogrulama kalemi, 4 kanal (2 uygulanabilir, 1 zayif, 0 yok)

kalem                                    e-posta  kisa mesaj sesli arama anlik ileti
gonderen alan adi sorgusu                      2           0           0           1
gonderen dogrulama kaydi                       2           0           0           0
baglanti hedefi karsilastirmasi                2           2           0           2
iletiyi acmadan inceleme                       2           2           0           2
kayitli rehberde bulma                         2           1           1           1
sonradan yeniden okuma                         2           2           0           2
gecmis yazismayla esleme                       2           1           0           2
kaynagi bagimsiz kayitla dogrulama             1           1           1           1
ikinci kisiye danisma penceresi                2           2           0           2
kaydi denetim icin saklama                     2           2           0           1

kanal         guclu kalem zayif kalem hic yok toplam guc e-postanin yuzdesi
e-posta                 9           1       0         19               %100
kisa mesaj              5           3       2         13                %68
sesli arama             0           2       8          2                %11
anlik ileti             5           4       1         14                %74

dort kanalda da bulunan kalem 2: kayitli rehberde bulma (guc 2/1/1/1); kaynagi bagimsiz kayitla dogrulama (guc 1/1/1/1)
sesli aramada guclu kalem sayisi: 0
```

Kanal tablosu tek bir satırda toplanıyor: sesli aramada güçlü doğrulama kalemi sayısı **sıfırdır**.
On kalemin sekizi bu kanalda hiç yok, ikisi var ama taklit edilebilir. Toplam güç ikidir ve
e-postanın on dokuzunun yüzde on birine karşılık gelir. Bunun nedeni kanalın kötü tasarlanmış olması
değil, canlı ve saklanmayan bir kanalda incelenecek bir nesnenin bulunmamasıdır: konuşma açılmadan
önce bakılamaz, sonradan yeniden okunamaz, denetim için saklanmaz.

Kısa mesaj ile anlık ileti arasındaki fark da öğretici. İkisinde de beş güçlü kalem var, ama
dağılımları farklı: anlık iletide geçmiş yazışmayla eşleme güçlü, kısa mesajda zayıftır; kısa
mesajda kaydı denetim için saklama güçlü, anlık iletide zayıftır. Toplam güç yakın olsa da zincirin
hangi halkasında kırıldıkları farklı çıkacak, çünkü halkalar toplama değil **belirli kalemlere**
bağlıdır.

Toplam güç sütununun yüzdesi kanalları tek bir sayıyla sıralasa da yanıltıcı olabilir: kısa mesaj
e-postanın yüzde altmış sekizi görünür, oysa e-postanın en güçlü iki kalemi — alan adı sorgusu ve
gönderen doğrulama kaydı — bu kanalda hiç yoktur. Yüzde, eksik olanın **hangisi** olduğunu
söylemez; zincirdeki karşılığı bir sonraki bölümde ayrıca sayılacaktır.

Dört kanalda da bulunan iki kalemden birincisi güçlü olduğu tek kanalda e-postadır; ikincisi hiçbir
kanalda güçlü değildir. Bütün kanallarda çalışan bir doğrulama kalemi yoktur; kanaldan bağımsız bir
doğrulama yordamı ancak dışarıdan eklenebilir.

## Zincir Hangi Kanalda Kırılıyor

```js
// kosum2.mjs — kanal basina kirilan halka, geri dogrulama yordaminin kazanci ve bedeli
import { KANAL, ZINCIR, TRAFIK, GERI_SURE, kirilan } from './kanal.mjs';

let s = 0; const kumul = ZINCIR.map((a) => (s += a[3]));
console.log(`${'#'.padStart(2)} ${'adim'.padEnd(24)} ${'onkosul'.padEnd(33)} ${'adimi kiran kalem'.padEnd(31)} kumul`);
ZINCIR.forEach((a, i) => console.log(`${String(i + 1).padStart(2)} ${a[0].padEnd(24)} ${a[1].padEnd(33)} ` +
  `${(a[2] ?? '-').padEnd(31)} ${kumul[i]}`));
const TAM = kumul[ZINCIR.length - 1];
const satir = (ad, d) => {
  const e = d.length ? (d[0] ? kumul[d[0] - 1] : 0) : TAM, g = d.length ? kumul[d[d.length - 1] - 1] : TAM;
  return `${ad.padEnd(13)} ${String(d.length).padStart(6)} ${(d.length ? String(d[0] + 1) : '-').padStart(10)} ` +
    `${String(e).padStart(11)} ${String(g).padStart(9)} ${String(g - e).padStart(6)}`;
};
console.log(`\n${'kanal'.padEnd(13)} ${'halka'.padStart(6)} ${'en erken'.padStart(10)} ${'erken kalem'.padStart(11)} ` +
  `${'gec kalem'.padStart(9)} ${'kazanc'.padStart(6)}   (hic kirilmazsa ${TAM})`);
KANAL.forEach((ad, k) => console.log(satir(ad, kirilan(k))));
console.log(`\ngeri dogrulama yordami eklendikten sonra (kayitli kanaldan geri arama, ${GERI_SURE} sn):`);
KANAL.forEach((ad, k) => console.log(satir(ad, kirilan(k, true))));
console.log(`\n${'kanal'.padEnd(13)} ${'mesru talep'.padStart(11)} ${'kapsam'.padStart(6)} ${'ek sure (sn)'.padStart(12)} ` +
  `${'kesilen is'.padStart(10)} ${'kirilan halka +'.padStart(15)}`);
let kap = 0, kes = 0;
for (const [ad, t, k, a] of TRAFIK) {
  kap += k; kes += a;
  const i = KANAL.indexOf(ad), fark = kirilan(i, true).length - kirilan(i).length;
  console.log(`${ad.padEnd(13)} ${String(t).padStart(11)} ${String(k).padStart(6)} ${String(k * GERI_SURE).padStart(12)} ` +
    `${String(a).padStart(10)} ${String(fark).padStart(15)}`);
}
console.log(`toplam: kapsam ${kap} talep, ${kap * GERI_SURE} sn (${(kap * GERI_SURE / 3600).toFixed(2)} saat), kesilen is ${kes}`);
console.log(`sesli aramada yordam oncesi dusen kalem ${TAM}, sonrasi ${kumul[3]}; kazanc ${TAM - kumul[3]} kalem, bedeli 7 kesilen is`);
const yalniz = TRAFIK.find((t) => t[0] === 'sesli arama');
console.log(`yordam yalniz sesli aramaya uygulanirsa: kapsam ${yalniz[2]} talep, ${yalniz[2] * GERI_SURE} sn, ` +
  `kesilen is ${yalniz[3]}; kirilan halka kazanci ayni (1)`);
```

```
 # adim                     onkosul                           adimi kiran kalem               kumul
 1 kanal secimi ve hazirlik ulasilabilir kanal adresi         -                               0
 2 temas                    alicinin yanit vermesi            kayitli rehberde bulma          1
 3 guven kurma              dogrulanamayan ic ayrinti         gecmis yazismayla esleme        2
 4 talep iletme             alicinin ilgisi                   iletiyi acmadan inceleme        5
 5 eylem                    karar vericinin tek basina olmasi ikinci kisiye danisma penceresi 11

kanal          halka   en erken erken kalem gec kalem kazanc   (hic kirilmazsa 11)
e-posta            4          2           0         5      5
kisa mesaj         2          4           2         5      3
sesli arama        0          -          11        11      0
anlik ileti        3          3           1         5      4

geri dogrulama yordami eklendikten sonra (kayitli kanaldan geri arama, 180 sn):
e-posta            4          2           0         5      5
kisa mesaj         2          4           2         5      3
sesli arama        1          5           5         5      0
anlik ileti        3          3           1         5      4

kanal         mesru talep kapsam ek sure (sn) kesilen is kirilan halka +
e-posta               240     36         6480          1               0
kisa mesaj             60     15         2700          3               0
sesli arama            45     18         3240          7               1
anlik ileti           120     24         4320          2               0
toplam: kapsam 93 talep, 16740 sn (4.65 saat), kesilen is 13
sesli aramada yordam oncesi dusen kalem 11, sonrasi 5; kazanc 6 kalem, bedeli 7 kesilen is
yordam yalniz sesli aramaya uygulanirsa: kapsam 18 talep, 3240 sn, kesilen is 7; kirilan halka kazanci ayni (1)
```

Kanal tablosu zincirin kanala göre nasıl değiştiğini gösteriyor. E-postada dört halka kırılabiliyor
ve en erkeni ikinci adımdır: orada hiçbir kalem düşmemiştir. Kısa mesajda kırılabilen halka sayısı
ikiye iniyor ve en erkeni dördüncü adımdır — o noktaya gelindiğinde iki kalem çoktan düşmüştür.
Anlık iletide üç halka var ve en erkeni üçüncü adımdır. Sesli aramada kırılabilen halka **sıfırdır**
ve tablodaki "geç kalem" sütunu on bir yazar: zincir hiç kırılmadığında düşen kalem sayısıdır.

Bu, kursun ikinci kez karşılaşılan durumudur: bir zincirin hiçbir halkasında denetim yoksa ölçü
kırmadan **tespite** kayar. Sesli aramada tespit, aramanın kendisinden değil sonrasından gelir —
talebin gerçekleştiği kalemin kaydından. Zincirin kırılmaması, olanın görülmemesi anlamına gelmez;
yalnız görülmenin **sonradan** olacağı anlamına gelir.

Geri doğrulama yordamı bu tabloyu tek bir yerde değiştiriyor. Sesli aramada beşinci halka
kırılabilir hale geliyor ve düşen kalem on birden beşe iniyor: kazanç altı kalemdir. Öteki üç
kanalda hiçbir değişiklik yok, çünkü beşinci halka orada zaten kırılabilirdi. Yordamın kazandırdığı
her şey tek bir kanaldadır.

Bedel tablosu bunun karşılığını yazıyor. Yordam dört kanala birden uygulanırsa doksan üç talebi
kapsıyor, günde 16.740 saniye — dört buçuk saatten fazla — doğrulama süresi ekliyor ve on üç meşru
işi kesiyor. Kırılan halka sayısına katkısı yalnız sesli aramada birdir; öteki üç kanalda sıfırdır.
Yordam yalnız sesli aramaya uygulanırsa kapsam on sekiz talebe, ek süre 3.240 saniyeye ve kesilen
iş yediye iniyor; kazanılan halka aynı kalıyor. Aynı kazancın bedeli beşte bire düşüyor ve farkı
yaratan tek şey yordamın **nereye** uygulandığıdır.

Kesilen yedi iş bu kanalda en yüksek olandır ve bu bir rastlantı değil. Sesli arama, meşru
kullanımda da acil işlerin kanalıdır; kapsama giren on sekiz talebin yedisi geri arama penceresine
sığmaz. Zincirin en zayıf kanalı, yordamın da en pahalı olduğu kanaldır.

## Kanal Değiştirmenin Ölçüsü

Tablolar tek bir kanalda koşan zinciri ölçüyor, oysa zincirin adımları farklı kanallara
dağıtılabilir. Bunun etkisi çıktıdan doğrudan okunur. E-postada kırılabilen halkalar ikinci ve
üçüncü adımlardır; sesli aramada dördüncü ve beşinci adımların ikisi de kırılamaz. Adımların ilk
üçü e-postada, son ikisi sesli aramada geçtiğinde geriye yalnız iki kırılabilir halka kalır ve
ikisi de kümülatif sütunun bir ile iki değerinde durur.

Sayı olarak sonuç şudur: aynı zincirde erken kırma kazancı beş kalemden bire iner ve son iki
halkanın taşıdığı dokuz kalemlik fark hiçbir denetimin arkasında kalmaz. Kanal değiştirmek zincire
yeni bir adım eklemez; yalnız var olan adımları doğrulama kalemi az olan kanala taşır. Savunma
tarafındaki karşılığı da aynı ölçüdedir — bir talebin **başladığı** kanalda değil,
**tamamlandığı** kanalda hangi kalemlerin bulunduğu sayılır. Bir önceki bölümde yordamın yalnız
sesli aramaya uygulanması ucuz göründü; kanal değiştirme bu tercihi ayrıca zorunlu kılar, çünkü
zincirin son halkası bilerek o kanala taşınabilir. Kanal başına ölçüm bu yüzden tek başına
yetmez; talebin izlediği kanal dizisi de bir kalem olarak kaydedilmelidir.

## Özet

- 10 doğrulama kaleminin dört kanaldaki toplam gücü sırasıyla 19, 13, 2 ve 14'tür. Sesli aramada
  güçlü kalem sayısı 0'dır; 8 kalem hiç yok, 2 kalem taklit edilebilir.
- Dört kanalda da bulunan yalnız 2 kalem var ve ikisi de birden fazla kanalda güçlü değil. Kanaldan
  bağımsız doğrulama ancak dışarıdan bir yordamla eklenebilir.
- Aynı 5 adımlık zincir e-postada 4, anlık iletide 3, kısa mesajda 2, sesli aramada 0 halkada
  kırılıyor. Sesli aramada zincir hiç kırılmıyor ve düşen kalem 11'de kalıyor.
- Kırılamayan zincirde ölçü tespite kayar: sesli aramada görme, aramanın sırasında değil talebin
  gerçekleştiği kalemin kaydında olur.
- Geri doğrulama yordamı yalnız sesli aramada bir halka kazandırıyor; düşen kalem 11'den 5'e
  iniyor, kazanç 6 kalemdir. Öteki üç kanalda kazanç 0'dır.
- Yordam dört kanala uygulanırsa günde 16.740 saniye ve 13 kesilen iş, yalnız sesli aramaya
  uygulanırsa 3.240 saniye ve 7 kesilen iş. Kazanılan halka her iki durumda aynıdır.

## Sonraki Adım

Bu dersin dört kanalı da uzaktan işliyordu ve hepsinin ortak önkoşulu bir adresti: posta adresi,
numara ya da hesap. Bir kişinin binaya girmesi bu önkoşulların hiçbirine ihtiyaç duymaz. Kapıdan
geçmek, bir kartı taklit etmek, açık bırakılmış bir ekrana bakmak ya da atılmış bir belgeyi
toplamak farklı bir kaynak kümesini kullanır: kapı, kart ve görsel doğrulama. Sonraki dersin sorusu
budur: bir bina modelinde kaç erişim kalemi var, bunların kaçında denetim bulunuyor, hangi zincir
hangi kalemde kırılıyor ve bir refakat yordamı kaç adımı kırıp karşılığında kaç meşru geçişi
yavaşlatıyor.
