Rapor yazımı ve yasal çerçeve
- Rapor testin ürünüdür; yöneticiye ve geliştiriciye ayrı bölümlerle yazılır, düzeltmeyi somut kılar ve TCK 243'ün çizdiği yasal sınırı gözetir.
- İki okuyucu vardır: karar veren yönetici ve düzeltmeyi yapan geliştirici.
- Türkiye'de yetkisiz erişim TCK 243, veriyi bozma 244, banka kartı suçları 245 kapsamındadır.
Puan bütün etkinlikleri cevaplayınca hesaba yazılır. Bu dersi tamamlayınca +55 XP alacaksın. Giriş yapmadan ilerlersen puan yalnız bu tarayıcıda durur.
Test bitti, elinde bulgular var. Raporun işi bu bulguları eyleme çevirmektir. İyi yazılmış bir rapor, okuyanın ne yapacağını açıkça söyler; kötü yazılmış bir rapor teknik bir günlük olarak kalır ve kimse harekete geçmez. Müşteri parayı asıl rapora öder.
Bulduğun en zarif zinciri kötü anlatırsan, o zincir kapanmaz ve emeğin karşılıksız kalır. İyi bir rapor üç soruya yanıt verir: ne bulundu, ne kadar ciddi ve nasıl kapanır. Bu soruların arkasında bir de hukuki zemin durur, çünkü raporda anlatılan her adım yazılı yetkiyle atılmış olmalıdır.
İki okuyucu, tek iskelet
İki okuyucuya birden yazarsın. Yönetici özeti karar vericiye hitap eder: kaç bulgu var, iş etkisi ne, hangi süre içinde kapatılmalı. Bir sayfayı geçmez ve teknik ayrıntı taşımaz, çünkü o kişi kodu okumayacak, bütçeyi ve önceliği belirleyecektir. Teknik bölüm ise geliştiriciye hitap eder.
Her bulgu aynı iskeleti izler. Başlık, etkilenen varlık, risk derecesi ve vektör başa gelir. Ardından teknik açıklama, tekrar üretim adımları, kanıt ve düzeltme önerisi sıralanır. İki okuyucu da aynı raporu açar ama farklı bölümlerde yaşar.
Bu iskeleti her bulguda aynı sırayla kullanmak okuyucuya alışkanlık kazandırır. Elli sayfalık bir raporda otuzuncu bulguyu okuyan kişi, başlığı görür görmez nereye bakacağını bilir. Sıra karışırsa her madde ayrı bir bulmacaya döner ve düzeltme ekibi zaman kaybeder.
Bulgu adını raporun her yerinde aynı biçimde yazarsın; farklı adlandırma aynı açığı iki ayrı bulgu gibi gösterir ve sayımı bozar. Tutarlı bir yapı, raporu bir metin yığınından bir çalışma listesine çevirir.
İyi bir yönetici özeti nasıl başlar? Rakam ve karar cümlesiyle. Örnek bir açılış şöyledir: testte üç kritik, beş yüksek ve dört orta bulgu çıktı; kritiklerin tümü müşteri verisine yetkisiz erişime yol açıyor ve dört hafta içinde kapatılmalı. Bu iki cümle, bir yöneticinin kararı için yeter.
Teknik terim yoktur; etki, sayı ve süre vardır. Ardından bir paragrafta genel durum özetlenir: hangi alan güçlü, hangi alan zayıf. Yönetici özeti bir satış metni değil, bir karar aracıdır; abartı da küçümseme de güveni bozar.
Etkinlik 1 / 7
Bir bulgu maddesinin rapordaki sırasını kur.
Bir öğeye odaklan, yukarı ve aşağı ok tuşlarıyla taşı. Home tuşu en üste, End tuşu en alta alır.
- 1Düzeltme önerisi ve doğrulama yolu
- 2Tekrar üretim adımları ve kanıt
- 3Teknik açıklama
- 4Başlık ve etkilenen varlık
- 5Risk derecesi ve CVSS vektörü
Somut dil ve açık sınırlar
Düzeltme önerisi somut olmalıdır. Girdi doğrulaması ekleyin cümlesi işe yaramaz, çünkü geliştirici ne yazacağını bilemez. Sorguyu parametreli hale getirin, sahip filtresini sorguya taşıyın, algoritmayı RS256'ya sabitleyin gibi öneriler doğrudan uygulanır. Dil tonu da raporun parçasıdır.
Suçlayıcı cümle kurmazsın; bulgu kişiye değil sisteme aittir. Net, sakin ve doğrulanabilir cümleler, düzeltmeyi savunmaya değil işe çevirir. Bir geliştirici kendini savunma gereği duyarsa, enerjisini düzeltmeye değil tartışmaya harcar.
Somut dilin farkını bir örnekte gör. Zayıf öneri şöyledir: uygulamanın güvenliğini artırın. Bu cümle hiçbir şey söylemez.
Orta öneri şöyledir: kullanıcı girdisini doğrulayın. Biraz daha iyi ama hâlâ belirsizdir. Güçlü öneri ise şudur: fatura sorgusuna oturum sahibinin kimliğini filtre olarak ekleyin ve yetki denetimini uç noktada zorunlu kılın.
Son cümle geliştiricinin tam olarak ne yazacağını söyler. Düzeltme önerisi ne kadar somutsa, bulgu o kadar hızlı kapanır. Genel cümleler toplantı doğurur; somut cümleler kod doğurur.
R-03 Fatura uç noktasında yetkisiz nesne erişimi
Varlık : portal.example, GET /api/faturalar/{id}
Derece : Orta, CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N (6.5)
Açıklama : Uç nokta, faturanın oturum sahibine ait olup olmadığını denetlemiyor.
Adımlar : 1) kullanici-a ile giriş yap
2) /api/faturalar/1042 adresini aç (kendi faturan)
3) kimliği 1043 yapıp isteği tekrar gönder
4) yanıt 200 döner ve başka bir müşterinin faturası görünür
Kanıt : kanit/idor-fatura/ (istek.txt, yanit.txt, ekran-01.png)
Düzeltme : Sorguya sahip filtresi ekleyin:
SELECT * FROM faturalar WHERE id = ? AND musteri_id = ?
Doğrulama: Aynı istek 403 ya da 404 döner; kendi faturan açılmaya devam eder.Kaydı satır satır oku. İlk satır bulguya bir kimlik ve kısa bir ad verir; rapor boyunca bu bulgu hep R-03 diye anılır. Varlık satırı alan adını ve uç noktayı birlikte yazar.
Derece satırı hem sözcüğü hem vektörü taşır. Saldırgan sıradan bir hesap ister ve yalnız okur, bu yüzden taban puan 6.5 ile orta banttadır. Faturalar müşteri adresi taşıyorsa kurum önceliği yükseltebilir; bunu derece satırının altına bir cümleyle eklersin.
Adımlar numaralıdır ve hiç bilmeyen birinin izleyebileceği kadar açıktır. Düzeltme satırı geliştiriciye yazacağı sorguyu verir. Son satır düzeltmenin nasıl sınanacağını söyler: başkasının faturası artık açılmaz, kendi faturası açılmaya devam eder.
Eksikleri de yazarsın. Test edilemeyen bölümler, erişilemeyen sistemler ve zaman kısıtları ayrı bir başlıkta belirtilir. OWASP'ın web test kılavuzu bu başlığı raporun girişine, kapsamın hemen yanına koyar ve sınırlamalar diye adlandırır. Rapor, test edilmeyen bir alan hakkında güvence vermez; sessiz kalmak o alanı güvenli göstermek olur.
Yazmaya test biterken değil, test sürerken başlarsın. Her bulgunun iskeletini o gün doldurursun, çünkü ayrıntı taze iken daha doğru yazılır. Son güne bırakılan rapor hem eksik hem geç olur; o yüzden rapor, testin yan ürünü değil, günlük bir alışkanlıktır.
Etkinlik 2 / 7
Rapor cümlelerini uygun bölüme yerleştir.
Önce bir seçeneğe, sonra aşağıdaki uygun kutuya bas. İstersen seçeneği kutuya sürükleyip bırak. Yerini değiştirmek için aynı işlemi tekrarla.
0/4 seçenek yerleşti.
Yasal çerçeve: TCK ve KVKK
Yasal çerçeveye gelelim. Türk Ceza Kanunu'nun 243. maddesi bir bilişim sisteminin bütününe veya bir kısmına hukuka aykırı giren ya da orada kalmaya devam eden kişiyi cezalandırır.
Madde zarar verme şartı aramaz; yalnız yetkisiz girip çıkmak da kapsamdadır. Aynı maddenin bir fıkrası, sisteme girmeden verilerin naklini teknik araçlarla hukuka aykırı izlemeyi de ayrıca suç sayar. Yani bir ağı dinlemek de, bir panele girmek de aynı başlık altında değerlendirilir. Buradaki sınır niyet değil, yetkidir.
244. madde bir bilişim sisteminin işleyişini engellemeyi ve bozmayı, ayrıca verileri bozmayı, yok etmeyi, değiştirmeyi ya da erişilmez kılmayı düzenler. 245. madde banka ve kredi kartlarının kötüye kullanılmasını kapsar.
245/A maddesi ise yalnız bu suçları işlemek için yapılmış cihaz, program, şifre ya da güvenlik kodunu üretmeyi, satmayı ve bulundurmayı ayrıca cezalandırır. Kişisel veriye dokunan her işlem bir de 6698 sayılı kanunun kurallarına bağlıdır; o kanunun dördüncü maddesi ölçülülüğü, on ikinci maddesi veri güvenliğini ister. Testin her adımı bu maddelerin gölgesinde ilerler.
Etkinlik 3 / 7
Türk Ceza Kanunu'nun 243. maddesi neyi cezalandırır?
Maddeleri bir olay üzerinde ayırt etmek işini kolaylaştırır. Yazılı yetkisi olmayan biri bir yönetim paneline girip çıkarsa eylem 243'e düşer. Aynı kişi panelde bir kaydı silerse 244'ün ikinci fıkrası devreye girer. Bir yük testi sunucuyu durdurursa sistemin işleyişini engelleme, yani 244'ün birinci fıkrası konuşulur.
Başkasının kartını ele geçirip kullanmak 245'tir. Olayda kişisel veri varsa KVKK'nın kuralları da ayrıca işler. Yetkili bir testte aynı teknikler kapsam belgesinin sınırları içinde kalır. Belgede yazmayan bir teknik ise yetkinin dışına çıkar.
Etkinlik 4 / 7
Kanun maddesini konusuyla eşleştir.
Sorumlu ifşa ve 7545
Türkiye'de yeni bir katman daha var. 7545 sayılı Siber Güvenlik Kanunu 19 Mart 2025'te yayımlandı ve aynı gün yürürlüğe girdi.
Kanunun 16. maddesi, bu kanun uyarınca alınması gereken onay, yetki ya da izinleri almadan faaliyet yürütmeyi ayrı bir suç sayar. Yedinci madde ise kamu kurumlarında ve kritik altyapılarda kullanılacak siber güvenlik ürün ve hizmetlerinin, Başkanlığın yetkilendirip belgelendirdiği uzman ve şirketlerden alınmasını ister. Böyle bir kuruma test yapacak ekip, müşterinin imzasının yanında kendi yetki belgesine de bakar.
Yetkili test ile suç arasındaki çizgi incedir ve o çizgiyi yalnız belge kurar. Bir yönetim paneline yapılan giriş denemesi, imzalı bir kapsam belgesiyle meşru bir iştir; belge olmadan 243. maddenin tanımına girer. Kapsam belgesi, imzalı sözleşme ve tanımlı test penceresi eylemi yetkili teste dönüştürür.
Niyetin iyi olması bu çizgiyi değiştirmez; hukuk niyeti değil yetkiyi arar. Bu yüzden bir profesyonel her işe aynı soruyla başlar: elimde bu hedef için yazılı yetki var mı? Yanıt hayırsa, hedef ne kadar ilgi çekici olursa olsun ona dokunulmaz. Bir uzmanın en değerli varlığı güvenilirliğidir; bir kez yetkisiz bir işe bulaşmak yılların emeğini siler.
Bulguyu kamuya açmak ayrı bir karardır. Sorumlu ifşa, önce sahibine bildirmeyi ve makul bir düzeltme süresi tanımayı ister. Bir araştırmacı bulguyu yayınlamamak için para ya da ödül şart koşmaz; böyle bir şart güveni kırar ve yasal risk doğurur.
Rapor açık ve sade bir dille yazılır, kişisel veri maskelenir. Süre ve yayın kararı sözleşmede yazılı değilse, yayımlamadan önce yazılı onay alınır. İfşa bir güç gösterisi değil, kullanıcıları korumaya yönelik eşgüdümlü bir süreçtir; amaç kuruma zarar vermek değil, açığı güvenle kapatmaktır.
Etkinlik 5 / 7
Sorumlu ifşada bir güvenlik araştırmacısı neyi yapmaz?
Eşgüdümlü ifşanın belirli bir akışı vardır. Araştırmacı bulguyu bildirir, kurum alındığını onaylar ve bulguyu doğrular. Düzeltme hazırlanır ve yayımlanır, ayrıntılar ondan sonra kamuya açılır. Her adımın tarihi kayda geçer; süre aşılırsa iki taraf yeni bir tarih üzerinde anlaşır.
Kurum bu akışı bildirim kanalını önceden ilan ederek kolaylaştırır. Bir sitenin /.well-known/security.txt adresinde duran dosya, güvenlik bildiriminin hangi adrese gideceğini yazar. Altay Kargo bu dosyayı yayımladığında, açık bulan biri doğru kişiyi aramak için tahmin yürütmez. Bu akış yalnız yetkili çalışmayı korur; yetkisiz bir erişimi sonradan aklamaz.
Etkinlik 6 / 7
Doğru mu, yanlış mı?
Sisteme zarar vermeden yalnız girip çıkmak Türk hukukunda serbesttir.
Teslimden önce
Rapor teslimi de bir süreçtir. Kapanış toplantısında bulgular sözlü anlatılır, sorular yanıtlanır ve öncelik sırası birlikte kararlaştırılır. Tek başına gönderilen bir dosya çoğu zaman rafta kalır, çünkü kimse onu açıp sahiplenmez.
Ekler bölümü raporu hafifletir: uzun tarama çıktıları, tam istek kayıtları ve araç günlükleri sona konur. Ana bölüm okunur kalır, ayrıntı isteyen okuyucu eke gider. Böylece hem karar veren hem düzeltmeyi yapan, raporda kendine ait bir hız bulur.
Raporun bir de sürümü olur. İlk teslim bir taslaktır; müşteri okur, yanlış anlaşılan yerleri sorar ve son sürüm birlikte kesinleşir. Yeniden testten sonra çıkan ek, raporun kapanış sürümünü oluşturur.
Her sürümü tarihiyle kaydedersin, çünkü aylar sonra hangi metnin geçerli olduğu sorulabilir. Düzenli sürüm takibi, raporu canlı bir belge gibi tutar ve kurumun denetim arşivinde yerini bulur. Bir denetçi bir yıl sonra geldiğinde, hangi bulgunun ne zaman açıldığını ve ne zaman kapandığını bu arşivden okur.
Yeniden test, raporun unutulan ama en değerli adımıdır. Müşteri düzeltmeyi yapınca aynı tekrar üretim adımlarıyla bulguyu bir daha denersin. Eski adım artık 403 ya da boş yanıt dönüyorsa ilk işaret olumludur. Yine de komşu yolları da denersin: aynı denetim başka bir uç noktada ya da başka bir HTTP yönteminde unutulmuş olabilir.
Hâlâ 200 dönen bir yol varsa düzeltme eksiktir. Sonucu kısa bir ek raporda yazarsın: hangi bulgu denendi, ne gözlemlendi, kapandı mı. Bu tur olmadan rapor bir varsayım listesidir; yeniden testle birlikte kanıtlanmış bir kapanma kaydına döner. Kurum da düzeltmesinin işe yaradığını belgeyle görür.
Son olarak raporu teslim etmeden önce bir kez daha okursun. Her bulguda adım, kanıt ve öneri var mı? Eksik kalan tek bir alan, o bulgunun kapanmasını haftalarca geciktirir. Ödül avcılığında rapor daha kısadır ama aynı iskeleti izler.
Etki cümlesi başa gelir, ardından tekrar üretim adımları ve kanıt durur. Program ekibi günde çok sayıda rapor okur; net yazan hızlı yanıt alır, dağınık yazan sıranın sonuna düşer. İyi rapor, iyi testi görünür kılan son adımdır.
Derinleş:Sorumlu ifşa nasıl kurumsallaştı
Bir açığı sahibine haber vermek bugün bir norm; ama bu norm tartışmayla oturdu. İki uç yaklaşım vardı. Tam ifşa, bulguyu hemen ve bütün ayrıntısıyla kamuya açar; savunucuları, satıcıyı düzeltmeye zorlamanın tek yolunun bu olduğunu söylerdi. Özel ifşa ise bulguyu yalnız satıcıya verir; eleştirisi, satıcı yanıt vermezse açığın sonsuza dek kapanmadan kalmasıydı.
İkisinin ortasında eşgüdümlü ifşa doğdu: bulgu önce özel bildirilir, düzeltme yayımlanınca ayrıntılar açıklanır. Bazı ekipler buna bir süre sınırı da ekler; örneğin bir araştırma ekibi, satıcı düzeltsin ya da düzeltmesin doksan gün sonra ayrıntıyı yayımlayacağını baştan duyurur. Bu süre, hem satıcıya zaman tanır hem de bulgunun sonsuza dek gizlenmesini önler. Bugün bu akış ISO/IEC 29147 standardında da tanımlıdır.
Etkinlik 7 / 7
IDOR bulgusu için tek cümlelik bir düzeltme önerisi yaz. Öneri doğrudan uygulanabilir olsun.
Okumayı istediğin sırayla sürdürebilirsin. Ders, bütün etkinlikleri cevapladığında tamamlanır.