Mobil Uygulama Analizinde Yaklaşımlar

Bu yazıda mobil uygulama analizinde kullandığım yaklaşımdan biraz bahsedeceğim. Mobil uygulama testi uygulamayı kurmadan önce ve sonra olmak üzere 2 adımda geçekleştirilebilir. Böylece uygulamanın her davranışını analiz edebilir ve ona göre bir saldırgan gözüyle bakarak saldırı senaryosu düşünebilirsiniz.

Uygulama Kurulmadan ÖNCE

ekran-resmi-2017-02-21-22-38-21

Hassas Bilgilerin Kontrolü

  • Uygulamayı kurmadan önce kaynak kodunun elde edilmesi sonucunda içerisindeki hassas bilgiler incelenmelidir.

Obfuscation (şaşırtma) Yöntemi Kontrolü

  • Bu yöntem uygulamanın kaynak kodunda hassas bilgilere erişmek istediğimizde geliştiricinin bu bilgileri bizi şaşırtmak amacıyla daha karmaşık halde kullanmasıdır. Örneğin; database erişim dosyası ve bu bilgilerin olduğu class ismi db yerine a olarak kullanılması gibi.

Manifest Dosyasının İncelenmesi

  • Geliştirici tarafından hazırlanan AndroidManifest.xml dosyası uygulamanın cihazdan erişmek üzere talep ettiği yetkileri belirten dosyadır. Bu dosya sayesinde uygulama hakkında genel bilgi sahibi de olunabilir.

Güvenlik Yöntemlerinin Tespit Edilmesi

  • Root Cihaz Kontrolü
    • Uygulama kurulurken cihazın root veya jailbreak olup olmadığını kontrol ediyor olabilir. Bu gibi güvenlik önlemlerinin kontrolünü önceden gerçekleştirilip ona uygun ortam ayarlanmalıdır.
  • SSLPinning
    • Uygulamanın SSLPinning güvenlik yöntemini kullanıp kullanmadığı test edilmelidir.
  • Screenshot Koruma
    • Uygulamanın ekran görüntüsü almanızı engelliyor olması da bir güvenlik önlemidir.

Uygulama Kurulduktan SONRA

ekran-resmi-2017-02-21-22-56-35

Uygulama İşlevlerinin Tespiti

  • Uygulama,
    • Register (Kayıt olma)
    • Login (Giriş yapma)
    • Sıra numarası alma (Eğer bir banka uygulaması ise)
    • Alışveriş yapma
    • Mesaj gönderme gibi

işlevleri gerçekleştiriyor olabilir.

  • Uygulamanın işlevlerinin tespit edilmesi sırasında bir proxy aracı kullanarak gezinti boyunca elde edilen verileri analiz etmek için kaydetmek önemlidir.

Network Hareketlerinin Kontrolü

  • Wireshark gibi bir uygulama ile mobil uygulamanın ağ trafiğini izleyip analiz etmek gerekir.

Depolama Alanları Kontrolü

  • Uygulama geliştiriciler, uygulama verilerini saklamak için bazı depolama yöntemleri kullanırlar. Bu alanlardan burada ayrıntılı olarak bahsetmiştik.
    • Shared Preferences
    • SQLite Databases
    • Harici depolama alanları
    • Dahili depolama alanları

Web Servis Kontrolü

  • Uygulamanın herhangi bir web servis ile bağlantıya geçip geçmediği yine bir proxy aracı yardımıyla öğrenilebilir. Eğer zararlı bir yazılım ise cihazdaki hassas bilgileri okuyarak bir web sunucusuna gönderiyor olabilir.

Uygulama Loglarının İncelenmesi

  • Uygulamada kritik bilgilerin loglara kaydedilmesi ihtimalini düşünerek loglar incelenip analiz edilmelidir.

603 total views, 1 views today

Bir Cevap Yazın

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