iOS’te ve iPadOS’te uygulama kodu imzalama işlemi
iOS’te ve iPadOS’te Apple; zorunlu kod imzalama, sıkı bir geliştirici girişi politikası vb. özellikler yoluyla uygulama güvenliği sunar.
Zorunlu kod imzalama
iOS veya iPadOS çekirdeği başladıktan sonra, hangi kullanıcı işlemlerinin ve uygulamaların çalıştırılabileceğini denetler. iOS ve iPadOS, tüm uygulamaların bilinen ve onaylı bir kaynaktan gelmesini ve değiştirilmemiş olmasını sağlamak için çalıştırılabilir kodların tümünün Apple tarafından sağlanan bir sertifikayla imzalanmasını gerektirir. Mail ve Safari gibi aygıtla birlikte gelen uygulamalar Apple tarafından imzalanmıştır. Üçüncü parti uygulamaların da Apple tarafından sağlanan bir sertifika kullanılarak doğrulanmış ve imzalanmış olması gerekir. Zorunlu kod imzalama, güven zinciri kavramını işletim sisteminden uygulamalara kadar genişletir ve üçüncü parti uygulamaların imzasız kod kaynakları yüklemesini veya kendi kendini değiştiren kodlar kullanmasını engellemeye yardımcı olur.
Geliştiriciler uygulamalarını nasıl imzalar?
Geliştiriciler, uygulamalarını sertifika doğrulama yoluyla (Apple Geliştirici Programı üzerinden) imzalayabilirler. Aynı zamanda uygulamalarının içine framework (yazılım çerçeveleri) gömüp bu kodun Apple tarafından verilmiş bir sertifikayla doğrulanmasını (takım tanıtıcısı dizgisi aracılığıyla) sağlayabilirler.
Sertifika doğrulama: iPhone veya iPad aygıtlarında uygulama geliştirmek ve yüklemek için geliştiricilerin Apple’a kaydolması ve Apple Geliştirici Programı’na katılması gerekir. İster birey ister işletme olsun, her geliştiricinin gerçek dünyadaki kimliği sertifika verilmeden önce Apple tarafından doğrulanır. Bu sertifika geliştiricilerin uygulamaları imzalamasını ve dağıtım için App Store’a göndermesini sağlar. Sonuçta, App Store’daki tüm uygulamalar kimliği belirlenebilir bir kişi veya kuruluş tarafından gönderilmiş olur ve bu da kötü amaçlı uygulamaların yaratılmasında caydırıcı rol oynar. Ayrıca, ana hatlarıyla açıklandığı gibi çalıştıklarından ve bariz hatalar veya başka belirgin sorunlar içermediklerinden emin olmaya yardımcı olmak için Apple tarafından da incelenir. Burada açıklanan teknolojiye ek olarak, bu iyileştirme işlemi, kullanıcıların satın aldıkları uygulamanın kalitesine güvenmelerini sağlar.
Kod imzası doğrulama: iOS ve iPadOS, geliştiricilerin uygulamalarının içine uygulamanın kendisi veya uygulamaya gömülü genişletmeler tarafından kullanılabilecek framework yerleştirmelerine izin verir. Sistemi ve diğer uygulamaları kendi adres alanlarının içinde üçüncü parti kodların yüklenmesinden korumak için, sistem bir işlemin başlatma zamanında bağlantı kurduğu tüm dinamik kitaplıkların kod imzasını doğrular. Bu doğrulama, Apple tarafından sağlanan sertifikadan seçilip çıkarılan takım tanıtıcısı (Takım Kimliği) aracılığıyla gerçekleştirilir. Takım tanıtıcısı, 10 karakterden oluşan alfasayısal bir dizgidir (örneğin 1A2B3C4D5F). Bir program, sistemle birlikte gelen herhangi bir platform kitaplığıyla veya kod imzasında ana çalıştırılabilir öğeyle aynı takım tanıtıcısına sahip bir kitaplıkla bağlantı kurabilir. Sistemin parçası olarak gelen çalıştırılabilir öğelerin takım tanıtıcısı olmadığından bunlar yalnızca sistemin kendisiyle birlikte gelen kitaplıklarla bağlantı kurabilir.
Kurum içinde geliştirilen uygulamaları doğrulama
Uygun işletmelerin kendi kuruluşlarında kullanıma yönelik kurum içinde geliştirilen uygulamalar yazma ve bunları çalışanlarına dağıtma olanağı bulunur. İşletmeler ve kuruluşlar, Apple Kurumsal Geliştirici Programı’na (ADEP) başvurabilir. Daha fazla bilgi ve uygunluk gereksinimlerini gözden geçirmek için Apple Kurumsal Geliştirici Programı web sitesine bakın. Bir kuruluş ADEP üyesi olduktan sonra, yetkilendirdiği aygıtlarda kurum içinde geliştirilen uygulamaların çalıştırılmasına izin veren bir hazırlık profili almak için kayıt olabilir.
Kullanıcıların bu uygulamaları çalıştırabilmesi için hazırlık profilini yüklemiş olmaları gerekir. Böylece yalnızca kuruluşun hedeflediği kullanıcıların uygulamaları kendi iPhone veya iPad aygıtlarına yüklemesi sağlanır. Kuruluşla aygıt arasındaki ilişki zaten kurulmuş olduğundan mobil aygıt yönetimi (MDM) aracılığıyla yüklenen uygulamalara kesin olarak güvenilir. Aksi takdirde, kullanıcıların uygulamanın hazırlık profilini Ayarlar’da onaylaması gerekir. Kuruluşlar, kullanıcıların bilinmeyen geliştiricilere ait uygulamaları onaylamasını da sınırlayabilir. Herhangi bir kurum içinde geliştirilen uygulama ilk kez başlatılırken aygıtın Apple’dan uygulamanın çalışmasına izin verildiğine dair olumlu onay alması gerekir.