Son günlerde ülkemizde bazı kurumların mobil uygulamalarından ard arda yetkisiz bildirimler gönderildiğine şahit olduk. Bu uygulamaların ortak yanının One Signal kullanımı olduğu bilinmektedir. Ancak problemin sebebinin doğrudan One Signal değil, One Signal kullanırken yapılan hatalar olduğu görünmektedir. Bu yazıda One Signal kullanımında nelere dikkat edilmesi gerektiği hakkında kısa bir bilgilendirme yaptık.
One Signal’den Açıklama
One Signal’in kurucusu ve CEO’su George Deglin bu yaşanan olaylardaki problemin doğrudan One Signal ile ilgili olmadığını şu sözlerle ifade etti:
“Ekibimiz bu durumu araştırıyor ve bunun olmasından dolayı üzgünüz. İlk aşamada bu uygulamaların API anahtarlarının tehlikeye atıldığı anlaşılıyor. Müşterilerin hackerlar tarafından zarar gördüğünü görmek her zaman acı vericidir. Bu uygulamaların devre dışı bırakıldığını doğrulayabiliriz, yani ek mesajlar gönderilmiyor. Ancak API anahtarlarının nasıl sızdırılmış olabileceğini belirlemek ve ek koruma için IP izin listesi özelliğimizi kullanmalarını önermek için bu firmalara ulaşacağız”.
One Signal nedir?
Mobil uygulamalar ve web siteleri için, açık kaynak kodlu ve ücretsiz bir bildirim sağlama hizmetidir. Push notifications konusunda oldukça popülerdir. Kolay kurulum, güçlü topluluk ve çoklu platform desteği sayesinde geliştiriciler tarafından çokça tercih edilir.
One Signal Kullanırken Nelere Dikkat Etmeliyiz?
OneSignal, bildirim gönderme işlemlerinde oldukça etkili bir araçtır; ancak, güvenlik açıklarını önlemek ve kullanıcı verilerini korumak için dikkatli bir yaklaşım gerektirir.
1. API Anahtarlarınızı Gizli Tutun
OneSignal’ın sağladığı API keyleri, sisteminizin güvenliği için kritik öneme sahiptir. Bu keyleri kesinlikle client tarafında saklamayın. Keylerinizi güvende tutmak için:
- Sunucu Tabanlı Doğrulama Kullanın: Sunucu API keylerini yalnızca backend sunucunuzda kullanın ve client tarafından erişimi engelleyin.
- Obfuscation: Uygulama keylerini kaynak kodda tutmak zorundaysanız, kod karmaşıklaştırma (obfuscation) tekniklerinden faydalanın.
2. Bildirimler Şifreli Kanallar Üzerinden Gönderilmeli
Push bildirimlerinizi iletirken HTTPS protokolü kullanarak verilerin şifreli bir şekilde taşınmasını sağlayın. Bu adım, özellikle aradaki adam (man in the middle) saldırılarını önlemek için çok önemlidir.
- SSL/TLS Sertifikalarını Doğrulayın: Uygulamanızın sunucu tarafında doğru bir şekilde kurulu bir sertifika bulunması gerektiğinden emin olun.
- HTTP Strict Transport Security (HSTS): Bildirim işlemlerinde sadece güvenli bağlantıları kabul eden bir politika benimseyin.
3. Yetkilendirme ve Kimlik Doğrulama Mekanizmaları Kullanın
Bildirimlerinizi sadece yetkili kullanıcıların alıp yanıtladığından emin olun.
- Kullanıcı Bazlı Tokenlar: Her kullanıcıya özgü bir kimlik belirleyerek, bildirimlerin yanlış kişilere gitmesini engelleyin.
- Backend Kontrollü Bildirimler: Push bildirimlerini doğrudan client tarafından değil, sunucunuz aracılığıyla gönderin. Bu, kullanıcı tokenlarının çalınması riskini azaltır.
4. Kullanıcı Verilerini Koruyun (Yasal Durumlar)
Push bildirimleri için kullanıcılardan aldığınız bilgilerin gizliliğini sağlamak, sadece etik bir zorunluluk değil, aynı zamanda KVKKmgibi yasalarla da desteklenmektedir.
- Veri Anonimleştirme: Bildirim verilerini saklarken kimlik bilgilerini anonim hale getirin.
- Açık Rıza: Kullanıcılardan bildirim izni isterken, hangi verilerin kullanılacağına dair şeffaf olun.
5. SDK ve Kütüphane Güncellemelerine Dikkat Edin
One Signal SDK’sını düzenli olarak güncel tutun. Kütüphanelerin eski sürümleri, güvenlik açıkları içerebilir.
- Güncel Sürümü Takip Edin: Yeni sürümün sağladığı iyileştirmeleri ve yamaları inceleyin.
- Bağımlılıkları Doğrulayın: SDK ile kullandığınız diğer bağımlı kütüphanelerin de güvenilir ve güncel olduğundan emin olun.
6. Test Uygulayın
Push bildirim sisteminizi yayına almadan önce ve yayındayken düzenli aralıklarla test edin:
- Penetrasyon Testleri: Bildirim mekanizmanızda güvenlik zafiyetlerini belirlemek için siber güvenlik uzmanlarından destek alın.
- Loglama ve Takip: Bildirimlerin gönderim loglarını tutarak olağan dışı hareketleri tespit edin. Ancak logların hassas bilgileri içermemesine dikkat edin.
Tüm bunlara ek olarak kullanıcıların bildirim aboneliklerinden kolayca çıkabilmesi için uygulama içerisinde bir ayar sayfası oluşturun.
OneSignal, push bildirimleri kolayca yönetmek için harika bir aracıdır; ancak güvenlik açılarının önüne geçmek sizin sorumluluğunuzdadır. Yukarıdaki önerileri uygulayarak hem uygulamanızın hem de kullanıcılarınızın güvenliğini en üst seviyeye çıkarabilirsiniz. Unutmayın, iyi bir deneyim, ancak güvenli bir altyapı ile mümkündür.