Series · 4 partsmacOS Security BoundariesPart 4 · You are here
  1. 1Uygulama Sandbox'taydı. XPC Sınırı Hâlâ Yetkilendirme İstiyordu
  2. 2İzin Verildi. Veri Kullanımı Hâlâ Politika Gerektiriyordu: macOS TCC
  3. 3Helper Kayıtlıydı. Yaşam Döngüsü Uygulamadan Uzun Sürdü
  4. 4Olay Görünürdü. Tespitin Hâlâ Bağlama İhtiyacı Vardı: macOS Endpoint SecurityYou are here

60 saniyede macOS gözlemlenebilirlik sınırları

Apple’ın Endpoint Security framework’ü, yetkilendirilmiş bir istemcinin güvenlikle ilgili macOS olaylarına abone olmasını sağlar. Bu olayların bazıları gerçekleşmiş eylemler hakkındaki bildirimlerdir (NOTIFY). Diğerleri ise işlem devam etmeden önce bir onay (allow) veya ret (deny) yanıtı almak zorunda olan yetkilendirme istekleridir (AUTH). Framework süreç yürütme, dosya, mount, fork, sinyal ve diğer olay ailelerini zengin süreç meta verileriyle yüzeye çıkarabilir.

Bu görünürlük temel bir yapı taşıdır (primitive); bitmiş bir tespit değildir. Tek bir olay nadiren niyeti kanıtlar. Eksik bir olay; abonelik zamanlamasını, susturmayı (muting), kuyruk baskısını, desteklenmeyen telemetriyi veya olayın gerçekten meydana gelmediğini yansıtabilir. İzin verilen (allow) bir yetkilendirme yanıtı, işlemin nihayetinde başarıyla tamamlandığını kanıtlamaz. Bir bildirim de eylemi otomatik olarak doğru kullanıcıya, ürüne, üst süreç zincirine (parent chain) veya vakaya bağlamaz.

Bu nedenle tasarım sorusu şudur:

Ürün hangi olayı aldığını, hangi bağlama güvendiğini, hangi politikayı uyguladığını, hangi yanıtı döndürdüğünü, gerçekte ne olduğunu ve hangi telemetrinin eksik kalmış olabileceğini açıklayabiliyor mu?

Endpoint Security güçlü bir temeldir; çünkü desteklenen güvenlik gözlemini ve yetkilendirmesini desteklenmeyen kernel hook’larından çıkarıp kullanıcı alanına (user space) taşır. Yine de güvenilir bir güvenlik ürünü, çevresinde sınırları iyi çizilmiş, gizlilik bilincine sahip bir kanıt hattına ihtiyaç duyar.

AUTH ve NOTIFY farklı sözleşmelerdir

Apple, Endpoint Security’yi potansiyel olarak kötü amaçlı etkinlikleri izlemek için bir C API olarak tanımlar. Bir ES istemcisi, bekleyen olayları yetkilendirmek veya zaten gerçekleşmiş olayların bildirimlerini almak için kaydolabilir. Bu modlar birbirinden farklı soruları yanıtlar:

Olay moduÜrün kararıGereken kanıtYaygın hata
AUTHBekleyen işlem devam etmeli mi?Olay, deadline, politika girdisi, yanıt, önbellek tercihiYavaş zenginleştirme (enrichment) işlemlerini maliyetsiz varsaymak
NOTIFYGerçekleşen olaydan sonra ne gözlemlendi?Olay, kimlik, sıra numarası, sonuç korelasyonuGözlemi bir engelleme (prevention) gibi tarif etmek
Unified logÜrün kendi davranışı hakkında ne söyledi?Alt sistem (subsystem), kategori, gizlilik düzeyi, saklamaHassas içerikleri bağlam adı altında günlüğe kaydetmek
Ürün denetimiPolitika bu hükme neden vardı?Politika sürümü, kural, normalize alanlar, belirsizlikYalnızca bir alarm başlığını saklamak
Etki kontrolüSistemde nihayetinde ne değişti?İstekle sınırlandırılmış süreç/dosya/sistem durumuALLOW’ın başarı, DENY’ın ise başka yerde yan etki yaratmadığı anlamına geldiğini varsaymak

Apple’ın Endpoint Security genel bakış dokümantasyonu, kısıtlanmış istemci entitlement’ını ve sistem uzantısı (system extension) paketleme modelini tanımlar. Bu entitlement’a sahip olmak bir dağıtım ön koşuludur. Aboneliklerin, süre sınırlarının (deadlines), önbelleğe almanın, susturmanın, gizliliğin veya tespit mantığının doğru çalıştığının kanıtı değildir.

ES mesajıAUTH · NOTIFY kapsamABONE · MUTE bütünlükSIRA · DEADLINE kimlikTOKEN · İMZA politika bağlamıKURAL · SÜRÜM yanıtALLOW · DENY etki kontrolüSONUÇ · DURUM kanıt kaydıGİZLİ · SINIRLI GÖRÜNÜRLÜK BÜTÜNLÜK İSTERkapsam ve belirsizlik her nihai kararın parçasıdır
Olay yalnızca ilk gözlemdir. Kapsam, zamanlama, kimlik, politika, yanıt, gerçek etki ve gizlilik, onun güvenilir bir kanıta dönüşüp dönüşmeyeceğini belirler.

Kuralı yargılamadan önce istemciyi envanterleyin

Bir değerlendirme, kişisel bir dizüstü bilgisayardaki her olayın canlı toplanmasıyla değil; ürün dosyası ve tasarımıyla başlamalıdır. Endpoint Security telemetrisi çalıştırılabilir dosya yollarını, dosya adlarını, süreç ilişkilerini, imzalama bilgilerini ve kullanıcı etkinliklerini ifşa edebilir. Bu durum veri toplama kapsamını teknik olduğu kadar bir güvenlik ve gizlilik kararı haline getirir.

İncelenen ürün için şunları kaydedin:

  • Kapsayıcı uygulama (containing app), sistem uzantısı ve bunların bağımsız imzaları ile entitlement’ları;
  • Endpoint Security istemci entitlement’ı ve etkinleştirme yolu;
  • Abone olunan AUTH ve NOTIFY olay türleri;
  • Başlangıç sırasında ilk aboneliğin tam olarak ne zaman gerçekleştiği;
  • Süreç, yol ve olay susturma (muting) kuralları;
  • Yanıt süresi sınırı (deadline) yönetimi ve aşırı yük altında güvenli arıza (fail-safe) davranışı;
  • Yanıt önbellek politikası ve geçersiz kılma varsayımları;
  • Audit token’larının, imza tanımlayıcılarının, Team ID’lerinin, dosya yollarının ve ebeveyn süreç ilişkilerinin normalizasyonu;
  • Yerel loglama, iletim, saklama ve gizleme (redaction) kuralları;
  • Düşen olaylar, yeniden başlatmalar, devre dışı bırakılan uzantılar ve politika tazeliği için sağlık sinyalleri.

Bu envanter platform kapsamı ile ürün iddialarını birbirinden ayırır. Endpoint Security tüm ağ telemetrisini sağlamaz; Apple ağ odaklı ürünleri Network Extension framework’üne yönlendirir. Bir ürün, yalnızca abone olduğu ES aileleri sessiz kaldı diye bu kör noktayı “temiz bir olay akışı” olarak pazarlamamalıdır.

Deadline’lar yetkilendirme semantiğinin bir parçasıdır

Her AUTH olayının katı bir süresi (deadline) vardır. Apple’ın deadline alanı dokümantasyonu; zamanında yanıt vermeyen bir istemcinin sistem tarafından sonlandırılabileceği veya yeniden başlatılabileceği ve süre sınırlarının sürekli kaçırılmasının yeni istemci oluşturulmasını engelleyebileceği konusunda uyarır. Apple’ın WWDC rehberliği ayrıca bu sürenin mesaj bazında değişebileceğini vurgular.

Bu kural tespit mekanizmasının tasarımını kökten değiştirir. Uzak bir itibar (reputation) sorgusu, büyük bir dosya hash’leme işlemi, yapay zeka model çıkarımı veya senkron bir veritabanı sorgusu; bir gecikme bütçesi ve açık bir geri dönüş (fallback) mekanizması olmadan kritik yola eklenemez. Şunları ölçün:

  • Mesaj işleyiciye (handler) girdiğinde kalan süre;
  • Kimlik ve politika girdilerini normalize etmek için harcanan süre;
  • Zenginleştirme süresi sınırı ve iptal (cancellation) davranışı;
  • Yanıt zaman damgası ve dönen durum kodu;
  • Yeniden başlatma veya ret göstergeleri;
  • Bağlam elde edilemediğinde hangi kararın uygulandığı.

Geri dönüş mekanizmasını “en iyi çaba” (best effort) adı altında gizlemeyin. Ulaşılamayan bağlam izin verme, engelleme veya kısıtlı bir politika ile sonuçlanıyorsa, bunu birinci sınıf bir karar gerekçesi olarak kaydedin. En güvenli fallback olaya, iş etkisine ve erişilebilirlik gereksinimine bağlıdır; bir zaman aşımı tarafından tesadüfen seçilmek yerine bilinçli olarak tasarlanmalıdır.

Sıra boşlukları belirsizliği gözlemlenebilir kılar

İstemci kuyruğu dolduğunda Endpoint Security mesajları düşürebilir (drop edebilir). Apple, boşlukları tespit etmek için mesaj sıra numaralarının (sequence numbers) denetlenmesini tavsiye eder. Bu hayati önem taşır: Olayları sessizce kaybeden bir alarm hattı, yalnızca kendisine ulaşanları raporluyorsa dışarıdan tamamen sağlıklı görünebilir.

İlgili kapsam bazında sıra durumunu takip edin ve şunları açıkça gösterin:

  • Önceki ve mevcut sıra değerleri;
  • Tahmini boşluk (gap) boyutu;
  • Olay türü ve istemci örneği (instance);
  • Kuyruk baskısı ve işleme gecikmesi;
  • Bir boşluktan sonra korelasyonu zayıflatma (degrade etme) politikası;
  • Yeni bir istemci dönemi (epoch) veya sınırlı yeniden senkronizasyon gibi kurtarma sınırları.

Bir sıra boşluğu kötü niyetli bir atlatmayı (evasion) doğrudan kanıtlamaz. Eksik görünürlüğü kanıtlar. Eksiksiz bir üst süreç veya dosya olayı zinciri gerektiren tespitler, kayıp halka hiç var olmamış gibi davranmak yerine güven derecesini düşürmeli veya bağımsız kanıtlar aramalıdır.

Susturma (muting) kasıtlı kör noktalar yaratır. Dikkatli kullanıldığında performansı artırır; ancak denetim susturmayı kimin yapılandırdığını, hangi yolu veya süreç kimliğini kapsadığını, hangi olay türlerinin hariç tutulduğunu ve bu hariç tutmanın ürünün kendi kritik kanıtlarını neden ortadan kaldıramayacağını netleştirmelidir. Bir süreç kimliği veya daha dar bir olaya özgü kontrol niyetini ifade edebilecekken, geniş dosya yolu önek kurallarından kaçının.

Yalnızca dosya yoluna güvenmeden kimliği normalize edin

Dosya yolları kullanışlı gözlemlerdir; kalıcı süjeler değildir. Bir dosya taşınabilir, değiştirilebilir veya bir dizenin ima ettiğinden tamamen farklı bir nesneye çözümlenebilir. Süreç kimliği, karar için mevcut olan en güçlü alanları kullanmalıdır: audit token, kod imzalama durumu, imza tanımlayıcısı (signing identifier), Team ID, platform binary durumu, üst veya sorumlu süreç semantiği, çalıştırılabilir nesne ve olaya özgü veriler.

Politika hangi alanların yetkili kaynak olduğunu, hangilerinin zenginleştirme verisi olduğunu açıkça belirtmelidir. Örneğin:

  • Görünen ad (display name) asla beyaz liste anahtarı değildir;
  • Bir geliştiricinin birden fazla ürün sunduğu durumlarda tek başına Team ID çok geniş kalabilir;
  • Doğrulama durumu olmayan bir imza tanımlayıcısı eksiktir;
  • Bir ebeveyn PID yeniden kullanılabilir ve olaya bağlı süreç kimliğinden daha zayıftır;
  • Bir dosya yolu kuralı sembolik linklerin, dosya değişimlerinin, güncellemelerin ve translokasyonun nasıl ele alınacağını tanımlamalıdır;
  • Argümanlar ve ortam değişkenleri tespit bağlamı ekleyebilir ancak sırlar ve kişisel veriler içerebilir.

Bu, XPC dersinin gözlemlenebilirlik versiyonudur: Doğrulanmış tek bir kimlik bir nesneyi bir politikaya dahil edebilir; ancak onunla ilişkili her davranışı otomatik olarak yetkilendirmez.

sentetik eylemTEST FİKSTÜRÜ ES olayıBİLİNEN TÜR politika kararıKURAL · GEREKÇE etkiKONTROL yanlış kimlikDENY deadline baskısıTANIMLI FALLBACK sıra boşluğuDÜŞÜK GÜVEN susturulmuş alanSAĞLIK GÖRÜNÜR SENSÖRÜN HATA MODLARINI TEST EDİNyalnızca en sevdiği tespit kuralını değil
Kullanışlı bir doğrulama süreci hedeflenen tek bir kararı kanıtlar; ardından kimlik uyumsuzluğu, deadline baskısı, düşen olay belirsizliği ve kasıtlı susturma (muting) durumlarını test eder.

Yanıtı gerçek etkiyle ilişkilendirin

Bir AUTH yanıtı politikanın çıktısıdır. Yanıt API’sinin başarılı olup olmadığını ve önbelleğe alma istenip istenmediğini kaydedin. Ardından ortaya çıkan somut etkiyi gözlemleyin: Süreç gerçekten çalıştı mı, dosya işlemi gerçekleşti mi, hangi bayraklar geçerli oldu ve başka bir istemci ya da güvenlik kontrolü nihai sonucu etkiledi mi?

NOTIFY olayları için, olayın teşebbüs edilmiş mi yoksa tamamlanmış bir işlemi mi tarif ettiğini ve olaya özgü hangi sonuç alanlarının mevcut olduğunu kaydedin. Tek bir olay ailesine bakarak evrensel çıkarımlar yapmaktan kaçının.

Kompakt bir kanıt kaydı şu yapıda olabilir:

event_class=EXEC
event_mode=AUTH
client_epoch=synthetic-01
sequence_state=continuous
identity_class=approved-test-binary
policy_version=2026.08
rule=bounded-exec-allow
response=ALLOW
response_within_deadline=true
effect=process-start-observed
privacy=content-omitted

Bu örnek kasıtlı olarak sentetiktir. Tespit kuralı bunu zorunlu kılmadıkça ve belgelenmiş bir gizlilik politikası bu verilerin toplanmasını ve saklanmasını korumadıkça, prodüksiyon kayıtları ham argümanları, ortam değişkenlerini, kullanıcı dizin yollarını, belge adlarını, token’ları veya mesaj içeriklerini barındırmamalıdır.

Günlük kaydı (Logging) başka bir veri sınırıdır

Apple’ın unified logging kılavuzu, araya eklenen (interpolated) değerler için gizlilik denetimlerinin kullanılmasını önerir; dinamik dizelerin ve karmaşık nesnelerin varsayılan olarak sansürlendiğini (redacted) belirtir. Ürün, operasyonel kolaylık uğruna her alanı kamuya açık (public) olarak işaretlemek yerine bu avantajı korumalıdır.

Üç veri sınıfını birbirinden ayırın:

  • Kamusal operasyonel sabitler: Olay sınıfı, kural tanımlayıcısı, politika sürümü, sınırlandırılmış durum;
  • İlişkilendirilebilir özel değerler: Orijinal içeriği ifşa etmeden teşhisi destekleyen kısa ömürlü veya anahtarlanmış tanımlayıcılar;
  • Hassas içerik: Yollar, argümanlar, kullanıcı adları, hesap değerleri, belge metinleri, URL’ler ve normal şartlarda hariç tutulması veya açıkça gizli tutulması gereken token’lar.

Hash’leme işlemi varsayılan olarak anonim değildir. Düşük entropili dosya adlarının, kullanıcı adlarının veya tanımlayıcıların kararlı hash’leri yine de tahmin edilebilir ve uzun ömürlü takip anahtarları yaratabilir. Korelasyon zorunluysa kapsamı, anahtarlamayı, rotasyonu, erişimi ve saklama sürelerini tanımlayın.

Kanıt matrisi

İddiaPozitif kanıtNegatif kontrolNeler kanıtlanmamış kalır
Gerekli olaylara abone olunduİstemci epoch’u ve gerekli her tür için bir sentetik olayAbone olunmayan tür temiz değil, desteklenmiyor olarak raporlanırBelgelenmiş ürün kapsamı dışındaki olay aileleri
AUTH kararları deadline’a uyarİşleyici zamanlaması, yanıt durumu, marj ve politika sürümüSınırlı gecikme, istemci çökmeden açık fallback’e ulaşırYeniden üretilmeyen uç prodüksiyon iş yükleri
Olay kaybı tespit edilebilirSürekli sıra baseline’ı ve enjekte edilen kuyruk baskısı boşluk sinyaliSıra boşluğundan sonra korelasyon güveni düşerDüşen olayların tam içeriği
Kimlik politikası dardırBeklenen test binary’si imzalama ve olaya bağlı kimlikle eşleşirEşleşmeyen kimliğe sahip aynı ad veya yol reddedilirGereksinim penceresi dışındaki gelecekteki imzalı sürümler
Karar sistem etkisiyle uyuşurYanıt kaydı sınırlandırılmış süreç veya dosya sonucuyla korelasyon kurarEngellenen eylem beklenen etkiyi yaratmazTest kapsamı dışındaki bağımsız kontroller
Telemetri gizliliği korurİçerik gizlenirken sentetik işaretçi korelasyonu desteklerOnaylanmış dışa aktarım hiçbir ham test fikstür değeri içermezİncelemeye açık olmayan üçüncü taraf backend saklaması

Bu matris, “bir olay gördük” cümlesinin temelsiz bir güvenceye dönüşmesini engeller. En önemli kanıt, çoğu zaman istemcinin her şeyi görmediğini açıkça bildiren bir sağlık sinyali olabilir.

İyileştirme öncelikleri

  • Gerekli olay kümesine başlangıçta erkenden abone olun ve hazır olma durumunu ölçülebilir bir durum olarak sunun;
  • AUTH işleyicilerini sınırlandırılmış, uygun yerlerde asenkron ve deadline bilincine sahip şekilde tutun;
  • Olay sınıfı bazında zaman aşımı ve zenginleştirme hatası davranışını önceden tanımlayın;
  • Sıra boşluklarını, yeniden başlatmaları, devre dışı bırakılan uzantıları, bayat politikaları ve kuyruk baskısını izleyin;
  • Önbellekleri kalıcı bir politika gerçeği olarak değil, bir performans mekanizması olarak görün;
  • Susturmayı (muting) en dar ve kararlı kimlik ve olay kümesiyle sınırlandırın;
  • Görünen adlara veya dosya yollarına güvenmek yerine kod kimliğini olaya bağlı verilerden normalize edin;
  • Politika yanıtını gerçek etkiyle ilişkilendirin ve belirsizlikleri kayda geçirin;
  • Veri toplama anında telemetriyi en aza indirin ve unified log gizlilik kontrollerini bilinçli kullanın;
  • Sensörün hata modlarını özel bir test sisteminde sentetik test fikstürleriyle doğrulayın.

En güçlü tespit ürünü, en fazla olayı üreten ürün değildir. Neyi kapsadığını, neyi kaçırdığını, neden karar verdiğini, neyin değiştiğini ve telemetriyi üreten cihazın sahibini nasıl koruduğunu açıkça ifade edebilen üründür.

Kaynaklar

Bu çalışma, kaynakları gözden geçirilmiş bir metodolojidir. Canlı bir Endpoint Security yeniden üretimini iddia etmez: Bunun için kısıtlanmış entitlement ve özel bir test sistemi gereklidir. Örnekler sentetik olay kayıtlarını kullanır ve kişisel cihaz telemetrisini bilinçli olarak hariç tutar.

Kaynaklar ve güncellik

Bu teknik not ne kadar güncel?

Kontrol edilen kaynaklar30 Ağustos 2026

En son kaynak incelemesi, içerik güncellemesi veya yayın tarihi gösterilmektedir.

İnceleme DurumuKamuya açık kaynaklar incelendi

Birincil kamu kayıtları kontrol edildi. Ortama özgü davranış, ayrıca yeniden üretilmedikçe iddianın dışındadır.