İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

İOS Güvenlik Mekanisması

Esm3H

0
İyinet Üyesi
Katılım
11 Eylül 2014
Mesajlar
74
Reaction score
0
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 (Reusing existing code snippets). 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.

 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst