Günümüzde macOS işletim sistemlerinin zararlı yazılım tehditlerinden zarar görmeyeceği veya karmaşık olmayan zararlı yazılımlar tarafından tehdit edildiğine dair oldukça iyimser iddialar sıkça duyulmaktadır. Bu yazıda IT uzmanlarının macOS işletim sistemine yönelik tehditlerin analiz edilmesi sırasında dikkat etmesi gereken konular, karşılaşılan zorluklar ve gereksinimlere dikkat çekilecektir.
CrowdStrike ekibinin yaptığı işlerde attığı ilk adım, kullanıcıların güvenliklerini arttırmak için tehdit ortamını ve bu tehdidin nasıl ilerlediğini anlamaktır. 2021 yılında gerçekleşen ve en yaygın olarak karşılaşılan macOS işletim sistemi üzerindeki zararlı yazılım türlerinin dağılımına bakıldığında %43 ile fidye yazılımı, %35 ile arka kapı açığı ve %17 ile truva atı en yaygın saldırı türleri olarak belirlenmiştir. Bu inceleme, kurum içi ve açık kaynaklardan alınan verilere dayanmaktadır. Buna göre;
- EvilQuest (fidye yazılımı), OSX.FlashBack (arka kapı) ve OSX.Lador (truva atı), bulunduğu kategorilerde en büyük tehditlerdir.
- Kullanıcı güvenliğini arttırmak için CrowdStrike uzmanları sürekli olarak macOS tehditlerinin nasıl hareket ettiğini analiz ederek otomatik tespit yeteneklerini geliştirmektedir.
Bu belirtilen her kategorideki tehdidin farklı amaçları bulunmaktadır. Fidye yazılımları genelde para elde etme, arka kapı açıkları uzaktan erişim sağlama ve truva atları veri hırsızlığı için kullanılmakta ve bu yazılımları kullanan saldırganların genellikle temel motivasyonları bunlar olmaktadır.
OSX.EvilQuest, 2021 yılında ölçülen %98 oranıyla en sık karşılaşılan macOS fidye yazılım tehdidi olarak karşımıza çıkmıştır. Öte yandan arka kapı yazılımlarında %31 oranla OSX.FlashBack ve truva atlarında OSX.Lador %47 oranla en sık karşılaşılan zararlı yazılımlardır.
CrowdStrike Falcon®, macOS tehditlerini tespit edebilmesi için sürekli olarak geliştirilen bir platformdur. CrowdStrike uzmanları, macOS işletim sistemine yönelik herhangi bir şüpheli eyleme ait kalıntıyı, CrowdStrike’ın otomatik makine öğrenimi ve davranış tabanlı koruma yeteneklerini geliştirmek için inceleyerek, sürekli olarak tehdit avı, analiz ve kavrama süreçlerini yürütmektedir.
Elma’yı Isırmak
macOS işletim sistemine yönelik zararlı yazılımların araştırılması, dosya tiplerine göre zararlı yazılımların sınıflandırılmasıyla başlar. İkinci adımda zararlı yazılımın genel davranışı, yetenekleri ve hedefleri incelenir. Son adımda ise zararlı yazılımın analizi sırasında kaşılaşılan engellerle mücadele edilir.
macOS işletim sistemlerine yönelik tehditlerin amacı, diğer işletim sistemlerine yönelik tehditlerle aynıdır. Casusluk, arama, kripto madencilik, dosya şifreleme, uzaktan erişim ve reklam ajanlarına yönelik sızma bu tip saldırıların başlıca amaçlarıdır.
MacOS Tehditlerinde Dosya Tiplerini Sınıflandırma
Zararlı yazılım geliştiricileri, kullanıcıları kandırmak için dosya tiplerini gizler veya maskeler. Dosya tipi tanımlama işlemi, aynı zamanda analiz sürecinde gerekli araçların belirlenmesine de yardımcı olur. Aşağıda bulunan şema, macOS’a yönelik zararlı dosya tiplerine yönelik genel bir görünüm sağlamaktadır.
Her ne kadar çoğu zararlı yazılım ikili kod (binary) yapısında olarak derleniyor olsa da, bir çok ikili olmayan dosya tiplerinin varlığı da genel olarak macOS’e yönelik zararlı yazılım analizi sırasında ortaya çıkmaktadır. İki durumun da tehditler açısından avantajları ve dezavantajları bulunmaktadır.
- Apple disk imaj dosyalarındaki .DMG tercih edilen bir uzantıdır, çünkü çalıştırıldığında otomatik olarak yüklenir. OSX.EvilQuest ve OSX.Shlayer zararlı yazılımları tipik olarak bu dosya tipini kullanır.
- Paket (.pkg, .mpkg) dosya tipleri, zararlı yazılım geliştiricilerine, kurulum işlemi sırasında otomatik olarak yükleme imkanı sağlayan ön kurulum ve kurulum sonrası kullanılan komut dizilerini yerleştirebilmelerine olanak sunar. Örneğin OSX.EvilQuest, .DMG uzantılı dosya oluşturulduktan sonra /Library/mixednkey/ dizinininde toolroomd isimli zararlı paketi yerleştirecek şekilde bir yöntem izlemektedir.
- Popüler bir kripto madencilik uygulaması olan OSX.OSAMiner gibi tehditler, run-only olan AppleScripts veya AppleScript türevleri üzerinden otomatik olarak tekrarlanan görevler oluşturacak şekilde sistemi suistimal eder.
Dağıtım ve Bulaştırma Vektörleri
Bir zararlı yazılımın yayılmasını sağlamak için kullanılan genel metodlar içinde kullanıcıları ilgili yazılımın kurulumu için kandırmaya yönelik sosyal mühendislik taktikleri bulunmaktadır. Sahte güncelleme paketleri, sahte uygulamalar, truva atı gömülü uygulamalar ve meşru uygulamaların içeriği değiştirilmiş versiyonları kullanıcıları kandırmaya yönelik metodların başlıcalarıdır.
Örneğin OSX.EvilQuest fidye yazılımı, popüler ses karıştırıcı (audio mixer) uygulamalarını taklit ederken, OSX.Lador gibi truva atları; zararlı eklenti, kırılmış uygulamalar, ücretsiz programlar ve sahte güncelleme paketleri içeren e-postalar üzerinden dağıtılır.
OSX.EvilQuest fidye yazılımının sahte Mixed in Key DJ uygulaması üzerinden kurulumu
OSX.XCSSET gibi zararlı yazılım türevleri zararlı kod içeren dokümanlar veya Xcode, Apple IDE gibi yazılımlara yönelik saldırılar ile dağıtılmaktadır. Daha karmaşık saldırılar, farklı uygulamalarda bulunan açıklardan veya sorunlu olan işletim sistemi çekirdekleri veya erişim hesaplarından faydalanmaktadır. Örneğin daha eski OSX.FlashBack arka kapı yazılımı türevleri, Java’da bulunan açıklardan yararlanarak hedef cihazda sorunlar yaratmaktadır.
Dağıtım ve zararlıların türevlerini anlamak, uzmanların güvenlik için katmanlı bir yaklaşım geliştirmelerine ve ihlalleri önlemek için koruma yeteneklerine sahip olmalarına yardımcı olur.
Süreklilik ve Taktikler
macOS’a yönelik zararlı yazılımlar dahil çoğu tehditler sistemlerin yeniden başlatılması sonrasında da süreklilik sağlamaya çalışırlar. Taktiklerin sürekliliğini anlamak ve analiz etmek, uzmanların davranış tabanlı olarak tespitler gerçekleştirmesine ve otomatik makine öğrenimi tespitleri konusunda geliştirme yapmalarına olanak sağlar.
MacOS’ta bulunan “Login Items”, genel olarak taktiklerin sürekliliğine maruz kalan genel bir araçken, bu şekilde bir sürekliliğe maruz kalan bir diğer araç ise “Launch Items”dır. Launch Items üzerinden zararlı bir yazılımla programlanmış görevler veya ertelenmiş görevler gerçekleştirilebilmektedir.
Dylib’lerin ele geçirilmesi, özellikle ikili kodlarda rastlanılan ve tespit edilmesi en zor saldırılardan birisidir. Örneğin; OSX.FlashBack arka kapı saldırılarının 2012 yılında çıkan türevlerinde DYLD_INSERT_LIBRARIES ortam değişkeni üzerinden işlem içine yükleme sırasında zararlı kütüphaneler enjekte edilirken (yükleme sırasında dinamik yükleyici DYLD_INSERT_LIBRARIES değişkenini inceler ve tüm belirlenmiş kütüphanelerde yükleme yapar); diğerleri çoklu lokasyonlardan dinamik kütüphaneler yükleyen bir uygulama üzerinden zararlı bir dylib dosyasını sisteme ekleme tekniğini kullanır. Fakat Apple, uzun süreden beri güvenlik seviyesini arttırmış ve DYLD_INSERT_LIBRARIES değişkenine dayalı suistimalleri azaltmıştır.
Zararlı Yazılım Analizi Sırasında Karşılaşılan Zorluklar
Hedeflenen platform farketmeksizin bir çok zararlı yazılım; dize tabanlı gizleme, kod gizleme ve şifreleme gibi analizi zorlaştırıcı anti-statik analiz yöntemleri kullanmaktadır. Komut dizileri, ikili kodlarla paketleme veya şifreleme işlemleri yaparken genelde fonksiyonları ve değişken isimlerini rastgele kullanırken bir yandan da istenmeyen ve gereksiz olan kodlar ekleyen kod gizleme araçları da kullanırlar.
MacOS’a yönelik zararlı yazılımlar aynı zamanda hata ayıklama araçlarını algılayıcı taktikler kullanarak uzmanların analiz yapmasını zorlaştırır. Bu tip taktikler; sysctl API tarafından işlemin hata ayıklama pozisyonunda olup olmadığının kontrol edilmesi; hata ayıklama aracının işleme ek yapmasını önlemek için ptrace sistem araması yapılması veya cihaz hakkında bilgi toplamak için bütünleşik macOS komutlarının kullanılmasını içerir.
EvilQuest’i Anlamak
Bu noktada, 2020 yılının ortasında ortaya çıkan OSX.EvilQuest fidye yazılımının, sanal cihazlar ve hata ayıklama işlemlerinden nasıl kaçındığını incelemek yerinde olacaktır.
- Çalıştıktan hemen sonra OSX.EvilQuest ilk olarak sanal bir cihazın çalışıp çalışmadığını belli bir sandbox ortamında 0x0000000100007BC0 olan başlangıç adresinde is_virtual_mchn fonksiyonunu kullanarak kontrol eder.
- EvilQuest bu denetimi bir uyku işlevi kullanarak ve zaman işlevini iki kez çağırarak gerçekleştirir; iki zaman işlevi arasındaki fark, kötü amaçlı yazılımın uyku modunda kullandığı süreyi getirmesidir, ancak korumalı alanlar genellikle analizi hızlandırmak için uyku işlevlerine yama yaptığından, iki zaman damgası arasında farklar oluşacaktır ve kötü amaçlı yazılım bu sayede bir sandbox ortamında çalıştığını anlayacaktır.
- Bu tipte bir zararlı yazılım, ikili kodda kök dizine ait olmayan bir değişkene bağlı olarak bir arka plan süreci veya çalıştırma ajanı olarak aktif olduğunu belirlemek için iki farklı analiz önleyici metodu sisteme eklemektedir. Bu iki metoddan ilki (0000000100007AA0 adresinde başlayan is_debugging fonksiyonu) zararlı yazılımın hatalarının ayıklanıp ayıklanmadığını kontrol etmek için, ikincisi (0000000100007C20 adresinde başlayan prevent_trace fonksiyonu) ise PT_DENY_ATTACH bayrağı ile ptrace çağrısını kullanarak hata ayıklama işlemini önlemek içindir.
- EvilQuest, ptrace fonksiyon çağırma özelliğini kullanarak, uzmanların fonksiyon çağırma işlemini tespit etmelerini zorlaştırır veya hata ayıklayıcıda bulunan ikili kodu yamalayarak by-pass eder.
MacOS için CrowdStrike Koruması
MacOS’e yönelik eğilimler ve zararlı yazılım davranışları üzerinde yapılan sürekli araştırmalar, CrowdStrike’ın otomatik tespit yeteneklerini genişletmek ve kullanıcılar için daha iyi bir güvenlik sağlamak için birer uzmanlık alanına dönüşmüştür.
OSX.EvilQuest zararlısı örneğinin (sha256: 5a024ffabefa6082031dccdb1e74a7fec9f60f257cd0b1ab0f698ba2a5baca6b) CrowdStrike Falcon ile tespiti
Tehlike Belirtileri (IOC)
Dosya tipini tanımlama, davranış tespiti, hedefleri algılama, muhtemel tehditlere ait potansiyel süreklilik mekanizmalarını anlama ve muhtemel engelleri bilme, bir uzmanın potansiyel bir zararlıyı analiz ederken daha iyi bir güvenlik sistemi geliştirmesinde kendisinde muhakkak bulundurması gereken özelliklerdir.
Detaylı bilgi için: