Saldırı ağaçları
Bilgi Sistemlerinde Saldırı Ağaçları

Bilgisayar ağları üzerindeki cihazlarda (aktif ağ cihazları, sunucular, kullanıcı bilgisayarları) donanımsal veya yazılımsal zafiyetler bulunabilmektedir. Bunlardan, yazılımsal zafiyetler, daha fazla sayıda olmaları ve daha kolay istismar edilebilir olmaları nedeniyle hem saldırganların hem de sistem yöneticilerinin daha fazla dikkatini çekmektedir. Bir sistemde var olan yazılım kaynaklı zafiyetler, zafiyet tarama araçları (Nessus, OpenVAS, Nexpose vb.) ile büyük oranda tespit edilebilir. Hangi yazılımlarda veya bu yazılımların hangi versiyonlarında ne tür zafiyetler bulunduğu ise zafiyet veritabanları üzerinden incelenebilir. Yazılımsal zafiyetlere ilişkin açık kaynak zafiyet veritabanlarının en bilinenlerinden bir tanesi NVD6 Nisan 2018 tarihinde Wayback Machine sitesinde arşivlendi. (National Vulnerability Database - Ulusal Zafiyet Veritabanı)'dir.
Bilgi sistem ağları üzerindeki yazılımsal zafiyetleri kullanarak çok adımlı ve birden çok cihazı içeren gelişmiş saldırılar yapmak mümkündür ve saldırganlar tarafından gerçekleştirilen pratik uygulamaları mevcuttur. Bu nedenle, bilgisayar ağları üzerinde yazılım zafiyetleri tabanlı saldırı ağaçları oluşturulması ile ilgili çalışmalar da mevcuttur. Bu yöntem ile bilgisayar ağları üzerinde tehdit modellemeleri yapmak mümkündür ve bu modeller klasik zafiyet tarama araçlarına göre şu faydaları sağlamaktadır.
Zafiyet tarama araçları ile bulunan zafiyetlerden hangilerinin istismar edilip hangilerinin istismar edilemeceği saldırı ağaçları ile analiz edilerek, koruyucu/önleyici tedbirlerin sadece istismar edilebilen zafiyetler için alınması sağlanabilir. Bu şekilde zaman ve kaynak tasarrufu sağlanmış olur.
Sistem üzerindeki bir hedefe ulaşmak için hangi zafiyetlerin hangi adımlar izlenerek istismar edilmesi gerektiği incelenebilir ve bu şekilde saldırı ağacı üzerinde koruyucu/önleyici önlemin nerede uygulanmasının maliyet etkin olduğu tespit edilebilir. Örneğin, saldırı ağacında saldırgana en yakın olan nokta veya noktalarda uygulanacak koruyucu/önleyici tedbirler, diğer zafiyetler için bir tedbir uygulanmasa dahi saldırıların önlenmesi için yeterli olabilir.
Zafiyetelerin kaç adımda istismar edildiği ve zafiyetlerle ilgili diğer parametreler dikkate alınarak saldırılara ilişkin olasılık değerleri bulunarak ve risk analizleri gerçekleştirilebilir.
Zafiyetlerin kaç adımda istismar edildiği ve zafiyetlerle ilgili diğer parametreler dikkate alınarak sistem üzerindeki bir hedefe modellenen bir tehdidin yaklaşık ne kadar sürede ulaşılabileceği bulunabilir.
İç ve dış saldırgan gibi tehdit tipleri ile tehdit modellemesi yapılarak hangi konum ve tipteki tehditlerin daha tehlikeli olduğu analiz edilebilir.
Sistem üzerindeki bir hedefin ele geçirilmesi için bir tehdidin sahip olması gereken minimum yeteneklerin ne olduğu tespit edilebilir.
Bilgi sistem ağları üzerinde yazılımsal zafiyetler kullanılarak saldırı ağacı oluşturmak genel olarak 3 farklı yöntem kullanılabilir.
Ön koşul/olası sonuç modelleri: Bir zafiyetin istismar edilmesi için saldırganın sahip olduğu yetki ve yeteneklerin zafiyetin istismar koşulları ile kıyaslanması ile zafiyetin istismar edilip edilemeyeceği belirlenir. Zafiyetin istismar edilmesi sonrasında kazanılan yetki ve ayrıcalıklar saldırganın yetki ve ayrıcalıklarına eklenerek müteakip adımlardaki zafiyetlerin istismar edilip edilemeyeceğinin simülasyonu yapılır. NETSPA (Network Security Architecture) ve TVA (Topological Analysis of Network Attack Vulnerability) bu yaklaşımı kullanan modelleme örnekleridir.
Yapay zeka tabanlı modeller: Bu yaklaşımı kullanan modelleme örneği olarak MULVAL verilebilir. MULVAL saldırı ağacı oluşturmak için gerekli bilgileri Datalogverileri olarak alır ve mantıksal analiz aracında derleyerek saldırı ağacı oluşturur.
Ontoloji tabanlı modeller: Tehdit, zafiyet, istismar, ağ topolojisi vb. bilgilerin ontolojik olarak tanımlanmasına dayalı modellerdir. Bu modele ilişkin olarak halihazırda sadece teorik çalışmalar mevcuttur. Kapsamlı ve yeterli detayda tanımlanmış ontolojik modeller henüz mevcut olmadığı için bu yaklaşım ile gerçek hayatta uygulanabilir saldırı ağaçları oluşturulması mümkün değildir.
Saldırı ağaçlarının oluşturulması için yukarıda sıralanan her üç modelde de ihtiyaç duyulan veriler ise şunlardır:
Bilgi sistem ağının topolojisi ve bu ağ üzerinde var olan cihazlar (Aktif ağ cihazları, sunucular, kullanıcı bilgisayarları).
Bilgi sistem ağı üzerindeki cihazlar arasındaki erişilebilirlik verisi: Güvenlik duvarı, IDS/IPS cihazları, anahtar ve dağıtıcı konfigürasyonları dikkate alınarak hangi cihazlardan hangi cihazlara erişim sağlanabildiği.
Bilgi sistem ağı üzerindeki yazılımsal zafiyetler: Zafiyet tarama araçları ile elde edilen zafiyet bilgileri.
Tehdidin konumu ve sahip olduğu yetki ve yetenekler.