Saldırı Ağaçla...
 
Bildirimler
Hepsini Temizle

Saldırı Ağaçları  

  RSS
Onur Serhat Uygur
(@onurserhatuygur)
Üye

1. Saldırı Ağaçları Nedir?

Fikir olarak ilk defa Bruce
Schneier tarafından ortaya atılan saldırı ağaçları (attack trees)  bir
sistemin tasarımı ve işletimi esnasında dikkate alınması gereken
güvenlik risklerini bir saldırganın gözüyle ele alarak mümkün olan
bütün tehditleri ve bu tehditlerin farklı özelliklerini (olabilirlik,
maliyet v.b.) tespit etmeyi amaçlar.

Zincirin en zayıf halkası
misali bir sistem de ne kadar gelişmiş güvenlik çözümleri sunsa da
ancak saldırıya açık yönü kadar güvenlidir. Bu sebeple, meydana
gelebilecek bütün güvenlik saldırıları düşünülerek tasarlanmış bir
sistem için ancak gerçek güvenlikten bahsedilebilir. Saldırı ağaçları,
sistemin bütün açıklarını belirleyerek gözden kaçması mümkün olan
noktaları belirlemeyi sağlamaları yönüyle önemlidirler.

Bu
yazımda saldırı ağaçlarının nasıl tasarlandığını ve ağaçların güvenlik
sorunlarının ve çözümlerinin analizine nasıl yardım ettiğini
anlatacağım.

2. Nasıl Tasarlanır?

Saldırı ağacını
tasarlarken öncelikle bir saldırgan olduğunuzu varsayıp sisteme
saldırmak için kendinize bir hedef belirlersiniz ve bu hedefinizi
ağacınızın en tepesindeki ana yaprak olarak atarsınız. Daha sonra bu
ana hedefe ulaşmak için uygulayabileceğiniz yöntemleri listelersiniz.
Belirlediğiniz yöntemler ağacınızdaki birinci seviye yapraklardır. Bu
işlemi her seviyedeki yapraklar için uygulayıp hedefe ulaşmayı
sağlayacak bütün yöntemler ve alt yöntemlerini tespit edersiniz. Bir
yöntemin alt yöntemleri arasında VE ya da VEYA olmak üzere iki türlü
ilişki olabilir. VEYA ilişkişi alt yöntemlerden birinin uygulanması
halinde ana yöntem başarıyla gerçekleştirilmiş manasına gelir. VE türü
ilişki ise ana yöntemin başarılı olabilmesi için alt yöntemlerin
hepsinin başarılı şekilde uygulanması gerektiğını göstermektedir.
İlişki türü ağaç üzerinde açıkça belirtilmedi ise ilişki türünün VEYA
türü ilişki olduğu varsayılır.

Yukarıda özetlenen tasarım
işlemini bir örnek üzerinde göstermeye çalışalım: Örneğin web tabanlı
bir e-posta hizmeti sunmak istiyorsunuz. Kullanıcılarınız, kimlik
asıllama (authentication) için kullanıcı adı-parola çiftini
kullanacaklar. Bir saldırganın belirlediği belli bir kişinin
e-postalarına izinsiz erişmesini ana hedef olarak seçelim ve
saldırganın bu ana hedefe ulaşabilmesi için uygulayabileceği yöntemleri
saldırı ağacı ile gösterelim. Saldırı ağacını oluşturduğumuzda
saldırganlardan gelebilecek bütün tehditlerini biliyor olacağız ve buna
göre çözümlerimizi sunacağız.

Şekil 1’de gösterildiği gibi
saldırı ağacının en tepesine saldırganın ana hedefi olan e-postalara
izinsiz erişim yerleştirilir. Diğer alt dallar ise bu hedefe
ulaşabilmek için yapılabilecek yöntemleri (tehditleri) göstermektedir.

Şekil 1: E-posta Sistemi için Saldırı Ağacı

Saldırgan, e-postalara izinsiz erişim sağlayabilmek için başlıca beş yöntem deneyebilir

1-
“parolamı unuttum” Mekanizması: Saldırgan, bu yöntemle kullanıcıların
zaaflarından faydalanarak geçerli parolayı değiştirmeyi hedefler.
parolamı unuttum seçeneği sisteme ilk kayıt esnasında kullanıcı
tarafından belirtilen gizli sorunun cevabının bilinmesi şartı ile
parolanın değiştirilmesine izin verir. Ancak bu tip gizli sorular genel
olarak annenizin kızlık soyadı, doğum yeriniz, kedinizin adı gibi
genelde cevabını başkalarının da bildiği ya da en azından kolayca
bulabileceği soru grubundan seçilmektedir.

2- Kaba-kuvvet
Saldırıları (Brute-force Attacks): Bu yöntem sayesinde saldırgan mümkün
olan bütün ihtimalleri parola olarak deneyebilir. Bu çok uzun süren ama
kesin sonuç veren bir saldırıdır. Günümüzde kaba-kuvvet saldırılarını
otomatik olarak gerçekleştiren programlar da mevcuttur [8]. Kaba-kuvvet
saldırılarının bir türevi de sözlük saldırılarıdır (dictionary
attacks). Bütün ihtimalleri denemek her ne kadar kesin sonuç verse de
çalışma süreleri çok uzun vakit almaktadır. Burada bütün ihtimalleri
denemek yerine doğru parola olma olasılığı daha yüksek olan parolaları
denemek daha tercih edilir bir yoldur. Sözlük saldırıları işte bu
noktadan hareket ederek kullanıcıların sıklıkla kullandıkları
parolaları bir araya getirirler ve saldırı esnasında sadece bu olası
parolaları deneyerek daha kısa sürede sonuca varmayı hedeflerler.

3-
Sosyal Mühendislik (Social Engineering): Sosyal mühendislik yöntemini
seçen saldırganlar zincirin en zayıf halkası olarak kullanıcının
kendisini görüp telefon ya da internet gibi iletişim araçları aracılığı
ile kullanıcıdan gizli bilgileri almayı hedeflerler. E-posta sistemize
karşı sosyal mühendisler başlıca şu üç yöntemi deneyebilirler.
·
Kullanıcıların çok sık yaptıkları hatalardan birisi parolalarını kağıda
yazıp bunları başkalarının da rahatça erişebileceği yerlerde
bulundurmalarıdır. Bilgisayar monitörü üzerine yapıştırılan parolalar
bu tip hatalara örnek olarak verilebilir. Üzerinde parola yazılı
kağıtlar saldırganlar açısından gökte ararken yerde buldukları
hazineler olarak tanımlanabilir.

· Kimlik doğrulaması
esnasında parolasını sisteme giren kullanıcının yakınında ve de
klavyesini görebilecek pozisyonda olan saldırganlar (shoulder surfing)
parolayı gizlice görmeye çalışabilirler.

· Kimlik hırsızlığı
(phishing) yöntemi ile saldırganlar kullanıcılara kendilerini
ilgilendiren ve de geçerli (authentic) bir yerden gelmiş gibi görünen
e-postalar gönderirler. Bu sayede kullanıcıların parolalarını çalmayı
hedeflerler.

4- İletişim Kanalı Saldırıları: Şayet
saldırganlar kullanıcı ile e-posta sunucusunun arasındaki iletişim
kanalını dinleyebilme ve iletileri kopyalayabilme olanağına sahip
iseler aşağıda sıralanan tehditlerden faydalanabilirler:
·
İletişim kanalında taşınan iletilere direkt erişilebilindiği bir
ortamda (ör. internet) şayet iletiler şifrelenmeden taşınıyor ise
saldırganların parolaları ele geçirmeleri gayet kolaydır.

·
Şifrelenmiş iletiler için de risk söz konusudur. Saldırgan şifreli
iletileri deşifre etmeye çalışabilir. Örneğin, DES (Data Encryption
Standard) gibi zayıf şifreleme algoritmalarının kullanılması
saldırganların başarı şansını yükseltebilir. Dikkat edilirse ağacımızda
iletişim kanalının deşifre edilmesi ile ileti özünün (message digest)
deşifre edilmesi arasında VE ilişkişi bulunmaktadır. Parolayı elde
etmek için iletiyi deşifre etmek yetmeyebilir. Günümüz sistemlerinde
parolalar şifreli kanallar üzerinde gönderilseler bile düz yazı
(plaintext) olarak değil ileti özleri hesaplanıp gönderilirler. Bu
sayede saldırganlar iletileri deşifre etseler bile parolanın kendisini
değil sadece ileti özü değerini ele geçirmiş olurlar. Fakat bu da bir
güvenlik riskidir, çünkü ileti özü bilinen bir parolanın düz yazı
değerini bulan progamlarda mevcuttur . Bunu yaparken yine sözlük
saldırılarından yararlanılır. Sözlükte var olan bütün parolaların
sırası ile ileti özleri hesaplanır ve iletişim kanalından ele geçirilen
parola ile karşılaştırılır. Şayet bir eşleşme bulunursa parola elde
edilmiş olur.

5- Truva Atları (Trojan Horses): Truva atları,
kullanışlı programlar içerisine gizlenerek kullanıcının sisteminde
çalışıp kullanıcının zarar göreceği işlemleri gerçekleştiren
programcıklar olarak tanımlanabilirler. Truva atlarını kullanarak
saldırganlar aşağıdaki saldırıları gerçekleştirebilirler:
· Tuş
kayıtçıları (key logger), kullanıcının bilgisayarında gizlice
çalıştırılmak sureti ile basılan bütün tuşların kayıt edilmesini ve
böylece parolanın ele geçirilmesine olanak verirler.

· Oturum
çalma (session hijacking) yöntemi ile saldırgan kullanıcının daha
önceden kullanıcı adı ve parolasını ile kimlik asıllaması sonucunda
oluşturulan oturumunu ele geçirerek e-posta sisteminin kimlik doğrulama
kısmının es geçmeyi hedefler.

Şu ana kadar saldırı ağacı
yöntemi ile sistemde meydana gelebilecek tehditleri detaylı ve bütün
bir şekilde belirlemiş olduk. Bundan sonraki adım hazırladığımız
saldırı ağacını başkalarının değerlendirmesine sunup şayet eksik kalan
tehditler var ise bunların tamamlanmasını sağlamaktır.

3. Geliştirilmiş Saldırı Ağacı

Saldırı
ağacımızda var olan bütün yapraklar olası tehlikelerdir ve bunlara
karşı önlem almak zorundayız. Ancak her tehlike bizim için aynı
derecede tehdit oluşturmayabilir. Örneğin gerçekleştirilebilmesi için
özel ve pahalı bir cihaz gerektiren bir tehdidi, sıradan herkesin
kolaylıkla gerçekleştirebileceği bir tehditle karşılaştırdığımızda
öncelik olarak ikinci plana atabiliriz. Dolayısı ile öncelikleri
belirlemek ve de farklı tehditler arası bir karşılaştırma yapabilmek
için her tehdidi tasvir eden yardımcı bilgileri de ağacımıza
ekleyebiliriz. Bu yardımcı bilgiler şunlar olabilir:

· Saldırının özel bir araç gerektirip gerektirmediği,

· Saldırının maliyeti, ucuz olup olmaması,

· Saldırının kolay olup olmaması,

· Saldırının yasal olup olmaması,

· Saldırının gerçekleşme süresi v.s.

Belirlediğimiz
bu yardımcı bilgileri kullanarak saldırı ağacımızı tekrar gözden
geçirip sistemimizin en zayıf yönlerini dolayısı ile en öncelikli çözüm
bekleyen riskleri belirleriz. Şayet tehdide karşı geliştirilecek
çözümün maliyeti sistemin koruma sağladığımız mekanizmasının değerinden
daha fazla ise bu tehditleri görmezden de gelebiliriz.


Kaynak:TcpSecurity.com

Alıntı
Gönderildi : 22/02/2008 13:11
Paylaş: