04 Mayıs 2020

Mobile Application Pentest (Mobil Uygulama Sızma Testi) Nedir?

Mobile Application Pentest Nedir
Mobile Application Pentest ile Web Application Pentest Arasındaki İlişki
Mobile application pentest çalışmaları web application pentest çalışmaları ile büyük oranda aynıdır. Web uygulamalarında dahi frontend ve backend kod ayrımının netleşmesi sonrasında istemcide çalışan kod ile sunucuda çalışan kod bir birinden ayrılmış ve sunucu servisleri kullanılan frontend teknolojisinden bağımsız bir biçimde hizmet vermeye başlamıştır. Bu nedenle sunucu tarafındaki riskler açısından mobile application pentest ile web application pentest arasında büyük oranda benzerlik bulunmaktadır.

Aradaki farkın doğduğu yer istemci teknolojileri tarafıdır. Mobil uygulamalar bir anlamda masaüstü ve dizüstü bilgisayarlarımızda kullandığımız uygulamalara benzerler. Yani üzerlerinde çalıştıkları sistem üzerinde kayıtlar oluşturabilir ya da izler bırakabilirler, ve aynı platform üzerinde diğer uygulamalar ile birlikte faaliyet gösterirler. Ayrıca web uygulama teknolojisine nazaran daha yüksek fonksiyonaliteye sahip bir kod barındıracakları için uygulama içinde güvenlik açısından kritik olabilecek bilgi sızdırma potansiyelleri daha yüksektir.

Mobile application pentest çalışmalarında da nispeten daha kritik olan taraf sunucu servisleridir. Çünkü;
  • Tüm kullanıcılara hizmet veren altyapının güvenliği sunucu servisleri güvenliğine bağlıdır.
  • Mobil uygulama kullanıcıları ile ilgili yüklü miktarda veri sızması ve yetkisiz erişim riski sunucu tarafında daha fazladır.

MOBILE APPLICATION'LARA ÖZGÜ RİSKLERİN DEĞERLENDİRİLMESİ


Mobile Applicationlara Özgü Riskler
Mobile Application'lara Özgü Riskler

Ancak mobil uygulamaların da kendilerine has problemleri bulunmaktadır. Örneğin;
  • Interprocess communication saldırıları, yani uygulamaların birbirleri ile iletişimi üzerinden yapılabilecek saldırılar. Bu risk hakkında fikir vermesi açısından hepimizin telefonlarında bulunan telefon uygulamasının Contacts uygulamasına erişerek kayıtlı telefon numaralarına erişmesini örnek verebiliriz.
  • Clipboard'dan veri sızdırma. Örneğin kullanıcı sizin uygulamanızdaki hassas bir veriyi kopyaladı ve bu bilgi clipboard'da iken farklı bir uygulama açtı, bu uygulama da o anda clipboard'da ne varsa okudu. Böyle bir erişim bazı durumlarda güvenlik risklerine yol açabilir.
  • Uygulamanın ortak alanlara veri yazması ve diğer uygulamaların bu alanları okuması. Bu durum belki tüm platformlarda mümkün olmayabilir, ancak uygulamanın üzerinde çalıştığı platforma bağlı olarak bu tür riskler dikkate alınmalıdır.
  • Uygulama arka plana atılırken cihazın ekran görüntüsünü kaydetmesi, bu görüntünün de ele geçirilmesi sonucu hassas bilgilerin sızması.
  • Uygulamanın cihaz üzerinde sakladığı erişim bilgileri, oturum parametreleri ve diğer hassas verilerin ele geçirilmesi riski.
  • User dictionary ya da keyboard cache'te kalan veriler içinde uygulama kullanıcısının yazdığı hassas verilerin kaydedilmesi riski.
  • Mobil cihaz üzerinde çalışan uygulamanın ürettiği log kayıtları içinde hassas verilerin sızması riski bu riskler arasında sayılabilir.

MOBILE APPLICATION SECURITY EN İYİ UYGULAMALARININ DEĞERLENDİRİLMESİ


Mobile Application Security En İyi Uygulamaları
Mobile Application Security En İyi Uygulamaları

Ayrıca diğer pentest projelerinde olduğu gibi pentest uzmanının mobil uygulama güvenliği ile ilgili değerlendirebileceği ve hatırlatabileceği kontroller vardır. Örneğin bunlar arasında;
  • Uygulama kodlarının tersine mühendisliğini zorlaştırmak amacıyla kod obfuscation, yani karmaşıklaştırma uygulanması.
  • Uygulamanın root'lu ve jailbreak'li cihazlar üzerinde çalıştırılamaması için gerekli kontroleri uygulaması. Bu kontrol özellikle yüksek güvenlik ihtiyacı olan uygulamalar için uygulama verilerine yetkisiz erişim riskinin ve uygulama trafiğinin izlenme ihtimalinin azaltılabilmesi için önemlidir.
  • Uygulama trafiğinda araya girme riskinin azaltılabilmesi için SSL pinning kontrolü uygulanması sayılabilir.
Bu kontroller uygulansa dahi yeterli zamana sahip bir reverse engineering uzmanının uygulamanızı hem dinamik hem de statik analize tabi tutabileceğini unutmamakta fayda vardır. Ayrıca uygulamanız başka birisinin sahip olduğu bir platformda çalışacağından uyguladığınız zorlaştırıcı önlemler de uzman bir saldırgan tarafından bertaraf edilebilir.

BTRisk pentest hizmetleri ile ilgili daha fazla bilgi almak ve BTRisk'e ulaşmak için aşağıdaki sayfaları ziyaret edebilirsiniz:
https://www.btrisk.com/hizmetler/pentest-sizma-testi-hizmeti/
https://www.btrisk.com/iletisim/