Mor ekip oluşturma ve tehdit sınıflandırmasının rolü


Kuruluşlar, sistemleri genelinde tehditlerin optimum düzeyde tespit edilmesini ve önlenmesini sağlamak için sürekli çalışır. Bir soru tekrar tekrar soruluyor: “Tespit edebilmemiz gereken tehditleri tespit edebilir miyiz?”

saldırı tekniği çeşitleri

Kırmızı takım değerlendirmesi, penetrasyon testi ve hatta mor takım değerlendirmeleri (şu anki haliyle) bu soruları yanıtlamak için tasarlanmıştır. Ne yazık ki, saldırılar karmaşıklaştıkça bu değerlendirmeler kapsamlı yanıtlar sağlamakta zorlanıyor. Nedenmiş?

Cevap: çeşitlilik. Bu değerlendirme hizmetleri genellikle savunmayı on ila yirmi saldırı tekniğine karşı test eder ve her tekniğin yalnızca bir (veya bazı nadir durumlarda birkaç) varyasyonunu kullanır. Ama her tekniğin binlerce, milyonlarca çeşidi olabilir (aslında incelediğim bir tekniğin 39.000, diğerinin ise 2,4 milyon varyasyonu vardı).

Bir organizasyonun gerçekten korunup korunmadığını veya kırmızı takımın kullandığı özel teknik varyantına göre mi hazırlandığını anlamak zor. Bir saldırgan aynısını mı kullanacak? Ellerinde binlerce seçenek varken bu pek mümkün değil.

Sonuç olarak birçok kuruluş, kırmızı ve mavi ekiplerin güvenlik değerlendirmelerine daha kapsamlı ve işbirlikçi bir yaklaşım getirmek için birlikte çalıştığı mor ekip çalışmasını benimsemeye başladı. Ancak takımlar, tüm bu varyasyonları hesaba katmadıklarında (veya anlamadıklarında) her saldırı tekniğinin olası varyasyonlarından oluşan devasa buluta karşı nasıl savunma yapabilirler? Bu nedenle mor takım değerlendirmelerinin gelişmesi gerektiğine inanıyorum.

Saldırı çeşitlerini kataloglama

Bana göre savunmaları değerlendirmenin daha kapsamlı bir yolu, onları temsili bir saldırı tekniği varyantları örneğiyle test etmektir.

Açıkçası, bir saldırı tekniğinin her bir varyantını test etmek (2,4 milyon varyant bulduğum gibi) pratik değil. Ekipler öncelikle hangi teknikleri test etmek istediklerine karar vermeli, ardından bu saldırıların çeşitlerini ellerinden gelen en iyi şekilde kataloglamalı ve son olarak bu çeşitlerin temsili bir örneğini seçmelidir.

Bu örnekleme çok çeşitli olmalıdır. Savunmacıların örneklerinin “arasındaki” değişkenleri tespit edeceğini, ancak örneklerinin kapsamı dışındaki değişkenleri tespit etme olasılıklarının daha düşük olduğunu makul bir şekilde varsayabiliriz. Dar bir örneklem, daha fazla değişkeni dışarıda bırakır ve savunmalarının, düşmanın kullanabileceği çeşitli potansiyel tekniklere karşı nasıl performans göstereceğine dair daha az bilgi sağlar. Ancak çeşitli örneklerin seçilmesi, söylenenden daha kolaydır.

Saldırı tekniklerinin temsili bir örneğini seçmek zordur çünkü siber güvenlikte bir saldırının çeşitlerini kataloglayacak iyi bir sistem yoktur. Sahip olduğumuz sistem çok fazla detayı gözden kaçırıyor.

Geleneksel olarak siber güvenlikte saldırı teknikleri üç seviyeye ayrılır: taktikler (Persistence gibi), teknikler (Kerberoasting gibi) ve prosedürler (Will Schroeder tarafından oluşturulan Invoke-Kerberoast aracı gibi bir tekniği uygulamak için özel araçlar veya adımlar). Ancak bu model, özellikle “prosedürler” kategorisinde çok fazla detay kaybediyor. Örneğin, Kimlik Bilgisi Boşaltma gibi bir teknik, Mimikatz veya Dumpert gibi birçok farklı prosedürle gerçekleştirilebilir. Her prosedür, çeşitli farklı işlev çağrıları dizilerine sahip olabilir. Bir prosedürün ne olduğunu tanımlamak çok çabuk zorlaşıyor!

Sektör bu sorunu nasıl çözebilir? Saldırı tekniklerini değerlendirirken değerlendirmelerin beş veya altı seviyeye bakması gerektiğine inanıyorum: taktikler, teknikler, alt teknikler, prosedürler (belki), operasyonlar ve işlevler. Son dördü, ekiplerin bu kitlesel varyasyonu hesaba katmasına olanak tanıyor ve tek bir tekniğin, hepsi teknik olarak benzersiz olan on veya yüzbinlerce varyanta sahip olabileceği gerçeğini ortaya koyuyor.

Bunu daha iyi anlamak için bu seviyelerin her biri hakkında daha fazla ayrıntıya girelim.

  • Taktikler – Saldırı sırasında kısa vadeli, taktiksel düşman hedefleri. Taktik örnekleri arasında Savunmadan Kaçınma ve Yanal Hareket yer alır (tanımlar ve örnekler MITRE ATT&CK çerçevesindendir).
  • Teknikler – Rakiplerin taktiksel hedeflere ulaşma araçları. Örneğin, İşlem Enjeksiyonu ve Rootkit’in her ikisi de yukarıda bahsedilen Savunmadan Kaçınma taktiğini gerçekleştirmek için kullanılan tekniklerdir.
  • Alt teknikler – Rakiplerin taktiksel hedeflere tekniklerden daha düşük bir düzeyde ulaşmasını sağlayan daha spesifik araçlar. Örneğin, Dinamik Bağlantı Kitaplığı Ekleme ve Eşzamansız Prosedür Çağrısı, İşlem Eklemenin iki farklı türüdür.
  • Operasyonlar – (Alt)tekniği uygulamak için hedef sistem/ortamdaki kaynaklara karşı yapılması gereken belirli eylemleri temsil eden bir soyutlama. Genellikle tek bir işlem (İşlem Açma gibi), aşağıda gösterildiği gibi birden fazla API işlevi için bir kategori görevi görür.
    • Eski. 1 – İşlem Açma -> Bellek Tahsisi -> İşlem Yazma -> Konu Oluşturma
    • Eski. 2 – İşlem Açma -> Bölüm Oluştur -> Bölüm Haritası (yerel) -> Bölüm Haritası (uzak) -> Konu Oluştur
  • Fonksiyonlar – Belirli bir aracın zincirdeki işlemleri uygulamak için çağırdığı gerçek API işlevleri. İşletim sistemi genellikle geliştiricilerin aralarından seçim yapabileceği çok sayıda neredeyse aynı işlevi sağlar. Ancak bir fonksiyondan diğerine olan fark, tespitin atlanması için yeterli olabilir. Yukarıda paylaştığım ilk Operasyon örneği için iki farklı fonksiyon dizisi:
    • Eski. 1 – OpenProcess -> VirtualAllocEx -> WriteProcessMemory – CreateRemoteThread
    • Eski. 2 – NtOpenProcess -> NtAllocateVirtualMemory -> NtWriteVirtualMemory -> NtThreadCreate

Bu yaklaşımda “Prosedür”ü “bir işlemler zinciri” olarak tanımlıyorum. Bu, diğer tanımlardan daha az kesindir. Bunu bu kırılımın içine dahil etmek bazen yararlı olur, bazen olmaz. Her iki durumda da, bu beş veya altı katmanlı model, saldırı tekniklerinin karmaşıklığını daha iyi yakalıyor (bence) ve savunmacıların daha çeşitli test senaryoları seçmesine yardımcı olabilir.

Değerlendirme hizmetleri, güvenlik duruşunu doğrulamak için güçlü bir yol sunar, ancak kapsamlı olmalarını beklersek, saldırı tekniği çeşitliliği sorununu ele almaları gerekir. Bu modelleri oluşturma şeklimizi sürekli geliştirerek verimliliği artırabilir ve daha iyi sonuçlar elde edebiliriz.



Source link