Toksik Varlıklar ve Mimari Zarafet: Veri Minimizasyonu Prensipleri

KVKK,Siber Güvenlik,Siber Savunma

KVKK’nın (Kişisel Verilerin Korunması Kanunu) 4. Maddesi ve GDPR’ın 5. Maddesi, siber güvenliğin ve yazılım mimarisinin anayasası sayılabilecek o altın kuralı koyar: “İşlendikleri amaçla bağlantılı, sınırlı ve ölçülü olma.” Hukuk diliyle söylenen bu cümle, bir sistem mimarı (Software Architect) için şu anlama gelir: Bir kullanıcının sadece e-posta bülteninize (Newsletter) kayıt olmasını istiyorsanız, ondan “Doğum Tarihi”, “Cinsiyeti” veya “Telefon Numarasını” isteyemezsiniz. İsterseniz ve kullanıcı da bunu kendi rızasıyla formda doldursa bile, kanun bu işlemi “Ölçüsüzlük” ve “Veri Zehirlenmesi” (Data Toxicity) olarak kabul eder. Alınan açık rıza, gereksiz veri toplamanın hukuki bir kılıfı olamaz.

Vaka Çalışması: "HızlıPizza" Uygulamasının Mimari Evrimi

Bir pizza sipariş uygulaması (HızlıPizza) tasarladığınızı düşünün. Eski (ve zehirli) mimari felsefesiyle yola çıkan bir ürün yöneticisi, yazılım ekibinden şu formun yapılmasını ister: Ad, Soyad, Telefon, E-posta, T.C. Kimlik Numarası (fatura için), Doğum Tarihi (doğum günü indirimi için), Tam Konum (GPS).

Bu uygulama bir gün hacklendiğinde, saldırganın eline T.C. Kimlik numaralarından tam ev adreslerine kadar devasa bir kimlik hırsızlığı paketi geçer. Kurul, “Bir pizza göndermek için T.C. Kimlik numarasına neden ihtiyacınız vardı?” diye sorduğunda, şirket “Kurumsal fatura isteyenler oluyordu, o yüzden herkesten peşin peşin aldık” der ve tarihin en büyük “Ağır İhmal” cezasını yer.

Şimdi bu mimariyi, Veri Minimizasyonu prensipleriyle 3 farklı teknik katmanda yeniden inşa edelim:

Katman 1: Ön Yüz (UI/UX) ve Dinamik Formlar

Minimizasyon, kullanıcının ekrana dokunduğu an başlar. Formlar “statik” (herkese aynı) değil, “dinamik ve koşullu” (Conditional Logic) olmalıdır.

  • Uygulama sadece “Ad, Adres ve Telefon” sorar.
  • Eğer kullanıcı “Kurumsal Fatura İstiyorum” butonuna tıklarsa, sadece o zaman ekranda “Vergi No / T.C. Kimlik” alanı belirir. İhtiyacı olmayan %95’lik kesimden bu toksik veri asla toplanmaz.
  • “Doğum Günü İndirimi” vermek için kullanıcının doğum yılına veya gününe ihtiyacınız yoktur. Formda sadece “Doğum Ayınız” (Örn: Sadece “Kasım”) sorulur. Böylece veri, bir kimlik hırsızlığı aracı olmaktan çıkar, sadece bir pazarlama etiketine dönüşür.

Katman 2: API Mimarisi ve "Over-fetching" (Aşırı Veri Çekme) Problemi

Diyelim ki formları hallettik. Uygulamanın ön yüzü, arka plandaki veritabanından (Back-end) kullanıcının son siparişini göstermek için bir veri talep edecek. Geleneksel REST API mimarisinde, yazılımcı genellikle tembellik yapar ve GET /users/123 şeklinde bir çağrı atar. Veritabanı, o kullanıcıya ait tüm tabloyu (Şifre Hash’i, IP adresi, geçmiş 50 siparişi, gizli notları) bir JSON paketi olarak uygulamanın ön yüzüne gönderir. Ekranda sadece “Son Sipariş: Margaritha” yazsa bile, arka planda (tarayıcının belleğinde) kullanıcının tüm mahremiyeti savunmasızca durmaktadır. Buna Over-fetching (Aşırı Veri Çekme) denir. Araya giren bir hacker (Man-in-the-Middle) veya zararlı bir tarayıcı eklentisi bu devasa veriyi anında çalar.

Minimizasyon Çözümü: GraphQL veya sıkı tasarlanmış REST Endpoint’leri kullanılır. Uygulama API’ye şu kesin emri verir: “Bana 123 numaralı kullanıcının SADECE son sipariş adını ve SADECE teslimat durumunu getir. Başka hiçbir bayt veri istemiyorum.” API sadece 2 satırlık bir veri döner. Ağ katmanında akan veri minimize edilmiş, saldırı yüzeyi (Attack Surface) sıfıra indirilmiştir.

Katman 3: Veritabanı ve Otomatik İmha (TTL - Time to Live)

Veriyi toplarken minimize ettik, ağda taşırken minimize ettik. Peki ya depolarken? Veri minimizasyonu sadece “az veri toplamak” değil, toplanan veriyi işi bittiği saniye yok etmektir (Veri Saklama Süreleri).

HızlıPizza kuryesi pizzayı teslim etmek için kullanıcının o anki anlık GPS konumuna (Canlı Takip) ihtiyaç duyar. Bu ölçülü ve gereklidir. Ancak kurye pizzayı teslim ettikten sonra, o GPS verisinin veritabanında tutulmasının hiçbir meşru amacı kalmaz.

Mimari Çözüm: Veritabanındaki GPS tablosuna bir TTL (Time to Live – Yaşam Süresi) indeksi atanır. Kayıt veritabanına yazılırken “Bu verinin ömrü 2 saattir” etiketi vurulur. Kurye teslimatı bitirdiğinde veya 2 saat dolduğunda, veritabanı motoru (Örn: MongoDB, Redis) o kullanıcının anlık konum bilgisini insan müdahalesine gerek kalmadan, acımasızca ve kalıcı olarak siler. Geriye sadece istatistik için “Şişli ilçesine 1 sipariş teslim edildi” (Anonimleştirilmiş veri) bilgisi kalır. Hacker gece yarısı veritabanına sızdığında, canlı GPS verilerini bulamaz; çünkü veri çoktan buharlaşmıştır.

Patlama Yarıçapını (Blast Radius) Küçültmek

Siber güvenlikte “Blast Radius” (Patlama Yarıçapı) diye bir kavram vardır. Bir bomba patladığında (sistem hacklendiğinde) ne kadarlık bir alana zarar vereceğinin ölçüsüdür. Veri minimizasyonu, bu bombanın içine konulan barut miktarını azaltma sanatıdır.

Eğer sisteminizde gereksiz T.C. Kimlik numaraları, yıllanmış konum verileri ve kullanılmayan eski şifreler yoksa; dünyanın en yetenekli hacker’ı sisteminizi ele geçirse bile çalabileceği tek şey “Ahmet’in dün akşam pizza yediği” bilgisidir. Şirketin itibar kaybı minimumda kalır, KVKK Kurulu “Veri sorumlusu ölçülülük ilkesine uymuş ve patlama yarıçapını daraltmıştır” diyerek şirketin yasal kalkanını onaylar. Şantajcıların (Ransomware çetelerinin) elinden şantaj yapacakları materyal alınmış olur.

Sonuç

Mükemmeliyet, eklenecek bir şey kalmadığında değil; çıkarılacak hiçbir şey kalmadığında elde edilir. Yazılım ve siber güvenlik mimarisinde “Veri Minimizasyonu”, hukuki bir zorunluluğun çok ötesinde, sistemin hantallığını, depolama maliyetlerini ve en önemlisi siber risklerini ortadan kaldıran bir mühendislik şaheseridir. Unutmayın; şifreler kırılabilir, Firewall’lar aşılabilir ve sistemler çökebilir. Ancak bir hacker, sunucunuzda hiç var olmayan bir veriyi asla çalamaz. Veri güvenliğinin en mutlak, en kırılamaz ve en ucuz hali, o veriyi en başından hiç toplamamaktır.

Tags :
#API_Security,#DataMinimization,#GDPR,#KVKK,#PrivacyByDesign,#SiberSavunma,#SoftwareArchitecture,#VeriMinimizasyonu
Share This :

Bize Soru Sorun

Soru ve görüşleriniz için bizimle iletişime geçebilirsiniz.