Barikat Siber Güvenlik Logo

Push Notification (Bildirim Gönderimi) Servisleri Güvenliği

Push Notification (Bildirim Gönderimi) Servisleri Güvenliği | Barikat Siber Güvenlik

Push Notification (Bildirim Gönderimi) Servisleri Güvenliği

11/12/2024

Onesignal, Wonderpush veya benzeri uygulamalar bildirim gönderimi konusunda popüler platformlar olarak öne çıkıyorlar. Ancak, uygulamalarını bildirim göndermek üzere bu tip platformlarla entegre eden geliştirici ekipler, token tabanlı saldırılara maruz kalabiliyor.

Bu yazımızda, token tabanlı saldırılarda saldırganların izlediği yöntemleri ve bu tür saldırılara karşı alınabilecek önlemleri inceleyeceğiz.

Token Güvenliği Sorunu

Bildirim gönderimi platformları, bildirim gönderimi için uygulamanın kullanıcıya özel cihaz kimliklerini ve API anahtarlarını (token) kullanır. Söz konusu token’lar aşağıdaki bilgileri içerebilir:

1.User Auth Tokens (Kullanıcı Kimlikleri): Kullanıcıları ayırt etmek için kullanılan kimlikler.

2.REST API Key (API Anahtarı): Bildirimlerin sunucudan gönderimi için kullanılan özel anahtar.

Birçok saldırgan, mobil uygulamaların veya web platformlarının API çağrılarını inceleyerek bu anahtarları ele geçirebilirler. Saldırganlar genellikle şu adımları izler:

1.Uygulama Analizi: Saldırganlar mobil uygulamayı indirir ve decompile (tersine mühendislik) işlemi yapar.

2.Ağ Trafiği Dinleme: Uygulama ve bildirim platformu sunucuları veya servisleri arasındaki iletişim analiz edilerek token’lar elde edilir.

3.API Anahtarı Kullanımı: Ele geçirilen token ile sahte bildirimler gönderilebilir, kullanıcılar yanıltılabilir veya kötü amaçlı içerikler dağıtılabilir.

Token Güvenliği Sorununun Nedenleri

1.Hardcoded (Sabit Kodlanmış) Anahtarlar: Uygulama geliştiricileri, REST API Key veya diğer kimlik bilgilerini doğrudan mobil uygulama içerisine sabit olarak kodlayabiliyor.

2.Yetersiz Şifreleme: Uygulama ve sunucu arasındaki iletişim yeterince güçlü bir şifreleme ile korunmuyorsa, saldırganlar ağ trafiğini dinleyerek token’ları kolayca ele geçirebilir.

3.Yetersiz Erişim Kontrolü: API çağrılarında kullanıcı bazlı erişim kontrolü eksik olabilir, bu da saldırganların ele geçirdiği token’ları başka kullanıcılara yönelik kötüye kullanmasına olanak tanır.

Token Güvenliğini Sağlamak İçin Çözüm Önerileri

1.Sabit Kodlamadan Kaçının

Sorun: REST API Key veya diğer token bilgileri mobil uygulama içerisinde sabit kodlandığında, tersine mühendislik yöntemleriyle ele geçirilebilir.

Çözüm: Hassas bilgiler sunucu tarafında saklanmalı ve mobil uygulamaya yalnızca gerekli olan dinamik bilgiler (ör. geçici token) gönderilmelidir.

2.HTTPS Kullanımı

Sorun: Şifrelenmemiş HTTP üzerinden yapılan iletişim, ağ trafiğinin dinlenmesine neden olabilir.

Çözüm: Uygulama ile OneSignal arasındaki tüm iletişim HTTPS protokolü ile gerçekleştirilmelidir. Ayrıca SSL/TLS sertifikalarının doğru yapılandırıldığından emin olun.

3.Dinamik Token Kullanımı

Sorun: Uzun süre geçerliliği olan token’lar ele geçirildiğinde, kötüye kullanım riski artar.

Çözüm: Token’ların süresi kısa tutulmalı ve düzenli olarak yenilenmelidir (ör. JSON Web Token - JWT). Bu sayede ele geçirilse bile, token kısa süre içinde geçersiz hale gelir.

4.API Erişim Kontrolü

Sorun: Ele geçirilen bir token, tüm API çağrılarında kullanılabiliyorsa, saldırgan büyük bir avantaj sağlar.

Çözüm: Token doğrulama sürecine kullanıcı bazlı erişim kontrolü eklenmelidir. Örneğin, belirli bir token yalnızca ilgili kullanıcının işlemlerini gerçekleştirebilmelidir.

5.Uygulama Kodunun Obfuscation (Karmaşıklaştırma) İşlemi

Sorun: Saldırganlar uygulamanın kodunu tersine mühendislik yöntemiyle inceleyebilir.

Çözüm: Uygulama kodunu karmaşıklaştırarak (obfuscation), analiz edilmesini zorlaştırabilirsiniz. Android için ProGuard veya R8 gibi araçlar kullanılabilir.

6.Rate Limiting (Hız Sınırlandırma)

Sorun: Ele geçirilen token’larla çok sayıda API çağrısı yapılabilir.

Çözüm: API uç noktalarına hız sınırlandırması getirerek (ör. belirli bir IP’den saniyede maksimum X istek) saldırganların hareket alanını daraltabilirsiniz.

7.Güvenlik Loglama ve İzleme

Sorun: Saldırılar fark edilmeden devam edebilir.

Çözüm: API çağrılarında anormal davranışları tespit edebilmek için kapsamlı bir loglama ve izleme sistemi kurun. Örneğin, bir token ile kısa sürede çok fazla işlem yapılırsa, token otomatik olarak iptal edilebilir.

Sosyal Medyada Paylaş