Veri Akış Diyagramları ve Güven Sınırları
Verilerin nasıl hareket ettiğini ve güven sınırlarını nerede aştığını haritalama.
Veri Akış Diyagramları ve Güven Sınırları, CoddyKit'te ücretsiz bir Cyber Security Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Cyber Security Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Cyber Security Academy kursu toplamda 4 dersten oluşur.
Önce Neden Diyagram
Anlamadığınız bir sistemde tehditleri bulamazsınız. Bir Veri Akış Diyagramı (DFD), tehdit modellemenin temelidir: verilerin sisteminizde nasıl hareket ettiğini görsel olarak gösterir.
Diyagram, örtük varsayımları açık hâle getirir. Verilerin nereye gittiğini ve kimin bu verilere dokunduğunu gördüğünüzde tehditleri fark etmek çok daha kolaylaşır.
DFD'nin Dört Öğesi
Bir DFD yalnızca dört yapıtaşı kullanır. Bunları basit tutun:
- Dış varlık — denetiminiz dışındaki kişi veya sistem (kullanıcı, üçüncü taraf uygulama programlama arayüzü)
- Süreç — verileri dönüştüren bir şey (hizmet, işlev)
- Veri deposu — verilerin bulunduğu yer (veritabanı, dosya, önbellek)
- Veri akışı — öğeler arasındaki veri hareketi (ok)
Neredeyse her sistem bu dört şekille gösterilebilir.
Standart DFD Gösterimi
DFD'lerde herkesin okuyabilmesi için geleneksel şekiller kullanılır:
External entity -> rectangle / square
Process -> circle (or rounded rectangle)
Data store -> two parallel lines (open rectangle)
Data flow -> labeled arrow
Trust boundary -> dashed line crossing flowsBasit Bir Web Uygulamasının DFD'si
Basit bir web uygulamasını ele alalım. Uygulamanın DFD'si metin olarak şöyle görünebilir:
User (external) --HTTPS request--> Web App (process)
Web App --SQL query--> Database (data store)
Web App --API call--> Payment Provider (external)
Database --results--> Web App
Web App --HTTPS response--> UserGüven Sınırı Nedir
Güven sınırı, diyagramınızda güven düzeyinin değiştiği herhangi bir çizgidir. Bir tarafta veriler veya isteği gönderenler güvenilir, diğer tarafta ise güvenilir değildir.
Güven sınırları, bir DFD'nin güvenlikle en ilgili özelliğidir; çünkü şu noktaları gösterir:
- Verilerin doğrulanması gereken yerleri
- İsteği gönderenlerin kimlik doğrulamasının ve yetkilendirilmesinin gerektiği yerleri
- Ayrıcalık düzeylerinin değiştiği yerler
Güvenlik açıklarının çoğu tam olarak verilerin bir güven sınırını geçtiği yerde bulunur.
Yaygın Güven Sınırları
Bakmaya başladığınızda güven sınırlarının her yerde olduğunu görürsünüz. Yaygın örnekler:
- İnternet ile uygulamanız arasındaki sınır (güvenilmeyen kullanıcı girdisi gelir)
- Uygulama ile veritabanı arasındaki sınır
- Düşük ayrıcalıklı ve yüksek ayrıcalıklı süreçler arasındaki sınır
- Sisteminiz ile üçüncü taraf uygulama programlama arayüzü arasındaki sınır
- Kapsayıcı ile ana makine arasındaki sınır
- Ağ kesimleri arasındaki sınır (DMZ ile iç ağ arası)
Her sınır açıkça incelenmelidir.
DFD Üzerinde Sınırları Çizme
Güven sınırlarını, etkiledikleri veri akışlarını kesen kesikli çizgiler olarak ekleyin. Web uygulamamızda:
User (external)
| HTTPS
- - - - - - - - - - - - <- Trust boundary: internet / app
v
Web App (process)
| SQL
- - - - - - - - - - - - <- Trust boundary: app / database
v
Database (data store)Sınırlar STRIDE'ı Nerede Uygulayacağınızı Gösterir
Güven sınırları bu dersi STRIDE'a bağlar. Bir sınırı kesen veri akışları, STRIDE analizinizi yoğunlaştırmanız gereken yerlerdir.
İnternet-uygulama sınırında şunları sorun:
- Kimlik taklidi — isteği gönderenin kimliği doğrulanmış mı?
- Veriyle oynama — girdi doğrulanıyor mu?
- Bilgi ifşası — kanal şifrelenmiş mi?
- Hizmet engelleme — hız sınırlaması var mı?
Sınırlar, soyut bir çerçeveyi somut sorulara dönüştürür.
Doğru Ayrıntı Düzeyini Seçme
Bir DFD çok belirsiz veya çok ayrıntılı olabilir. İkisi de işe yaramaz.
- Çok üst düzey — “sistem” olarak etiketlenmiş tek bir kutu, ilgi çekici tüm sınırları gizler
- Çok ayrıntılı — her işlevi ve değişkeni göstermek, sizi gereksiz ayrıntılara boğar
Her ana bileşenin ve güven sınırının görünür olduğu düzeyi hedefleyin. Katmanlı DFD'ler kullanın: tüm sistem için bir bağlam diyagramı oluşturun, ardından karmaşık süreçleri ayrı ayrı ayrıntılandırın.
Diyagramı Ekiple Doğrulama
Tek bir kişi tarafından çizilen DFD genellikle hatalı varsayımlar içerir. Diyagramı sistemi geliştiren kişilerle birlikte adım adım inceleyin.
İrdeleyici sorular sorun:
- Verilerin veritabanına ulaştığı tek yol gerçekten bu mu?
- Burada gösterilmeyen yönetici veya toplu iş yolları var mı?
- Herhangi bir şey bu kimlik doğrulama adımını atlıyor mu?
- Bu verilerin başka yerlerde önbelleğe alınmış kopyaları var mı?
Gizli veri akışları, gözden kaçan güvenlik açıklarının sık rastlanan bir kaynağıdır.
Diyagramı Güncel Tutun
Sistemler değişir ve güncelliğini yitirmiş bir DFD yanıltıcı olur. Güncel olmayan bir diyagram, yanlış bir güven duygusu oluşturduğu için hiç diyagram olmamasından daha kötüdür.
DFD'yi şu durumlarda güncelleyin:
- Yeni bir tümleştirme veya harici bağımlılık eklendiğinde
- Yeni bir veri deposu ortaya çıktığında
- Güven modeli değiştiğinde (bir hizmet yeni bir ağ bölgesine taşındığında)
DFD'yi tek seferlik bir çalışma ürünü olarak değil, sistemle birlikte yaşayan bir belge olarak ele alın.
Hızlı Kontrol
DFD'lerle ve güven sınırlarıyla ilgili anlayışınızı test edin.
Özet
Tehdit modelleme için sistemleri eşlemeyi öğrendiniz:
- Bir DFD dört öge kullanır: harici varlıklar, işlemler, veri depoları ve veri akışları
- Güven sınırları, güvenin değiştiği ve güvenlik açıklarının çoğunun bulunduğu yerleri belirtir
- Bir sınırı geçen veri akışları, STRIDE analizine odaklanmanız gereken yerlerdir
- Doğru ayrıntı düzeyini seçin ve katmanlı diyagramlar kullanın
- DFD'yi ekiple doğrulayın ve güncel tutun
Sonraki bölümde saldırı ağaçlarıyla tehditleri sıralayacak ve azaltma önlemlerine öncelik vereceksiniz.
Sıkça Sorulan Sorular
“Veri Akış Diyagramları ve Güven Sınırları” dersi ücretsiz mi?
Evet — “Veri Akış Diyagramları ve Güven Sınırları” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Cyber Security Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Cyber Security Academy kursu toplamda 4 dersten oluşur.
“Veri Akış Diyagramları ve Güven Sınırları” dersinde ne öğreneceğim?
Verilerin nasıl hareket ettiğini ve güven sınırlarını nerede aştığını haritalama. Cyber Security Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Cyber Security Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Cyber Security Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“Veri Akış Diyagramları ve Güven Sınırları” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Cyber Security Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Cyber Security Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Tehdit Modellemesi Neden Önemlidir
- STRIDE Çerçevesi
- Veri Akış Diyagramları ve Güven Sınırları
- Saldırı Ağaçları ve Riski Önceliklendirme