OWASP Mobile'ın Gerçek Durumlarla İlgili İlk 10 Riskini Anlama
Yayınlanan: 2020-01-28%100 saldırıya dayanıklı uygulamalar geliştirme konusunda bir endüstri rekoruna sahip olmak, bizim adımız altında geliştirilen dijital çözümlerin hiçbirinin güvenlik ihlaliyle karşılaşmayacağının temel bir garantisini ve bir sorumluluğu beraberinde getirir.
Bunu başarmanın bir yolu olarak, Appinventiv'in Kalite Güvencesi ekibi, bir uygulamanın karşılaşabileceği tüm olası güvenlik risklerine aşinadır. Riskleri bilmek, tuzakları görmezden gelmeyi ve güvenli uygulamalar yazmayı kolaylaştırır.
OWASP güvenli kodlama uygulamaları (Open Web Application Security Project) hakkında tam bilgi sahibi olmak, güvenliği sağlama konusunda oyunun zirvesinde olmamıza yardımcı olur . Güvenli mobil ve web uygulamaları oluşturmak için ücretsiz belgeler, öğrenme materyalleri ve araçlar geliştiren çevrimiçi bir güvenlik uzmanları topluluğudur.
Diğer şeylerin yanı sıra, mobil uygulamalardaki OWASP Mobile En İyi 10 güvenlik tehdidinin bir listesini de derlediler.
OWASP güvenlik uygulamaları belgesi oldukça açık olsa da, işletmelerin gerçek dünyadaki vakalardan bağlantı kurması bazen zor olabilir.
Bu yazıda, size ilk 10 mobil güvenlik riskine ilişkin temel bir genel bakış sunacağız ve her biri için gerçek dünyada ifşa edilen güvenlik açıklarından örnekler vereceğiz. Başvurunuz üzerinde çalışırken Appinventiv'de ne için hazırlandığımıza dair size bir fikir verecektir.
Risklere bakmadan önce, istatistiklere bakalım.
NowSecure , Google Play Store'daki uygulamaları inceledi ve App Store, uygulamaların %85'inden fazlasının risklerden birini ihlal ettiğini belirledi.
Bu uygulamaların %50'si güvenli olmayan veri depolamasına sahipti ve aynı sayıda uygulama güvenli olmayan iletişim riskiyle çalışıyordu . İşte OWASP Mobile Top 10 risklerinin oluşma yüzdesini gösteren bir grafik
Mobil Uygulamalara Yönelik En Yaygın 10 Tehdidin Listesi ve Bunları Önlemek İçin En İyi Uygulamalar
M1: Uygunsuz Platform Kullanımı
OWASP güvenlik testi kategorisi, bir cihaz işlevselliğinin kötüye kullanılması veya platformun güvenlik kontrolleri kullanılırken meydana gelen arıza örneğinden oluşur. Platform izinlerini, Android amaçlarını, TouchID'nin kötüye kullanımını, Anahtar Zincirini vb. içerebilir.
Gerçek Dünya Örneği:
Üç iOS uygulaması : “Fitness Balance uygulaması”, “Kalp Hızı Monitörü” ve “Kalori İzleyici uygulaması”, Apple'ın Touch ID'sini atlamak için ortaya çıktı. App Store'dan para almak için kullanırken, kullanıcılardan fitness bilgilerini almak için parmak izlerini kullanmalarını istiyorlardı.
Kaçınılması Gereken En İyi Uygulama:
- Geliştirici, sunucu yolu üzerinden Anahtar Zinciri şifrelemelerine izin vermemeli ve anahtarları yalnızca bir cihazda tutmalıdır, böylece başka sunucularda veya cihazlarda istismar edilmesi imkansızdır.
- Geliştiricinin, uygulamanın özel bir erişim kontrol listesine sahip sırrını depolamak için uygulamayı Anahtarlık aracılığıyla güvenceye alması gerekir.
- Geliştiricinin, hangi uygulamaların uygulamalarıyla iletişim kurmasına izin verileceğini sınırlamak için izin alması gerekir.
- Geliştirici, açık amaçları tanımlayarak ve böylece diğer tüm bileşenlerin niyette bulunan bilgilere erişimini engelleyerek OWASP Mobile Top 10 listesinin ilkini kontrol etmelidir.
M2: Güvenli Olmayan Veri Depolama
OWASP, birisi kaybolan/çalınan bir mobil cihaza eriştiğinde veya kötü amaçlı yazılım veya başka bir yeniden paketlenmiş uygulama, düşman adına hareket etmeye başladığında ve mobil cihazda işlem gerçekleştirdiğinde bunu bir tehdit olarak kabul eder.
Güvenli olmayan bir veri depolama güvenlik açığı genellikle şu risklere yol açar:
- Sahtekar
- Kimlik Hırsızı
- Malzeme Kaybı.
- İtibar Hasarı
- Dış Politika İhlali (PCI)
Gerçek Dünya Örneği :
Tinder, OKCupid ve Bumble gibi flört uygulamaları , güvenli olmayan veri depolama uygulamaları nedeniyle defalarca incelendi. Bu uygulamalarda bulunan güvenlik gecikmeleri, fizibilite ve önem derecesine ve fizibiliteye göre değişiklik gösterir ve diğer kişisel hesap etkinliklerine ek olarak kullanıcıların adını, oturum açma ayrıntılarını, mesaj geçmişini ve hatta konumunu ifşa edebilir.
Kaçınılması Gereken En İyi Uygulamalar:
- iOS için, OWASP güvenlik uygulamaları , geliştirme çerçevelerini ve uygulamalarını tehdit modeli için iGoat gibi bilerek yapılmış savunmasız uygulamaların kullanılmasını önerir. Bu, ios uygulama geliştiricilerinin API'lerin uygulama süreçleri ve bilgi varlıklarıyla nasıl ilgilendiğini anlamasına yardımcı olacaktır.
- Android uygulama geliştiricileri , hedeflenen uygulamanın dosya izinlerini kontrol etmek için Android Debug Bridge kabuğunu ve veritabanı şifrelemesini kontrol etmek için DBMS'yi kullanabilir. Ayrıca, cihaz belleğinde istenmeyen veriler bulunmadığından emin olmak için Bellek Analizi Aracı ve Android Cihaz Monitörü kullanmaları gerekir.
M3: Güvensiz İletişim
Bir mobil uygulama tasarlarken, istemci-sunucu modelinde veri alışverişi yapılır. Bu nedenle, veriler iletildiğinde, önce cihazın operatör ağını ve interneti geçmelidir. Tehdit ajanları, kablolar arasında seyahat ederken güvenlik açıklarından yararlanabilir ve hassas verileri ele geçirebilir. İşte var olan farklı tehdit ajanları:
- Yerel ağınızı paylaşan düşman – güvenliği ihlal edilmiş bir Wi-Fi
- Ağ veya Taşıyıcı cihazlar – baz istasyonları, proxy, yönlendiriciler vb.
- Mobil cihazda kötü amaçlı yazılım.
Hassas verilerin iletişim kanalı aracılığıyla ele geçirilmesi, aşağıdakilere yol açabilecek bir gizlilik ihlali ile sonuçlanacaktır:
- Kimlik Hırsızı
- Sahtekar
- İtibar Hasarı.
Gerçek Dünya Örneği:
Rapid7 güvenlik şirketi , çocukların akıllı saatlerine bağlı birkaç güvenlik açığını açıkladı . Bu saatler, ebeveynler tarafından çocuklarını takip etmek, onlara mesaj göndermek veya akıllı saatlerinde arama yapmak için kullanılan saatler olarak pazarlandı.
Saatlerle, beyaz liste modu aracılığıyla onaylanmış iletişim numaralarıyla iletişime geçilmesi gerekiyordu, ancak şirket, filtrelerin bile çalışmadığını tespit etti. Saatler, metin mesajları yoluyla yapılandırma komutlarını bile kabul etti. Bu, bir bilgisayar korsanının saat ayarlarını değiştirebileceği ve çocukları riske atabileceği anlamına geliyordu.
Rapid7'nin IoT araştırma lideri Deral Heiland, "Telefonun veya çocuğun nerede olduğunu belirleyebilir, sese erişebilir veya çocuklarla telefon görüşmesi yapabilirsiniz" dedi.
Kaçınılması Gereken En İyi Uygulamalar:
- Geliştiriciler, yalnızca uygulama ve sunucu arasında iletilen trafik üzerindeki sızıntıları değil, aynı zamanda uygulamayı ve diğer cihazı veya yerel ağı tutan cihazı da aramalıdır.
Kanalları taşımak için TLS/SSL uygulamak , hassas bilgileri ve diğer hassas verileri iletmek söz konusu olduğunda dikkate alınması gereken en iyi mobil uygulama güvenliği uygulamalarından biridir.
- Güvenilir SSL zincir doğrulamaları tarafından verilen sertifikaları kullanın.
- Hassas verileri MMS, SMS veya push bildirimleri gibi alternatif kanallar üzerinden göndermeyin.
- SSL kanalına vermeden önce hassas verilere ayrı bir şifreleme katmanı uygulayın.
M4: Güvenli Olmayan Kimlik Doğrulama
Kimlik doğrulama güvenlik açıklarından yararlanan tehdit aracıları, bunu özel olarak oluşturulmuş veya mevcut araçları kullanan otomatik saldırılar yoluyla yapar.
M4'ün ticari etkisi şunlar olabilir:
- Bilgi Hırsızlığı
- itibar hasarı
- Verilere Yetkisiz Erişim.
Gerçek Dünya Örneği :
2019'da bir ABD bankası, bankanın web sitesindeki açıktan yararlanan ve hesapları korumak için uygulanan iki faktörlü kimlik doğrulamasını atlatan bir siber saldırgan tarafından saldırıya uğradı.
Saldırgan, çalınan kurban kimlik bilgileriyle sisteme giriş yaptı ve PIN veya güvenlik yanıtının girilmesi gereken sayfaya ulaştığında, Web URL'sinde bilgisayarı tanınan olarak ayarlayan manipüle edilmiş bir dize kullandı. Bu onun sahneyi geçmesini ve banka havalelerini başlatmasını sağladı.
Kaçınılması Gereken En İyi Uygulamalar:
- Uygulama güvenlik ekibi, uygulama kimlik doğrulamasını incelemeli ve kötüye kullanılıp kullanılamayacağını belirlemek için çevrimdışı modda ikili saldırılar yoluyla test etmelidir.
- OWASP web uygulaması test güvenlik protokolleri , mobil uygulamalarınkilerle eşleşmelidir.
- Web tarayıcısında olduğu gibi, mümkün olduğunca çevrimiçi kimlik doğrulama yöntemlerini kullanın.
- Sunucu, kullanıcı oturumlarının kimliğini doğrulayana kadar uygulama verilerinin yüklenmesini etkinleştirmeyin.
- Yerel verilerin nihai olarak yerleştirildiği yerler, kullanıcıların oturum açma kimlik bilgilerinden elde edilen şifreli anahtar aracılığıyla şifrelenmesini sağlar.
- Kalıcı kimlik doğrulama isteği de sunucuda saklanmalıdır.
- Güvenlik ekibi, uygulamadaki cihaz merkezli yetkilendirme belirteçlerine dikkat etmelidir, çünkü cihaz çalınırsa uygulama savunmasız kalabilir.
- Cihazlara yetkisiz fiziksel erişim yaygın olduğundan, güvenlik ekibi sunucu ucundan düzenli kullanıcı kimlik doğrulamasını zorunlu kılmalıdır.
M5: Yetersiz Kriptografi Riskleri
Bu durumda tehdit ajanları, yanlış şifrelenmiş verilere fiziksel erişime sahip olanlardır. Veya bir kötü amaçlı yazılımın düşman adına hareket ettiği durumlarda.
Bozuk kriptografi genellikle şu durumlarda sonuçlanır:
- Bilgi Hırsızlığı
- Fikri Mülkiyet Hırsızlığı
- kod hırsızlığı
- Gizlilik İhlalleri
- İtibar Hasarı.
Gerçek Dünya Örneği :
Bazen önce DHS Endüstriyel Kontrol Sistemleri Siber Acil Müdahale Ekibinden ve Philips danışmanlığından bir uyarı, kullanıcıları Philips HealthSuite Health Android uygulamasındaki olası bir güvenlik açığı konusunda uyardı .
Yetersiz şifreleme gücüne kadar takip edilen sorun, uygulamayı, kullanıcıların kalp atış hızı aktivitesine, kan basıncına, uyku durumuna, kilo ve vücut kompozisyonu analizine vb. erişebilecek bilgisayar korsanlarına açtı.
Kaçınılması Gereken En İyi Uygulamalar:
- Bu, en yaygın olarak ortaya çıkan OWASP İlk 10 Mobil risklerinden birini çözmek için geliştiricilerin uygulamalarını şifrelemek için modern şifreleme algoritmaları seçmesi gerekir. Algoritma seçimi, güvenlik açığıyla büyük ölçüde ilgilenir.
- Geliştirici bir güvenlik uzmanı değilse, kendi şifreleme kodlarını oluşturmaktan kaçınmalıdır.
M6: Güvensiz Yetkilendirme Riskleri
Bu durumda, tehdit aracıları, tipik olarak özel olarak oluşturulmuş veya mevcut araçları kullanan otomatik saldırılar yoluyla başka birinin uygulamasına erişebilir.
Aşağıdaki sorunlara yol açabilir:
- Bilgi Hırsızlığı
- itibar hasarı
- Sahtekar
Gerçek Dünya Örneği :
Pen Test Partners'daki bilgi güvenliği uzmanları, akıllı bir araba alarm sistemi olan Pandora'yı hackledi. Teorik olarak, uygulama bir arabayı takip etmek, çalınırsa motoru kesmek ve polis gelene kadar kilitlemek için kullanılır.
Madalyonun diğer tarafında, bir bilgisayar korsanı hesabı ele geçirebilir ve tüm verilere ve akıllı alarm işlevlerine erişebilir. Ek olarak, şunları yapabilirler:
- Araç hareketlerini takip edin
- Alarm sistemini etkinleştirin ve devre dışı bırakın
- Araba kapılarını kilitleyin ve kilidini açın
- motoru kes
- Pandora örneğinde, bilgisayar korsanları, hırsızlık önleme sisteminin mikrofonu aracılığıyla arabanın içinde konuşulan her şeye erişebildi.
Kaçınılması Gereken En İyi Uygulamalar:
- KG ekibi , hassas komutlar için düşük ayrıcalıklı oturum belirteçleri çalıştırarak kullanıcı ayrıcalıklarını düzenli olarak test etmelidir.
- Geliştirici, çevrimdışı modda kullanıcı yetkilendirme şemalarının yanlış gittiğini not etmelidir.
- Bu riski önlemenin en iyi yolu, kimliği doğrulanmış bir kullanıcının izinleri ve rolleri için yetkilendirme kontrollerini mobil cihaz yerine sunucuda çalıştırmaktır.
M7: Kötü Kod Kalite Riskleri
Bu durumlarda, güvenilir olmayan girdiler, varlıklar tarafından mobil kodda yapılan yöntem çağrılarına iletilir. Bunun bir etkisi, performansın düşmesine, yoğun bellek kullanımına ve zayıf çalışan ön uç mimarisine yol açabilecek teknik sorunlar olabilir.
Gerçek Dünya Örneği :
WhatsApp geçen yıl, bilgisayar korsanlarının akıllı telefonlara Pegasus Casus Yazılımı adlı gözetleme kötü amaçlı yazılımını yüklemek için yararlandığı bir güvenlik açığını düzeltti. Tek yapmaları gereken, hedeflenen telefon numaralarına bir WhatsApp sesli araması yapmaktı.
Bilgisayar korsanları birkaç basit adımda kullanıcıların cihazlarına girip uzaktan erişebildi.
Kaçınılması Gereken En İyi Uygulamalar:
- OWASP güvenli kodlama uygulamalarına göre , kodun sunucu tarafında sabitlenmesi yerine mobil cihazda yeniden yazılması gerekmektedir. Geliştiriciler, sunucu tarafındaki hatalı kodlamanın, istemci düzeyindeki zayıf kodlamadan çok farklı olduğunu unutmamalıdır. Yani, hem zayıf sunucu tarafı kontrolleri hem de istemci tarafı kontrolleri ayrı ayrı dikkate alınmalıdır.
- Geliştirici, arabellek taşmalarını ve bellek sızıntılarını belirlemek için statik analiz için üçüncü taraf araçları kullanmalıdır.
- Ekip, bir üçüncü taraf kitaplıklar listesi oluşturmalı ve düzenli aralıklarla daha yeni sürümler olup olmadığını kontrol etmelidir.
- Geliştiriciler, tüm istemci girdilerini güvenilmez olarak görmeli ve kullanıcılardan mı yoksa uygulamadan mı geldiklerine bakılmaksızın bunları doğrulamalıdır.
M8: Kod Kurcalama Riskleri
Genellikle bu durumda bir saldırgan, üçüncü taraf uygulama mağazalarında barındırılan uygulamaların kötü amaçlı biçimleri aracılığıyla kod değişikliğinden yararlanır. Ayrıca, kimlik avı saldırıları yoluyla kullanıcıları bir uygulama yüklemeleri için kandırabilirler.
Kaçınılması Gereken En İyi Uygulamalar:
- Geliştiriciler, uygulamanın çalışma zamanında kod değişikliklerini algılayabildiğinden emin olmalıdır.
- Build.prop dosyası, Android'de resmi olmayan ROM olup olmadığı ve cihazın root'lu olup olmadığı kontrol edilmelidir.
- Geliştirici, dosya üzerinde değişiklik yapılıp yapılmadığını görmek için sağlama toplamlarını kullanmalı ve dijital imzaları değerlendirmelidir.
- Kodlayıcı, kurcalama bulunduğunda uygulama anahtarlarının, kodun ve verilerin kaldırıldığından emin olabilir.
M9: Tersine Mühendislik Riski
Saldırgan genellikle hedeflenen uygulamayı uygulama mağazasından indirir ve bir dizi farklı araçla yerel ortamlarında analiz eder. Bunu takiben, kodu değiştirebilir ve uygulama işlevini farklı hale getirebilirler.
Gerçek Dünya Örneği :
Pokemon Go kısa süre önce, kullanıcıların Pokemon'ların çevresini bilmek ve onları dakikalar içinde yakalamak için uygulamayı tersine çevirdiği tespit edildiğinde güvenlik ihlali bakışlarıyla karşı karşıya kaldı.
Kaçınılması Gereken En İyi Uygulamalar:
- OWASP mobil güvenliğine göre, bir uygulamayı riske karşı korumanın en iyi yolu , bilgisayar korsanlarının tersine mühendislik için kullanacağı araçların aynısını kullanmaktır.
- Geliştiricinin ayrıca kaynak kodunu gizlemesi gerekir, böylece okunması zorlaşır ve ardından tersine mühendislik yapılır.
M10: Harici İşlevsellik Riski
Genellikle bir bilgisayar korsanı, arka uç sistemlerindeki gizli işlevleri keşfetmek için bir mobil uygulamanın içindeki gereksiz işlevselliğe bakar. Saldırgan, herhangi bir son kullanıcı müdahalesi olmadan kendi sistemlerindeki gereksiz işlevlerden yararlanır.
Gerçek Dünya Örneği :
Wifi Dosya Aktarımı uygulamasının fikri, Android'de bağlantı noktası açmak ve bilgisayardan bağlantılara izin vermekti. Sorun mu? Parolalar gibi kimlik doğrulama eksikliği, yani herkes bir cihaza bağlanabilir ve tam erişimini alabilir.
Kaçınılması Gereken En İyi Uygulamalar:
- Son derlemede test kodu olmadığından emin olun
- Yapılandırma ayarlarında gizli anahtar olmadığından emin olun
- Günlükler, herhangi bir arka uç sunucu işlemi açıklaması içermemelidir
- Tam sistem günlüklerinin OEM'lerin uygulamalarına maruz kalmadığından emin olun
- API uç noktaları iyi belgelenmelidir.