Threat Modeling 1

- Tum modeller yanlistir, bazilari kullanisli. (Ronaldinho, 2024, survivor, Dominican Republic)


Nedir?

- Modelleme bize bir sistemi gorsellestirme imkani taniyarak, sistemi daha iyi anlamamizi saglar.

- Iyi bir model bizim;

    • ne uzerinde calistigimizi, 
    • nelerin yanlis gidebilecegini 
    • ve bizim bu yanlis gidebilecek hususlar hakkinda ne yapabilecegimizi
daha iyi anlamamizi saglar.


Ne zaman yapilir?

- Ne kadar erken baslarsak o kadar iyidir

- Penetrasyon testi yapacak olan kisiler de genellikle bizim olusturdugumuz bu treat modelini referans alirlar.

- Sprintin bir parcasi olarak yapilabilir. Feature'lar implemente edilirken paralel olarak de treat modelleri olusturulabilir.


Nasil yapilir?

Bir yazilim muh olarak tasarladigimiz sistemlerin confidentiality, integrity ve availability ozelliklerini maksimumda tutmak bizim gorevimizdir.

Threat modeling icin birden fazla yol vardir. Nasil ki programlama dilleri farkli trade-off'lara sahipse ve yerine gore bazilari daha kullanisli ise, threat modeling yontemleri de boyledir. Bizim icin o an en kullanisli olanini secmek de bizim gorevimizdir.

Iyi bir baslangic noktasi olarak Shostack's Four Question Frame for Threat Modeling gosterilir.

Ben threat modeling yapilacak bir sistem gordugumde kendime hemen su 4 soruyu sorarim:

1. Ne uzerinde calisiyoruz? 

Mesela bir web app uzerinde calisiyor isek, tutup da isletim sisteminin bir browseri nasil boot ettigini masaya yatirmaya gerek yoktur. Bizim uzerinde calistigimiz seyin bunu etkileme ihtimali yok cunku. Kendimize gelelim.

2. Neler yanlis gidebilir? 

Bunun icin de STRIDE-per-element isimli metodu kullanacagiz.

3. Ne yapacagiz? 

Riskleri yukaridaki adimda identify ettikten sonra elimizde 4 secenek kaliyor:
I. Riski mitigate etmek
II. Riski ortadan kaldirmak
III. Riski baska bir yere transfer etmek (hafif kansizlik gibi durmuyor mu?)

IV. Riski kabul et ve hicbirsey yapma (var mi ya boyle bir secenek)

4. Ne kadar iyi is yaptik?

Bu noktada iteratif bir yaklasim izlemek ve her iterasyonda sistemi daha guvenli bir hale getirmek gerekiyor. Cunku 3. adimda identify edilen riskler ve 4. adimda ortaya cikacak olan aksiyonlar ile tasarlanan sistemde degisikler yapmak gerekebilir. Ve nihai olarak hani riskleri ne kadar cozebiliyoruz bunu ortaya koymak gerekir.




Diger bir Threat Modeling postunda gorusmek uzere.



 

Yorumlar

Bu blogdaki popüler yayınlar

Python'da Multithreading ve Multiprocessing

Encoding / Decoding