OWASP Top10 Mobil Uygulama, Güvenlik

CH

Uzman üye
28 Ocak 2019
1,967
907
Siber
Selamlar TurkHackTeam,
Bu konumuzda OWASP("Open Web Application Security Project" // Türkçe karşılığı ile "Açık Web Uygulaması Güvenliği Projesi") Top10 Mobil Uygulama - Güvenlik ve araçlarını anlatmaya çalışacağım. Sorusu olan okuyucularımız sorabilirler, elimden geldiğince yardımcı olacağım.

OWASP-Top-10-logo.png


"Open Web Application Security Project"


OWASP

Güvenliğin sağlanması için, mobil uygulama geliştiricilerinin güvenlik standartlarına uygun hareket etmeleri ve güvenlik açıklarını düzenli olarak test etmeleri gereklidir. OWASP, bu konuda farkındalığı artırmak ve geliştiricilere rehberlik etmek amacıyla önemli bir kaynak sunmaktadır. OWASP sayesinde, mobil uygulamaların güvenlik açıkları minimize edilebilir ve kullanıcıların verileri daha güvenli bir şekilde korunabilir.

Alt Başlıklarımız

M1: Weak Server Side Controls - Zayıf Sunucu Tarafı Kontrolleri
M2: Insecure Data Storage - Güvensiz Veri Depolama
M3: Insufficient Transport Layer Protection - Yetersiz Taşıma Katmanı Koruması
M4: Client Side Injection - İstemci Tarafı Enjeksiyonu
M5: Poor Authorization and Authentication - Zayıf Yetkilendirme ve Kimlik Doğrulama
M6: Improper Session Handling - Hatalı Oturum Yönetimi
M7: Security Decisions Via Untrusted Inputs - Güvenilmeyen Girdilere Dayalı Güvenlik Kararları
M8: Side Channel Data Leakage - Yan Kanal Veri Sızıntısı
M9: Broken Cryptography - Bozuk Kriptografi
M10: Sensitive Information Disclosure - Hassas Bilgi Açığı

"M" OWASP Mobile Top 10 listesindeki her bir güvenlik riskini temsil eden bir kısaltmadır. Bu kısaltma, OWASP'ın mobil uygulama güvenliği alanındaki önemli riskleri belirlemek ve sıralamak için kullandığı bir standarttır.

M1: Zayıf Sunucu Tarafı Kontrolleri

Zayıf Sunucu Tarafı Kontrolleri, mobil uygulamaların arka uç sistemlerindeki güvenlik açıklarıyla ilgilidir. Bu tür zayıflıklar, sunucu yapılandırmalarının yetersizliği, güvenlik önlemlerinin yetersiz uygulanması veya hiç uygulanmaması sonucu ortaya çıkar. Bu tür sorunlar, saldırganların sunucuya erişimini kolaylaştırarak verilerin çalınmasına veya manipüle edilmesine neden olabilir.

Zayıf sunucu tarafı kontrollerinin yaygın örnekleri arasında güvenlik duvarlarının doğru yapılandırılmaması, güncellemelerin zamanında yapılmaması ve güvenli kodlama uygulamalarının takip edilmemesi sayılabilir. Sunucular, genellikle veritabanları, API'ler ve diğer kritik bileşenlerle bağlantılıdır, bu yüzden güvenliğinin sağlanması çok önemlidir.

Güvenliğin artırılması için, sunucu tarafında sıkı güvenlik politikaları uygulanmalı ve düzenli güvenlik taramaları yapılmalıdır. Ayrıca, güvenli kodlama uygulamaları ve güvenlik yamalarının zamanında uygulanması, saldırı riskini önemli ölçüde azaltabilir.

ARAÇLAR

Burp Suite
Web uygulamalarını test etmek için yaygın olarak kullanılan bir güvenlik aracı. Sunucu tarafı kontrolleri incelemek için kullanılabilir.

6321a0f076706854ff591093_All%20about%20BurpSuite.jpg



OWASP ZAP (Zed Attack Proxy)
Web uygulamalarındaki güvenlik açıklarını bulmak ve analiz etmek için kullanılan açık kaynaklı bir araç.

1586766458581



Nikto
Web sunucularını güvenlik açıkları için tarayan bir araç.

Nikto.png



Nessus
Ağ ve sistem güvenliği için kapsamlı bir güvenlik açığı tarayıcısı.

nessuslogo-02.png



psblska.png

M2: Güvensiz Veri Depolama

Güvensiz Veri Depolama, mobil uygulamaların kullanıcı verilerini yeterince güvenli olmayan yöntemlerle saklaması anlamına gelir. Bu, hassas bilgilerin cihazda düz metin olarak saklanması veya şifreleme olmadan depolanması durumunda ortaya çıkar. Saldırganlar, bu tür verilere fiziksel erişim veya kötü amaçlı yazılımlar aracılığıyla kolayca erişebilirler.

Bu tür bir güvenlik açığının sonuçları oldukça ciddi olabilir; örneğin, kullanıcı kimlik bilgileri, finansal bilgiler veya kişisel sağlık bilgileri ifşa olabilir. Mobil cihazlar genellikle kullanıcıların günlük yaşamlarının bir parçası olduğu için, bu tür verilerin güvenli bir şekilde saklanması son derece önemlidir.

Güvenli veri depolama yöntemleri arasında verilerin şifrelenmesi, güvenli anahtar yönetimi ve hassas bilgilerin yalnızca gerektiğinde saklanması bulunur. Ayrıca, uygulamalar, cihazın güvenlik özelliklerinden faydalanarak (örneğin, iOS Keychain veya Android Keystore) verileri koruyabilirler.

ARAÇLAR

MobSF (Mobile Security Framework)
Mobil uygulamaların güvenlik analizini yapmak için kullanılan açık kaynaklı bir araç. Veri depolama güvenliğini analiz edebilir.

ec45ab80-b46b-11e9-9f7f-6db13d2e8507


Drozer
Android cihazlarda uygulama güvenliği testleri yapmak için kullanılan bir araç. Veri depolama alanlarındaki güvenlik açıklarını tespit edebilir.

11559f8.jpg



Frida
Dinamik analiz ve müdahale araçları sağlayan bir framework. Veri depolama güvenliğini test etmek için kullanılabilir.

frida-re2.png



psblska.png

M3: Yetersiz Taşıma Katmanı Koruması

Yetersiz Taşıma Katmanı Koruması, mobil uygulamalar ve sunucular arasında iletilen verilerin yeterince korunmaması anlamına gelir. Bu, şifrelenmemiş iletişim kanalları kullanılarak veya güvenli olmayan şifreleme protokolleri uygulanarak ortaya çıkabilir. Bu durumda, saldırganlar, ağ trafiğini dinleyerek hassas verilere erişebilirler.

Taşıma katmanı korumasının olmaması, ortadaki adam (MITM) saldırılarına ve veri sızıntılarına yol açabilir. Örneğin, bir kullanıcı bir kafe Wi-Fi ağı üzerinden uygulamaya bağlandığında, saldırganlar bu ağı kullanarak verileri çalabilir.

Bu tür güvenlik risklerini azaltmak için, tüm veri iletimleri için HTTPS gibi güvenli protokoller kullanılmalı ve SSL/TLS sertifikalarının doğru şekilde yapılandırıldığından emin olunmalıdır. Ayrıca, sertifika doğrulama mekanizmaları (pinning) kullanılarak sahte sertifikalarla yapılan saldırılar engellenebilir.

ARAÇLAR

OWASP ZAP
HTTP/HTTPS trafiğini analiz etmek ve taşıma katmanı koruma zayıflıklarını tespit etmek için kullanılabilir.

1586766458581


Burp Suite
HTTPS iletişimini analiz etmek ve güvenlik açıklarını tespit etmek için kullanılabilir.

6321a0f076706854ff591093_All%20about%20BurpSuite.jpg


SSL Labs' SSL Test
SSL/TLS yapılandırmasını test etmek için kullanılan bir çevrimiçi araç.

qualys-ssl-labs-logo.png



psblska.png

M4: İstemci Taraflı Enjeksiyon

İstemci Taraflı Enjeksiyon, mobil uygulamalara dış kaynaklardan zararlı kodların enjekte edilmesiyle ilgilidir. Bu tür saldırılar, uygulamanın kullanıcı girdilerini yeterince kontrol etmemesi veya doğrulamaması sonucu ortaya çıkar. Saldırganlar, bu zafiyeti kullanarak istemci tarafında zararlı komutlar çalıştırabilirler.

Bu tür enjeksiyon saldırıları, genellikle SQL enjeksiyonu, komut enjeksiyonu veya cross-site scripting (XSS) gibi yöntemlerle gerçekleştirilir. Örneğin, bir kullanıcı formu aracılığıyla zararlı kod gönderebilir ve bu kod uygulamanın veri tabanında veya dosya sisteminde çalıştırılabilir.

İstemci taraflı enjeksiyonu önlemek için, uygulamanın kullanıcı girdilerini doğru bir şekilde filtrelemesi ve doğrulaması gereklidir. Ayrıca, parametrik sorgular kullanarak SQL enjeksiyonları önlenebilir ve güvenlik kontrolleri istemci tarafında değil sunucu tarafında yapılmalıdır.

ARAÇLAR

QARK (Quick Android Review Kit)
Android uygulamalarındaki güvenlik açıklarını analiz etmek için kullanılan bir araç. İstemci taraflı enjeksiyon zafiyetlerini tespit edebilir.

1700688890643


Drozer
Android uygulamalarındaki istemci taraflı enjeksiyon zafiyetlerini test edebilir.

11559f8.jpg


Jadx
Android uygulamalarının dekompile edilip kod analizi yapılmasını sağlayan bir araç. Enjeksiyon zafiyetlerini tespit edebilir.

jadx-logo.png



psblska.png

M5: Zayıf Yetkilendirme ve Kimlik Doğrulama

Zayıf Yetkilendirme ve Kimlik Doğrulama, kullanıcıların kimlik doğrulama süreçlerinin yetersiz olması ve yetkilendirme mekanizmalarının eksikliği anlamına gelir. Bu tür zayıflıklar, yetkisiz kullanıcıların hassas verilere veya işlevlere erişmesine neden olabilir.

Bu tür sorunlar, zayıf şifre politikaları, şifre karma algoritmalarının yanlış kullanımı veya kimlik doğrulama süreçlerinin atlatılabilir olması durumunda ortaya çıkar. Örneğin, bir uygulama, zayıf bir parola doğrulama mekanizmasına sahipse, saldırganlar kolayca hesapları ele geçirebilirler.

Bu riskleri azaltmak için, güçlü kimlik doğrulama yöntemleri (örneğin, iki faktörlü kimlik doğrulama) uygulanmalı ve şifre politikaları sıkı olmalıdır. Ayrıca, yetkilendirme mekanizmaları, kullanıcıların sadece izin verilen kaynaklara erişimini sağlamak için dikkatlice yapılandırılmalıdır.

ARAÇLAR

OWASP ZAP
Yetkilendirme ve kimlik doğrulama süreçlerini test etmek için kullanılabilir.

1586766458581


Burp Suite
Kimlik doğrulama ve yetkilendirme açıklarını test etmek için kullanılabilir.

6321a0f076706854ff591093_All%20about%20BurpSuite.jpg


Postman
API yetkilendirme testleri için kullanılabilir.

1660742513074



psblska.png

M6: Hatalı Oturum Yönetimi

Hatalı Oturum Yönetimi, kullanıcı oturumlarının güvenli bir şekilde yönetilmemesi anlamına gelir. Bu, oturum kimliklerinin yetersiz korunması veya oturum sonlandırma mekanizmalarının eksikliği gibi durumlarda ortaya çıkabilir. Saldırganlar, bu zafiyetleri kullanarak kullanıcı oturumlarını ele geçirebilirler.

Bu tür sorunlar, genellikle oturum kimliklerinin açıkça taşınması veya çerezlerin yeterince güvenli olmaması durumunda görülür. Örneğin, bir uygulama, oturum kimliklerini URL'de taşırsa, saldırganlar bu kimlikleri kolayca çalabilir.

Oturum yönetimi sorunlarını önlemek için, oturum kimlikleri güvenli bir şekilde saklanmalı ve iletilmelidir. Ayrıca, oturumlar belirli bir süre sonra otomatik olarak sonlandırılmalı ve çerezler güvenli ve HTTPOnly bayrakları ile işaretlenmelidir.

ARAÇLAR

OWASP ZAP
Oturum yönetimi ile ilgili güvenlik açıklarını test etmek için kullanılabilir.

1586766458581


Burp Suite
Oturum yönetimi açıklarını tespit etmek için kullanılabilir.

6321a0f076706854ff591093_All%20about%20BurpSuite.jpg


Postman
Oturum yönetimi ve token güvenliği testleri için kullanılabilir.

1660742513074



psblska.png

M7: Güvenilmeyen Girdilere Dayalı Güvenlik Kararları

Güvenilmeyen Girdilere Dayalı Güvenlik Kararları, mobil uygulamaların güvenlik kararlarını kullanıcı girdilerine veya diğer güvenilmeyen kaynaklara dayandırması durumunda ortaya çıkar. Bu tür zayıflıklar, saldırganların uygulamanın işleyişini manipüle etmelerine ve güvenlik kontrollerini atlatmalarına olanak tanır.

Örneğin, bir uygulama, kullanıcının tarayıcı türüne veya IP adresine dayalı olarak güvenlik kontrollerini atlayabilir. Saldırganlar, bu bilgileri manipüle ederek uygulamanın güvenlik mekanizmalarını atlatabilirler.

Bu tür zayıflıkları önlemek için, güvenlik kontrolleri kullanıcı girdilerine veya istemci tarafındaki bilgilere dayandırılmamalıdır. Tüm güvenlik kontrolleri sunucu tarafında yapılmalı ve doğrulanmalıdır.

ARAÇLAR

Burp Suite
Güvenilmeyen girdilerden kaynaklanan zafiyetleri test etmek için kullanılabilir.

6321a0f076706854ff591093_All%20about%20BurpSuite.jpg


OWASP ZAP
İstemci tarafındaki güvenilmeyen girdileri analiz etmek için kullanılabilir.

1586766458581


Frida
Dinamik analiz yaparak güvenilmeyen girdilerden kaynaklanan zafiyetleri test edebilir.

frida-re2.png



psblska.png

M8: Yan Kanal Veri Sızıntısı

Yan Kanal Veri Sızıntısı, mobil uygulamaların kullanıcı verilerini veya işlemlerini istemeden sızdırması anlamına gelir. Bu, uygulamaların günlük dosyaları, önbellekler veya diğer geçici depolama alanlarında hassas bilgileri saklaması durumunda ortaya çıkabilir. Saldırganlar, bu tür bilgileri ele geçirerek kullanıcıların gizliliğini ihlal edebilirler.

Örneğin, bir uygulama, kullanıcı parolalarını veya kredi kartı bilgilerini açık metin olarak günlük dosyalarında saklarsa, saldırganlar bu dosyalara erişerek hassas bilgileri çalabilirler. Ayrıca, bellek dökümü veya hata raporları gibi yan kanallar da veri sızıntısına neden olabilir.

Yan kanal veri sızıntılarını önlemek için, hassas bilgilerin günlük dosyalarında veya önbelleklerde saklanmaması sağlanmalı ve tüm geçici veriler güvenli bir şekilde yönetilmelidir. Ayrıca, uygulamalar, hata raporları ve bellek dökümleri gibi yan kanalların hassas bilgiler içermediğinden emin olmalıdır.

ARAÇLAR

MobSF (Mobile Security Framework)
Uygulama içi yan kanal veri sızıntılarını analiz etmek için kullanılabilir.

ec45ab80-b46b-11e9-9f7f-6db13d2e8507


Frida
Bellek analizi ve yan kanal veri sızıntılarını tespit etmek için kullanılabilir.

frida-re2.png


Drozer
Yan kanal veri sızıntılarını tespit etmek için kullanılabilir.


11559f8.jpg



psblska.png

M9: Bozuk Kriptografi

Bozuk Kriptografi, mobil uygulamaların verileri şifrelerken zayıf veya hatalı kriptografik yöntemler kullanması anlamına gelir. Bu tür zayıflıklar, verilerin saldırganlar tarafından kolayca deşifre edilmesine veya manipüle edilmesine neden olabilir. Kötü kriptografi uygulamaları, genellikle zayıf şifreleme algoritmalarının kullanılması, anahtar yönetiminde yapılan hatalar veya şifreleme süreçlerinin yanlış uygulanması sonucu ortaya çıkar.

Örneğin, bir uygulama, MD5 veya SHA-1 gibi artık güvenli kabul edilmeyen şifreleme algoritmalarını kullanıyorsa, saldırganlar bu algoritmaların zayıflıklarından faydalanarak verileri çözebilirler. Ayrıca, kriptografik anahtarların düzgün yönetilmemesi veya zayıf anahtarların kullanılması da bu tür güvenlik açıklarına yol açabilir.

Bozuk kriptografi problemlerini önlemek için, modern ve güvenli kabul edilen şifreleme algoritmaları kullanılmalı ve bu algoritmaların doğru bir şekilde uygulanması sağlanmalıdır. Ayrıca, güçlü anahtar yönetimi politikaları benimsenmeli ve kriptografik anahtarlar güvenli bir şekilde saklanmalıdır. Örneğin, AES-256 gibi güçlü şifreleme algoritmaları ve HMAC (Hash-based Message Authentication Code) gibi güvenli doğrulama yöntemleri kullanılabilir. Ayrıca, anahtar yönetimi için donanım güvenlik modülleri (HSM) veya güvenli anahtar depolama mekanizmaları tercih edilmelidir.

ARAÇLAR

MobSF (Mobile Security Framework)
Kriptografik uygulamaları analiz etmek ve zayıf şifreleme yöntemlerini tespit etmek için kullanılabilir.

ec45ab80-b46b-11e9-9f7f-6db13d2e8507


QARK (Quick Android Review Kit)
Android uygulamalarındaki kriptografi zafiyetlerini analiz etmek için kullanılabilir.

1700688890643


CryptoTester
Kriptografik uygulamaların güvenliğini test etmek için kullanılan bir araç.

cryptotesters.png



psblska.png

M10: Hassas Bilgi Açığı

Hassas Bilgi Açığı, mobil uygulamaların kullanıcılar veya sistem hakkında hassas bilgileri yanlışlıkla veya dikkatsizlik sonucu ifşa etmesi anlamına gelir. Bu tür bilgiler, kişisel veriler, finansal bilgiler, sağlık bilgileri veya uygulama içi gizli veriler olabilir. Bu bilgilerin ifşası, kullanıcıların gizliliğinin ihlal edilmesine ve uygulamanın güvenliğinin tehlikeye girmesine neden olabilir.

Bu tür zayıflıklar, genellikle uygulama içi hatalar, yanlış yapılandırmalar veya yetersiz veri koruma önlemleri nedeniyle ortaya çıkar. Örneğin, bir uygulama, hata mesajlarında veya loglarda hassas bilgileri açığa çıkarabilir. Ayrıca, veri şifrelemesinin yetersiz olması veya açık metin olarak veri depolama da bu tür güvenlik açıklarına yol açabilir.

Hassas bilgi açığı problemlerini önlemek için, uygulamanın tüm kullanıcı verilerini ve hassas bilgilerini doğru bir şekilde koruduğundan emin olunmalıdır. Bu, verilerin şifrelenmesi, logların dikkatli bir şekilde yönetilmesi ve hata mesajlarının kullanıcı dostu ve güvenli bir şekilde işlenmesini içerir. Ayrıca, uygulamanın veri güvenliği politikaları düzenli olarak gözden geçirilmeli ve güncellenmelidir. Örneğin, hassas verilerin şifrelenmesi için AES-256 gibi güçlü şifreleme algoritmaları kullanılabilir ve veri erişim kontrolleri sıkı bir şekilde uygulanmalıdır.

ARAÇLAR

MobSF (Mobile Security Framework)
Mobil uygulamaların güvenlik analizini yapmak için kullanılan açık kaynaklı bir araç. Hassas bilgi açığını tespit etmek ve analiz etmek için kullanılabilir.

ec45ab80-b46b-11e9-9f7f-6db13d2e8507


QARK (Quick Android Review Kit)
Android uygulamalarındaki güvenlik açıklarını analiz etmek için kullanılan bir araç. Hassas bilgi açığı zafiyetlerini tespit edebilir.

1700688890643


Drozer
Android cihazlarda uygulama güvenliği testleri yapmak için kullanılan bir araç. Hassas bilgi açığı zafiyetlerini tespit edebilir.

11559f8.jpg



SOURCES:







T%C3%BCrkHackTeam_Logo.png
owasp-logo.png
q95944r.png



TURKHACKTEAM.ORG // CH

euwl1gm.png



 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.