macOS SIP
WhiteIntel, şirketin veya müşterilerinin hırsız kötü amaçlı yazılımlar tarafından kompromize edilip edilmediğini kontrol etmek için ücretsiz işlevler sunan dark-web destekli bir arama motorudur.
WhiteIntel'in başlıca amacı, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Websitesini ziyaret edebilir ve ücretsiz olarak motorlarını deneyebilirsiniz:
Temel Bilgiler
macOS'taki Sistem Bütünlük Koruması (SIP), en yetkili kullanıcıların bile ana sistem klasörlerine izinsiz değişiklikler yapmasını engellemeyi amaçlayan bir mekanizmadır. Bu özellik, korunan alanlarda dosya eklemeyi, değiştirmeyi veya silmeyi kısıtlayarak sistemin bütünlüğünü korumada kritik bir rol oynar. SIP tarafından korunan başlıca klasörler şunlardır:
/System
/bin
/sbin
/usr
SIP'nin davranışlarını belirleyen kurallar, genellikle sıkı SIP kısıtlamalarının istisnaları olarak işaretlenen yıldız (*) ile başlayan yolların bulunduğu /System/Library/Sandbox/rootless.conf
konfigürasyon dosyasında tanımlanmıştır.
Aşağıdaki örneği düşünün:
Bu parça, SIP'nin genellikle /usr
dizinini güvence altına aldığını, ancak değişikliklere izin verilen belirli alt dizinlerin (/usr/libexec/cups
, /usr/local
ve /usr/share/man
) yollarının önünde yer alan yıldız (*) işareti ile belirtildiğini ima etmektedir.
Bir dizinin veya dosyanın SIP tarafından korunup korunmadığını doğrulamak için ls -lOd
komutunu kullanarak restricted
veya sunlnk
bayrağının varlığını kontrol edebilirsiniz. Örneğin:
Bu durumda, sunlnk
bayrağı, /usr/libexec/cups
dizininin silinemeyeceğini ancak içindeki dosyaların oluşturulabileceğini, değiştirilebileceğini veya silinebileceğini belirtir.
Öte yandan:
İşte, restricted
bayrağı, /usr/libexec
dizininin SIP ile korunduğunu gösterir. Bir SIP korumalı dizinde, dosyalar oluşturulamaz, değiştirilemez veya silinemez.
Ayrıca, bir dosya com.apple.rootless
genişletilmiş özniteliği içeriyorsa, o dosya da SIP ile korunur.
SIP ayrıca diğer kök eylemleri de sınırlar:
Güvenilmeyen çekirdek uzantılarını yükleme
Apple tarafından imzalanan işlemler için görev portlarını alma
NVRAM değişkenlerini değiştirme
Çekirdek hata ayıklamaya izin verme
Seçenekler, bir bit bayrağı olarak nvram değişkeninde tutulur (csr-active-config
Intel için ve ARM için önyüklü Cihaz Ağacından lp-sip0
okunur). Bayrakları csr.sh
içindeki XNU kaynak kodunda bulabilirsiniz:
SIP Durumu
Sisteminizde SIP'in etkin olup olmadığını kontrol etmek için aşağıdaki komutu kullanabilirsiniz:
Eğer SIP'yi devre dışı bırakmanız gerekiyorsa, bilgisayarınızı kurtarma modunda yeniden başlatmanız gerekir (başlangıç sırasında Command+R tuşlarına basarak), ardından aşağıdaki komutu çalıştırın:
Eğer SIP'i etkin tutmak istiyorsanız ancak hata ayıklama korumalarını kaldırmak istiyorsanız, bunu şu şekilde yapabilirsiniz:
Diğer Kısıtlamalar
İmzasız çekirdek uzantılarının (kexts) yüklenmesine izin verilmez, yalnızca doğrulanmış uzantılar sistem çekirdeğiyle etkileşime geçebilir.
macOS sistem süreçlerinin hata ayıklanmasını engeller, çekirdek sistem bileşenlerini yetkisiz erişim ve değişikliklerden korur.
dtrace gibi araçların sistem süreçlerini incelemesini engeller, sistem işleyişinin bütünlüğünü daha da korur.
Bu konuda SIP bilgileri hakkında daha fazla bilgi edinin.
SIP Atlatmaları
SIP'nin atlatılması bir saldırganın şunları yapmasını sağlar:
Kullanıcı Verilerine Erişim: Tüm kullanıcı hesaplarından hassas kullanıcı verileri olan posta, mesajlar ve Safari geçmişi gibi verilere erişim sağlar.
TCC Atlatması: TCC (Şeffaflık, Onay ve Kontrol) veritabanını doğrudan manipüle ederek web kamerası, mikrofon ve diğer kaynaklara yetkisiz erişim sağlar.
Kalıcılık Oluşturma: SIP korumalı konumlara kötü amaçlı yazılım yerleştirerek, kök ayrıcalıklarıyla bile kaldırılamaz hale getirir. Bu ayrıca Kötü Amaçlı Yazılım Kaldırma Aracı'nı (MRT) değiştirme potansiyelini içerir.
Çekirdek Uzantılarını Yükleme: Ek güvenlik önlemleri olsa da, SIP'nin atlatılması imzasız çekirdek uzantılarını yükleme işlemini basitleştirir.
Yükleyici Paketler
Apple'ın sertifikasıyla imzalanan yükleyici paketler, bu korumaları atlayabilir. Bu, standart geliştiriciler tarafından imzalanan paketlerin bile SIP korumalı dizinleri değiştirmeye çalıştıklarında engelleneceği anlamına gelir.
Varolmayan SIP dosyası
Bir dosya rootless.conf
içinde belirtilmişse ancak şu anda mevcut değilse, oluşturulabilir. Kötü amaçlı yazılım, sisteme kalıcılık oluşturmak için bunu sömürebilir. Örneğin, kötü amaçlı bir program, /System/Library/LaunchDaemons
içinde bir .plist dosyası oluşturabilir, eğer rootless.conf
içinde listelenmişse ancak mevcut değilse.
com.apple.rootless.install.heritable
com.apple.rootless.install.heritable
yetkisi SIP'yi atlamaya izin verir
Sistemin kod imzasını doğruladıktan sonra yükleyici paketini değiştirmenin mümkün olduğu keşfedildi ve ardından sistem orijinal yerine kötü amaçlı paketi yüklerdi. Bu eylemler system_installd
tarafından gerçekleştirildiğinden, SIP'yi atlamaya izin verirdi.
Bir paket bir bağlanabilir görüntüden veya harici sürücüden yüklendiğinde, yükleyici binary'yi o dosya sisteminden (SIP korumalı konum yerine) çalıştırır, bu da system_installd
'nin keyfi bir binary çalıştırmasına neden olur.
CVE-2021-30892 - Shrootless
Bu blog gönderisinden araştırmacılar macOS'in Sistem Bütünlük Koruması (SIP) mekanizmasında 'Shrootless' açığı olarak adlandırılan bir zayıflık keşfedildi. Bu zayıflık, 'com.apple.rootless.install.heritable' yetkisine sahip olan system_installd
daemonu etrafında dönüyor ve bu yetki, SIP'nin dosya sistem kısıtlamalarını atlamak için herhangi bir alt işlemine izin verir.
system_installd
daemonu, Apple tarafından imzalanmış paketleri yükler.
Araştırmacılar, bir Apple imzalı paketin (.pkg dosyası) yüklenmesi sırasında, pakete dahil edilen herhangi bir son yükleme betiğinin system_installd
tarafından çalıştırıldığını bulmuşlardır. Bu betikler varsayılan kabuk olan zsh
tarafından yürütülür ve hatta etkileşimsiz modda bile varsa, /etc/zshenv
dosyasından otomatik olarak komutları çalıştırır. Bu davranış saldırganlar tarafından sömürülebilir: kötü niyetli bir /etc/zshenv
dosyası oluşturarak ve system_installd
'nin zsh
'yi çağırmasını bekleyerek, cihazda keyfi işlemler gerçekleştirebilirler.
Ayrıca, /etc/zshenv
'nin yalnızca bir SIP atlatma için değil genel bir saldırı tekniği olarak kullanılabileceği keşfedildi. Her kullanıcı profili, kök izinleri gerektirmeyen ancak her zsh
başladığında tetiklenen bir ~/.zshenv
dosyasına sahiptir. Bu dosya, her zsh
başladığında tetiklenen bir kalıcılık mekanizması olarak veya bir ayrıcalık yükseltme mekanizması olarak kullanılabilir. Bir yönetici kullanıcı sudo -s
veya sudo <komut>
kullanarak kök ayrıcalıklarına yükseldiğinde, ~/.zshenv
dosyası tetiklenir ve etkili bir şekilde kök ayrıcalıklarına yükselir.
CVE-2022-22583 kapsamında, aynı system_installd
işleminin, post-install betiğini /tmp
içindeki SIP tarafından korunan rastgele adlandırılmış bir klasöre yerleştirdiği ve bunun kötüye kullanılabildiği keşfedildi. /tmp
'nin kendisinin SIP tarafından korunmadığı gerçeği nedeniyle, bir sanal görüntüyü bağlamak, ardından yükleyicinin oraya post-install betiğini yerleştirmesi, sanal görüntüyü bağlamadan önce tüm klasörleri yeniden oluşturması ve yürütülecek payload ile post-installasyon betiğini eklemesi mümkün olmuştur.
fsck_cs
'nin sembolik bağlantıları takip edebilme yeteneği nedeniyle, kritik bir dosyanın bozulmasına neden olacak şekilde yanıltıldığı bir zayıflık tespit edildi. Özellikle, saldırganlar /dev/diskX
ile /System/Library/Extensions/AppleKextExcludeList.kext/Contents/Info.plist
dosyası arasında bir bağlantı oluşturmuşlardır. /dev/diskX
üzerinde fsck_cs
çalıştırmak, Info.plist
'nin bozulmasına neden olmuştur. Bu dosyanın bütünlüğü, çekirdek uzantılarının yüklenmesini kontrol eden SIP'nin (Sistem Bütünlük Koruma) için hayati önem taşır. Bozulduğunda, SIP'nin çekirdek hariç tutmaları yönetme yeteneği tehlikeye girer.
Bu zafiyeti sömürmek için kullanılan komutlar:
Bu zafiyetin sömürülmesinin ciddi sonuçları vardır. Normalde çekirdek uzantıları için izinleri yöneten Info.plist
dosyası etkisiz hale gelir. Bu, AppleHWAccess.kext
gibi belirli uzantıları karalisteleyememe gibi sonuçları da içerir. Sonuç olarak, SIP'nin kontrol mekanizması bozulduğunda, bu uzantı yüklenebilir ve sistem RAM'ine yetkisiz okuma ve yazma erişimi sağlayabilir.
Koruma önlemini atlamak için SIP korumalı klasörlerin üzerine yeni bir dosya sistemi bağlamak mümkün oldu.
Sistem, Install macOS Sierra.app
içindeki gömülü bir kurulum diski görüntüsünden önyükleme yapacak şekilde ayarlanmıştır ve işletim sistemini yükseltmek için bless
yardımcı programını kullanır. Kullanılan komut aşağıdaki gibidir:
Süreç güvenliği, bir saldırganın önyükleme işleminden önce yükseltme imgesini (InstallESD.dmg
) değiştirmesi durumunda tehlikeye girebilir. Strateji, bir dinamik yükleyiciyi (dyld) kötü amaçlı bir sürümle (libBaseIA.dylib
) değiştirerek saldırganın kodunun yürütülmesine neden olur.
Saldırganın kodu, yükseltme süreci sırasında kontrolü ele geçirir ve sistemin yükleyiciye olan güvenini sömürür. Saldırı, özellikle extractBootBits
yöntemine hedeflenen yöntem sarmalamayla InstallESD.dmg
imgesinin değiştirilmesi yoluyla devam eder. Bu, disk imajının kullanılmadan önce kötü amaçlı kodun enjekte edilmesine olanak tanır.
Ayrıca, InstallESD.dmg
içinde, yükseltme kodunun kök dosya sistemi olarak hizmet veren bir BaseSystem.dmg
bulunmaktadır. Buna bir dinamik kitaplık enjekte etmek, kötü amaçlı kodun işletilmesine olanak tanır ve OS seviyesinde dosyaları değiştirebilen bir işlem içinde çalışarak sistem tehlikesi potansiyelini önemli ölçüde artırır.
Bu DEF CON 31 konuşmasında, SIP'yi atlayabilen systemmigrationd
'nin bir bash ve bir perl betiğini nasıl yürüttüğü gösterilmektedir ve bu, env değişkenleri BASH_ENV
ve PERL5OPT
aracılığıyla kötüye kullanılabilir.
CVE-2023-42860
Bu blog gönderisinde detaylandırıldığı gibi, InstallAssistant.pkg
paketlerinden bir postinstall
betiği yürütülüyordu:
Ve ${SHARED_SUPPORT_PATH}/SharedSupport.dmg içinde bir sembolik bağ oluşturmak mümkündü ve bu, bir kullanıcının SIP korumasını atlayarak herhangi bir dosyayı kısıtlamadan açmasına izin verirdi.
com.apple.rootless.install
com.apple.rootless.install
yetkisi SIP'i atlamaya izin verir
com.apple.rootless.install
yetkisi, macOS'ta Sistem Bütünlüğü Koruması'nı (SIP) atlamak için bilinmektedir. Bu özellik özellikle CVE-2022-26712 ile ilişkilendirilmiştir.
Bu özel durumda, /System/Library/PrivateFrameworks/ShoveService.framework/Versions/A/XPCServices/SystemShoveService.xpc
konumunda bulunan sistem XPC servisi bu yetkiye sahiptir. Bu, ilgili işlemin SIP kısıtlamalarını atlamasına olanak tanır. Ayrıca, bu servis, güvenlik önlemleri uygulamadan dosyaların taşınmasına izin veren bir yöntem sunar.
Mühürlü Sistem Anlık Görüntüleri
Mühürlü Sistem Anlık Görüntüleri, Apple'ın macOS Big Sur (macOS 11)'de tanıttığı bir özelliktir ve ek bir güvenlik ve sistem kararlılığı katmanı sağlamak amacıyla Sistem Bütünlüğü Koruması (SIP) mekanizmasının bir parçasıdır. Bunlar esasen sistemin sabit diski için salt okunur sürümlerdir.
İşte daha detaylı bir bakış:
Değişmez Sistem: Mühürlü Sistem Anlık Görüntüleri, macOS sistem diskinin "değişmez" olmasını sağlar, yani değiştirilemez. Bu, güvenliği veya sistem kararlılığını tehlikeye atabilecek herhangi izinsiz veya kazara değişiklikleri önler.
Sistem Yazılım Güncellemeleri: macOS güncellemelerini veya yükseltmelerini yüklediğinizde, macOS yeni bir sistem anlık görüntüsü oluşturur. macOS başlangıç diski daha sonra bu yeni görüntüye geçmek için APFS (Apple Dosya Sistemi) kullanır. Güncellemelerin uygulanma süreci, sistem güncellemesi sırasında bir sorun çıkarsa sistem her zaman önceki görüntüye geri dönebilir.
Veri Ayrımı: macOS Catalina'da tanıtılan Veri ve Sistem diski ayrımı kavramı ile birlikte, Mühürlü Sistem Anlık Görüntüleri özelliği, tüm veri ve ayarlarınızın ayrı bir "Veri" diskinde depolandığından emin olur. Bu ayrım, verilerinizi sisteme bağımlı olmaktan kurtarır, bu da sistem güncellemelerinin sürecini basitleştirir ve sistem güvenliğini artırır.
Bu anlık görüntülerin macOS tarafından otomatik olarak yönetildiğini ve APFS'nin alan paylaşım yetenekleri sayesinde diskinizde ekstra alan kaplamadığını unutmayın. Ayrıca, bu anlık görüntülerin, tüm sistemin yedeklerini kullanıcı erişimine açık olan Zaman Makinesi anlık görüntülerinden farklı olduğunu belirtmek önemlidir.
Anlık Görüntüleri Kontrol Et
diskutil apfs list
komutu, APFS birimlerinin ve düzenlerinin ayrıntılarını listeler:
Önceki çıktıda kullanıcı erişilebilir konumların /System/Volumes/Data
altında bağlandığı görülebilir.
Ayrıca, macOS Sistem hacmi anlık görüntüsü /
altında bağlanmış ve mühürlü (işletim sistemi tarafından kriptografik olarak imzalanmış) durumdadır. Bu nedenle, eğer SIP atlanırsa ve değiştirilirse, işletim sistemi artık başlatılamaz.
Mührün etkin olup olmadığını doğrulamak için şu komutu çalıştırmak da mümkündür:
Ayrıca, anlık disk de salt okunur olarak bağlanır:
WhiteIntel, şirketin veya müşterilerinin hırsız kötü amaçlı yazılımlar tarafından kompromize edilip edilmediğini kontrol etmek için ücretsiz işlevler sunan dark-web destekli bir arama motorudur.
WhiteIntel'in asıl amacı, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Websitesini ziyaret edebilir ve motorlarını ücretsiz deneyebilirsiniz:
Last updated