macOS MDM
macOS MDM'ler hakkında bilgi edinmek için:
Temeller
MDM (Mobil Cihaz Yönetimi) Genel Bakışı
Mobile Device Management (MDM), akıllı telefonlar, dizüstü bilgisayarlar ve tabletler gibi çeşitli son kullanıcı cihazlarının yönetimi için kullanılır. Özellikle Apple'ın platformları (iOS, macOS, tvOS) için, özel özellikler, API'lar ve uygulamalar içerir. MDM'nin işleyişi, uyumlu bir MDM sunucusuna dayanır, bu sunucu ticari olarak temin edilebilir veya açık kaynaklı olabilir ve MDM Protokolü'nü desteklemelidir. Anahtar noktalar şunları içerir:
Cihazlar üzerinde merkezi kontrol.
MDM protokolüne uygun bir MDM sunucusuna bağımlılık.
MDM sunucusunun cihazlara çeşitli komutlar gönderebilme yeteneği, örneğin uzaktan veri silme veya yapılandırma yükleme.
DEP (Cihaz Kayıt Programı) Temelleri
Apple tarafından sunulan Device Enrollment Program (DEP), iOS, macOS ve tvOS cihazları için sıfır dokunuş yapılandırma sağlayarak Mobil Cihaz Yönetimi (MDM) entegrasyonunu kolaylaştırır. DEP, cihazların kutudan çıkar çıkmaz operasyonel hale gelmesini sağlayarak kayıt sürecini otomatikleştirir ve kullanıcı veya yönetici müdahalesini minimuma indirir. Temel noktalar şunları içerir:
Cihazların ilk etkinleştirilmesinde önceden tanımlanmış bir MDM sunucusuna otomatik olarak kaydolmalarını sağlar.
Başlangıçta yeni cihazlar için faydalı olmasının yanı sıra, yeniden yapılandırılan cihazlar için de uygundur.
Basit bir kurulum sağlayarak cihazları hızla kuruluşun kullanımına hazır hale getirir.
Güvenlik Düşünceleri
DEP tarafından sağlanan kayıt kolaylığının faydalı olmasının yanı sıra güvenlik riskleri de oluşturabileceği önemlidir. MDM kaydı için yeterli koruma önlemleri uygulanmazsa, saldırganlar bu kolaylaştırılmış süreci kullanarak kuruluşun MDM sunucusuna kendi cihazlarını kaydedebilir ve kurumsal cihaz gibi görünebilirler.
Güvenlik Uyarısı: Basitleştirilmiş DEP kaydı, uygun koruma önlemleri alınmazsa, yetkisiz cihaz kaydına izin verebilir.
SCEP (Basit Sertifika Kayıt Protokolü) Nedir?
Göreceli olarak eski bir protokol, TLS ve HTTPS yaygınlaşmadan önce oluşturulmuştur.
Müşterilere bir Sertifika İmzalama İsteği (CSR) göndermek için standartlaştırılmış bir yol sağlar. Müşteri, sunucudan kendisine imzalı bir sertifika vermesini ister.
Yapılandırma Profilleri (aka mobileconfigs) Nedir?
Apple'ın resmi sistem yapılandırmasını belirleme/zorlama yoludur.
Birden fazla yük içerebilen dosya formatı.
Özellik listelerine (XML türünden) dayanır.
"kökenlerini doğrulamak, bütünlüklerini sağlamak ve içeriklerini korumak için imzalanabilir ve şifrelenebilir." Temeller — Sayfa 70, iOS Güvenlik Kılavuzu, Ocak 2018.
Protokoller
MDM
APNs (Apple sunucuları) + RESTful API (MDM satıcı sunucuları) kombinasyonu
İletişim, bir cihaz ile bir cihaz yönetimi ürününe bağlı bir sunucu arasında gerçekleşir
Komutlar, MDM'den cihaza plist kodlu sözlükler şeklinde iletilir
Tümü HTTPS üzerinden. MDM sunucuları (genellikle) sabitlenebilir.
Apple, MDM satıcısına kimlik doğrulaması için bir APNs sertifikası verir
DEP
3 API: bayiler için 1, MDM satıcıları için 1, cihaz kimliği için 1 (belgelenmemiş):
Sözde DEP "bulut hizmeti" API'si. Bu, MDM sunucularının DEP profillerini belirli cihazlarla ilişkilendirmek için kullandığı API'dir.
Apple Yetkili Bayileri tarafından kullanılan DEP API'si, cihazları kaydetmek, kayıt durumunu kontrol etmek ve işlem durumunu kontrol etmek için.
Belgelenmemiş özel DEP API'si. Bu, Apple Cihazlarının DEP profillerini istemek için kullanılır. macOS'ta,
cloudconfigurationd
ikili dosyası bu API üzerinden iletişim kurar.Daha modern ve JSON tabanlı (plist karşısında)
Apple, MDM satıcısına bir OAuth belirteci verir
DEP "bulut hizmeti" API'si
RESTful
Apple'dan MDM sunucusuna cihaz kayıtlarını senkronize eder
MDM sunucusundan Apple'a "DEP profillerini" senkronize eder (daha sonra cihaza Apple tarafından iletilir)
Bir DEP "profil" şunları içerir:
MDM satıcı sunucu URL'si
Sunucu URL'si için ek güvenilir sertifikalar (isteğe bağlı sabitleme)
Ek ayarlar (örneğin, Kurulum Yardımcısında hangi ekranların atlanacağı)
Seri Numarası
2010'dan sonra üretilen Apple cihazlarının genellikle 12 karakterli alfasayısal seri numaraları vardır, ilk üç rakamın üretim yeri, sonraki iki rakamın üretim yılı ve haftası, bir sonraki üç rakamın benzersiz tanımlayıcısı ve sondaki dört rakamın model numarası olduğu bilinmektedir.
pagemacOS Serial NumberKayıt ve Yönetim Adımları
Cihaz kaydı oluşturma (Bayi, Apple): Yeni cihaz için kayıt oluşturulur
Cihaz kaydı atama (Müşteri): Cihaz bir MDM sunucusuna atanır
Cihaz kaydı senkronizasyonu (MDM satıcısı): MDM, cihaz kayıtlarını senkronize eder ve DEP profillerini Apple'a gönderir
DEP kontrolü (Cihaz): Cihaz DEP profilini alır
Profil alımı (Cihaz)
Profil kurulumu (Cihaz) a. MDM, SCEP ve kök CA yükleri dahil
MDM komutu verme (Cihaz)
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/PrivateFrameworks/ConfigurationProfiles.framework/ConfigurationProfiles.tbd
dosyası, kayıt sürecinin yüksek seviye "adımları" olarak kabul edilebilecek işlevleri ihraç eder.
Adım 4: DEP kontrolü - Aktivasyon Kaydının Alınması
Bu sürecin bir parçası, bir kullanıcının bir Mac'i ilk kez başlattığında (veya tamamen silindikten sonra) gerçekleşir
veya sudo profiles show -type enrollment
komutunu çalıştırdığında
Cihazın DEP özelliğine sahip olup olmadığını belirle
Aktivasyon Kaydı, DEP "profilinin" iç ismidir
Cihazın İnternete bağlandığı anda başlar
CPFetchActivationRecord
tarafından yönlendirilircloudconfigurationd
tarafından XPC aracılığıyla uygulanır. Cihaz ilk kez başlatıldığında "Kurulum Yardımcısı" veyaprofiles
komutu, aktivasyon kaydını almak için bu daemon'a bağlanır.LaunchDaemon (her zaman root olarak çalışır)
Aktivasyon Kaydını almak için MCTeslaConfigurationFetcher
tarafından gerçekleştirilen birkaç adım izlenir. Bu süreçte Absinthe adı verilen bir şifreleme kullanılır
Sertifika al
https://iprofiles.apple.com/resource/certificate.cer adresinden al
Sertifikadan durumu başlat (
NACInit
)Çeşitli cihaz özel verilerini kullanır (örneğin
IOKit
üzerinden Seri Numarası)Oturum anahtarını al
https://iprofiles.apple.com/session adresine POST et
Oturumu oluştur (
NACKeyEstablishment
)İsteği yap
{ "action": "RequestProfileConfiguration", "sn": "" }
verilerini göndererek https://iprofiles.apple.com/macProfile adresine POST etJSON yükü Absinthe kullanılarak şifrelenir (
NACSign
)Tüm istekler HTTPS üzerinden yapılır, yerleşik kök sertifikalar kullanılır
Yanıt, aşağıdaki gibi bazı önemli veriler içeren bir JSON sözlüğüdür:
url: Aktivasyon profili için MDM satıcısı ana bilgisayarının URL'si
anchor-certs: Güvenilir kök sertifikalar olarak kullanılan DER sertifikalarının dizisi
Adım 5: Profil Alımı
DEP profilde sağlanan URL'ye istek gönderilir.
Eğer sağlanmışsa, anchor sertifikaları güveni değerlendirmek için kullanılır.
Hatırlatma: DEP profildeki anchor_certs özelliği
İstek, cihaz kimliği ile ilgili basit bir .plist dosyasıdır
Örnekler: UDID, OS sürümü.
CMS imzalı, DER kodlanmış
APNS'den alınan cihaz kimlik sertifikası ile imzalanmıştır
Sertifika zinciri, süresi dolmuş Apple iPhone Device CA içerir
Adım 6: Profil Kurulumu
Alındıktan sonra, profil sisteme kaydedilir
Bu adım otomatik olarak başlar (eğer kurulum yardımcısında ise)
CPInstallActivationProfile
tarafından yönlendirilirmdmclient üzerinden XPC ile uygulanır
LaunchDaemon (root olarak) veya LaunchAgent (kullanıcı olarak), bağlama bağlı olarak
Yapılandırma profillerinin yüklenmesi için birden fazla yük içerir
Framework, profilleri yüklemek için bir eklenti tabanlı mimariye sahiptir
Her yük türü bir eklenti ile ilişkilendirilir
XPC (framework içinde) veya klasik Cocoa (ManagedClient.app içinde) olabilir
Örnek:
Sertifika Yükleri SertifikaServisi.xpc kullanır
Genellikle, bir MDM satıcısı tarafından sağlanan aktivasyon profili aşağıdaki yükleri içerecektir:
Cihazı MDM'ye kaydetmek için
com.apple.mdm
Cihaza güvenli bir istemci sertifikası sağlamak için
com.apple.security.scep
Cihazın Sistem Anahtar Zincirine güvenilir CA sertifikalarını yüklemek için
com.apple.security.pem
MDM yükünü yüklemek, belgelerdeki MDM kontrolüne eşdeğerdir
Yük, aşağıdaki ana özellikleri içerir:
MDM Kontrolü URL'si (
CheckInURL
)MDM Komut Anketleme URL'si (
ServerURL
) + tetiklemek için APNs konusuMDM yükünü yüklemek için istek
CheckInURL
adresine gönderilirmdmclient
tarafından uygulanırMDM yükü diğer yüklerden etkilenebilir
İsteklerin belirli sertifikalara bağlanmasına izin verir:
Özellik:
CheckInURLPinningCertificateUUIDs
Özellik:
ServerURLPinningCertificateUUIDs
PEM yükü ile teslim edilir
Cihazın bir kimlik sertifikası ile ilişkilendirilmesine izin verir:
Özellik: KimlikSertifikasıUUID
SCEP yükü ile teslim edilir
Adım 7: MDM komutlarını dinleme
MDM kontrolü tamamlandıktan sonra, satıcı APNs'yi kullanarak itme bildirimleri gönderebilir Alındığında, mdmclient
tarafından işlenir MDM komutları için anket yapmak için istek ServerURL adresine gönderilir Daha önce yüklenen MDM yükünden yararlanır: İsteği sabitlemek için ServerURLPinningCertificateUUIDs
TLS istemci sertifikası için IdentityCertificateUUID
kullanır
Saldırılar
Diğer Organizasyonlara Cihazları Kaydetme
Daha önce belirtildiği gibi, bir cihazı bir organizasyona kaydetmek için yalnızca o Organizasyona ait bir Seri Numarası gereklidir. Cihaz kaydedildikten sonra, birçok organizasyon yeni cihaza hassas veriler yükleyecektir: sertifikalar, uygulamalar, WiFi şifreleri, VPN yapılandırmaları ve benzeri. Bu nedenle, kayıt süreci doğru şekilde korunmazsa, bu saldırganlar için tehlikeli bir giriş noktası olabilir:
pageEnrolling Devices in Other OrganisationsLast updated