Mac’te bir uygulamaya güvenmek tek bir evet-hayır kararı değildir. Her biri farklı bir mekanizmayla yanıtlanan dört ayrı sorudur: onu kim yaptı, Apple onu denetledi mi, neye dokunmasına izin var ve çalışmaya başladığında gerçekte ne yapıyor. Apple ilk üçünü ayrıntılı olarak belgeler. Dördüncüsü sizin kendinizin gözlemlemesi gereken sorudur ve ilk üçünü geçip sonra yoldan çıkan bir uygulamayı yakalayan da odur.
App Store mu, doğrudan indirme mi
Apple’ın destek sayfası Mac’inizde uygulamaları güvenle açma, iki somut nedenle App Store’u yazılım edinmek için en güvenli yer olarak tanımlar: Apple her uygulamayı kabul etmeden önce inceler ve sonradan bir sorun bulunursa uygulamayı hızla kaldırabilir. App Store uygulamaları ayrıca App Sandbox içinde çalışmak zorundadır; Apple’ın Gatekeeper ve çalışma zamanı koruması sayfası bunu, bir uygulamanın erişebileceği verileri sınırlamak ve diğer uygulamalarla konuşmak için macOS API’lerini kullanmaya zorlamak olarak açıklar.
Bu, her doğrudan indirmeyi şüpheli kılmaz. Meşru Mac yazılımlarının büyük bir kısmı mağaza dışında dağıtılır; çünkü sandbox, yapmaları gerekeni yasaklar (disk araçları, geliştirme araçları, güvenlik duvarları dahil). Fark şudur: doğrudan indirmede inceleme adımının yerini Apple’ın aynı sayfalarda açıkladığı iki daha hafif denetim alır: uygulamayı kimin yaptığını söyleyen bir imza ve bir noter onayı taraması.
Developer ID ve noter onayı: neyi kanıtlarlar
Bir Developer ID sertifikası, Apple tarafından Apple Developer Program’a kayıtlı bir geliştiriciye verilir ve Gatekeeper’ın bir uygulamanın o geliştirici tarafından imzalandığını ve o zamandan beri değiştirilmediğini doğrulamasını sağlar. Bir imzanın kanıtladığı her şey budur: kimlik ve bütünlük. Niyet hakkında hiçbir şey söylemez. İmzalı bir uygulama yine de kötü bir uygulama olabilir; imza yalnızca Apple’ın üzerinde kimin adının yazdığını bildiği ve onu iptal edebileceği anlamına gelir.
Noter onayı ikinci denetimdir. Apple’ın macOS yazılımını dağıtımdan önce noter onayından geçirme hakkındaki geliştirici belgeleri bunu, Developer ID ile imzalanmış yazılımın bilinen düşmanca içerik ve kod imzalama sorunları açısından otomatik taranması olarak açıklar; ardından Apple, Gatekeeper’ın okuyabileceği bir bilet verir. Apple’ın destek sayfası ifadesinde dikkatlidir: noter onayı, «Apple’ın uygulamayı zararlı yazılıma karşı kontrol ettiği ve hiçbir şey tespit edilmediği» anlamına gelir. Bu, uygulamanın ne yaptığına dair bir inceleme değil, Apple’ın zaten bildiklerine karşı bir taramadır ve Apple daha sonra yeni bir şey öğrenirse noter onayını iptal edebilir.
Karantina bayrağı
Bu denetimleri belirli bir indirmeye bağlayan mekanizma, dosya üzerindeki genişletilmiş bir öznitelik olan com.apple.quarantine’dir; Safari ve diğer çoğu tarayıcı ile mesajlaşma uygulaması bunu kaydettikleri her şeye ekler. Bu özniteliği taşıyan bir dosyayı ilk açtığınızda Gatekeeper denetimlerini yapar ve onayınızı ister. Apple’ın Gatekeeper sayfası varsayılan ayarı, tüm yazılımların ilk açılışta bilinen zararlı içeriğe karşı kontrol edilmesi olarak açıklar. Özniteliği, indirilen bir dosya üzerinde Terminal komutu xattr -l ile kendiniz görebilirsiniz.
Bir uygulama imzalı veya noter onaylı değilse macOS onu açmayı reddeder ve bunu geçersiz kılmak için bir yol sunar. Apple’ın destek sayfası Bilinmeyen bir geliştiriciden bir Mac uygulamasını açma adımları açıklar ve ardından özü itibarıyla alıntılanmaya değer bir uyarı ekler: bu ayarları geçersiz kılmak, bir Mac’e bulaşmanın en yaygın yoludur ve Apple, geliştirici köklü görünse bile bunun yerine başka bir uygulama bulmanızı önerir. Pratik kural doğrudan buradan çıkar. Geçersiz kılma, belirli bir nedenle güvendiğiniz yazılımlar için nadir ve bilinçli bir eylem olmalı, asla bir refleks olmamalıdır.
İzinler: bir uygulamanın neye dokunmasına izin var
Üçüncü soru kapsamdır. Apple’ın Platform Security Guide’daki uygulamaların dosyalara erişimini denetleme sayfasının açıkladığı gibi, macOS 10.15’ten bu yana uygulamalar Masaüstü, Belgeler, İndirilenler, iCloud Drive veya ağ birimlerini okumadan önce sormak zorundadır; kamera, mikrofon, ekran kaydı, tuş vuruşu izleme ve Tam Disk Erişimi ise yalnızca açık istemlerle ya da Sistem Ayarları, Gizlilik ve Güvenlik altında elle yapılan bir değişiklikle verilir. Bu istemlerin arkasındaki sisteme TCC (Transparency, Consent and Control) denir ve ilkesi, Apple’ın sözleriyle, kullanıcıların uygulamaların verileriyle ne yaptığı konusunda tam şeffaflığa, rızaya ve denetime sahip olmasıdır.
İzinler kendi başlarına bir güven sinyalidir. Erişilebilirlik erişimi isteyen bir pano yöneticisinin bir nedeni vardır. Tam Disk Erişimi ve Ekran Kaydı isteyen bir duvar kâğıdı uygulamasının yoktur. Bir uygulamanın ne için olduğu ile ne istediği arasındaki uyumsuzluk çoğu zaman uygulama daha hiçbir şey yapmadan görünür ve reddedip uygulamanın hâlâ çalışıp çalışmadığına bakmak hiçbir şeye mal olmaz.
Ağ davranışı: diğer denetimlerin yanıtlayamadığı soru
İmza, noter onayı ve izinlerin hepsi bir istekten önce veya istek anında değerlendirilir. Hiçbiri uygulamayı zaman içinde gözlemlemez ve hiçbiri bir gizlilik sorununu güvenlik sorununa dönüştüren tek etkinliğe bakmaz: veriyi Mac’in dışına göndermek. Bir uygulama gerçek bir geliştirici tarafından imzalanmış, Apple tarafından noter onayından geçmiş, yalnızca makul biçimde ihtiyaç duyduğu izinleri almış olabilir ve yine de kişilerinizi bir analitik aracısına yükleyebilir, birkaç dakikada bir bir izleme uç noktasını yoklayabilir ya da rutin bir güncelleme kodunu değiştirdikten sonra daha önce hiç iletişim kurmadığı bir sunucuyla konuşmaya başlayabilir.
Ağ davranışını bir güven sinyali olarak okumak, her uygulama hakkında birkaç somut soru sormak demektir. Hiç bağlanıyor mu ve bağlanıyorsa bu, yaptığı iş için beklenen bir şey mi? Hangi sunucularla konuşuyor; bunlar geliştiricinin kendi sunucuları mı, tanınabilir bir hizmet mi, yoksa reklam ve analitik alan adlarından oluşan bir liste mi? Şifreli bağlantılar mı kullanıyor, yoksa bir şeyler düz HTTP üzerinden mi çıkıyor? Bir güncellemeden sonra davranışı değişiyor mu? Ve siz onu kullanmıyorken bir programa göre bağlanıyor mu? Bunların hiçbiri uzmanlık gerektirmez; bağlantıları görmeyi gerektirir, ki macOS bunu varsayılan olarak size göstermez.
FireAI bunun içindir. Canlı haritası her uygulamanın kurduğu her bağlantıyı hedef, ülke ve arkasındaki ağla birlikte gösterir; cihaz üzerinde çalışan bir model olan Private AI incelemesi, bilinmeyen bir uygulamadan gelen her yeni bağlantıyı hedefin itibarı, ikili dosyanın daha önce görülüp görülmediği, port ve protokol ile bağlantının şifreli olup olmadığına göre değerlendirir ve ardından gerekçesini sade bir dille açıklar. Şifrelenmemiş veri koruması, hangi uygulama gönderirse göndersin kart numaralarının, parolaların ve API anahtarlarının düz HTTP üzerinden çıkmasını durdurur. Her yapay zekâ kararı geri alabileceğiniz görünür bir kurala dönüşür ve kurallar sade İngilizce veya Fransızca yazılabilir («block Microsoft Teams») ya da metin dosyası olarak dışa aktarılabilir.
İmzasız olanı engellemek ve imzayı takip etmek
FireAI’ın iki tasarım tercihi doğrudan yukarıdaki Apple modelinden gelir. Birincisi, daha sıkı güvenlik modları Paranoid ve Under attack, imzasız uygulamaların bağlanmasını telemetri ve izleyicilerle birlikte tamamen engeller; bu, Apple’ın «emin misiniz?» iletişim kutusunu ağ düzeyinde bir varsayılana dönüştürür: imzasız bir ikili dosya ısrar ettiyseniz çalışabilir, ama kimseyi arayamaz. İkincisi, FireAI’ın uygulama başına kuralları uygulamanın adını veya yolunu değil, kod imzasını takip eder. İndirilenler klasöründeki «Slack.app» adlı bir sahtekâr, gerçek Slack için yazdığınız kuralı devralmaz, çünkü imza eşleşmez; gerçek uygulama güncellendiğinde ise kural devam eder, çünkü imza eşleşir. Bu, Apple’ın Gatekeeper için kullandığı kimliğin ağa uygulanmış hâlidir.
Bunun yapmadıkları
FireAI bir uygulamanın dosyalarını taramaz, kodunu veya belleğini incelemez ve bir antivirüs değildir; bir indirmenin düşmanca olduğunu siz çalıştırmadan önce size söyleyemez. Bir uygulamaya izin verdiyseniz, o uygulamanın içinde gizlenen trafik onun iznini devralır. Saygın bir hedefe giden şifreli trafik içeriğe göre değil, hedefe ve örüntüye göre değerlendirilir. Ve hiçbir güvenlik duvarı ilk üç denetimin yerini tutmaz: bir Mac’te en ucuz ve en güvenilir güven kararı hâlâ App Store’u ya da Developer ID ile imzalanmış, noter onaylı bir indirmeyi tercih etmek, geçersiz kılma iletişim kutusunu reddetmek ve bir uygulamanın görünür bir nedeni olmadan istediği izinleri geri çevirmektir.
Bir araya getirildiğinde bu dört soru, güvenilir bir Mac uygulamasının işe yarar bir tanımını verir: bilinen bir geliştirici tarafından imzalanmış, Apple tarafından noter onayından geçmiş, yalnızca makul biçimde ihtiyaç duyduğunu isteyen ve yalnızca yaptığı işe uygun sunucularla konuşan. Apple ilk üçünü kurulum anında denetlemenize izin verir. Dördüncüsünü ancak izleyerek görebilirsiniz; işte bu yüzden eklemeye değer olan odur.
FireAI ve HisnLabs burada nereye oturuyor
Apple answers the first three trust questions at install time; FireAI exists for the fourth, showing what each app actually does on the network and keying every rule to the same code signature Gatekeeper already relies on.
FireAI, HisnLabs’in kendi ürünüdür: doğrudan Mac’inizde çalışan, yapay zekâ destekli bir güvenlik duvarı. Uygulamalarınızın kurduğu her bağlantıyı sade bir dille gösterir ve Mac’inizden neyin çıkacağına sizin karar vermenizi sağlar — yapay zekâsı yerel olarak çalışır, yani trafiğiniz asla bize ya da başka birine gönderilmez. HisnLabs güvenlik araştırma ekibi bu kararların isabetli kalmasını sağlayan ekiptir: hangi alan adlarının sıradan telemetri, hangilerinin gerçek bir hizmet olduğunu kataloglar, bir bağlantının ardındaki ülkeyi ve ağı izler ve cihaz üzerindeki modeli (Autopilot özelliği) gerçek trafik örüntüleriyle eğitir — üstelik bunların hiçbiri Mac’inizden dışarı çıkmadan.
Arkasındaki teknik kararları okuyabilir ya da FireAI’yi 17 gün boyunca deneyebilirsiniz: HisnLabs’ten FireAI.
