Meet and use next generation technologies in advance.

Web Uygulama Güvenliği

Bugün ki konumuzda güvenliğin ne kadar önemli olduğunu web konusu ile birlikte ele alacağız. Web güvenliği nedir? Web güvenliği neden önemlidir? Hangi sektörlerde daha fazla sorun oluşturabilir? Bu sorunların temelinde ne yatar gibi soruların cevaplarını arayacağız. O zaman başlayalım. 

Özellikle bankacılık ve e-ticaret sektörlerde faaliyet gösteren firma ve kurumların kullanıcı bilgilerinin ne kadar hassas olduğu aşikardır. Günümüzde bankacılık sektörüne gerçekleştirilen siber saldırılar neticesinde ise milyonlarca kişi mağdur olmuştur. E-ticaret sektöründe ise yine hack olayına maruz kalan şirketlerin veri tabanlarından çalınan kişisel kimlik bilgileri doğrultusunda bireylerin banka hesap bilgilerine erişilerek hesaplarından yüklü miktarlar çekildi. Bu iki olayın başlıca sebebi alt yapının sağlam olmaması ve siber güvenliğe duyulan hassasiyetin az olmasından kaynaklanmaktadır. Bu siber saldırılar neticesinde şirket ve kurumlar hem maddi hem de manevi açıdan ciddi prestij kaybına uğramışlardır.  

Kurum ve firmaların internet ve web alanından kaynaklanan zafiyet ve açıklarının olması saldırganların iç ağlara kolay erişim sağlamalarına olanak tanımıştır. Web sunucu uygulamalarının karmaşık bir yapıya sahip olması ve veri tabanı uygulamalarının kod enjeksiyon saldırılarına potansiyel olarak açık olmasının yanı sıra güvenlik göz önünde bulundurularak yazılmayan kodlar kurum ve şirketleri çeşitli saldırılara maruz bırakmaktadır. Hem çok çeşitli konfigürasyonlara ve servislere sahip olmaları hem de kullanıcı izinlerinin çeşitliliği web uygulamalarının atak vektörünü zenginleştirmektedir. Web güvenlik zafiyetlerinin oluşmasında ağ katmanından çok uygulama katmanındaki ve HTTP protokolündeki bileşenler etkili olmaktadır. Peki bu konuda web uygulamalarının güvenliği göz önünde bulundurularak dizayn edilmesi gereken bileşenler nelerdir? Kısaca bahsedelim: 

  • Kullanıcı Girdilerinin Kontrolü: Bu konuda dikkat edilmesi gereken ilk husus, kullanıcılar arasında kötü niyetli kişilerin var olabileceğidir. Bu nedenle detaylı ve katmanlı bir güvenlik sistemi oluşturulmalıdır. Ayrıca HTML ve JavaScript dillerine ait form denetleme kuralları güvenlik açısından yeterli bir kontrol sağlamamaktadır. Bu riskler nedeniyle kullanıcıdan gelen veriler sunucu tarafında kullanılmaya başlanmadan önce beklenen türde bir data olduğunun belirlenmesi için geçerliliğinin denetlenmesi gerekmektedir.Girdi kontrolünde kullanılan beyaz liste ve kara liste yöntemleri kötü ya da zararlı istekleri filtrelemek açısından bir çözüm sunmaktadır. 

Beyaz listeleme yönteminde kullanıcıdan alınan girdilerin bilinen ve kabul edilebilir bir veri tipine sınırlandırılması olarak tanımlanmaktadır. Beyaz listelemede girilen değer URL veya tarih (gg/aa/yyyy) gibi belli formatlara kısıtlanabilir. Böylelikle bu formata uymayan girdilerin sistem tarafından kabul edilmemesi sağlanmaktadır. Beyaz liste oluşturmak için web uygulama geliştirme platformunun gömülü(built-in) fonksiyonlarını kullanmak alternatif bir yaklaşım olabilir. Kullanıcı girdilerinin kontrolü ile alakalı önlemler şu şekilde olabilir; olası siber saldırılar için alarm oluşturmak, beyaz liste yönteminin uygulanamadığı durumlarda kara liste yöntemini uygulamak, mümkün mertebe kısıtlama yapmak alınabilecek temel önlemler kategorisinde bulunmaktadır. 

  • Veri Tabanı Güvenliği: Veri tabanlarının kolayca kurtarılamayan bir yapıya sahip olması ve kritik hassas bilgileri tutması gibi nedenlerden dolayı veri tabanlarının siber saldırılardan korunması büyük önem taşımaktadır. Veri tabanı güvenliği için uygulanan yöntemlerin başında parametre bağlama (parameter binding) seçeneği gelmektedir. Parametre bağlama, çalıştırılacak veri tabanı sorgusu ile içeriğin yani verilerin kodlama (encoding) ve kaçış (escaping) işleminden geçirilerek birbirinden ayrıştırılmasını esas alan bir yöntemdir. Bu konuda BBS Teknoloji olarak geliştirmiş olduğumuz “ATAGÜÇ” siber güvenlik yazılımı çözüm sunmaktadır. Atagüç; veri tabansız çalışan Dünya’daki ilk ve tek siber güvenlik yazılımıdır. Atagüç’te veri tabanı olmadığı için bu yönde yapılacak saldırılarda saldırganlar başarısız olacaktır. Bilindiği üzere siber saldırıların birçoğu veri tabanını hedef almaktadır. Bu nedenle verileriniz güvende olacaktır. Atagüç hakkında daha fazla bilgi almak için BBS Teknoloji ekibi ile iletişime geçebilirsiniz.  
  • HTML Çıktı Kodlama: Web uygulamaları kullanıcıdan gelen verilerin yanı sıra veri tabanı veya diğer servislerden gelen dataları da işlemektedir. Bu dataların tek tırnak (‘) ve küçüktür (<) gibi karakterleri de içermesi filtreleme işleminin uygulanmasını zorlaştırmaktadır. Bu noktada Çıktı Kodlama (Output Encoding) yöntemi çözüm olarak uygulanabilir. Ayrıca bu konu hakkında alınabilecek önlemler arasında; veriyi işlenmemiş halde saklamak ve derleme aşamasında kodlamak, kodlama yaparken güvensiz platformları tercih etmemek alınabilecek önlemler listesinde yer almaktadır.  

  • Hareket Halindeki Veriyi Korumak: Bilgi güvenliği kapsamındaki en önemli konulardan bir tanesi akan bir trafik içerisindeki veriyi korumaktadır. Veri transferleri esnasında gerçekleştirilen siber saldırılar neticesinde birçok sistem ve kurum zarara uğramaktadır. Burada HTTPS, SSL, TLS gibi güçlü sayılabilecek şifreleme algoritmalarını kullanmak alınabilecek bir önlemdir. Buna ek olarak; gizli anahtarların korunması, cookiler için secure flag ayarlamak, HSTS protokolü kullanmak da alınabilecek önlemler arasında yer almaktadır. Ayrıca BBS Teknoloji tarafından geliştirilen “ATAGÜÇ” siber güvenlik yazılımı da bu konuda tam güvenlik sağlamaktadır. 
  • Parola Güvenliği: Bilindiği üzere siber saldırılar içerisinde sıklıkla gerçekleştirilen parola saldırıları da kurum ve firmaları ciddi anlamda etkilemektedir. Burada unutmamak için basit, kişisel-temel bilgiler içeren, yalnızca sayılardan oluşan (Örn: 123456) gibi parolalardan kaçınmak gerekmektedir. Bu konuda yapılan bir araştırmada dünya üzerinde milyonlarca insanın; 123456, password, password1, qwerty ve benzeri temel parolaları kullandığı tespit edilmiştir.

Bu tarz şifreler saldırganların işlerini kolaylaştırmaktadır. Burada periyodik olarak şifre değiştirmek, kullanılan şifrelerin farklı karakterlerden oluşması, güçlü şifreler oluşturmak önem arz etmektedirBurada dikkat edilmesi gereken husus değiştirilen şifrenin bir önceki şifreden tamamen bağımsız olması gerekmektedir. Çünkü daha önce kullanılan şifreyi elinde bulunduran bir saldırgan, yalnızca bir harf ya da sayı değiştirmeniz durumunda yeni şifreye de kolaylıkla erişim sağlayabilmektedir. Bu nedenle tamamen farklı şifreleri periyodik aralıklarla değiştirmek bu konuda bir nebze de olsa güvenliği sağlayabilmektedir. 

  • Yetkilendirme: Yetkilendirme (Authorization) işlemi istemcinin hangi kaynaklara erişim hakkı olduğunu denetleyen ve belirlenen kısıtlamalara göre erişim kontrolü sağlayan bir yetkilendirme sistemidir. Burada yetkilendirme işleminin doğru yapılması, herkesin aynı yetkilerde bulunmaması güvenlik açısında önem arz etmektedir. Bu konuda alınabilecek önlemler arasında; yetkilendirme işlemini sunucu üzerinden kontrol etmek, uygulamalar, dosyalar gibi kaynaklar için yetkilendirme sistemini uygulamak, Rol tabanlı erişim kontrolünün yetersiz kalacağı kompleks sistemlerde Nitelik Tabanlı Erişim Kontrolü (Attribute based Access Control-ABAC) yöntemi kullanmak alınabilecek önlemler arasında bulunmaktadır. 
  • Kullanıcı Oturumlarını YönetmekHTTP’nin kullanıcı verilerini istekleri ile bağlantılandırma özelliğine sahip olmaması Durum Bilgisiz (Stateless) bir protokol olmasından kaynaklanmaktadır. Bu nedenle kullanıcıları ve isteklerini takip etmek ve aradaki bağı korumak amacıyla geliştirilen oturum yönetimi sistemi hem kimliği doğrulanmış hem de anonim kullanıcıları takip için uygulanmaktadır. Oturum yönetimi hem insan kullanıcıları hem de servislere uygulanabilmektedir. Bu noktada alınabilecek önlemler arasında; oturum bilgilerini gizli tutmak, oturum cookilerini korumaya çalışmak gibi önlemler yer almaktadır. 

  • Güvenli Kimlik Doğrulama: Kimlik doğrulama sistemleri gerek devlet kurumlarında gerekse bankacılık gibi finans sektörleri için çok önemli bir konudur. Sistemlere erişim konusunda “çok faktörlü kimlik doğrulama” ve “iki faktörlü kimlik doğrulama” gibi sistemler ek güvenlik katmanı dolayısıyla önem arz etmektedir. İki faktörlü doğrulamada kullanıcının hem bildiği bir şey yani parolasını hem de sahip olduğu bir şey yani şifrematiği veya cep telefonunu kullanarak sisteme giriş yapması istenmektedir. Çok faktörlü kimlik doğrulamada ise parola ve donanımsal şifrematiklere ek olarak parmak izi ve iris tarama gibi biyometrik veriler de kullanılmaktadır.  

Teknoloji geliştikçe siber saldırıların yöntem ve metodları da gelişmektedir. Bu nedenle güvenlik önlemlerini had safhada tutmak önem arz etmektedir.  

Siber güvenlik alanında destek almak, siber güvenlik yazılım ve hizmetlerimiz hakkında detaylı bilgi almak için BBS Teknoloji ekibi ile iletişime geçebilirsiniz.  

Table of Contents