1 puan yazan GN⁺ 19 일 전 | 1 yorum | WhatsApp'ta paylaş
  • 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.Insent komutunun ç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.macl genişletilmiş özniteliğinin eklendiği ve bunun Insent'in erişimine izin verdiğinin düşünüldüğü belirtiliyor
    • tccutil reset komutu 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/Documents komutuyla silinebiliyor
    • Bu nedenle kullanıcılar uygulamanın gerçek erişim durumunu doğrulamakta veya denetlemekte zorlanabiliyor

1 yorum

 
GN⁺ 19 일 전
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

    • Metni dikkatle okumak gerekiyor. Files & Folders ayarı gerçek izin durumunu doğru yansıtmıyor. Arayüzde engellenmiş gibi görünse bile uygulama hâlâ Documents klasörüne sınırsız erişim sağlayabiliyor
    • Kilit nokta, “izin verilmişti, sonra arayüzden kapatıldı ama erişim hâlâ mümkün” olması
    • Yazının girişinde de “güvenlik ayarları uygulamanın gerçek erişim durumunu yanlış gösterebilir” deniyor
    • macOS'un, arayüz üzerinden bağlanmış klasörleri tanıyıp arka planda bunu ilişkilendireceğini beklerdim, ama bunun yerine basit bir yol istisnası olarak ele alınıyor ve arayüz devre dışı kalıyor. Bu muhtemelen bir geri bildirim raporu olarak gönderilmiştir. Yazarın Gatekeeper ve TCC konularını sık ele alan biri olduğu belli, o yüzden bu bakış açısı anlaşılır
    • Yazı fazla muğlak yazılmış. İzin kapatıldıktan sonra geride kalan mekanizmanın ne olduğu yeterince açıklanmıyor
  • 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

    • Uygulamalar zaten varsayılan olarak kullanıcının ana klasörüne erişebiliyor mu diye düşündürüyor
  • GUI merkezli işletim sistemlerinin ironisi bu. Documents klasörü erişimini tamamen engellemek için terminalde
    tccutil reset All co.eclecticlight.Insent
    komutunu çalıştırıp yeniden başlatmanız gerekiyor

    • Jobs mezarında ters dönerdi. NeXT döneminde de GUI ile CLI arasındaki bu tür çatışmaların çok olduğu söylenirdi
    • GUI ile ilgili başka tuhaflıklar da var. Wi-Fi kapalıyken sistemi kapattım ama açılış sonrası giriş yaparken Wi-Fi simgesi kısa süreliğine etkin görünüp sonra tekrar devre dışı hâle döndü. Bunun sadece bir arayüz hatası mı yoksa gerçekten kısa süreliğine açılıyor mu olduğu belli değil
  • Başlığın “macOS uygulamaları, kullanıcı erişimi kapatsa bile klasör erişimini koruyor” gibi bir şeye çevrilmesi daha doğru olur

    • Ama aslında kullanıcı belirli bir erişimi kapatmadı; sadece genel klasör erişimini kapattı. Ayrıntılı erişimleri tek tek kapatmanın bir yolu yok
  • 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

    • Apple eski reklamlarını yeniden izlemeli (YouTube bağlantısı)
    • Bu arada UAC bir güvenlik sınırı değildir, bu yüzden UAC bypass'ları yetki yükseltme açığı olarak değerlendirilmez
    • Daha büyük sorun, hâlâ çok sayıda geliştiricinin “her şey her şeye erişebilir” şeklindeki eski paradigmada kalmış olması. macOS'un kullanıcı deneyimi kusursuz olmayabilir ama varsayılanın sınırsız erişim olması daha tehlikeli
    • Ayrıca Apple, kendi uygulamalarına istisna tanıyor. Bunu kullanıcı deneyimini bozmamak için yapıyor
    • Bu, Mac'in sandbox'ı değil, TCC sistemi. App Sandbox kullanan uygulamalar Documents erişim istemi bile gösteremez. Bunun yerine erişimi sürdürmek için Security Scoped Bookmark denen yöntem kullanılabilir (referans bağlantısı)
  • tccutil reset dışı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

    • Bu sadece arayüzdeki bir eksiklik. İç sistem normal çalışıyor
    • Bu tür şeyler güvenlik arayüzü hatası olarak sınıflandırılır. Kullanıcının izin durumunu fark etmesini engellediği için CVE kapsamına bile girebilir
    • Bu, Apple'ın biçimsel güvenlik prosedürleri ile gerçek dosya erişim yapısının çakıştığı bir örnek. Ayarlarda izin durumunun açıkça gösterilmesi ve kapatıldıktan sonra yeniden verilmesinin daha zor olması gerekir. Ayrıca uygulamayı yeniden başlatmayı gerektiren izinler artık ortadan kalkmalı
  • 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

    • Apple'ın açıklaması belirsiz. “Files & Folders” listesi sadece izin talebi geçmişini gösteriyor.
      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

    • Bu bir hata değil, iki güvenlik sisteminin arayüz uyuşmazlığı. Gerçek koruma çalışıyor ama arayüz bunu ifade edemiyor
  • Bunun iOS'ta da olup olmadığını merak ediyorum

    • iOS'ta uygulamalar dosya seçici veya kendi klasörleri dışına erişemez, dolayısıyla aynı sorun ortaya çıkmaz