FireAI Güvenlik Blogu

Yazan FireAI Security & Research Team · Yayınlandı

macOS’ta gelişmiş tehdit tespiti: katmanlar gerçekte ne yapar

macOS’ta gelişmiş tehdit tespiti: katmanlar gerçekte ne yapar

Mac için kendine “gelişmiş tehdit tespiti” diyen her ürün, çoğu Apple tarafından belgelenmiş az sayıda mekanizma üzerine kuruludur. Belirli bir özelliğin hangi mekanizmaya dayandığını bilmek, size onun gerçekten neyi görebildiğini ve neye kör olduğunu söyler. Bu yazı o katmanları tek tek ele alıyor: imza nedir, noter onayı neyi kontrol eder, Apple’ın Endpoint Security çerçevesi güvenlik yazılımlarına neyi açar, davranış analizi pratikte ne anlama gelir ve ağ bağlantılarını izleyen bir model neyi yargılayabilir, neyi yargılayamaz.

Kısa özet şu: hiçbir katman tek başına her şeyi görmez. Bir dosya tarayıcısı hiçbir zaman bir bağlantıyı görmez. Bir ağ izleyicisi hiçbir zaman bir dosyayı görmez. Bu sınır konusunda dürüst olan ürünler, onu bulanıklaştıranlardan daha faydalıdır.

Birinci katman: imzalar (XProtect)

En eski tespit tekniği imzadır: bilinen bir zararlı yazılım parçasıyla eşleşen bir desen. Mac’te bu iş XProtect’e aittir. Apple’ın Platform Güvenliği Kılavuzu, Zararlı yazılımlara karşı koruma sayfasında XProtect’i imza tabanlı olarak tanımlar ve üç anda çalıştığını söyler: bir uygulama ilk kez başlatıldığında, bir uygulama diskte değiştirildiğinde ve XProtect’in imzaları güncellendiğinde.

Apple bu yaklaşımın erişimi konusunda açık sözlüdür. Aynı sayfa, XProtect kurallarının “belirli bir dosya karmasından daha genel” olduğunu ve bu sayede “Apple’ın görmediği varyantları bulabildiğini” belirtir; ayrıca enfeksiyonları sonradan temizleyen bir düzeltme motorundan söz eder. Bir imzanın yapısı gereği yapamayacağı şey, henüz kimsenin kural yazmadığı bir şeyle eşleşmektir. Diğer bütün katmanlar tam da bu boşluğu daraltmak için vardır.

İkinci katman: noter onayı ve Gatekeeper

İkinci katman, bir uygulama ilk kez açılmadan önce çalışır. Apple’ın Gatekeeper ve çalışma zamanı koruması sayfası, Gatekeeper’ın indirilen bir uygulamanın kimliği belirli bir geliştiriciden geldiğini, Apple tarafından noter onayından geçtiğini ve değiştirilmediğini doğruladığını, indirilen yazılımı açmadan önce de kullanıcının onayını istediğini açıklar. Noter onayının kendisi, Apple’ın Developer ID ile imzalanmış yazılımı dağıtılmadan önce taradığı bir işlemdir; Apple’ın kılavuzu, daha önce onaylanmış olsa bile zararlı olduğu anlaşılan yazılımlar için sonradan bir iptal bileti yayımlayabildiğini ekler.

Bu katman kapıdaki bir kontroldür. “Bunu kimin yaptığını biliyor muyuz ve Apple bariz bir sorun buldu mu?” sorusunu yanıtlar. Uygulama içeri girdikten sonra onu takip etmez. Kapıdan geçip ardından kötü davranan bir uygulama ya da bir güncellemeden sonra davranışı değişen bir uygulama, o andan itibaren Gatekeeper’ın görüş alanının dışındadır.

Üçüncü katman: Endpoint Security çerçevesi

Mac’teki üçüncü taraf tespit ürünleri, genellikle EDR (uç nokta tespit ve müdahale) denen kategori, büyük ölçüde tek bir Apple API’si üzerine kuruludur: Endpoint Security çerçevesi. Apple bunu macOS 10.15’te tanıttı; böylece güvenlik yazılımları, Apple’ın aşamalı olarak emekliye ayırdığı çekirdek uzantılarını yüklemek yerine sistem olaylarının akışını (bir sürecin başlatılması, bir dosyanın açılması veya yazılması, bir görevin oluşturulması) kullanıcı alanından alabiliyor.

Süreç ağaçlarını gören katman budur: hangi süreç hangisini, hangi argümanlarla başlattı, hangi dosyalara dokundu. “Davranış analizi” de genellikle bu katmanda yaşar. Davranışsal tespit, bir sürecin yaptıklarını bilinen bir dosyayla değil, bilinen saldırgan teknikleriyle karşılaştırmak demektir. Bu tekniklerin herkese açık referansı, ilk erişim ve kalıcılıktan komuta-kontrol ve veri sızdırmaya kadar taktikleri kataloglayan ve her birini belirli, gözlemlenebilir tekniklere ayıran macOS için MITRE ATT&CK matrisidir.

Davranış analizinin gerçek bir bedeli vardır: meşru bir nedenle başlatma ajanları yazan, anahtar zincirini okuyan ya da kabuk komutları çalıştıran bir uygulama, yalnızca olay akışına bakıldığında bunu kötü niyetle yapan bir uygulamaya çok benzer. Her EDR üreticisi bu dengeyi farklı ayarlar ve hiçbiri dışarıdan birinin karşılaştırma yapmasına yetecek ayrıntıyı yayımlamaz. Güvenle söylenebilecek şey, bu katmanı çalıştırmanın ya ücretli bir ürün ya da hatırı sayılır bir uzmanlık gerektirdiğidir. Bireyler için kâr amacı gütmeyen Objective-See Foundation, aynı Apple çerçeveleri üzerine kurulu ücretsiz ve açık kaynaklı araçlar yayımlar; çalışan süreçleri incelemek için TaskExplorer ve otomatik başlayacak şekilde ayarlanmış olanları listelemek için KnockKnock gibi.

Dördüncü katman: bellek ve dosya içeriği

Endpoint Security katmanının bile altında iki tür analiz yer alır: bir dosyanın içeriğini derinlemesine incelemek (statik analiz, yani bir antivirüs tarayıcısının yaptığı şey) ve çalışan bir sürecin belleğini incelemek. Bir programın gerçekte ne içerdiğini bilmenin tek yolu bunlardır ve antivirüs ile adli analiz araçlarının alanıdır. Pazarlama metinleri çoğu zaman aksini ima ettiği için açıkça söylemekte fayda var: bir güvenlik duvarı, FireAI dahil, bunların hiçbirini yapmaz. FireAI dosyaları taramaz, süreç belleğini okumaz ve bir antivirüs değildir.

Beşinci katman: ağ

Son katman, diğerlerinin ulaşamadığı katmandır. Bir saldırganın Mac’e kod yerleştirdikten sonra yapmak istediği neredeyse her şey ağı içerir: ikinci bir aşamayı indirmek, bir kontrol sunucusuna rapor vermek, çalınan veriyi dışarı göndermek. ATT&CK matrisinde bu adımların, komuta-kontrol ve veri sızdırma olarak kendi sütunları vardır; çünkü bunlar ayrı ve gözlemlenebilir bir evredir.

Bir ağ katmanı, yukarıdaki katmanlardan farklı bir olgular kümesi görür. Her yeni giden bağlantı için onu hangi imzalı ikili dosyanın açtığını, hedef sunucuyu, IP’yi ve portu, protokolü, bağlantının şifreli olup olmadığını ve zamanlamayı bilir. Bu, insan ya da model olsun bir gözden geçirenin birkaç faydalı yargıya varması için yeterlidir:

  • Hedef itibarı: sunucu veya IP, abuse.ch, Spamhaus, Phishing Army ya da OpenPhish gibi herkese açık bir engelleme listesinde mi, yoksa bir Tor çıkış düğümü mü? Tehdit istihbaratı beslemeleri bir tahmin değil, liste araması yapar ve trafiği hiçbir yere göndermeden yerel olarak uygulanabilir.
  • İlk kez görülen ikili dosya: bu kod imzası bu Mac’te ilk kez mi bağlantı açıyor? Yeni yüklenmiş, imzasız ve hemen tanıdık olmayan bir IP’ye bağlanan bir araç, bir CDN’e bağlanan Safari’den farklı bir risktir.
  • Port ve protokol tuhaflıkları: 4444 portundan konuşan bir metin düzenleyici, sunucu adı yerine ham IP adresleri kullanan bir uygulama ya da uygulamanın hiçbir işi olmayan bir ülkeye bağlantı.
  • Düz HTTP üzerinden kimlik bilgileri: bir bağlantı şifrelenmemişse yük, Mac’ten çıkmadan önce okunabilir durumdadır ve açık metin olarak giden bir kart numarası, parola ya da API anahtarı tam o anda durdurulabilir.

FireAI’nin Private AI incelemesinin yaptığı şey budur. Küçük bir cihaz üzerinde model (isteğe bağlı 1,5 GB’lık bir indirme), bilinmeyen bir uygulamadan gelen her bağlantıya tam olarak yukarıda sayılan olguları kullanarak bakar ve onu ya engeller, ya işaretler ya da okuyup geri alabileceğiniz açık dilde bir gerekçeyle geçmesine izin verir. Karar Mac üzerinde verilir; trafik analiz için asla HisnLabs’e ya da başka birine gönderilmez.

Sınırlar da bir o kadar somuttur. Bir ağ gözden geçiricisi dosya içeriğini göremez; bu yüzden bir indirmenin çalışmadan önce zararlı olduğunu söyleyemez. Belleği göremez; bu yüzden güvenilen bir sürece enjekte edilmiş bir yükü tespit edemez ve zararlı kod imzalı, izin verilmiş bir uygulamanın arkasına saklanırsa trafiği o uygulamanın izinlerini devralır. TLS’i çözemez; bu yüzden şifreli bir bağlantıda yükü değil, hedefi ve deseni yargılar. Bir itibar beslemesi de yalnızca birinin zaten bildirdiği hedefleri bilir.

Katmanları bir araya getirmek

Bir yığın olarak okunduğunda tablo tutarlıdır. Noter onayı ve Gatekeeper, kodun içeri girip giremeyeceğine karar verir. XProtect, zaten kötü olduğu bilinenleri kaldırır. Endpoint Security tabanlı araçlar, süreçlerin ne yaptığını izler. Antivirüs ve adli analiz, dosya içeriğini ve belleği okur. Ağ katmanı, neyin dışarı çıktığını izler. Her biri diğerlerinin yanıtlayamadığı bir soruyu yanıtlar ve herhangi bir “gelişmiş tespit” iddiası için faydalı test basitçe şudur: bu, hangi katman ve o katman neyi görüyor?

Bu aynı zamanda katmanların neden birbiriyle rekabet etmediğini de açıklar. Bir EDR ürünü ile uygulama başına çalışan bir güvenlik duvarı aynı Mac’te çalışabilir ve asla aynı olguya bakmaz: biri süreç ağacını, diğeri bağlantı tablosunu okur. Uç nokta tespiti için zaten ödeme yapan bir şirket ikinci bir süreç izleyicisinden az şey kazanır; ama uygulama başına ve hedef başına neyin dışarı çıkmasına izin verildiğini söyleyebilmekten çok şey kazanabilir. Hiç EDR’si olmayan bir ev kullanıcısı ise yalnızca ağ katmanından, Apple katmanlarının hiçbir zaman göstermediği tek sinyali elde eder.

Çoğu Mac sahibi için pratik bileşim, güncel tutulan Apple’ın yerleşik katmanları artı Apple’ın size göstermediği tek evreye görünürlüktür: hangi uygulamalar nereye bağlanıyor. Bu, “her tehdidi durdurur” iddiasından daha dar bir vaattir ve gerçekten tutulabilecek olan da budur.

FireAI ve HisnLabs burada nereye oturuyor

FireAI is the network layer of that stack and nothing more: it does not scan files or read memory, but it is the one place every app’s outbound connection has to pass through, reviewed on your Mac by a model that explains what it saw.

FireAI, HisnLabs’in kendi ürünüdür: doğrudan Mac’inizde çalışan, yapay zekâ destekli bir güvenlik duvarı. Uygulamalarınızın kurduğu her bağlantıyı sade bir dille gösterir ve Mac’inizden neyin çıkacağına sizin karar vermenizi sağlar — yapay zekâsı yerel olarak çalışır, yani trafiğiniz asla bize ya da başka birine gönderilmez. HisnLabs güvenlik araştırma ekibi bu kararların isabetli kalmasını sağlayan ekiptir: hangi alan adlarının sıradan telemetri, hangilerinin gerçek bir hizmet olduğunu kataloglar, bir bağlantının ardındaki ülkeyi ve ağı izler ve cihaz üzerindeki modeli (Autopilot özelliği) gerçek trafik örüntüleriyle eğitir — üstelik bunların hiçbiri Mac’inizden dışarı çıkmadan.

Arkasındaki teknik kararları okuyabilir ya da FireAI’yi 17 gün boyunca deneyebilirsiniz: HisnLabs’ten FireAI.

Kaynaklar