macOS Privacy & Security ayarlarına neden güvenilemez
(eclecticlight.co)- macOS'taki Privacy & Security ayarlarının gerçek erişim izin durumunu yansıtamama sorunu doğrulandı
- Documents klasörü erişimi engellenmiş olsa bile Insent uygulamasının dosyaları hâlâ okuyabildiği bir durum ortaya çıkıyor
- Kullanıcı klasörü doğrudan seçtiğinde TCC sistemi bunu kasıtlı erişim olarak değerlendirip kısıtlamayı kaldırıyor
- Ayarlar ekranında engellenmiş gibi görünse de gerçekte sandbox kısıtlaması kalktığı için erişim verilmeye devam ediyor
- Erişimi tamamen engellemek için Terminal komutu ve yeniden başlatma gerekiyor; bu da kullanıcının denetimi kaybetmesi riskini doğurabiliyor
macOS Privacy & Security ayarlarının güvenilirlik sorunu
- macOS Privacy & Security ayarlarının gerçek erişim izin durumunu doğru yansıtamadığı bir örnek doğrulandı
- Basit bir uygulama olan Insent kullanılarak, Documents klasörü erişim izni ayarlarda engelli görünse bile gerçekte erişimin mümkün olduğu görüldü
- Bu sorun macOS 13.5 ve sonraki sürümlerde de aynı şekilde yeniden üretilebiliyor
-
Insent uygulamasının çalışma biçimi
- Open by consent düğmesi, kullanıcının onayını alarak Documents klasöründeki rastgele bir metin dosyasını açıp gösteriyor
- Open from folder düğmesi, kullanıcı klasörü doğrudan seçtiğinde içindeki dosyaları açıp gösteriyor
- İkinci durumda kullanıcının niyeti (intent) erişim izni olarak kabul ediliyor ve TCC (Transparency, Consent, and Control) sistemi ek onay olmadan erişime izin veriyor
-
Deney adımları ve sonuçlar
- Önce Documents erişimi verilip Insent'in dosyaları normal şekilde okuyabildiği doğrulanıyor
- Ardından Privacy & Security ayarlarında Insent'in Documents erişimi devre dışı bırakılınca erişim engelleniyor
- Ancak Open from folder ile Documents seçildiğinde erişim yeniden mümkün oluyor ve sonrasında Open by consent da kısıtlama olmadan çalışıyor
- Ayarlar ekranında erişim hâlâ engelli görünse de gerçekte Insent Documents klasörüne erişmeye devam edebiliyor
- Erişimi tamamen engellemek için
tccutil reset All co.eclecticlight.Insentkomutunun çalıştırılması ve Mac'in yeniden başlatılması gerekiyor
-
İç işleyiş analizi
- Insent, normal notarized bir uygulama ve sandbox ya da özel yetkiler kullanmıyor
- System Integrity Protection (SIP) etkinken bazı işlemler sandbox içinde yürütülüyor
sandboxd, dosya erişim isteklerini yakalayıp TCC'ye onay talebi gönderiyor; kullanıcı onay verirse erişime izin veriliyor- Erişim devre dışı bırakıldıktan sonra TCC erişimi reddediyor; ancak kullanıcı Open/Save paneli üzerinden klasörü seçerse sandboxd artık isteği yakalamıyor
- Bunun sonucunda TCC erişimi denetleyemiyor ve sandbox kısıtlaması kalkmış durumda klasör erişimi mümkün oluyor
-
Sorunun nedeni
- Kullanıcının niyetine dayalı bir erişim gerçekleştiğinde ilgili klasöre ait sandbox kısıtlaması kaldırılıyor
- Bu değişiklik Privacy & Security ayarları arayüzüne yansımıyor; bu yüzden ayarlarda engelli gibi görünse de gerçekte erişim açık kalıyor
- Diğer korumalı klasörler (ör. Desktop, Downloads) normal çalışıyor ve sorun klasör bazında bağımsız şekilde ortaya çıkıyor
-
Sonuç
-
Files & Folders bölümündeki erişim kısıtlaması göstergesine gerçek uygulama durumu olarak güvenilemez
- Uygulama listede görünmese veya engellenmiş gibi görünse bile gerçekte korumalı klasörlere erişebildiği durumlar var
- Erişim izni bir kez verildiğinde Terminal komutu ve yeniden başlatma olmadan kaldırılamıyor; bu da kullanıcının erişim denetimini kaybetmesi riskini doğuruyor
-
-
Ek tartışma (yorum özeti)
- Deney sonrasında Documents klasörüne
com.apple.maclgenişletilmiş özniteliğinin eklendiği ve bunun Insent'in erişimine izin verdiğinin düşünüldüğü belirtiliyor tccutil resetkomutu veritabanındaki macl kayıtlarını siliyor; ancak xattr (genişletilmiş öznitelik) kaldığı için erişim sürebiliyor- SIP etkinken bu özniteliği kaldırmak zor; yalnızca kurtarma modunda
xattr -d com.apple.macl path/to/Documentskomutuyla silinebiliyor - Bu nedenle kullanıcılar uygulamanın gerçek erişim durumunu doğrulamakta veya denetlemekte zorlanabiliyor
- Deney sonrasında Documents klasörüne
1 yorum
Hacker News görüşleri
Bana göre bu oldukça basit bir mesele. Bir uygulamaya bir klasöre erişim izni verirseniz, o klasörün içindeki dosyalara da erişebilmesini beklemek gayet doğal
Yazıyı okuduktan sonra tüm klasör izinlerini kaldırıp test ettim; Insent arayüzde “None” olarak görünse de Documents klasörünü okuyabiliyordu. Bu bir şeffaflık başarısızlığı gibi görünüyor
GUI merkezli işletim sistemlerinin ironisi bu. Documents klasörü erişimini tamamen engellemek için terminalde
tccutil reset All co.eclecticlight.Insentkomutunu çalıştırıp yeniden başlatmanız gerekiyor
Başlığın “macOS uygulamaları, kullanıcı erişimi kapatsa bile klasör erişimini koruyor” gibi bir şeye çevrilmesi daha doğru olur
Mac'in sandbox sistemi bana Windows UAC'yi hatırlatıyor. Kullanıcı yorgunluğunu artıran bir yapı bu.
*nix'in isteğe bağlı konteyner yaklaşımının çok daha iyi olduğunu düşünüyorum.
Terminal'den başlatılan arka plan süreçlerinin, üst süreç ölse bile izinlerini koruması özellikle tuhaf. Tüm izin yapısı biraz göstermelik gibi hissettiriyor
tccutil resetdışında, güvenlik ayarlarında izni açıp kapatarak da sıfırlama yapılabiliyor.Arayüz yalnızca bir hata nedeniyle durumu yanlış gösteriyor; gerçek izinler normal çalışıyor.
Onay kutusunun rengi de odak durumuna göre değiştiği için kafa karıştırıyor. Sequoia sürümünde bile bu devam ediyor.
Harici diske kurulu oyunların “removable volumes” erişimi isteyip listede yığınla görünmesi de ilginç
Bunun bir hata mı, güvenlik açığı mı yoksa basit bir yanlışlık mı olduğu karışık. Tüm uygulamalar için reset komutunu çalıştırmak mantıklı mı diye düşünüyorum
Güncel macOS sürümlerinde de benzer bir güvenlik arayüzü karmaşası var.
“Full Disk Access” bölümünde bazı uygulamalar gri görünüyor ve açık mı kapalı mı oldukları anlaşılmıyor.
Bunun hata mı olduğu, yoksa gerçekten izin verilip verilmediği belli değil
Full Disk Access kapatılsa bile bazı hassas klasörler korunuyor, ama genel klasörlere (Desktop, Documents vb.) erişim hâlâ mümkün (Apple belgesi)
Sorunun kaynağı, Documents klasörüne atanmış com.apple.macl genişletilmiş özniteliği. SIP nedeniyle kaldırılamıyor
Bunun iOS'ta da olup olmadığını merak ediyorum