---
title: 'Sorumlu Açıklama'
source: 'https://academia.sh/tr/kurslar/sizma-testi/sorumlu-aciklama'
course: 'Güvenlik Araçları ve Sızma Testi'
language: tr
updated: '2026-08-17T18:08:41+00:00'
license: 'CC BY-SA 4.0'
---

# Sorumlu Açıklama

Bildirimden yayına giden süre altı aşamada ölçülüyor: tek tarafı ilgilendiren bulgu ortalama 12,7 günde, dört tarafı ilgilendiren 96,0 günde kapanıyor ve en uzun aşama düzeltmedir. Üç yayın politikası karşılaştırıldığında sabit 90 günlük pencere 13 bulguyu düzeltilmeden yayımlıyor, düzeltmeye bağlı pencere hiçbirini yayımlamıyor ama en geç yayını 226. güne itiyor, uzatmalı pencere 3'te kalıyor. Ders kursu kapatır ve on sekiz dersin aday, kanıt ve iz sayılarını tek tabloda toplar.

Bir önceki ders raporu yeniden üretilebilirlik cinsinden ölçtü ve tek bir varsayıma dayandı:
raporun gideceği yer bellidir, orada bir düzeltme ekibi vardır ve o ekip bulguyu bekliyordur.
Sözleşmeli bir değerlendirmede bu varsayım tutar. Bulgu dışarıdan geldiğinde — bağımsız bir
araştırmadan, bir üçüncü taraf bileşeninde görülen bir kalemden — düşer.

**Sorumlu açıklama** (responsible disclosure), o durumda kime, hangi kanaldan, ne kadar süre içinde
bildirileceğini ve bulgunun ne zaman yayımlanabileceğini belirleyen süreçtir. Bu ders onu iki sayı
cinsinden ölçer: **kaç gün** ve **kaç taraf**. Ölçüm bir modeldir ve bütün süreler kurgudur;
gerçek bir kurum, gerçek bir bileşen ya da gerçek bir açık kimliği yazılmaz.

- **TS31.** Bulgu kümesi önceki dersin 61 kaydıdır. Her bulgu dört bildirim sınıfından birine
  düşer ve sınıf, sürece giren taraf sayısını belirler.
- **TS32.** Süreç altı aşamadır: bildirim kanalının bulunması, alındı onayı, teknik doğrulama,
  düzeltme, dağıtım ve doğrulama turu. Süreler gün cinsindendir.
- **TS33.** Düzeltme süresi sınıf tabanından 0,6 ile 1,6 kat arasında sapar; bulguların bir
  bölümünde düzeltme **takılır** ve süre dört katına çıkar.
- **TS34.** **Hazır günü**, düzeltmenin dağıtılıp doğrulandığı gündür. Düzeltmenin yazılmış
  olması ile uygulanmış olması ayrı iki tarihtir.
- **TS35.** Üç yayın politikası karşılaştırılır: bildirimden 90 gün sonra sabit yayın; düzeltme
  hazır olduktan 14 gün sonra yayın; 90 gün ama düzeltme sürüyorsa bir kez 30 gün uzatma.
- **TS36.** Bir bulgu, yayın gününde hazır değilse **düzeltilmeden yayımlanmış** sayılır ve
  aradaki gün sayısı yayın sonrası açık kalan süredir.

## Bildirimden Yayına

```js
// aciklama.mjs — sorumlu aciklama sureci: bildirimden yayina kac gun, kac taraf.
// MODELDIR; bulgu kumesi, sureler ve taraflar kurgudur.
export const TOHUM = 20260714, N = 61;
const uretec = (t) => { let s = t >>> 0;
  return () => (s = (s * 1664525 + 1013904223) >>> 0) / 4294967296; };
const r = uretec(TOHUM);

// Asamalar: bildirim kanalinin bulunmasindan yayina kadar. Sureler gun cinsinden
// ve sinifa gore degisir; her sinif ayri sayida tarafi ilgilendirir.
export const ASAMA = ["kanal bulma", "alindi onayi", "teknik dogrulama", "duzeltme",
  "dagitim", "dogrulama turu"];
const KISA = ["kanal", "onay", "inceleme", "duzeltme", "dagitim", "tur"];
export const SINIF = [
  { ad: "kurum yapilandirmasi", pay: 0.34, taraf: ["kurum"], gun: [1, 1, 2, 3, 2, 2] },
  { ad: "kurum yazilimi", pay: 0.28, taraf: ["kurum", "gelistirme ekibi"],
    gun: [1, 2, 4, 14, 7, 3] },
  { ad: "ucuncu taraf bilesen", pay: 0.23,
    taraf: ["kurum", "gelistirme ekibi", "bilesen saglayicisi"], gun: [5, 7, 10, 45, 21, 5] },
  { ad: "paylasilan altyapi", pay: 0.15,
    taraf: ["kurum", "gelistirme ekibi", "altyapi isleticisi", "duzenleyici"],
    gun: [3, 5, 8, 30, 30, 7] },
];
const sinifSec = (u) => { let t = 0;
  for (const s of SINIF) { t += s.pay; if (u < t) return s; } return SINIF.at(-1); };

// Her bulgu bir sinifa duser; duzeltme suresi sinif tabanindan sapar, bir bolumunde takilir.
export const BULGU = Array.from({ length: N }, (_, i) => {
  const s = sinifSec(r()), carpan = 0.6 + r(), takilan = r() < 0.12;
  const gun = s.gun.map((g, j) => (j === 3 ? Math.round(g * carpan * (takilan ? 4 : 1)) : g));
  return { no: i + 1, sinif: s.ad, taraf: s.taraf, gun, takilan,
    hazir: gun.reduce((a, g) => a + g, 0) };
});

if (import.meta.url === `file://${process.argv[1]}`) {
  const gen = (B) => (h) => h.map((v, j) => (j ? String(v).padStart(B[j])
    : String(v).padEnd(B[0]))).join("");
  const yz = gen([22, 7, 8, 7, 10, 10, 9, 6, 10, 7]);
  console.log(`model (tohum ${TOHUM}): ${N} bulgu, ${SINIF.length} bildirim sinifi`);
  console.log("\n" + yz(["bulgu sinifi", "bulgu", ...KISA, "ort gun", "taraf"]));
  for (const s of SINIF) {
    const l = BULGU.filter((b) => b.sinif === s.ad);
    const ort = l.reduce((a, b) => a + b.hazir, 0) / l.length;
    console.log(yz([s.ad, l.length, ...s.gun, ort.toFixed(1), s.taraf.length]));
  }
  const taraflar = new Set(SINIF.flatMap((s) => s.taraf));
  const enUzun = ASAMA.map((a, j) => [a, SINIF.reduce((x, s) => x + s.gun[j], 0)])
    .sort((a, b) => b[1] - a[1])[0];
  console.log(`\ndort sinif toplam ${taraflar.size} ayri tarafi ilgilendiriyor; ` +
    `en uzun asama "${enUzun[0]}" (dort sinifta toplam ${enUzun[1]} gun)`);
  const dagitim = SINIF.reduce((a, s) => a + s.gun[4], 0);
  console.log(`duzeltme yazildiktan sonra dagitim tek basina ${dagitim} gun tutuyor: ` +
    `duzeltmenin var olmasi ile uygulanmis olmasi ayri iki tarihtir`);
}
```

```
model (tohum 20260714): 61 bulgu, 4 bildirim sinifi

bulgu sinifi            bulgu   kanal   onay  inceleme  duzeltme  dagitim   tur   ort gun  taraf
kurum yapilandirmasi       26       1      1         2         3        2     2      12.7      1
kurum yazilimi             15       1      2         4        14        7     3      40.3      2
ucuncu taraf bilesen       11       5      7        10        45       21     5     113.2      3
paylasilan altyapi          9       3      5         8        30       30     7      96.0      4

dort sinif toplam 5 ayri tarafi ilgilendiriyor; en uzun asama "duzeltme" (dort sinifta toplam 92 gun)
duzeltme yazildiktan sonra dagitim tek basina 60 gun tutuyor: duzeltmenin var olmasi ile uygulanmis olmasi ayri iki tarihtir
```

Son iki sütun bir arada okunduğunda ilişki nettir: taraf sayısı arttıkça ortalama süre üç ile
sekiz kat büyüyor. Tek tarafı ilgilendiren bir yapılandırma bulgusu 12,7 günde, üç tarafı
ilgilendiren bir bileşen bulgusu 113,2 günde kapanıyor. Kaynağı yalnız düzeltme değildir: kanal
bulma 1 günden 5 güne, alındı onayı 1 günden 7 güne çıkıyor, çünkü her yeni taraf kendi bildirim
kanalını, onayını ve teknik incelemesini ekliyor.

En uzun aşama düzeltmedir ve dört sınıfta 92 gün tutar. Ama tek başına düzeltmeye bakmak
yanıltıcıdır: **dağıtım tek başına 60 gün tutuyor.** Bir düzeltmenin yazılmış olması ile
uygulanmış olması ayrı iki tarihtir ve arada açık hâlâ açıktır. Paylaşılan altyapı sınıfında
dağıtım düzeltmeyle eşit süre tutuyor, çünkü değişiklik tek bir yerde değil, işletilen bütün
kalemlerde uygulanmak zorundadır.

Kanal bulma aşaması küçüktür ama bir şey söyler: bildirimi yapacak kişi önce **kime
bildireceğini** aramak zorundadır. Yayımlanmış bir bildirim adresi olmayan kurum, kendi düzeltme
süresine baştan gün ekler.

## Yayın Penceresi ve Taraf Sayısı

```js
// yayin.mjs — yayin politikasi: sabit pencere, duzeltmeye bagli pencere, uzatmali pencere.
import { BULGU, SINIF } from "./aciklama.mjs";

const N = BULGU.length, PENCERE = 90, UZATMA = 30, BEKLEME = 14;
// Her politika bir bulgu icin yayin gunu dondurur.
const POLITIKA = [
  ["sabit pencere", () => PENCERE],
  ["duzeltmeye bagli", (b) => b.hazir + BEKLEME],
  ["uzatmali pencere", (b) => (b.hazir <= PENCERE ? PENCERE : PENCERE + UZATMA)],
];
const gen = (B) => (h) => h.map((v, j) => (j ? String(v).padStart(B[j])
  : String(v).padEnd(B[0]))).join("");
const yz = gen([20, 11, 11, 13, 16, 20]);
console.log(`${N} bulgu; pencere ${PENCERE} gun, uzatma ${UZATMA} gun, ` +
  `duzeltme sonrasi bekleme ${BEKLEME} gun (kurgu)`);
console.log(yz(["politika", "ort yayin", "en gec", "duzeltilmis", "duzeltilmeden",
  "yayin sonrasi acik"]));
for (const [ad, f] of POLITIKA) {
  const gun = BULGU.map(f), duzeltilmis = BULGU.filter((b) => b.hazir <= f(b)).length;
  console.log(yz([ad, (gun.reduce((a, g) => a + g, 0) / N).toFixed(1), Math.max(...gun),
    duzeltilmis, N - duzeltilmis,
    (BULGU.reduce((a, b) => a + Math.max(0, b.hazir - f(b)), 0) / N).toFixed(1)]));
}

// Taraf sayisi ile pencereyi asma arasindaki iliski.
const y2 = gen([22, 8, 10, 14, 16, 14]);
console.log("\n" + y2(["bulgu sinifi", "taraf", "bulgu", "90 gunu asan", "120 gunu asan",
  "takilan"]));
for (const s of SINIF) {
  const l = BULGU.filter((b) => b.sinif === s.ad);
  console.log(y2([s.ad, s.taraf.length, l.length, l.filter((b) => b.hazir > PENCERE).length,
    l.filter((b) => b.hazir > PENCERE + UZATMA).length, l.filter((b) => b.takilan).length]));
}
const asan = BULGU.filter((b) => b.hazir > PENCERE);
const cokTaraf = BULGU.filter((b) => b.taraf.length >= 3);
console.log(`\n${N} bulgunun ${asan.length}'i ${PENCERE} gunluk pencereyi asiyor; ` +
  `bunlarin ${asan.filter((b) => b.taraf.length >= 3).length}'i uc ya da daha cok tarafi ` +
  `ilgilendiren siniflardan geliyor`);
console.log(`uc ve daha cok tarafli ${cokTaraf.length} bulgunun ` +
  `${(100 * cokTaraf.filter((b) => b.hazir > PENCERE).length / cokTaraf.length).toFixed(1)}%'i ` +
  `pencereyi asiyor; tek tarafli ${BULGU.filter((b) => b.taraf.length === 1).length} bulgunun ` +
  `${BULGU.filter((b) => b.taraf.length === 1 && b.hazir > PENCERE).length}'i asiyor`);
const takilan = BULGU.filter((b) => b.takilan);
console.log(`duzeltmesi takilan ${takilan.length} bulgu, duzeltmeye bagli politikada ortalama ` +
  `${(takilan.reduce((a, b) => a + b.hazir + BEKLEME, 0) / takilan.length).toFixed(1)} gun ` +
  `yayimlanmadan bekliyor; sabit pencerede ${PENCERE}. gun yayimlanir`);
```

```
61 bulgu; pencere 90 gun, uzatma 30 gun, duzeltme sonrasi bekleme 14 gun (kurgu)
politika              ort yayin     en gec  duzeltilmis   duzeltilmeden  yayin sonrasi acik
sabit pencere              90.0         90           48              13                 5.9
duzeltmeye bagli           63.9        226           61               0                 0.0
uzatmali pencere           96.4        120           58               3                 3.1

bulgu sinifi             taraf     bulgu  90 gunu asan   120 gunu asan       takilan
kurum yapilandirmasi         1        26             0               0             3
kurum yazilimi               2        15             0               0             3
ucuncu taraf bilesen         3        11             9               2             2
paylasilan altyapi           4         9             4               1             1

61 bulgunun 13'i 90 gunluk pencereyi asiyor; bunlarin 13'i uc ya da daha cok tarafi ilgilendiren siniflardan geliyor
uc ve daha cok tarafli 20 bulgunun 65.0%'i pencereyi asiyor; tek tarafli 26 bulgunun 0'i asiyor
duzeltmesi takilan 9 bulgu, duzeltmeye bagli politikada ortalama 106.9 gun yayimlanmadan bekliyor; sabit pencerede 90. gun yayimlanir
```

Üç politika üç ayrı şeyi koruyor ve hiçbiri ötekini kapsamıyor. Sabit pencere kesin bir tarih
verir ve kurumu süreye bağlar, ama 13 bulguyu düzeltilmeden yayımlar ve bunlar ortalama 5,9 gün
boyunca hem açık hem herkese açıktır. Düzeltmeye bağlı pencere hiçbir bulguyu düzeltilmeden
yayımlamaz; ortalama yayın günü 63,9 ile en erkendir, çünkü bulguların çoğu hızlı kapanır. Bedeli
son sütunda değil "en geç" sütunundadır: **226. gün.** Düzeltme takıldığında yayın süresiz
ertelenebilir ve kararı bildirimi alan taraf verir.

Uzatmalı pencere ikisinin arasındadır: düzeltilmeden yayımlananı 13'ten 3'e, yayın sonrası açık
süreyi 5,9 günden 3,1 güne indirirken en geç yayını 120 günde tutar. Kazandığı kesin bir üst
sınırdır; eklediği, uzatmanın ne zaman verileceği kararıdır.

İkinci tablo pencereyi kimin aştığını gösteriyor ve sonuç tek bir eksende toplanıyor: **90 günü
aşan 13 bulgunun 13'ü de üç ya da daha çok tarafı ilgilendiren sınıflardandır.** Tek tarafı
ilgilendiren 26 bulgunun hiçbiri pencereyi aşmıyor; üç ve daha çok taraflı 20 bulgunun yüzde
65,0'i aşıyor. Süreyi belirleyen şey açığın teknik ağırlığı değil, kaç kurumun aynı takvimde
buluşması gerektiğidir. Düzeltmesi takılan 9 bulgu bu tabloya dağılmış durumdadır ve düzeltmeye
bağlı politikada ortalama 106,9 gün yayımlanmadan bekler.

Buradan pratik bir kural çıkıyor: pencere tek bir sayı olarak yazılamaz. Taraf sayısı bildirimin
ilk gününde bilinir ve pencere uzunluğu o sayıya bağlanabilir. Tek taraflı bir bulgu için 90 gün
fazlasıyla yeterlidir; dört taraflı bir bulgu için aynı 90 gün, koordinasyon tamamlanmadan yayın
demektir.

## Özet

- Bildirimden hazır olma gününe kadar geçen süre taraf sayısına bağlıdır: tek taraflı bulgu
  ortalama 12,7 gün, iki taraflı 40,3 gün, üç taraflı 113,2 gün, dört taraflı 96,0 gün tutuyor.
- Artış yalnız düzeltmeden gelmiyor; kanal bulma 1 günden 5 güne, alındı onayı 1 günden 7 güne
  çıkıyor, çünkü her taraf kendi kanalını, onayını ve incelemesini ekliyor.
- Dağıtım dört sınıfta toplam 60 gün tutuyor: düzeltmenin yazılmış olması ile uygulanmış olması
  ayrı iki tarihtir ve arada açık hâlâ açıktır.
- Sabit 90 günlük pencere 13 bulguyu düzeltilmeden yayımlıyor ve ortalama 5,9 gün açık bırakıyor;
  düzeltmeye bağlı pencere hiçbirini yayımlamıyor ama en geç yayını 226. güne itiyor.
- Uzatmalı pencere düzeltilmeden yayımlananı 3'e, açık kalan süreyi 3,1 güne indirirken üst sınırı
  120 günde tutuyor.
- 90 günü aşan 13 bulgunun tamamı üç ya da daha çok tarafı ilgilendiren sınıflardan geliyor; tek
  taraflı 26 bulgunun hiçbiri aşmıyor. Pencere uzunluğu teknik ağırlığa değil taraf sayısına
  bağlanmalıdır.

## Kurs Kapanışı

| Ders | Aday | Kanıta dönen | Savunmada bıraktığı iz |
|---|---|---|---|
| Açık Kaynak İstihbaratı | 29 kalem, 20 aday | 9 kanıt, 6 yanlış pozitif | 12 erişim kaydı, 0 uyarı |
| Alan Adı ve Kayıt Sorgulama | 20 aday, 4 ölçüt | 8 kanıt, 0 yanlış pozitif | 26 kayıt, 0 uyarı |
| Alt Alan ve Varlık Keşfi | 24 bölge kaydı | 21 bulundu, 7 sahipsiz | ad başına 8,57 kayıt, 5 uyarı |
| Bağlantı Noktası Tarama | 96 nokta, 21 belirsiz | 18 kanıt, 3 yanlış pozitif | 72–90 kayıt, 2 uyarı |
| Servis ve Sürüm Belirleme | 21 servis, 4 düzey | 16 kesin, 0 yanlış atama | 168 kayıt, 6 uyarı |
| Paket Yakalama ve Çözümleme | 85 iddia adayı | 50 kanıt, 28 çıkarım | 0 kayıt, 1 yapılandırma onayı |
| Protokol Çözümleyicileri | 91 aday, 30 alan | 43 kanıt, 48 çıkarım | 0 kayıt, akış başına 1 uyarı |
| İstek Manipülasyonu | 18 aday, 40 istek | 8 kanıt, 6 elenen | 35 kayıt, 16 uyarı |
| Sanal Alan Analizi | 14 kalem, 27 davranış | 12 karara bağlanan, 1 yanlış | 0 kayıt, 5 dış bağlantı |
| Dosya ve Bağlantı İtibar Servisleri | 24 kalem, 8 gönderilebilir | %86 kesinlik, %8 anma | 0 kayıt, 14 servis sorgusu |
| İstismar Çerçeveleri | 16 aday, 9 gerçek | 3 kanıt, 3 yokluk kanıtı | 31 kayıt, 17 uyarı |
| Test Dağıtımları ve Laboratuvarlar | 18 beceri kalemi | 13 kapsanan, 5 açık | 0 kayıt, 0 gerçek risk |
| Katılım Kuralları | 64 hedef, 11 sınırda | 20 kapsamda onaylı | 0 kayıt, 6 taraf, 3 durdurma |
| Test Türleri | 78 / 63 / 60 aday | 6 / 20 / 31 kanıt | 468 / 221 / 90 kayıt |
| Açık Doğrulama | 240 ham aday | 61 kanıt, 9 askıda | 461 kayıt, zincirle 313 |
| Etki Değerlendirmesi | 61 bulgu, 2 bağlam | ilk onda 0 ortak sıra | 0 kayıt, 40 adam-gün kuyruk |
| Raporlama | 61 kayıt, 8 alan | 8 yeniden üretilir, 3 kapanır | 0 kayıt, 9,4 saat yazım |
| Sorumlu Açıklama | 61 bulgu, 4 sınıf | 48 düzeltilmiş yayın | 0 kayıt, 5 taraf, 13 aşan |

Tablonun ikinci ve üçüncü sütunu hiçbir satırda birbirine eşit değil, ve bu kursun kuralı buradan
çıkıyor: **sızma testinin çıktısı bulgu sayısı değil, kanıtlanmış ve yeniden üretilebilir
bulgudur; kanıtlanamayan bir aday rapora girdiğinde düzeltme bütçesini boşa harcar.** Dördüncü
sütunda "0 kayıt" yazan dokuz satır var ve en çok kanıt üreten iki ders bunların içindedir: en çok
iz bırakan adım en çok kanıt üreten adım değildir.

On sekiz derste aday–kanıt farkı hep aynı yönde çalıştı. Keşif adayı bol, kanıtı seyrek üretti;
çözümleme araçları kanıt ile çıkarımı ayırdı; doğrulama listeyi dörtte bire indirip kendi hatasını
da yazdı; süreç dersleri kanıtın tek başına yetmediğini gösterdi.

Bir sütun bütün bu ölçümde tek yönlü kaldı. Her adımın savunmada kaç kayıt ve kaç uyarı bıraktığı
sayıldı: 12 erişim kaydından 468 kayda, sıfır uyarıdan 17 uyarıya. Ama o kayıtları **kimin, ne
kadar sürede ve hangi eşikle** okuduğu hiç sorulmadı. Bir uyarı gerçekten birine ulaşıyor mu,
ne kadar sürede bakılıyor, hangi eşiğin altındaki kayıt hiç görülmüyor ve gerçek bir olayda kimin
ne yapacağı yazılı mı? **M24/K08 Güvenlik Operasyonları ve Olay Müdahalesi** kursu tam olarak bu
soruyla başlar.
