Merhaba Arkadaşlar Bu Makalemizde Sizlere İOS Güvenlik Mekanizmasından Bahsedeceğiz. iOS da saldırı yüzeyini düşürmek amacıyla iOS da Flash desteği verilmiyor. Birçok iOS kullanıcısının en çok şikayet ettiği konu olan Flash desteğinin olmaması konusuna bu açıdan bakıldığında gayet makul bir adım olarak görüroyuz. Bunun yanı sıra PDF render yapan kodların da birçok özelliği kısılmış durumda, bu sayede güvenlik arttırılmaya çalışılıyor. iOS da shell yok. Bu sayede herhangi bir app da bir açıklık bulunursa shell alamıyoruz. Sadece o app in hakkıyla işlem yapabiliyor oluyoruz. iOS da kullanıcı ile etkileşimi olan ve app store dan indirilen uygulamalar mobile kullanıcısı ile çalışıyor. Sadece sistemdeki kritik process ler root hakkıyla çalışıyor. Bu sayede herhangi bir app de bir açıklık çıkarsa, saldırganın sadece o process in veya o app in çalıştığı haklar ile işlem yapabilir hale gelmesi ve sistem seviyesinde kritik işlemleri gerçekleştirememesi amaçlanıyor. Code Signing mekanizması ile bir kod parçası çalıştırılmadan önce onun güvenilir bir kaynak tarafından imzalanıp imzalanmadığı kotrol edilir. Tüm kütüphane ve binary ler çalıştırılmadan önce imza kontrolünden geçrilmektedir. Bu saydede herhangi bir app çalışmaya başladıktan sonra internetten bir kod parçası indirip onu çalıştıramaz. Çünkü o kod parçası imza kontrolünden geçemez. Bu code signing işlemini atlatmak için jailbreak yapılıyor. Bu sayede güvenilir olmayan kaynaklardan gelen kodlar çalıştırılabilir hale geliyor. DEP Data Execution Prevention sayesinde bellekte çalıştırabililr code ile data birdirinden ayrılıyor. DEP sadece çalıştırılabilir kodların çalıştırılmasına izin veriyor. Data olarak nitelendirilen kısımdaki kodların çalıştırılmasına izin verilmiyor. Bu sayede RAM e bir şekilde yüklenen payload data olarak görüldüğünden çalıştırılamıyor. DEP i atlatmak için Return Oriented Programming ROP kullanılıyor. ROP u kısaca, halihazırdaki kodların bazı parçalarının tekrar kullanılarak olağan işlemeri dışında farklı işlemler yaptırılması olarak özetleyebliriz . Ayrıca Code Signing sayesinde herhangi bir imzasız kodun çalıştırılması da mümkün değil. Bu yüzden hem Code Signing hem de DEP yüzünden iOS için exploit development çok zor bir süreç haline geliyor. Address Space Layout Randomization ASLR sayesinde ROP un önüne geçilmeye çalışılıyor. Ancak kullanılmak istenilen kod parçasının bellekteki lokasyonunu bilmemiz gerekiyor ki çalıştırabilelim. İşte ASLR da tam bu noktada devreye giriyor. Binary ler, kütüphaneler, dynamic linkerlar, stack, and heap bellek addresleri ramdoize ediliyor. Böylece DEP ile ASLR birlikte ciddi bir güvenlik önlemi sağlamış oluyor. Saldırgan ancak memory leak ler ile kod parçalarının yerlerini tespit edebilir ki bu da çok zor bir süreç anlamına geliyor. Sandboxing sayesinde kullanıcı hakları kontrolünün üzerine bir katman daha güvenlik getirilmiş oluyor. Aynı user haklarıyla çalışsalar dahi uygulamalar sadece kendilerine izin verilen sandbox un erişime izin verdği kaynaklara erişebiliyorlar. Örneğin SMS applikasyonu ile web browser ikisi de mobile kullanıcısı ile çalışıyorlar. Ancak SMS uygulaması browser cookie lerine erişemiyor ya da borwser sms gönderemiyor. Bu durumda herhangi bir uygulama Code Signing, DEP, ASLR önlemlerini bir şekilde aşıp ROP ile kendi kodunu çalıştırabilir hale gelse dahi sadece kendi sandbox ı içerisinde kalıyor ve sandbox ın dışındaki kaynaklara erişemez hale geliyor. KAYNAK : www.chipteknolojisi.com/ios-guvenlik-mekanizmasi/ &#8203;