OWASP Nedir ?
- CodeX
- 22 Eki 2020
- 5 dakikada okunur
Açık Web Uygulama Güvenliği Projesi (OWASP), web sitesi sahiplerinin ve güvenlik uzmanlarının web uygulamalarını siber saldırılardan korumalarına yardımcı olmak amacıyla 2001 yılında kurulmuş, kar amacı gütmeyen bir kuruluştur. OWASP'nin dünya çapında güvenlik değerlendirmeleri ve araştırma yapan 32.000 gönüllüsü vardır.
OWASP İlk 10
OWASP İlk 10, web uygulamalarını etkileyen en önemli güvenlik risklerine öncelik veren, yaygın olarak kabul gören bir belgedir. Ondan fazla güvenlik riski olmasına rağmen, OWASP Top 10'un arkasındaki fikir, güvenlik profesyonellerini en azından en kritik güvenlik risklerinin farkında kılmak ve bunlara karşı nasıl savunma yapılacağını öğrenmektir.
OWASP, önemli siber saldırı türlerini dört kritere göre düzenli olarak değerlendirir:
Sömürülme kolaylığı, yaygınlık, tespit edilebilirlik ve iş etkisi ve ilk 10 saldırıyı seçer. OWASP Top 10 ilk olarak 2003 yılında yayınlandı ve o zamandan beri 2004, 2007, 2010, 2013 ve 2017'de güncellendi.
Yaygın OWASP Saldırılarını Anlama ve Önleme
Aşağıda, OWASP vakfı tarafından, genellikle OWASP İlk 10'un en üst yarısında yer alan beş önemli web uygulaması saldırısı, kendilerini nasıl ortaya koydukları ve kuruluşunuzu bunlara karşı nasıl koruyabileceğiniz hakkında sağlanan bilgiler yer almaktadır. Kod örnekleri OWASP İlk 10 kılavuzundan alınmıştır.

Enjeksiyon
Bir web uygulamasındaki bir enjeksiyon güvenlik açığı, saldırganların bir yorumlayıcıya düşmanca veriler göndermesine ve bu verilerin sunucuda derlenmesine ve yürütülmesine neden olur. Yaygın bir enjeksiyon biçimi SQL enjeksiyonudur .
Enjeksiyon Saldırılarına Örnekler
Bir uygulama, savunmasız bir SQL çağrısı oluştururken güvenilmeyen verileri kullanır:
Dize sorgusu = "SELECT * FROM hesaplarından WHERE custID = '" + request.getParameter ("id") + "'";
Bir uygulama, girdilerini temizlemeden bir çerçeveye güvenir, bu durumda Hazırda Bekletme
Sorgu Dili (HQL):
Sorgu HQLQuery = session.createQuery ("CustID = '" + request.getParameter ("id") + "'");
Saldırgan, kod göndermek için tarayıcısındaki 'id' parametresini değiştirir. Örneğin:
http://example.com/app/accountView?id= 'veya' 1 '=' 1
Bu, sorguların hesaplar tablosundaki tüm kayıtları döndürmesine neden olur ve sunucuda diğer kötü niyetli eylemleri gerçekleştirmek için kullanılabilir.
Enjeksiyon Saldırılarını Önleme
Tercümanın kullanımından tamamen kaçınan güvenli bir API kullanın
Pozitif veya "beyaz liste" sunucu tarafı giriş doğrulamasını kullanın
Özel karakterlerden kaçış
SQL enjeksiyonu durumunda kayıtların toplu olarak ifşa edilmesini önlemek için sorgularda LIMIT ve diğer SQL kontrollerini kullanın.
Bozuk Kimlik Doğrulama
Bozuk veya zayıf kimlik doğrulamasına sahip bir web uygulaması, saldırganlar tarafından kolayca tespit edilebilir ve kaba kuvvet / sözlük saldırılarına ve oturum yönetimi saldırılarına karşı savunmasızdır.
Bozuk Kimlik Doğrulama Saldırılarına Örnekler
Kimlik bilgilerini doldurma saldırıları, bilinen şifrelerin listelerini kullanır ve erişim sağlamak için bunları sırayla dener. Otomatik tehdit veya kimlik bilgisi doldurma koruması olmadan, uygulama saldırganlar tarafından denedikleri herhangi bir parola için bir doğrulama mekanizması olarak kullanılır.
Parola tabanlı saldırılar - yalnızca parolalara dayanan web uygulamaları, parolaların karmaşıklık gereksinimleri olsa ve döndürülseler bile, doğal olarak zayıf kimlik doğrulama mekanizmalarına sahiptir. Kuruluşlar çok faktörlü kimlik doğrulamaya geçmelidir.
Bozuk Kimlik Doğrulamayı Azaltma
Çok faktörlü kimlik doğrulama uygulayın
Varsayılan kimlik bilgilerine sahip sistemleri dağıtmayın
En kötü 10.000 şifrenin listesini kontrol edin
Hafızaya Alınmış Sırlar için NIST 800-63 B bölüm 5.1.1'deki yönergeleri kullanın
Kayıt ve kimlik bilgilerini kurtarma gibi kimlik doğrulama ile ilgili tüm süreçleri sertleştirin
Başarısız oturum açma girişimlerini sınırlayın veya geciktirin
Güvenli, yerleşik bir sunucu tarafı oturum yöneticisi kullanın
Hassas Verilerin İfşası
Hassas veriler, genellikle siber saldırıların hedeflediği en değerli varlıktır. Saldırganlar, kriptografik anahtarları çalarak, "ortadaki adam" (MITM) saldırıları gerçekleştirerek veya zaman zaman sunucularda veya kullanıcı tarayıcılarında saklanabilen açık metin verilerini çalarak erişebilirler.
Hassas Verilere Maruz Kalma Örnekleri
TLS yok - bir web sitesi tüm sayfalar için SSL / TLS kullanmıyorsa, bir saldırgan trafiği izleyebilir, bağlantıları HTTPS'den HTTP'ye düşürebilir ve oturum çerezini çalabilir.
Tuzsuz karmalar - bir web uygulamasının şifre veritabanı, şifreleri saklamak için tuzsuz veya basit karmalar kullanabilir. Bir saldırgan veritabanına erişim kazanırsa, örneğin GPU'ları kullanarak karmaları kolayca kırabilir ve erişim elde edebilir.
Hassas Verilere Maruz Kalmayı Azaltma
Hassas verileri belirleyin ve uygun güvenlik kontrollerini uygulayın.
Kesinlikle gerekmedikçe hassas verileri saklamayın, hassas verileri atın, belirteçlere ayırma veya kısaltma kullanın.
Güçlü şifreleme algoritmaları, protokoller ve anahtarlar kullanarak tüm hassas verileri beklemede şifreleyin.
TLS ve HTTP HSTS gibi güvenli protokolleri kullanarak aktarım sırasında verileri şifreleyin.
Hassas veriler için önbelleğe almayı devre dışı bırakın.
Argon2, scrypt ve bcrypt gibi güçlü, tuzlu hash işlevlerini kullanarak parolaları saklayın.
XML Harici Varlıkları (XXE)
Bir web uygulaması savunmasız bileşen işleme XML kullanıyorsa, saldırganlar XML yükleyebilir veya bir XML belgesine düşmanca içerik, komutlar veya kod ekleyebilir.
XXE Saldırılarının Azaltılması
JSON gibi daha basit veri formatlarını kullanın ve serileştirmeden kaçının
Tüm XML işlemcilerini ve kitaplıklarını yamalayın veya yükseltin
XML harici varlığı ve DTD işlemeyi devre dışı bırakın
Beyaz listeye alma ve sunucu tarafı XML girişlerinin temizliğini uygulayın
XML'i XSD veya benzer bir doğrulama kullanarak doğrulayın
XXE'yi kaynak kodda tespit etmek için, mümkünse manuel incelemeyle birlikte SAST araçlarını kullanın
Bozuk Erişim Kontrolü
Bozuk erişim kontrolü, saldırganların kullanıcı hesaplarına erişim elde edebileceği ve kullanıcı veya yönetici gibi davranabileceği ve normal kullanıcıların istenmeyen ayrıcalıklı işlevler elde edebileceği anlamına gelir. Güçlü erişim mekanizmaları, her rolün açık ve yalıtılmış ayrıcalıklara sahip olmasını sağlar.
Bozuk Erişim Kontrol Örnekleri
Bir uygulama, hesap bilgilerini isteyen bir SQL çağrısını doğrulamadan kabul edebilir:
pstmt.setString (1, request.getParameter ("acct"));
ResultSet sonuçları = pstmt.executeQuery ();
Saldırgan, istediği herhangi bir hesap numarasına erişmek için 'hesap' parametresini değiştirebilir:
Bozuk Erişim Kontrolünün Azaltılması
Genel kaynaklar dışında varsayılan olarak erişimi reddet
Güçlü erişim kontrol mekanizmaları oluşturun ve bunları uygulama genelinde yeniden kullanın
Kayıt sahipliğini zorunlu kılın━kullanıcıların herhangi bir kayıt oluşturmasına, okumasına veya silmesine izin vermeyin
Kullanım ve hız sınırlarını zorunlu kılın
Sunucu dizini listesini devre dışı bırakın ve meta verileri veya yedekleme dosyalarını klasör kökünde saklamayın
Başarısız erişim girişimlerini ve uyarı yöneticilerini günlüğe kaydedin
Hız sınırı API ve denetleyici erişimi
Oturumu kapattıktan sonra JWT belirteçlerini doğrulayın
Diğer OWASP İlk 10 Saldırısı
Yanlış Güvenlik Yapılandırmaları Yapılandırılmamış güvenlik denetimleri, saldırganlar için ortak bir giriş noktasıdır. Örneğin, varsayılan bir yönetici şifresiyle dağıtılan bir veritabanı.
Siteler Arası Komut Dosyası (XSS) saldırıları, oturum yönetimindeki zayıflıklardan yararlanmak ve kullanıcı tarayıcılarında kötü amaçlı kod yürütmek için XSS kullanır.
Güvensiz Seri Durumdan Çıkarma ━ Seri durumdan çıkarma karmaşık bir tekniktir, ancak doğru şekilde yürütülürse, saldırganların bir sunucuda kötü amaçlı kod çalıştırmasına izin verir.
Bilinen Güvenlik Açıklarına Sahip Bileşenleri Kullanma Çoğu web uygulaması büyük ölçüde açık kaynaklı bileşenlere dayanır ve bunlar, saldırganların erişim elde etmek veya hasara neden olmak için yararlanabileceği bilinen güvenlik açıklarını içerebilir.
Yetersiz Günlük Kaydı ve İzleme Saldırganlar, diğer saldırı vektörleriyle başarılı olmak için izleme eksikliğine ve zamanında yanıt vermemeye güvenir.
Imperva Uygulama Güvenliği
Imperva'nın sektör lideri Web Uygulama Güvenlik Duvarı (WAF), OWASP İlk 10 saldırılarına ve diğer web uygulaması tehditlerine karşı sağlam koruma sağlar. Imperva iki WAF dağıtım seçeneği sunar:
Cloud WAF — yasal trafiğe izin verin ve kötü trafiği önleyin. Kurumsal sınıf bulut WAF ile uygulamalarınızı uçta koruyun.
Gateway WAF — Imperva Gateway WAF ile ağınızdaki uygulamaları ve API'leri güvende tutun.
Imperva, WAF'a ek olarak, web sitelerinin ve uygulamaların erişilebilir, kolay erişilebilir ve güvenli olduğundan emin olmak için çok katmanlı koruma sağlar. Imperva uygulama güvenliği çözümü şunları içerir:
DDoS Koruması - her durumda çalışma süresini koruyun. Herhangi bir boyuttaki DDoS saldırısının web sitenize ve ağ altyapınıza erişimi engellemesini önleyin.
CDN — geliştiriciler için tasarlanmış bir CDN ile web sitesi performansını artırın ve bant genişliği maliyetlerini azaltın. API'leri ve dinamik web sitelerini hızlandırırken statik kaynakları uçta önbelleğe alın.
Bot yönetimi - anormallikleri tespit etmek için bot trafiğinizi analiz eder, kötü bot davranışını tanımlar ve kullanıcı trafiğini etkilemeyen sorgulama mekanizmaları aracılığıyla bunu doğrular.
API güvenliği — Yalnızca istenen trafiğin API uç noktanıza erişmesini sağlayarak ve güvenlik açıklarından yararlanma durumlarını tespit edip engelleyerek API'leri korur.
Hesap devralma koruması — kullanıcıların hesaplarını kötü niyetli amaçlarla ele geçirme girişimlerini belirlemek ve bunlara karşı savunmak için amaca dayalı bir tespit sürecini kullanır.
RASP — uygulamalarınızı bilinen ve sıfır gün saldırılarına karşı içeriden güvende tutun . İmza veya öğrenme modu olmadan hızlı ve doğru koruma.
Analitik saldırı - tüm savunma katmanlarınızda eyleme geçirilebilir zeka ile gerçek güvenlik tehditlerini etkili ve doğru bir şekilde azaltın ve bunlara yanıt verin.
Comments