
macOS için DriverKit güvenliği
DriverKit, geliştiricilerin kullanıcıların Mac’lerine yükleyeceği aygıt sürücülerini yaratmalarını sağlayan yazılım çerçevesidir (framework). DriverKit ile oluşturulan sürücüler, sistem güvenliğini ve kararlılığını artırmak amacıyla çekirdek genişletmeleri olarak değil, kullanıcı alanında çalıştırılır. Bu, yükleme işlemini kolaylaştırır ve macOS’in kararlılığını ve güvenliğini artırır.
Kullanıcının uygulamayı indirmesi yeterlidir (sistem genişletmelerini veya DriverKit’i kullanırken yükleyici gerekmez), genişletme gerekli olduğunda etkinleştirilir. Bunlar birçok durumda, /Sistem/Kitaplık veya /Kitaplık klasörlerine yüklemek için yönetici ayrıcalıkları gerektiren çekirdek genişletmelerinin (kext) yerine geçer.
Çekirdek genişletmeleri gerektiren aygıt sürücüleri, bulut saklama alanı çözümleri, ağ iletişimi ve güvenlik uygulamaları kullanan BT yöneticilerinin, sistem genişletmeleri üzerine kurulmuş yeni sürümlere geçmeleri önerilir. Bu yeni sürümler, Mac’te çekirdek hataları olasılığını önemli ölçüde azaltmasının yanı sıra saldırı zeminini de daraltır. Bu yeni genişletmeler kullanıcı alanında çalışır, yükleme için özel ayrıcalıklar gerektirmez ve uygulama paketi Çöp Sepeti’ne taşındığında otomatik olarak silinir.
DriverKit framework’ü; giriş/çıkış servisleri için C++ sınıfları, aygıt eşleme, bellek açıklayıcıları ve dağıtım sıraları sağlar. Sayılar, koleksiyonlar, dizgiler ve diğer yaygın tipler için giriş/çıkışa uygun tipler de tanımlar. Kullanıcı bunları, USBDriverKit ve HIDDriverKit gibi aileye özel sürücü framework’leriyle kullanır. Bir sürücüyü yüklemek ve yükseltmek için System Extensions (Sistem Genişletmeleri) framework’ünü kullanın.