Sertifika Sabitleme, ortadaki adama karşı koruma sağlamak için ekstra bir güvenlik katmanıdır. Yalnızca sertifikalı Sertifika Yetkilileri’nin (CA), etki alanı için sertifikaları imzalayabilmesini ve tarayıcı mağazanızdaki CA’ları imzalamamasını sağlar.

Uygulama geliştiricileri tersine mühendislikten kaçınmak için Sertifika sabitlemeyi uygular, geliştiricilerin uygulamanın hangi sertifikanın güvenmesine izin vereceğini belirlemesini sağlar. 

SSL Pinning için Kaynak Kodunu Analiz Etme

“ CheckClientTrusted ” veya “ checkServerTrusted “ gibi dizgileri arayarak , sabitlemeli bir kod parçasını gösterir.

Kod gizlenmemişse, pinning’den kurtulmak için kodu değiştireceğiz, APKTOOL ile yeniden derleyip imzalayacağız.

Ayrıca, “ Uygulama İçinde Kodlanmış Sertifika / Anahtar Dosyaları ” veya “ Sabit Kodlu Anahtar Deposu Bulundu ” mesajlarını bulursanız , SSL kodlaması vardır.

SSL Sabitlemeyi Atla

Sözümüzü devre dışı bırakmak için, uygulama dosyasını derhal kırmak ve pimi kontrol etmek için bağlı olan yöntemi bulmak ve kontrolü kaldırmak istiyoruz. Nihai amaç, müşterinin kendi SSL sertifikanızı geçerli olarak kabul etmesini sağlamaktır.

Senaryomuzda bir android uygulaması alıyoruz, eğer cihazınız rootlu ise SSL Pinning’i devre dışı bırakmak için mevcut olan Xposed Framework modüllerini kullanabilirsiniz. Çok basit ve anlaşılır bir yöntemdir.

Ancak, en iyi yol, apk kaynak kodunu sökerek manuel bir inceleme yapmaktır; küçük kaynak kodunun içinde sertifika sabitleme kontrollerinin nerede yapıldığını belirlemeniz gerekir.

$ apktool -d deneme.apk

Sertifika sabitleme girişinin “X509TrustManager”, “cert”, “sabitleme” gibi anahtar kelimeler olduğunu bulmak için “X509TrustManager”, “cert”, “pinning” gibi anahtar kelimeler için küçük kodu arama, sertifikanın yerini bulmak için sabitleme giriş yapılır.

Kodu değiştirdikten sonra uygulamayı bir geliştirici sertifikasıyla derlemeniz ve istifa etmeniz gerekir. Buradaki kod imzalama sertifikası bütünlüğü sağlar ve uygulamanın kurcalamamasını sağlar.

$ apktool b test/ -o example.modified.apk

Bundan sonra, uygulama sadece cihaza yeniden yüklenmesi ve karşı test edilmesi gerekiyor. Uygulamayı bir kez kurduktan sonra, işlerin, sanıldığı gibi, sabitlenmiş sertifikanın atlanmasının bir sonucu olarak, orta saldırıdaki bir adama eğilimli olduğu tahmin ediliyor.

Bu yollardan herhangi birini işaretleme sertifikasını atlamak, oturum belirteçlerini engelleme ve hatta bir kullanıcı paketi gibi bir araçta düz metin içinde kullanıcı adlarını ve şifreleri görebilme yeteneğine sahip HTTPS ve SSL ile kalkan uygulamalara orta saldırıda bir adamı etkili bir şekilde yönetmenize izin verir .

Mitigation – Bypass SSL

Sertifikanın, CAB forumuna göre sona ermesi bekleniyor CA sertifikaları en fazla 3 yıl süreyle verilmez. Bu yüzden güncellenmiş bir sertifikayla bir uygulama güncellemesi planlamalısınız.

Kaynak kodumuzun bozulmasını önlemek için gizleme yöntemleri uygulamalıyız. Kaynak kod analizi için pentesting şirketleri için bir uygulama gönderebilirsiniz.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir