OWASP Top 10 Projesi’ne Bakış: Web Uygulamalarınızı Koruma

Hackerlara biraz kredi vermelisin. Kalıcı, yaratıcı ve çoğu zaman başarılılar. Sadece çabalarını olumlu arayışlara yönelttiklerinde neler yapabileceklerini düşünün. Bilgisayar korsanları ağ hizmetlerine istedikleri şekilde saldıracak. Ve doğrudan internetin tam ortasına vurmaktan daha iyi bir yol: web uygulaması. Açık Web Uygulama Güvenliği Projesi (OWASP) adı verilen bir kuruluş düzenli olarak yaygın web uygulaması açıklarını derler. Buna OWASP Top 10 Projesi diyorlar. Aşağıdaki bu istismarların bir özetidir.

A1: 2017 – Enjeksiyon
Bilgisayarların zeki olduğunu düşünebilirsiniz, ama yaptıklarını söylediklerinize çok benziyorlar. Eğer bir bilgisayara bir komut verirseniz, buna karşı bir şey yapmazsanız, onu devam ettirmek için ona güvenebilirsiniz. Ve eğer birisi – herkes – bilgisayar tarafından tanınan bir yerde bir komutta kayarsa, yeteneğini en iyi şekilde uygulamak için her türlü sebebi olacaktır. Bu nedenle, hackerlar mümkün olan her yerde komutları enjekte etmenin yollarını bulmaya çalışırlar. OWASP sitesi koyarken:

“SQL, NoSQL, OS ve LDAP enjeksiyonu gibi enjeksiyon kusurları, güvenilmeyen veriler bir komutun veya sorgunun parçası olarak bir yorumlayıcıya gönderildiğinde ortaya çıkar.”

Bunu nasıl yapıyorlar? Ekrana yazdığınız ifadelere komut yazıyorlar. Üç tip enjeksiyon, girişsiz giriş, kör SQL enjeksiyonu ve hata bazlı enjeksiyondur.

Teknik yazar Joseph Cox, SQL enjeksiyonu “hacklemenin en kolay yolu” ve “web sitelerine bir numaralı tehdit” diyor.

A2: 2017 – Kırık Kimlik Doğrulama
Hepimiz şifrelenen şifreler hakkında hikayeler duyduk. Çoğu uygulamada kimlik doğrulama için kullanıcı kimlikleri ve şifreler kullanılır. Bir bilgisayar korsanı, bir kullanıcının kimliğini ve şifresini veya kullanıcı oturum açtığında oluşturulan oturum kimliğini yakaladığında, bozuk kimlik doğrulaması gerçekleşir. Bunu yapmanın birçok yolu vardır.

OWASP, bu kesmek için yaygın yöntemler listeler ve bunları önlemek için örnekler ve yollar sunar. Bu istismarlar, şifrelenmemiş bağlantılar, zayıf şifreler ve süresi dolmayan oturum kimlikleri gibi zayıflıklardan yararlanır. Yönetici / yönetici olarak varsayılan yönetici girişini bırakmak amatör bir hatadır, ancak bu gerçekleşir. Ve “şifre” kelimesini kimin şifresi olarak kullanacak? Zor bir şifre seçmek akıllıca bir seçimdir. Şifrelenmemiş olan şifreler, giriş sırasında veya depolandıklarında olsun, belaya davet ediyorlar. (Parolalar hakkında daha fazla bilgi için bkz. Basit Güvenli: Kullanıcılarda Parola Gereksinimlerini Değiştirme Daha Kolay.)

Çok faktörlü kimlik doğrulamayı kullanmak, bu güvenlik açığını önlemenin bir yoludur. Yöneticiler ayrıca başarısız giriş denemelerini sınırlamalı ve oturum kimliğinin URL’de görünmediğinden emin olmalıdır.

A3: 2017 – Hassas Veri Pozlama
Haberlerde her zaman görüyorsunuz: başka bir güvenlik ihlali! Saklanan kredi kartı numaraları ve diğer gizli veriler web servis şirketleri tarafından veritabanlarında tutulur. Ama hackerlar zekidir – ve kalıcıdır. EE Online’a göre, “Zayıf bir şifre, yetersiz uzunlukta bir anahtar kullanan bir şifreleme / şifre çözme algoritması olarak tanımlanır.” Zayıf şifreler, şifrelemeyi daha kolay hale getirir. Ve onlar hackerlar tarafından arka plan olarak veritabanınıza kullanılabilir. Zorlanmamış TLS veya zayıf şifrelemeyle, web siteniz HTTPS’den HTTP’ye indirilerek kötü adamlara bir şekilde giriş yapılabilir.

Alımdan sonra şifresi çözülen kredi kartı numaraları, web saldırıları için hoş geldiniz hedefleri haline geldi. Aynı şey, web sunucularında saklanan hassas veriler için de geçerlidir. OWASP’a göre, depolanan veya aktarılan tüm hassas verilerin şifrelenmesi, bu kesilmeyi önlemenin bir yoludur. Gizli bilgilerin doğru şekilde sınıflandırılması, bu güvenlik açığından etkilenmek için gereklidir.

A4: 2017 – XML ​​Dış Varlıkları (XXE)
W3 Okulları açıkladığı gibi, XML verileri taşımak için tasarlandı. EXtensible Markup Language anlamına gelir. Web uygulamaları, web sunucularında saklanan XML verilerini ayrıştırır. Varlık, “tekil, tanımlanabilir ve ayrı herhangi bir nesne” anlamına gelen bir programlama terimidir. Daha sonra, dışsal bir varlık, sunucu dışında varolan bir nesne olacaktır.

Bu güvenlik açığındaki sorun ayrıştırmada. F5’ten John Wagnon kötü bir adamın web uygulamanızı yapmaması gereken bir şey yapmak için kötü niyetli kodlar girebileceğini açıklıyor. “XML ayrıştırıcısı düzgün yapılandırılmamışsa,” diyor, “o zaman bu komutu çalıştıracak ve tüm bu verileri aktaracak – ve bu iyi bir şey değil.” XXE, kötü verilerin işlenmesi için XML ayrıştırıcılarından yararlanıyor.

OWASP’ın önleme ipuçları şunları içerir:

Daha az karmaşık veri formatları kullanın.
XML işlemcileri veya kütüphaneleri yama veya yükseltme.
XML harici varlık işlemeyi devre dışı bırak.
XML Şeması Tanımını (XSD) doğrulamayı kullanın.
A5: 2017 – Bozuk Erişim Kontrolü
Erişim kimlik doğrulama ile aynı değildir. Doğrulama yoluyla bir web sitesine giriş yapabilirsiniz, ancak daha sonra yalnızca izinleriniz olan bu hizmetlere erişebilirsiniz. Yöneticiler normal kullanıcılardan daha büyük izinlere sahiptir. Kullanıcı ayrıcalığının yükselmesi bu hack’in kalbinde.

Kimliği doğrulandıktan sonra kullanıcılar erişim kontrol çekleri ile kısıtlanır. Hacker’lar, URL’yi veya başka bir yolu değiştirerek bu kontrolleri atlamanın yollarını ararlar. Bu saldırıyı önlemek için, Wagnon mevcut erişim kontrolünüzde çok sayıda manuel test yapılmasını önerir. Normal kullanıcılar yalnızca daha fazla ayrıcalığa sahip kullanıcılar için kullanılan kaynaklara erişebiliyorsa, bu, bazı kırık erişim kontrolünüz olduğu anlamına gelir. OWASP, varsayılan olarak erişimi reddederek, kayıt sahipliğini zorlayarak ve erişim hatalarını günlüğe kaydeterek ve raporlatarak bunu ele alabileceğinizi söylüyor.

A6: 2017 – Güvenlik Yanlış Yapılandırması
Sunucunuzu sertleştirmek, kötü niyetli saldırılara karşı korunma ve çevrimiçi kalmanın anahtarıdır. Ama doğru şekilde yapılmalı. Eksik şeyler veya gereksiz özellikler eklemek, uygulamanızı hassas hale getirebilir. OWASP’den # 1 numaralı senaryo, üretimde kaldırılmayan örnek uygulamalarla birlikte gelen bir uygulama sunucusu hakkındadır. Ve bu senaryoda, örnek uygulamaların bilinen kusurları vardır. Uygun sunucu sertleştirme böyle şeyleri yakalardı.

Güvenlik yanlış yapılandırmasını önlemek için sunucunuzu kilitlemeniz gerekir. Herhangi bir sunucuda çok fazla bit ve parça var ve standart kurulumlar çoğu zaman ihtiyaç duymadığınız birçok ekstra özellik ile geliyor. Bu varsayılan özellikler sorunlara neden olabilir. Wagnon’ın dediği gibi, “İhtiyacınız olmayan şeyleri kullanmayın.” OWASP, “gereksiz özellikler, bileşenler, belgeler ve örnekler olmadan en az bir platform önerir.” Ayrıca, web sunucunuzda güvenlik yapılandırmalarını düzenli olarak gözden geçirip güncellemeniz gerekir. Bunun için tekrarlanabilir sertleştirme işlemleri kullanmalısınız.

A7: 2017 – Siteler Arası Komut Dosyası (XSS)
Verileri her zaman web sitelerine giriyoruz. Çapraz site komut dosyası oluşturma (XSS), bir saldırgan sitenin veritabanındaki hassas bilgileri sağlamak için kendi kodunu bir web sayfasına enjekte ettiğinde ortaya çıkar. Komut dosyalarının yorum kutuları gibi alanlara girmesini sağlayan bir HTML sayfası kendini her türlü soruna açıyor. Bir saldırgan, sunucuya komut vermek için <script> ve </ script> arasında kod ekleyebilir. OWASP, XSS’i OWASP Top 10’daki en yaygın ikinci konu olarak nitelendiriyor.

Buradaki problem, güvenilmeyen verilerin enjeksiyonu. Bu aktif tarayıcı içeriğinden ayrılmalıdır. “Kaçmak” önleme anahtarıdır. Bu, enjekte edilen kodun yürütülmediğinden emin olmak anlamına gelir. Güvenilir olmayan verilerden kaçma hakkında daha fazla bilgi edinmek için “XSS (Cross Site Scripting) Önleme Hile Sayfası” na göz atın. (Web geliştirme hakkında bilgi edinmek için, Her Modern Web Geliştiricisinin Bilmeniz Gereken 10 Şey’yi inceleyin.)

A8: 2017 – Güvensiz Serileşme
Seri hale getirme, bir nesnenin durum bilgisini ikili veya metin biçimine dönüştürmekle ilgilidir. Bu programcı bir veri akışını bir veri akışına koyduğundan bahseder, böylece bir ağ üzerinden iletilebilir ve aynı şekilde bir şekilde ortaya çıkarılabilir. Nesne, bayt akışından nesnelere dönüştürüldüğünde, deserializasyon gerçekleşir. Güvensiz serileşme bu süreci bozar.

Bu bir veri kurcalama şeklidir. Belki aynı veri yapısı kullanılır, ancak içerik değiştirilir. Bir saldırgandan güvenilmeyen veriler bayt akışını değiştirir. OWASP’ın bir örneği, kendisini yönetici ayrıcalıkları vermek için PHP seri hale getirilmiş bir nesneyi değiştiren bir bilgisayar korsanıdır. Bu hack’in cevapları arasında dijital imzalar ve seri hale getirme izlemesi yer alıyor.

A9: 2017 – Bilinen Güvenlik Açıkları Olan Bileşenleri Kullanma
Bu problem oldukça açıklayıcı. Desteklenmeyen, güncel olmayan yazılımlar özellikle savunmasızdır. Bu durumda, cehalet mutluluk değildir. BT güvenlik yöneticileri en son güvenlik bültenlerini, yamaları ve yükseltmeleri takip etmelidir. OWASP sürekli bir yazılım sürümleri envanteri ve kütüphanelerin ve yazılım bileşenlerinin izlenmesini önerir. Ve iyi bir şekilde özetliyorlar:

“Her kuruluş, uygulamanın veya portföyün kullanım ömrü boyunca güncellemeleri veya konfigürasyon değişikliklerini izleme, deneme ve uygulama için sürekli bir plan olduğundan emin olmalıdır.”

A10: 2017 – Yetersiz Kayıt ve İzleme
OWASP’a göre, “Yetersiz kayıt ve izleme hakkının kullanılması neredeyse her büyük olayın temelini oluşturuyor.” Her bilişim sisteminde bir kayıt olayı sistemi olmalı. Bir ağ cihazı veya veri sunucusu olsun, işler ters gittiğinde bir kayıt olması gerekir. Bir kullanıcı girişi başarısız olursa, günlüklerde olmalıdır. Bir program arızalanırsa, sisteminiz bunu kaydetmelidir. Bazı donanım bileşenleri çalışmayı durdurursa, günlüğe kaydedilmelidir.

Önemli herhangi bir olay günlüğe kaydedilmelidir. Neyin uygun olabileceğini merak ediyorsanız, OWASP’ın “Logging Cheat Sheet” e bakabilirsiniz. Ağ alarmları gibi, bu olaylar belirli bir eşiğe ulaşıldığında kaydedilebilir. Bu eşikler gerektiği gibi ayarlanabilir.

Ancak, günlükler ve alarmlar izlenmezse hiçbir şey ifade etmez. Bu proaktif otomasyon veya insan gözetimi ile olabilir. Doğru kayıt ve izleme ile, BT personeli konulara zamanında cevap verebilir.

Sonuç
Burada oldukça fazla malzeme ele aldık. Ama öğrenecek çok daha fazla şey var. Daha fazla araştırmak için araştırmamızı yaptığımız kaynaklara bir göz atın. John Wagnon’un F5 DevCentral’deki videoları müteşekkir olduğumuz harika bir kaynak. Ve OWASP, tüm bu istismarları iyice kapsayan bir PDF belgesine sahiptir. Bu çalışma çok fazla iş olabilir, ancak bilgisayar korsanlarının da fazla mesai yaptıklarını unutmayın.

You May Also Like

About the Author: wodhack

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir