Insecure Design Nedir
Daha Kod Yazılmadan Yapılan Güvenlik Hataları
“Güvenlik, kodda değil; kararda başlar.”
— Ersan Karavelioğlu
Insecure Design Nedir
Insecure Design, bir uygulamanın mimarisinde ve işleyişinde
güvenliğin en baştan yanlış kurgulanmasıdır.

Kod kusursuz olabilir; tasarım hatalıysa güvenlik yoktur.

Sorun satır aralarında değil, karar anlarındadır.
Neden Koddan Önce Konuşulur

Mimari; yetki, veri akışı ve sınırları belirler.

Yanlış mimari, doğru kodla kurtarılamaz.

Güvenlik sonradan eklenen bir yama değildir.
OWASP’ta Yeri Nedir
OWASP Top 10 – A04: Insecure Design

Tasarıma özgü riskleri vurgular.

“Hata” değil,
eksik düşünce kategorisidir.
Insecure Design ile Coding Bug Arasındaki Fark

Coding Bug: Yanlış if, yanlış sorgu.

Insecure Design: Yanlış varsayım, yanlış akış.

İlki düzeltilebilir; ikincisi yeniden tasarım ister.
Yanlış Varsayımlar Nerede Başlar

“Bu endpoint’e kimse erişmez.”

“Bu veri önemli değil.”

Varsayım güvenliği çözer.
Tehdit Modeli Yoksa Ne Olur

Kimin, neyi, neden hedefleyeceği bilinmez.

Saldırı yüzeyi belirsiz kalır.

Tehdit modeli, güvenli tasarımın pusulasıdır.
Yetki Akışının Yanlış Kurgulanması

Yetki kontrolü sadece girişte yapılır.

İşlem boyunca doğrulanmaz.

Broken Access Control burada doğar.
İş Kurallarının Güvenliğe Dahil Edilmemesi

“Sepet onayı” sadece frontend’dedir.

Backend iş mantığı kördür.

Mantık dışarıdaysa, saldırı içeri girer.
Trust Boundary’lerin Belirsizliği

Nerede güvenilir, nerede değil?

İç/dış sınırlar net değilse risk büyür.

Sınır çizilmezse ihlal normalleşir.
Rate Limiting ve Abuse Senaryoları

Sınırsız deneme, sınırsız istek.

Brute force ve abuse kaçınılmazdır.

Tasarımda yoksa sonradan zor eklenir.

Hata Yönetiminin Tasarımda Unutulması

Detaylı hata mesajları üretimde kalır.

Saldırgan için harita çıkar.

Hata, bilgi sızdırmamalıdır.

Güvenli Varsayılanların Tanımlanmaması

Default açık ayarlar.

“Sonra kapatırız” yaklaşımı.

Güvenli varsayılan yoksa güvenlik yoktur.

Veri Yaşam Döngüsünün Düşünülmemesi

Veri nerede doğar, nerede saklanır, ne zaman silinir?

Cevap yoksa sızıntı vardır.

Tasarım veriyle başlar, veriyle biter.

Güvenlik Kontrollerinin Merkezileştirilmemesi

Her yerde ayrı kontrol.

Tutarsızlık ve boşluklar.

Merkez yoksa disiplin yoktur.

Güvenlik Gereksinimlerinin Yazılmaması

“Güvenli olsun” cümlesi yeterli değildir.

Ölçülebilir, test edilebilir gereksinimler şarttır.

Güvenlik de bir gereksinimdir.

WAF ve Araçlara Aşırı Güven

“WAF var, sorun yok.”

Tasarım açığını araç kapatmaz.

Araçlar destekler, yerine geçmez.

Nasıl Önlenir

Tehdit modelleme

Güvenli mimari desenleri

Güvenlik gereksinimleri

Baştan düşün, sonda kilitle.

En Büyük Yanılgı

“Sonra güvenli hâle getiririz.”

Maliyet katlanır, risk büyür.

Güvenlik gecikmeye gelmez.

Son Söz
Güvenlik Çizimde Başlar

Insecure Design, görünmeyen ama en pahalı hatadır.

Kod düzelir; tasarım bedel ister.

Güvenli sistem, daha ilk çizgide güvenli düşünülendir.
“Bir sistemi koruyan şey kodu değil, onu kuran akıldır.”
— Ersan Karavelioğlu