Logo

Web Uygulama Güvenliği Ve Saldırıları

By Yusuf B. - 3 ay önce Siber Güvenlik 83 Görüntülenme 0 Yorum

Dünya'da birçok şirketin, kullanıcının kullandığı web uygulamaların güvenliği, yapılan saldırıları ve alınabilecek önlemlerden bahsedeceğim.


  Web uygulamaların hızla artmasıyla beraber saldırılarda birlikte artmakta. E-ticaret, bankacılık, kurumsal şirketlerin, hatta bilgilerimizi girdiğimiz devlete ait web uygulamaları gibi birçok kurumun ve kuruluşun web uygulaması var. Bunlara yapılacak saldırılar ile kullanıcılara ve şirkete büyük sorunlar oluşturabilir. Haliyle güvenliğinin alınması gereklidir. Web uygulama güvenliğinde alınması gereken bazı önlemlerden bahsedelim.

• Kullanıcı Girdilerin Kontrolü

  Web uygulamalarındaki kullanıcı girdilerin kontrolünü sağlamalıyız. Saldırgan kullanıcının bilgi girilmesi gereken yerlere kötü kod parçacığı enjekte etmesi sonucunda oluşabilecek güvenlik zaafiyetleri vardır. Bir kullanıcı girdisinin olduğu yerde herhangi bir kontrol olmaz ise saldırgan bu girdi alanına html kodları ekleyerek html injection, javascript kodları ekleyerek xss, csrf gibi zaafiyeteri, sql kodları ekleyerek, sql injection gibi tehlikeli güvenlik ihlallerine yol açabilmektedir. Burada html injection, xss, csrf gibi zaafiyetlerde hedef kurban kullanıcı iken; sql injection zaafiyetinde hedef web uygulamasının veritabanıdır. <script> veya html taglarını engelleyerek web uygulamasında güvelik sağlanabilir. URL'ler belli bir düzenlemeye tabi tutularak sunucu taraflı çalışan işlemleri herkes tarafından görülmesini engelleyebilir. Örneğin php?id=1 gibi bir URL de, veritabanında bulunan verileri id yoluyla çekmekte ve id numarasına göre çektiğini bir saldırgan fark ederse id değerini değiştirip id kısmına sql kodları enjekte ederk sql injectiona sebebiyet verebilir.

• Veri Tabanı Güvenliği

Birçok gelimiş web uygulamalarında verilerin bir yerde tutulup web sitesinde işlemlerde veri tabanından bilgileri alarak kolaylık sağlar. Kullanıcı bilgileri bulunduğu gibi web sitesinin admin bilgileri gibi önemli bilgiler veri tabanında tutuluyor olabilir. Haliyle güvenliği sağlanması çok önemlidir. Aksi takdirde saldırganlar bilgilerden faydalanarak web uygulamasını ve şirketi zarara uğratabilir. Veri tabanı saldırılarında sıklıkla karşılaşılabilen zaafiyetlerden biri de sql injection zaafiyetidir. Kısaca anlatmak gerekirse web uygulamalarına sql kodlarını enjekte ederek web uygulamasını sql syntax hatasına uğratmaktır. Burda da veri tabanından alınan çıktıların kontrolü sağlanmaması takdirde ve herhangi bir engellemeye tabi olmadı takdirde saldırgan sql kodlarını enjekte ederek veri tabanını görebilmektedir. Bunun güvenliğinin sağlanması içinse ' , " , -- , - , || gibi sql de kullanılan syntaxları engelleyip verileri veri tabanından çekerken bir kontrole tabi tutmasını sağlamaktır.

 • Kullanılan Veri Akışını Korumak

Bilgi güvenliğinin temel konularından biri olan verinin gizliliği, korunması konuları, hareket halindeki ağ trafiğini sunucu istemci arasındaki isteği değiştirmek, görmek ve ele geçirmek gibi saldırılar olabilir. HTTP ve Telnet gibi herhangi bir şifrelemeye tabi tutulmayan protokolleri kullanmak verinin gizlenmemesi, şifrelenmemesi demektir. Bunların yerine HTTPS ve SSH gibi şifreli protokolleri kullanarak veri gizliliğini ve korumasının güvenliği ihtiyaç duyulmalıdır. Kullanıcı bilgileri bulunan web uygulamalarında cookieleri secure flag, hassas verileri url de göstermemek gibi güvenlik önlemleri alınabilir.

• Parola Güvenliği

Oldukça sık yapılabilen saldırılardan biride basit parolalara brute force ( Kaba Kuvvet ) saldırısı yaparak parolası basit olan kullanıcıların hesaplarına, parolası default bırakılan servislere, tahim edilebilir parolalar koyarak bir risk oluşturmaktadır. Bunun için alınabilecek güvenlik önlemlerinde kullanıcılara basit ve top passwordların kullanmamalarını ve periyodik şifre değişimini  ( Belli aralıklarla şifre değişimi ) kullanmalarını öneriniz. Bunlara alınabilecek önlemlerde parolaları veri tabanında güvenli bir şifreleme ile saklamak ve parola uzunluğu ve özel karakter, büyük küçük harf, sayı kullanımı zorunluluğunu getirmektir. Web ugulamasında 2 faktörlü kimlik doğrulama kullanımı zorunlu kılınarak güvenlik sağlanabilir.

• Yetkilendirme

Kimlik doğrulama veya diğer adıyla Authentication dediğimiz, web uygulamasının kullanıcı ve yöneticilerin izinlerini yönetmektir. İstenilmeyen sayfalar, URL'ler saldırgan veya kullanıcı tarafından herkesçe görüntülenmesine izin verilmesi güvenlik ihlali arz edebilmektedir. İzinleri yetkilendiren sistemler kullanarak, Dosya erişimlerini ve profil gibi yerlere yetkilendirme işlemi uygulayarak güvenlik sağlanabilir.

Sitemizdeki diğer yazılara göz atmayı, yazımızı beğendiyseniz arkadaşlarınız ile ya da tanıdıklarınız ile paylaşmayı unutmayın sağlıcakla kalın.