İçeriğe geç

13.4 · Seviye 2 · Güvenlik Düşüncesi

STRIDE

altı tehdit kategorisi ve her birinin karşıtı olan güvenlik özelliği

Siber Güvenlik Akademisi — M13, Tehdit Modelleme · 1.838 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ış

Selin'in ekibi hediye listesinin kaygı listesini ikinci kez açtığında, listede yedi madde vardı. Hepsi ilk toplantıda, akla gelenler yazılarak oluşmuştu. Yeni geliştirici listeyi okuyunca sordu: "Bunların hepsi verinin yanlış kişiye görünmesiyle ilgili. Başka türlü bir şey ters gidemez mi?"

Selin listeye baktı. Haklıydı. Adresin görünmesi, notların görünmesi, bağlantının bulunması: yedi maddenin beşi aynı türden bir kaygıydı. Kimse, bir arkadaşın aldığı hediyeyi sonradan "ben almadım" diye inkâr edip edemeyeceğini sormamıştı. Kimse, yılbaşı haftasında liste sayfasının çökmesinin ne demek olacağını düşünmemişti. Ekip, en kolay akla gelen kaygıyı bulmuş, ötekileri hiç aramamıştı.

"Beyin fırtınası iyi," dedi Selin, "ama neyi unuttuğumuzu söylemiyor. Bize bir kontrol listesi lazım."

Tahtaya altı harf yazdı: S, T, R, I, D, E.

Tek fikir

STRIDE, tehditleri altı kategoride toplayan bir hatırlatıcıdır: kimlik sahteciliği, kurcalama, inkâr, bilgi ifşası, hizmet engelleme ve yetki yükseltme. Kategorilerin her biri bir güvenlik özelliğini çiğner; diyagramdaki her öğeye altı soru sorulunca, akla ilk gelmeyen tehditler de aranmış olur.

Nasıl çalışır

Önceki iki derste sistemi çizdik ve güven sınırlarını işaretledik. Şimdi ikinci soruya, neyin ters gidebileceğine, düzenli bir yoldan cevap arıyoruz.

Kategorilerin ne anlama geldiğini, yöntemi geliştiren şirketin kendi tehdit modelleme aracı belgeleri anlatır.

Bu kategorilerin her biri, Modül 1'den beri tanıdığımız bir güvenlik özelliğinin tersidir.

Bu eşleşme, STRIDE'ı yalnız bir kötü haber listesi olmaktan çıkarır: her kategori, karşısına hangi önlemin konacağını da söyler. Kimlik sahteciliğine karşı kimlik doğrulama, kurcalamaya karşı bütünlük denetimi, bilgi ifşasına karşı erişim denetimi ve şifreleme, hizmet engellemeye karşı kapasite ve dayanıklılık, yetki yükseltmeye karşı en az yetkiyle çalışma.

Modül 7'de kimliğe bürünmeyi, Modül 2'de yetki yükseltmeyi tanımlamıştık; STRIDE onların sistem tasarımındaki karşılıklarını sorar. Altı kategoriden ikisinin bu seride ayrı bir adı henüz yoktu.

STRIDE'ın kullanımı basittir. Veri akış diyagramındaki her öğe, yani her dış varlık, süreç, veri deposu ve akış, sırayla alınır ve altı soru sorulur. Bazı sorular bazı öğelerde anlamsız çıkar: bir veri deposu kimseyi inkâr etmez. Bu normaldir; amaç her kutuya altı tehdit yazmak değil, her kutuya altı kez bakmaktır. Güven sınırını geçen akışlar ve sınırın hemen yanındaki öğeler, taramanın en çok vakit ayrılacak yerleridir.

Selin'in hediye listesi bu taramadan şöyle geçti. Kimlik sahteciliği: liste sahibi gibi görünen biri listeyi değiştirebilir mi? Kurcalama: arkadaşın seçtiği ürün ödeme ile sipariş arasında başka bir ürünle yer değiştirebilir mi? İnkâr: bir arkadaş hediyeyi aldıktan sonra "ben almadım" derse, kimin aldığını kanıtlayacak bir kayıt var mı? Bilgi ifşası: ilk toplantının beş kaygısı buraya düştü. Hizmet engelleme: yılbaşı haftasında liste sayfasına gelen yük, sipariş sistemini de yavaşlatır mı? Yetki yükseltme: listeyi görüntüleyen bir arkadaş, liste sahibinin ayarlarına erişebilir mi? Yedi maddelik liste on dört maddeye çıktı ve artık altı kategorinin hepsini kapsıyordu.

Sahada

Savunma

STRIDE'ın savunmaya katkısı, kör noktaları kapatmasıdır. Ekipler en kolay akla gelen tehdit türüne yönelir; Selin'in ekibi bilgi ifşasında beş madde bulmuş, inkâr ve hizmet engellemeyi hiç aramamıştı.

Önce her öğeyi altı soruyla tara. Diyagram bir kontrol listesine dönüşür: her kutu ve her ok için altı satır. Anlamsız çıkan soruları atlamak serbesttir, ama atlamadan önce sorulmuş olmaları gerekir.

Sonra her tehdidin karşısına, ihlal ettiği özelliğin önlemini koy. Kaan'ın şirketinde inkâr sorusu bir değişiklik kaydını, Defne Hanım'ın bürosunda yetki yükseltme sorusu en az yetki düzeltmesini getirdi. Bu eşleşme, tehdit listesinden doğrudan yapılacaklar listesine geçmeyi sağlar.

Hizmet engellemeyi yalnız saldırı olarak düşünme. Bora'nın pazartesi sabahı, kötü niyetli kimse olmadan da bir sistemi durdurabilir. Kapasite, yük testi ve sistem durduğunda işin nasıl süreceğine dair bir yedek prosedür, erişilebilirlik özelliğinin önlemleridir.

Tespit tarafında inkâr kategorisi özel bir yere sahiptir. Değişiklik kayıtları, Modül 5'te gördüğümüz günlükler gibi, bir şey ters gittiğinde ne olduğunu anlamanın tek yoludur. Kaan'ın şirketindeki sayım farkı, kayıt olmasaydı bir tahmin olarak kalırdı.

STRIDE bir yöntemdir, bir garanti değil. Her kategoriyi sormak, her tehdidi bulmayı sağlamaz; ama bir kategorinin hiç sorulmadığı bir tarama, en azından o kategoride kör kalır.

Uygulama

Önceki iki derste çizdiğin diyagramı STRIDE ile tarayacaksın.

Tarama bittiğinde kaygı listen büyümüş olacak. Hangisinden başlayacağını bir sonraki derslerde sıralayacağız.

Defter: Altı sütunlu STRIDE tablosu: her öğe bir satır, her hücrede kaygı ya da "uygun değil". Sütun başına kaygı sayıları, ikinci kez bakılan boş sütunlar, her kaygının ihlal ettiği özellik ve önerilen önlem.

Hata köşesi

Yaygın yanlış"Beyin fırtınası yeterli, kategori listesine gerek yok."
Doğrusu

Selin'in ekibi beyin fırtınasıyla yedi kaygı buldu ve beşi aynı kategorideydi; inkâr ve hizmet engelleme hiç aranmamıştı. OWASP altı kategorinin model incelenirken birer soru olarak kullanılmasını önerir. Kategori listesi, neyin unutulduğunu söyleyen şeydir.

Yaygın yanlış"STRIDE'ın her kategorisi her öğeye uyar, her hücre doldurulmalı."
Doğrusu

Bir veri deposu kimseyi inkâr etmez; bazı sorular bazı öğelerde anlamsızdır. Amaç her hücreyi bir tehditle doldurmak değil, her hücreye bakmaktır. Zorla doldurulmuş hücreler, gerçek kaygıları gürültünün içinde kaybettirir.

Yaygın yanlış"Hizmet engelleme yalnız saldırganların işidir."
Doğrusu

Microsoft'un tanımı hizmet engellemeyi geçerli kullanıcılara hizmetin verilmemesi olarak anlatır ve bazı türlerine karşı korunmanın sistemin erişilebilirliği ve güvenilirliği için de gerektiğini söyler. Bora'nın pazartesi sabahı yükü kötü niyetli değildi, ama sistemi durdurabilirdi.

Etik ve sınırlar

STRIDE, bir sistemin nasıl ters gidebileceğini sistematik olarak düşünmektir; bu düşünce, sana ait sistemlere ve sahibinin seni açıkça görevlendirdiği, yetki verdiği sistemlere uygulanır. Bir kategorideki kaygıyı başkasının sisteminde "deneyerek" doğrulamak, özellikle hizmet engellemede, gerçek kullanıcılara zarar verebilir ve suç oluşturabilir; Bora'nın yük testi şartı bu yüzden tedarikçinin kendi test ortamında, sözleşmeyle ve onayla yapılacak bir iş olarak yazıldı. Tarama tablosu, bir sistemin bilinen zayıf yönlerini kategori kategori listeler; yayımlanacak bir belge değil, ekip içinde korunacak bir çalışma notudur. İnkâr kategorisinin önlemi olan kayıtlar da bir sorumluluk taşır: kimin ne yaptığını tutan bir kayıt, çalışanlar hakkında kişisel veri içerir; amacı açıkça belirtilmeli, yalnız o amaçla kullanılmalı ve gereğinden uzun saklanmamalıdır.

Kapanış

  1. STRIDE altı tehdit kategorisidir: kimlik sahteciliği, kurcalama, inkâr, bilgi ifşası, hizmet engelleme, yetki yükseltme; her biri sırasıyla kimlik doğrulama, bütünlük, hesap verebilirlik, gizlilik, erişilebilirlik ve yetkilendirme özelliğinin ihlalidir.
  2. Diyagramdaki her öğeye altı soru sorulur, en çok güven sınırını geçen akışlara; bazı sorular bazı öğelerde anlamsızdır ama önce sorulmuş olmaları gerekir.
  3. Boş kalan bir kategori çoğu zaman aranmamış bir tehdittir; her kaygının karşısına ihlal ettiği özelliği koruyan bir önlem yazılır.

Üç soru

  1. Selin'in ekibinin ilk kaygı listesinin sorunu neydi ve STRIDE bunu nasıl düzeltti?
  2. Kaan'ın şirketinde inkâr sorusu hangi eksikliği ortaya çıkardı ve sonradan ne işe yaradı?
  3. Bora'nın pazartesi sabahı örneği, hizmet engelleme hakkında neyi gösterir?

Yanıtlar

  1. Yedi kaygının beşi aynı kategorideydi, bilgi ifşası; inkâr ve hizmet engelleme hiç aranmamıştı. Altı kategoriyi her öğeye sormak, akla ilk gelmeyen türleri de aratarak listeyi on dört maddeye çıkardı ve altı kategorinin hepsini kapsadı.
  2. Uygulama yalnız son stok miktarını saklıyordu; bir sayım kaydını kimin, ne zaman değiştirdiği hiçbir yerde tutulmuyordu. Gülay Hanım'ın istediği değişiklik kaydı, bir ay sonra çıkan sayım farkının bir vardiya değişimindeki yanlış düzeltmeden geldiğini on dakikada gösterdi.
  3. Hizmet engelleme her zaman kötü niyetli bir saldırı değildir; beklenmedik ya da yoğun bir yük de sistemi geçerli kullanıcılar için kullanılamaz hâle getirebilir. Bu yüzden önlemleri yalnız saldırı savunması değil, kapasite, yük testi ve sistem durduğunda işin sürmesini sağlayan bir yedek prosedürdür.

Sonraki derse köprü

STRIDE her öğeye geniş bir ağla baktı ve on dört kaygı çıkardı. Saldırı ağaçları dersi tersinden bakıyor: tek bir hedeften başlayıp ona ulaşan yolları dallara ayırmak, ve bir saldırganın hangi dalı seçeceğini anlamak için en ucuz dalı bulmak.

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.