---
title: 'Varlık, Tehdit ve Açık'
source: 'https://academia.sh/tr/kurslar/siber-guvenlige-giris/varlik-tehdit-ve-acik'
course: 'Siber Güvenliğe Giriş'
language: tr
updated: '2026-08-17T18:08:38+00:00'
license: 'CC BY-SA 4.0'
---

# Varlık, Tehdit ve Açık

Üç terimin aynı envanterde ayrılması: 8 varlık, 6 tehdit ve 12 açığın kartezyen çarpımı 576 iken geçerli üçlü sayısının 19'a, yani %3,3'e inmesi, ikişer açık taşıyan iki varlığın 1 ve 4 üçlü üretmesi, hiçbir tehdidin ulaşamadığı bir açığın sıfır üçlü taşıması, aynı beş üçlüyü taşıyan iki tehdidin 4 ve 5 ayrı varlığa dokunması, on iki açıktan beşinin kapatılmasının 19 üçlünün 12'sini kapatması ve bir varlığın bölgesini daraltmanın 3, 2, 1 ya da hiç üçlü kapatmaması.

Önceki ders sekiz kalemi puanladı ve altı kararın bu puanları hangi yönde değiştirdiğini saydı.
Bütün hesap tek bir listenin üstünde koştu ve o listenin parçalarının adı belirsiz kaldı: korunan
şeye "varlık" dendi, ama puanı düşürecek olan neydi, düşmesine izin veren şey neydi. Bu ders aynı
envanteri üç ayrı listeye böler ve üçünün nasıl birleştiğini sayar.

**Varlık (asset)** korunan şeydir: veri, servis, aygıt, kayıt. **Tehdit (threat)** zarar
verebilecek etkendir; bunu yapabilecek taraf **tehdit aktörü (threat actor)** olarak anılır.
**Açık (vulnerability)** varlıktaki, o zararın gerçekleşmesine izin veren zayıflıktır. Üçü ayrı
listedir ve ayrı sayılır. Günlük konuşmada birbirinin yerine kullanılırlar; sayıldıklarında
birbirinin yerine geçmedikleri görülür.

## Üç Liste Üç Ayrı Soruya Karşılık Gelir

Örnek yine kurgu **bölgesel ölçüm ağı**dır ve varlık listesi bir önceki dersle aynı sekiz
kalemdir. Aşağıdaki envanter bir **modeldir**: gerçek bir ağ, gerçek bir tehdit kaydı ya da gerçek
bir açık listesi yoktur.

**GK6:** her varlık, dışarıdan ulaşılabildiği en geniş bölgeyle anılır — `dis`, `saha`, `ic`.
**GK7:** her açık tek bir varlıkta bulunur ve bir tür taşır. **GK8:** her tehdit, ulaşabildiği
bölge kümesi ve kullanabildiği açık türleriyle tanımlanır. **GK9:** bir `(varlık, açık, tehdit)`
üçlüsü ancak üç koşul birlikte sağlanırsa geçerlidir — açık o varlıkta bulunur, tehdit o bölgeye
ulaşır, tehdit o açık türünü kullanabilir.

```js
// guvenlik/envanter.mjs — kurgu olcum aginin varlik, tehdit ve acik envanteri (model): gercek bir
// ag, gercek bir tehdit kaydi ya da gercek bir acik listesi yok. Rastgelelik yok.

// GK6: her varlik, disaridan ulasilabildigi en genis bolgeyle anilir (dis, saha, ic).
export const VARLIK = `
  okuma-verisi         ic
  fatura-kaydi         dis
  is-emri-kuyrugu      saha
  kimlik-deposu        ic
  yapilandirma         ic
  denetim-gunlugu      ic
  sayac-urun-yazilimi  saha
  saha-uygulamasi      dis`
  .trim().split("\n").map((r) => { const [ad, bolge] = r.trim().split(/\s+/); return { ad, bolge }; });

// GK7: her acik tek bir varlikta bulunur ve bir tur tasir.
export const ACIK = `
  eski-surum-kitapligi     fatura-kaydi         surum
  varsayilan-parola        yapilandirma         kimlik
  genis-okuma-yetkisi      okuma-verisi         yetki
  dogrulanmayan-girdi      saha-uygulamasi      girdi
  acik-yonetim-ucu         yapilandirma         yapilandirma
  imzasiz-guncelleme       sayac-urun-yazilimi  butunluk
  paylasilan-hesap         kimlik-deposu        kimlik
  sifresiz-aktarim         is-emri-kuyrugu      aktarim
  tutulmayan-gunluk        denetim-gunlugu      gorunurluk
  eski-surum-etmen         saha-uygulamasi      surum
  fiziksel-erisim-noktasi  sayac-urun-yazilimi  fiziksel
  dogrulanmayan-alan       denetim-gunlugu      girdi`
  .trim().split("\n").map((r) => {
    const [ad, varlik, tur] = r.trim().split(/\s+/);
    return { ad, varlik, tur, bolge: VARLIK.find((v) => v.ad === varlik).bolge };
  });

// GK8: her tehdit, ulasabildigi bolge kumesi ve kullanabildigi acik turleriyle tanimlanir.
export const TEHDIT = [
  { ad: "dis-firsatci", bolge: ["dis"], tur: ["surum", "kimlik", "girdi", "yapilandirma"] },
  { ad: "hedefli-dis", bolge: ["dis", "saha"],
    tur: ["surum", "kimlik", "girdi", "yapilandirma", "aktarim", "butunluk"] },
  { ad: "saha-yakini", bolge: ["saha"], tur: ["fiziksel", "butunluk", "aktarim"] },
  { ad: "ic-kullanici-hatasi", bolge: ["ic", "saha"], tur: ["yapilandirma", "yetki"] },
  { ad: "kotu-niyetli-ic", bolge: ["ic", "saha", "dis"],
    tur: ["yetki", "kimlik", "gorunurluk", "aktarim"] },
  { ad: "tedarik-zinciri", bolge: ["saha", "ic"], tur: ["butunluk", "surum"] },
];

// GK9: uclu ancak acik o varlikta bulunuyorsa, tehdit o bolgeye ulasabiliyorsa ve o acik
// turunu kullanabiliyorsa gecerlidir.
export const gecerli = (a, t) => t.bolge.includes(a.bolge) && t.tur.includes(a.tur);
export const UCLU = ACIK.flatMap((a) => TEHDIT.filter((t) => gecerli(a, t))
  .map((t) => ({ varlik: a.varlik, acik: a.ad, tehdit: t.ad })));

export const acikSay = (v) => ACIK.filter((a) => a.varlik === v).length;
export const ucluSay = (alan, ad) => UCLU.filter((u) => u[alan] === ad).length;

// GK10: bir varligin bolgesi bir kademe daraltilabilir (dis -> saha -> ic); daraltma
// o varliktaki aciklarin ulasilabilirligini degistirir, aciklari kapatmaz.
export const DAR = { dis: "saha", saha: "ic", ic: "ic" };
export function darUclu(ad) {
  return ACIK.reduce((n, a) => n + TEHDIT.filter((t) =>
    t.bolge.includes(a.varlik === ad ? DAR[a.bolge] : a.bolge) && t.tur.includes(a.tur)).length, 0);
}
```

```js
// guvenlik/say.mjs — uc liste ayni envanterde: kac varlik, kac tehdit, kac acik, kac gecerli uclu.
import { VARLIK, ACIK, TEHDIT, UCLU, DAR, acikSay, ucluSay, darUclu } from "./envanter.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 kartezyen = VARLIK.length * TEHDIT.length * ACIK.length;

console.log(`${VARLIK.length} varlik, ${TEHDIT.length} tehdit, ${ACIK.length} acik; ` +
  `kartezyen carpim ${kartezyen}, acik zaten bir varliga bagli oldugundan aday ` +
  `${ACIK.length * TEHDIT.length}, gecerli uclu ${UCLU.length}`);

const A = [-21, 8, 8, 8, 10];
console.log("\n1. varlik basina acik ve gecerli uclu");
yaz(A, "varlik", "bolge", "acik", "uclu", "uclu/acik");
for (const v of VARLIK)
  yaz(A, v.ad, v.bolge, acikSay(v.ad), ucluSay("varlik", v.ad),
    acikSay(v.ad) ? (ucluSay("varlik", v.ad) / acikSay(v.ad)).toFixed(1) : "-");
yaz(A, "toplam", "-", ACIK.length, UCLU.length, (UCLU.length / ACIK.length).toFixed(1));

const B = [-25, 14, 8, 7];
console.log("\n2. acik basina kac tehdit kullanabiliyor");
yaz(B, "acik", "tur", "bolge", "uclu");
for (const a of [...ACIK].sort((x, y) => ucluSay("acik", y.ad) - ucluSay("acik", x.ad)))
  yaz(B, a.ad, a.tur, a.bolge, ucluSay("acik", a.ad));

const C = [-21, 8, 7, 7, 10];
console.log("\n3. tehdit basina erisim ve kullanim");
yaz(C, "tehdit", "bolge", "tur", "uclu", "varlik");
for (const t of TEHDIT)
  yaz(C, t.ad, t.bolge.length, t.tur.length, ucluSay("tehdit", t.ad),
    new Set(UCLU.filter((u) => u.tehdit === t.ad).map((u) => u.varlik)).size);

const D = [-38, 9, 9];
console.log("\n4. carpim nerede daraliyor");
yaz(D, "adim", "aday", "kalan %");
const yuzde = (n) => ((n / kartezyen) * 100).toFixed(1);
for (const [ad, n] of [["varlik x tehdit x acik", kartezyen],
  ["acik zaten bir varlikta (acik x tehdit)", ACIK.length * TEHDIT.length],
  ["tehdit o bolgeye ulasabiliyor", ACIK.reduce((a, x) =>
    a + TEHDIT.filter((t) => t.bolge.includes(x.bolge)).length, 0)],
  ["tehdit o acik turunu kullanabiliyor", UCLU.length]]) yaz(D, ad, n, yuzde(n));

const sirali = [...ACIK].map((a) => ucluSay("acik", a.ad)).sort((x, y) => y - x);
const birikim = sirali.map(((s) => (n) => (s += n))(0));
console.log(`\nen cok uclu tasiyan acik sirasi: ${sirali.join(" ")}`);
console.log(`kapatma birikimi: ${birikim.join(" ")} (12 acigin 5'i ${birikim[4]}/${UCLU.length}` +
  ` ucluyu kapatir); hic uclu tasimayan acik: ` +
  ACIK.filter((a) => ucluSay("acik", a.ad) === 0).map((a) => a.ad).join(", "));

const E = [-21, 8, 9, 9, 9];
console.log("\n5. bir varligin bolgesi bir kademe daraltilirsa (acik sayisi degismez)");
yaz(E, "varlik", "bolge", "yeni", "uclu", "kapanan");
for (const v of VARLIK)
  yaz(E, v.ad, v.bolge, DAR[v.bolge], darUclu(v.ad), UCLU.length - darUclu(v.ad));
```

```
8 varlik, 6 tehdit, 12 acik; kartezyen carpim 576, acik zaten bir varliga bagli oldugundan aday 72, gecerli uclu 19

1. varlik basina acik ve gecerli uclu
varlik                  bolge    acik    uclu uclu/acik
okuma-verisi               ic       1       2       2.0
fatura-kaydi              dis       1       2       2.0
is-emri-kuyrugu          saha       1       3       3.0
kimlik-deposu              ic       1       1       1.0
yapilandirma               ic       2       2       1.0
denetim-gunlugu            ic       2       1       0.5
sayac-urun-yazilimi      saha       2       4       2.0
saha-uygulamasi           dis       2       4       2.0
toplam                      -      12      19       1.6

2. acik basina kac tehdit kullanabiliyor
acik                                tur   bolge   uclu
imzasiz-guncelleme             butunluk    saha      3
sifresiz-aktarim                aktarim    saha      3
eski-surum-kitapligi              surum     dis      2
genis-okuma-yetkisi               yetki      ic      2
dogrulanmayan-girdi               girdi     dis      2
eski-surum-etmen                  surum     dis      2
varsayilan-parola                kimlik      ic      1
acik-yonetim-ucu           yapilandirma      ic      1
paylasilan-hesap                 kimlik      ic      1
tutulmayan-gunluk            gorunurluk      ic      1
fiziksel-erisim-noktasi        fiziksel    saha      1
dogrulanmayan-alan                girdi      ic      0

3. tehdit basina erisim ve kullanim
tehdit                  bolge    tur   uclu    varlik
dis-firsatci                1      4      3         2
hedefli-dis                 2      6      5         4
saha-yakini                 1      3      3         2
ic-kullanici-hatasi         2      2      2         2
kotu-niyetli-ic             3      4      5         5
tedarik-zinciri             2      2      1         1

4. carpim nerede daraliyor
adim                                       aday  kalan %
varlik x tehdit x acik                      576    100.0
acik zaten bir varlikta (acik x tehdit)       72     12.5
tehdit o bolgeye ulasabiliyor                42      7.3
tehdit o acik turunu kullanabiliyor          19      3.3

en cok uclu tasiyan acik sirasi: 3 3 2 2 2 2 1 1 1 1 1 0
kapatma birikimi: 3 6 8 10 12 14 15 16 17 18 19 19 (12 acigin 5'i 12/19 ucluyu kapatir); hic uclu tasimayan acik: dogrulanmayan-alan

5. bir varligin bolgesi bir kademe daraltilirsa (acik sayisi degismez)
varlik                  bolge     yeni     uclu  kapanan
okuma-verisi               ic       ic       19        0
fatura-kaydi              dis     saha       19        0
is-emri-kuyrugu          saha       ic       17        2
kimlik-deposu              ic       ic       19        0
yapilandirma               ic       ic       19        0
denetim-gunlugu            ic       ic       19        0
sayac-urun-yazilimi      saha       ic       16        3
saha-uygulamasi           dis     saha       18        1
```

Sayılar **ölçüm** sınıfındadır; girdileri GK6–GK9'dur.

## Çarpım Yol Sayısı Değildir

Dördüncü tablo bu dersin ana bulgusudur. Üç listenin uzunluğu çarpıldığında 576 çıkar. Bu sayı
hiçbir şeyi ölçmez, çünkü listeler bağımsız değildir. İlk daralma tanım gereğidir: her açık zaten
tek bir varlıkta bulunur, o yüzden varlık boyutu ayrı bir çarpan değildir — 72 aday kalır, yani
çarpımın **%12,5'i**. İkinci daralma erişimden gelir: tehdidin açığın bulunduğu bölgeye ulaşması
gerekir, aday 42'ye iner. Üçüncüsü yetenektendir: tehdit o açık türünü kullanabilmelidir, geriye
**19 üçlü**, yani başlangıçtaki çarpımın **%3,3'ü** kalır.

Aradaki fark ölçek farkı değil, tür farkıdır. "Sekiz varlığımız, altı tehdit türümüz ve on iki
açığımız var" cümlesi bir envanterdir; kaç yerden ne olabileceğini söylemez. Üçünü çarpmak bir
korku sayısı üretir. Gerçekte sayılabilir olan, üçünün **kesiştiği** yerdir ve o kesişim iki
koşulla daralır: erişim ve yetenek.

Yine de 19 sayısı **hâlâ bir yol sayısı değildir**. Her üçlü, tehdidin varlığa doğrudan
dokunabildiğini varsayar; bölge bir etiket olarak verilmiştir, geçilecek bir kapı olarak
sayılmamıştır. Gerçekte `ic` bölgedeki bir varlığa ulaşmak, önce başka varlıkların üstünden
geçmeyi gerektirir ve o geçişlerin her biri ayrı bir adımdır. Bu dersin bıraktığı sayı bir
**kesişim sayısıdır**; yol sayımı bu konunun son dersinde yapılacaktır.

## Aynı Sayıda Açık, Dört Kat Fark

Birinci tablo açık sayısının tek başına neden bir gösterge olmadığını gösterir. `denetim-gunlugu`
ve `saha-uygulamasi` ikisi de **ikişer açık** taşır. Birincisi 1 üçlü üretir, ikincisi 4. Üçlü
başına oran 0,5'e karşı 2,0'dır — aynı açık sayısında **dört kat fark**.

Farkın kaynağı ikinci tabloda görülür. `saha-uygulamasi` `dis` bölgededir ve açıkları `girdi` ile
`surum` türündedir; dış bölgeye ulaşan üç tehdidin ikisi bu türleri kullanabilir. `denetim-gunlugu`
`ic` bölgededir ve açıkları `gorunurluk` ile `girdi` türündedir; iç bölgeye ulaşan üç tehditten
yalnız biri `gorunurluk` kullanır, `girdi` türünü hiçbiri kullanmaz.

Son satır bu dersin en keskin kalemidir: `dogrulanmayan-alan` açığı **sıfır üçlü** taşır. Açık
gerçektir, listede durur, denetimde işaretlenir — ama ona ulaşabilen ve onu kullanabilen bir tehdit
yoktur. Bu, açığın kapatılmaması gerektiği anlamına gelmez; bölge sınırı değişirse üçlü sayısı
sıfır olmaktan çıkar. Anlamı şudur: **açık sayısı bir maruziyet ölçüsü değildir.** On iki açığın
biri hiçbir şeye açık değildir ve bir başkası üçüne birden.

## Tehdidin İki Ayrı Genişliği

Üçüncü tablo tehditleri iki eksende ölçer: kaç bölgeye ulaşıyor ve kaç açık türünü kullanabiliyor.
`hedefli-dis` iki bölgeye ulaşır ama altı tür kullanır; `kotu-niyetli-ic` üç bölgeye ulaşır ve
dört tür kullanır. İkisi de **beş üçlü** üretir — aynı sayı, iki ayrı yoldan.

Fark son sütundadır: `hedefli-dis` dört ayrı varlığa dokunur, `kotu-niyetli-ic` beşine. Erişim
genişliği ile yetenek genişliği toplamda aynı üçlü sayısını verse de **yayılımı farklıdır**.
Yetenek genişliği aynı varlıkta birden çok açığı kullanılabilir kılar; erişim genişliği daha çok
varlığa dokunur. Bir savunma kararı bu ikisinden hangisini daralttığını bilmeden yazılamaz.

`tedarik-zinciri` ters uçtadır: iki bölgeye ulaşır, iki tür kullanır, tek üçlü üretir ve tek
varlığa dokunur. Bu satır tehdit listesinin uzunluğunun da bir gösterge olmadığını yazar — altı
tehditten biri envanterin **on dokuzda birini** taşır.

Son iki satır kapatmanın getirisini sıralar. On iki açık, üçlü sayısına göre sıralandığında
`3 3 2 2 2 2 1 1 1 1 1 0` dizisi çıkar. En çok taşıyan beş açığı kapatmak 19 üçlünün **12'sini**
kapatır; kalan yedi üçlü için yedi ayrı açık daha kapatmak gerekir ve on ikincisi hiçbir şey
eklemez. Kapatma sırası açık sayısına göre değil, **taşınan üçlü sayısına** göre kurulur.

## Üç Listeden Hangisi Elde

Beşinci tablo üçüncü bir kaldıraç dener. Açık kapatmak bir listeyi kısaltır; tehdit listesi
kısaltılamaz, çünkü kimin ne yapabileceği kurumun kararı değildir. Geriye **erişim** kalır: bir
varlığın bölgesini bir kademe daraltmak, açıklarının hiçbirini kapatmadan onlara ulaşabilen tehdit
kümesini değiştirir.

Sonuçlar dört ayrı davranış gösterir. `sayac-urun-yazilimi` `saha`dan `ic`e çekildiğinde 3 üçlü
kapanır — bu, tek bir açığı kapatmanın en yüksek getirisine eşittir ve iki açık da yerinde durur.
`is-emri-kuyrugu` 2, `saha-uygulamasi` 1 üçlü kapatır. Zaten `ic` bölgede olan dört varlıkta
daraltacak bir kademe kalmamıştır ve kapanan üçlü sıfırdır.

Beşinci satır tablonun en öğretici kalemidir: `fatura-kaydi` `dis`ten `saha`ya çekildiğinde
kapanan üçlü **sıfırdır**. Kalem daha dar bir bölgeye taşınmıştır, ama üstündeki `surum` türü
açığı hem dış bölgeye ulaşan bir tehdit hem de saha bölgesine ulaşan bir başkası kullanabilir;
kapanan bir üçlünün yerine bir yenisi açılır. **Daraltmanın getirisi kalemin ne kadar
gizlendiğine değil, hangi tehdit kümesinin dışarıda kaldığına bağlıdır.**

Üç kaldıraç bu yüzden aynı şey değildir: açık kapatmak listeden bir satır siler, bölge daraltmak
aynı satırı yerinde bırakıp ona ulaşan tehdit kümesini değiştirir, tehdit listesi ise elde
değildir. Bu dersin sayabildiği son şey budur; ikinci kaldıracın gerçek ölçüsü, bölgeler arasında
kaç adım olduğu bilinmeden verilemez.

## Özet

- Varlık korunan şey, tehdit zarar verebilecek etken, açık ise varlıktaki zayıflıktır; üçü ayrı
  listedir ve ayrı sayılır.
- Sekiz varlık, altı tehdit ve on iki açığın çarpımı 576'dır; geçerli üçlü 19, yani çarpımın
  %3,3'üdür. Daralma iki koşuldan gelir: tehdit o bölgeye ulaşıyor mu, o açık türünü kullanıyor mu.
- On dokuz üçlü hâlâ bir yol sayısı değildir; her üçlü tehdidin varlığa doğrudan dokunduğunu
  varsayar ve bölgeler arası geçişleri adım olarak saymaz.
- İkişer açık taşıyan iki varlık 1 ve 4 üçlü üretir; bir açık sıfır üçlü taşır, bir başkası üç.
  Açık sayısı tek başına bir maruziyet ölçüsü değildir.
- Beş üçlü üreten iki tehditten biri dört, öteki beş varlığa dokunur; erişim genişliği ile yetenek
  genişliği aynı toplamda farklı yayılım verir.
- Bir varlığın bölgesini bir kademe daraltmak hiçbir açığı kapatmadan 3, 2, 1 ya da 0 üçlü
  kapatır; dar bölgeye başka tehditler ulaştığında getiri sıfır kalır.

## Sonraki Adım

Bu ders on dokuz üçlüyü saydı ve hepsini eşit ağırlıkta yazdı. Oysa `fiziksel-erisim-noktasi`
üzerinden gelen tek üçlü ile `sifresiz-aktarim` üzerinden gelen üç üçlü ne aynı sıklıkta
gerçekleşir ne de gerçekleştiğinde aynı şeye mal olur. Kapatma sırası bu derste yalnız taşınan
üçlü sayısına göre kuruldu; oysa az taşıyan bir kalem çok daha ağır olabilir. Sonraki ders bu iki
boyutu — **olasılık** ve **etki** — bir kalem kümesi üzerinde birleştirir ve iki farklı puanlamanın
aynı listeyi nasıl farklı sıraladığını gösterir.
