Web Uygulamaları Güvenliğine Giriş

Web uygulamalarının yaygınlaşması, web uygulamaları geliştirmek için yeni teknolojilerin çıkması ve web uygulamalarının son kullanıcıya sağladığı hizmetlerin daha geniş bir perspektife yayılması, web uygulamalarının güvenli kılınması noktasını daha da belirgin hale getirdi.

E-Devlet uygulamaları, internet bankacılığı işlemleri, online alışveriş ve benzeri birçok web uygulamasının ise hayatımızda önemli rol oynamaya başlaması, hatta sağlık ve finans sektörleri gibi direkt olarak bizi etkileyen sektörlerin web uygulamaları aracılığıyla hizmet vermesi, hem kullanıcı bazlı kişisel güvenliğin önemini artırdı hem de bu hizmetin kullandığı web uygulamalarının güvenli olmasını zorunlu hale getirdi.

Yukarıdaki sebeplere istinaden biz bu yazımızda son kullanıcıdan ziyade web uygulamaları güvenliği alanında legal olarak atraksiyon gösterenleri tanımlayacağız.

Yazılımcılar için Web Uygulamaları Güvenliği (Secure Web Application Developer)
Birçoğumuzun bildiği üzere ya da basından gördüğü kadarıyla birçok web sitesi hacking eylemine maruz kalmaktadır. Web sitelerinin zarar görmesi, içeriğinin değiştirilmesi veya bu web uygulamasının kullandığı veritabanına farklı yollarla erişilerek verilerin okunması, değiştirilmesi ve silinmesi gibi işlemler, web uygulamasının bulunduğu sunucudan kaynaklanan zayıflıkların sömürülmesi ile olduğu gibi web uygulamasını geliştiren yazılımcıdan kaynaklanan kodlama hatalarının sonucunda da olabilir.

Yazılımcıdan kaynaklanan bu kodlama hatalarının en büyük sebebi yazılımcının web uygulamalarına yönelik saldırılar konusunda bilgisiz olması ya da yeterli bilgisinin bulunmamasıdır. (ki ülkemizde web uygulaması geliştirenlerin çoğu bu gruba girmekte)

Diğer nedenler olarak projenin son ana sıkıştırılması, güvenlik önlemlerine yeterince dikkat edilmemesi ve saldırının nerelerden gelebileceğinin tam olarak kestirilememesi olarak gösterebiliriz.

Yazılımcının kullandığı teknoloji ve tekniğin, hacking eylemini gerçekleştiren kişiyle aynı olması fakat bu eylemi gerçekleştirecek kişinin bakış açısıyla yazılımcının bakış açısının farklı olması bu sonucu doğurmaktadır. Bu yüzdendir ki web uygulaması çok iyi bir yazılımcının elinden çıksa dahi ve hatta yazılımcı web uygulamalarına yönelik saldırılar konusunda bilgili de olsa sistem farklı bakış açısına sahip ve bu saldırılar konusunda bilgili olan kişilere test ettirilmelidir.

Bireysel ya da kurumsal uygulamalar geliştirirken bu zayıflıklara dikkat edilmesi, sistemin güvenli kılınması ve sisteminizin güvenliğinin periyodik olarak test edilmesi mesleki kariyeriniz ve projenizin prestiji açısında önemli olacaktır.

Penetration Testers
Kimdir bu Penetration Tester`lar ? Penetration`un kelime anlamı sızma(k)`dır. Hedefte bulunabilecek network, server, database veya web application`ları belirli kriterlere göre test edip sisteme sızmaya çalışan, bu proses esnasında ki yaptığı işlemleri, sistemin zayıflıklarını ve bu zayıflıkların nasıl giderileceğini analiz edip raporlayan kişilerdir.

Bir web uygulamasını penetration test`e tabi tutacak kişilerin; web uygulaması geliştirme sürecini bilmesi, web teknolojileri ve veritabanları konusunda bilgili olması, web uygulamalarına yönelik saldırılar konusuna vakıf olması ve yazılımcı gibi değil bir hacker gibi düşünmesi gerekmektedir.

Ülkemizde pek yayın olmayan bir kavram olsa da, yurtdışında bu meslek haline gelmiş ve Ferruh abi gibi bu alanda çalışan birçok kişi bulunmaktadır. Ayrıca bu alanda uzmanlaşmak isteyen kişilere yönelik Ec-Council firmasının “LPT: Licensed Penetration Tester” isimli bir sertifikasyon programı da mevcuttur.

Sonuç
Web uygulamalarına yönelik saldırılar ve web uygulamaları güvenliği konusunda teorikte bilgi sahibi oldunuz. Web uygulamalarının neden güvenli olması gerektiği konusunda bilinçli olarak hareket edenler, sistemlerini geliştirirken daha güvenli bir yapıya kavuşması için kendini geliştirerek farklı bakış açısına sahip kişilere test ettirmesi birçok sorunu çözecektir.

Onur YILMAZ
onuryilmaz.info

Hiç yorum yok:

Yorum Gönder