13.3 · Seviye 2 · Güvenlik Düşüncesi
Güven sınırı
verinin bir yetki alanından diğerine geçtiği yer
Siber Güvenlik Akademisi — M13, Tehdit Modelleme · 1.816 kelime · 3 saha durumu · ≈ 8 dk okuma · 12 dk dinleme
Saha durumlarındaki kişiler ve kurumlar kurgusaldır; kaynaklar gerçektir. Bu akademi savunma odaklıdır: saldırılar mekanizma düzeyinde anlatılır, adım adım saldırı tarifi verilmez. Uygulamalar yalnız kendi cihazında, kendi hesabında ya da yalıtılmış bir laboratuvarda yapılır; başkasının sistemine izinsiz erişim suçtur. Dersler hukuki danışmanlığın yerini tutmaz.
Açılış
Gülay Hanım, sayım uygulamasının tek sayfalık genel bakışını masaya koydu ve Kaan'a kırmızı bir kalem uzattı. "Kesik çizgileri sen çiz," dedi.
Kaan biraz düşündü, sonra bütün çizimin etrafına büyük bir dikdörtgen çizdi. "Şirketin içi ve dışı," dedi. "Her şey içeride."
Gülay Hanım kalemi geri almadı. "Depo çalışanı içeride mi?"
Kaan duraksadı. Depoda sezonluk çalışanlar vardı; el terminallerini vardiya başında alıyor, vardiya sonunda bırakıyorlardı. Şirketin çalışanıydılar ama muhasebe sistemine giremezlerdi. "Peki terminal ile sayım sunucusu arasındaki ağ?" Terminaller deponun kablosuz ağına bağlanıyordu; o ağ ofis ağından ayrıydı. "Ya muhasebe sistemi?" Onu başka bir ekip yönetiyordu ve sayım sunucusu ona yalnız günde bir kez toplu bir dosya gönderiyordu.
Kaan kırmızı kalemle üç çizgi daha çizdi. Büyük dikdörtgen artık anlamını yitirmişti. "Şirketin içinde de herkes aynı şeye güvenilmiyor," dedi.
"Tamam," dedi Gülay Hanım. "Şimdi her çizginin üzerinden geçen oklara bak. Bütün dikkatimiz orada olacak."
Tek fikir
Güven sınırı, bir diyagramda farklı güven düzeyindeki parçaları ayıran çizgidir. Veri bu çizgiyi geçerken, karşı tarafın gönderdiğine körü körüne güvenilmez: kim olduğu doğrulanır, ne gönderdiği denetlenir, neye yetkili olduğu kontrol edilir.
Nasıl çalışır
Önceki dersin diyagramı parçaları ve akışları gösterdi. Ama her parça aynı derecede güvenilir değildir.
Uygulama güvenliği topluluğunun tehdit modelleme süreci üzerine eski ama hâlâ okunan bir belgesi bu iki kavramı birbirine bağlar.
Güven sınırının neden bu kadar önemli olduğunu, sınırın kendisini değil, üzerinden geçen veriyi düşünerek anlarız.
Sınırın bir tarafındaki veriye güvenilmez, öteki tarafındakine güvenilir. Aradaki geçiş, ancak bir kontrolden geçerek olur. Bu fikir, yazılım zayıflıklarının ortak kataloğunda da ayrı bir madde olarak yer alır.
Bu yüzden bir güven sınırının üzerinden geçen her akış için üç soru sorulur. Birincisi, kimlik: veriyi gönderen kim ve bunu nasıl biliyoruz? İkincisi, içerik: gelen veri beklediğimiz biçimde mi, bozuk ya da kötü niyetli bir içerik taşıyor olabilir mi? Üçüncüsü, yetki: gönderen bu işlemi yapmaya yetkili mi? Bu üç sorunun cevabı sınırın üzerinde bir yerde, bir süreç tarafından verilmelidir; cevap verilmiyorsa, sınır çizimde var ama sistemde yoktur.
Sınırlar yalnız şirketin dışıyla içi arasında değildir. Kaan'ın gördüğü gibi, aynı şirketin içinde farklı ağlar, farklı ekiplerin yönettiği sistemler ve farklı yetkilere sahip kişiler arasında da sınırlar vardır. Bir tarayıcıda çalışan kod ile sunucu arasında bir sınır vardır: tarayıcıdaki kod kullanıcının elindedir, sunucu onun gönderdiğine körü körüne güvenmemelidir. Bir şirket ile kiraladığı bir bulut hizmeti arasında bir sınır vardır. Ve önceki derste Bora'nın böldürdüğü kutuda olduğu gibi, tek bir kutunun içinde bile bir sınır gizlenmiş olabilir.
Sahada
Savunma
Güven sınırı, savunmanın nereye yoğunlaşacağını gösteren çizgidir. Sınırlı bir dikkat, en çok verimi verinin el değiştirdiği bu geçiş noktalarında verir.
Önce sınırları dürüstçe çiz. Kaan'ın ilk büyük dikdörtgeni gibi tek bir "içeri ve dışarı" çizgisi, şirket içindeki bütün farklılıkları saklar. Farklı ağlar, farklı ekiplerin yönettiği sistemler, farklı yetkilere sahip kullanıcılar ve dışarıdan kiralanan her hizmet için ayrı bir sınır düşün.
Sonra her sınırı geçen akışa üç soruyu sor: kimlik, içerik, yetki. Bu sorular, sonraki modüllerde ayrıntısıyla göreceğimiz önlemlerin adresini verir: kimlik doğrulama, girdi doğrulama ve yetkilendirme. Bu derste amaç önlemi kurmak değil, nereye kurulacağını bilmektir.
Üçüncüsü, güvenilmeyen veriyi güvenilenle karıştırma. Selin'in kod incelemesinde gördüğü gibi, sınırın dışından gelen bir veri, içeriden gelen veriyle aynı kapta ve aynı işaretle tutulduğunda, bir sonraki geliştirici ona güvenebilir. Kaynağı farklı olan veri ayrı tutulur ve kaynağı belli olur.
Dördüncüsü, dışarıdaki parçaları da sınırla göster. Bir bulut hizmeti, bir bildirim sağlayıcısı ya da bir tedarikçi, senin denetiminde değildir. Bora'nın sorduğu üç soru, sözleşmeye ve tedarikçi seçimine de girer.
Tespit tarafında sınırlar, kayıtların nereden toplanacağını söyler: sınırı geçen akışların kaydı, bir sorun olduğunda ilk bakılacak yerdir.
Uygulama
Önceki derste çizdiğin veri akış diyagramına güven sınırlarını ekleyecek ve her sınırı geçen akış için üç soruyu cevaplayacaksın.
Sınır sayısı genellikle beklediğinden fazla çıkar. Bu iyi bir işarettir: gözden kaçan geçişler artık çizimde.
Defter: Diyagram sayfasının yanına güven düzeyleri listesi, kesik çizgilerle güven sınırları eklenmiş diyagram, her sınırı geçen akış için kimlik, içerik ve yetki satırları. "Bilmiyorum" ya da "hiçbir şey" diye işaretlenen satırlar ve kaygı listesine eklenen yeni maddeler.
Hata köşesi
Yaygın yanlış"Güven sınırı, şirketin içi ile dışı arasındaki tek çizgidir."
Kaan'ın ilk dikdörtgeni buydu ve şirket içindeki bütün farkları sakladı. OWASP'ın süreç belgesi sınırları güven düzeyinin değiştiği her yer olarak tarif eder. Sezonluk çalışanlar, ayrı bir kablosuz ağ ve başka bir ekibin yönettiği muhasebe sistemi, aynı şirketin içinde üç ayrı sınır demekti.
Yaygın yanlış"Veri bizim sunucumuza geldiyse artık güvenilirdir."
CWE-501, güvenilir ve güvenilmez verinin aynı yapıda karıştırılmasını ayrı bir zayıflık olarak sayar. Selin'in sisteminde arkadaşın notu, sunucuya ulaştığı için "onaylı içerik" işaretini taşıyordu. Verinin nerede durduğu değil, nereden geldiği güvenilirliğini belirler.
Yaygın yanlış"Tedarikçinin bulutu onların sorunu."
Veri senin sınırını geçip onların alanına girdiğinde, o verinin sahibi olarak sorumluluğun sürer. Bora'nın üç sorusu, tedarikçinin çalışanlarından kimin hasta verisine erişebildiği sorusuyla sözleşmeye bir madde ekletti. Dış parçalar sınırla çizilir ve soruları sözleşmeye girer.
Etik ve sınırlar
Güven sınırlarını çizmek, bir sistemin en hassas geçiş noktalarını haritalamaktır; bu çalışma, sahibinin bilgisi ve izni olan sistemlerde, yetki kapsamı içinde yapılır. Bir başkasının sisteminde bir sınırın korunup korunmadığını öğrenmek için ona beklenmedik veri göndermek, düşünce düzeyinde masum görünse de izinsiz bir sınamadır ve yasal sınırı aşar. Bora'nın yaptığı gibi soruları tedarikçiye yazılı olarak sormak meşru yoldur; cevabı onların sistemini kurcalayarak aramak değil. Sınır haritasının kendisi de korunmalıdır: hangi geçişin zayıf olduğunu gösteren bir sayfa, yanlış ellerde bir yol haritasına dönüşebilir; paylaşımı o sistem üzerinde çalışan ekiple sınırlı kalır. Kişisel veri bir sınırı geçip başka bir kuruma gidiyorsa, verisi taşınan kişilerin bunu bilme hakkı da hesaba katılır.
Kapanış
- Güven sınırı, güven düzeyinin değiştiği her yeri gösteren kesik çizgidir; şirketin içinde de farklı ağlar, ekipler ve yetkiler arasında sınırlar vardır.
- Sınırı geçen her akış için üç soru sorulur: gönderen kim, gönderdiği beklenen biçimde mi, bu işleme yetkili mi; cevap bir süreç tarafından verilmiyorsa sınır yalnız çizimdedir.
- Güvenilmeyen veri güvenilenle aynı yapıda karıştırılmaz; dışarıdaki hizmetler de sınırla çizilir ve soruları sözleşmeye taşınır.
Üç soru
- Kaan'ın ilk çizdiği büyük dikdörtgen neden yetersizdi?
- Selin'in kod incelemesinde bulduğu sorun neydi ve CWE-501 ile nasıl ilişkiliydi?
- Bora'nın tedarikçiye sorduğu üç sorudan hangisi sözleşmeyi değiştirdi ve neden?
Yanıtlar
- Dikdörtgen yalnız şirketin içini dışından ayırıyordu ve şirket içindeki güven farklarını saklıyordu. Sezonluk depo çalışanları muhasebe sistemine giremezdi, terminaller ofis ağından ayrı bir kablosuz ağdaydı ve muhasebe sistemini başka bir ekip yönetiyordu; bunlar üç ayrı güven sınırıydı.
- Arkadaşın bıraktığı not, liste sahibinin kendi bilgileriyle aynı kayıt nesnesinde ve "sahibin onayladığı içerik" işaretiyle tutuluyordu. CWE-501, güvenilir ve güvenilmez verinin aynı yapıda karıştırılmasını güven sınırı ihlali olarak tanımlar; bu karışım, sonraki bir geliştiricinin doğrulanmamış veriye güvenmesini kolaylaştırır. Not ayrı bir alana taşındı.
- Tedarikçinin çalışanlarından kimin hasta verisine erişebildiği sorusu sözleşmeye bir erişim kaydı maddesi ekletti. Veri hastanenin sınırını geçip tedarikçinin alanına girdiğinde hastanenin sorumluluğu sürüyordu; kimin eriştiğini görebilmek bu sorumluluğun gereğiydi.
Sonraki derse köprü
Sınırları ve geçen akışları bulduk, her biri için kimlik, içerik ve yetki sorduk. STRIDE dersi bu soruları altı tehdit kategorisine genişletiyor: her kategori bir güvenlik özelliğinin ihlalidir ve diyagramdaki her öğe bu altı başlıkla sistematik olarak taranabilir.
Anlamadığın bir yer mi var?
Mentor yalnız bu dersin metnine dayanarak cevap verir. Metinde geçmeyen bir şey sorarsan uydurmaz, geçmediğini söyler.