2007, iki büyük Web Uygulamaları Güvenlik Denetim Yazılımı üreticisinin alımına tanık oldu.
Birisi bu işin patentini elinde bulunduran Watchfire, IBM tarafından; diğeri kişisel fikrime göre bu konuda oldukça başarılı SPI Dynamics, HP tarafından satın alındı. Üzücü.

Forward edilmiş bir seminer mailinin içeriğine bakarken, IBM adı altında, şu yıllardır Acunetix‘in sitesinde görmeye alışık olduğumuz “bir hırsızın, kırdığı camın arkasından kapı koluna uzandığı” fotoğrafı görünce şaşırdım doğrusu.


Ajansın bir hatası olduğunu düşünüp, seminerle ilgili IBM’in duyuru sayfasını kontrol ettiğimde gördüğüm manzara aynıydı.


Acaba patent holder IBM/Watchfire’ın, bu konuda özgün bir grafiği bulunmuyor mu :)

SEO(Search Engine Optimization), yani Arama Motoru Optimizasyonu, web sitelerinde bulunan içeriklerin arama motorları tarafından daha iyi indekslenebilmesi için site ve sayfa yapısında yapılan optimizasyonlar bütünüdür. Yapılan bu düzenlemelerle sitenin arama sonuçlarında çıkması ve sonuçlarda daha üst sıralarda yeralması amaçlanır.
En sık kullanılan arama motorunun Google olması ve site sahiplerinin Google Adsense üzerinden daha fazla para kazanmak istemeleri, insanların sitelerini Google için optimize etmesini de beraberinde getirmektedir.

Bütün bu ıvır zıvırdan neden bahsediyorum, Google’ın veya farklı bir arama motorunun sitesini daha iyi indekslemesini isteyen bazı yerler farkında olmadan sitelerinde bazı güvenlik problemleri oluşturmuş olabiliyor.
Hiç arama motorunda aradığınız bir içeriğin, sayfayı ziyaret ettiğinizde farklı göründüğünü tespit ettiniz mi? Ne olmuş olabilir?

  • Site içeriği değişmiştir/kaldırılmıştır (Ulaşmak istediklerinize arama motorunun cache’ini kullanarak ulaşmayı deneyin)
  • Web sitesi, bu bölüme erişebilmeniz için sizden geçerli bir kullanıcı adı ve şifre istemektedir!

Bu durumda:

  1. Varsa arama motorunun önbellek(cache) bölümünü kullanıp sayfaya erişebilirsiniz,
  2. Kayıt işlemleri ile uğraşmamak için BugMeNot‘ı kontrol edersiniz,
  3. Veya, Googlebot olmayı denersiniz!

Karşılaştığım sitelerden iki tanesini inceleyelim.
Normal bir istek yapıdığında WindowsITPro, sitede yeralan makaleleri okuyabilmek için kayıtlı kullanıcı olmamızı istemekte.

Yapılan bu isteği HTTP header bilgilerinde oynama yapıp, kendimizi Googlebot olarak tanıttığımızda ise bize tüm makaleyi gösteriyor.


Aynı şekilde bir forum sitesi olan GovernmentSecurity, sitenin bazı yerlerine girmek için kayıtlı kullanıcı olmayı şart koşuyor.

Yukarıda görülen isteği HTTP header bilgilerinde oynama yapıp, kendimizi Googlebot olarak tanıttığımızda ise bize forum içeriğini gösteriyor.

Ziyaret ettiğimiz sitede, bu veya benzeri bir güvenlik problemini, “User-agent” HTTP başlık bilgisini kolayca değiştirerek kontrol edebiliriz.
Ben yukarıdaki örneklerde, detaylı görünmesi açısından LiveHTTPHeaders firefox eklentisini kullandım. Tabi ki HTTP header bilgilerini değiştirmeyi daha kolay hale getiren eklentiler var. Ben bunun için modifyheaders‘ı öneririm.

Bu örneklerde gözükenler o kadar da önemsenecek derecede veriler değil. Belki ücretli üyelik sistemi olan bir site için risk seviyesi daha yüksek olabilirdi. Ama özetlemek istediğim, web güvenliğinde kullanıcı tarafından gönderilen verilere hiç bir zaman güvenmemek. Web uygulamalarımızı tasarlarken buna göre önlemler almalıyız.

Sizin yapamadığınız bir şey, yapılamıyor anlamına gelmez! Özellikle web üzerinden yapılan saldırıların artması ve diğer saldırılara göre kolaylığı, verilerinizin güvenliğini riske sokabilir.

Firefox’ta Java’yi aktif hale getirmeye ihtiyac duymuyorum. Ayni sekilde bazi sitelere girdigimde JavaScript icerigin Firefox’ta islenmesini istemiyorum.
Tanimlama bilgisi ayarlarinda oldugu gibi, keske JavaScript icin de bir haric tutma(exclude) listesi olsa da, belirli sitelerin JavaScript’lerini hic kabul etmesem diye dusunurken, Firefox icin QuickJava eklentisine rastladim. Eklentinin toolbar’a yerlestirdigi iki ufak ikona tiklayarak Java ve JavaScript’i hizlica aktif/inaktif hale getirebiliyorsunuz.
Bir suredir bunu kullanirken, gecenlerde Noscript eklentisine rastladim. Bu eklentinin yardimiyla JavaScript’i komple inaktif hale getirip, sadece belirlediginiz siteler icin aktif hale getirebiliyorsunuz. Sadece JavaScript degil; Java, Macromedia Flash ve diger eklentilere site bazinda kisitlama getirebiliyor. Henuz kurup denemedim ama faydali olabilir.

Ingilizce “HTTP Cookie”, yani kisaca “Cookie” terimi yerine, Turkce’de “Tanimlama Bilgisi” kullanilmasini uygun buluyorum. Anlamini net olarak ifade ediyor.
Sikca kullanilan “Cerez”, bazi yerlerde kullanilan “Kurabiye”(!) kelimelerinin hic birisi bu anlama yakin degil. Hata hatali kullanimlar, tanimlama bilgisinin ne oldugu hakkinda kullanicilara bilgi vermeyi daha da guclestiriyor.

Bu terim icin hala ne kullanacaginizda kararsizsaniz, hizli bir Google‘lama ile bir cok yerde bu terimin zaten bu sekilde kullaniliyor oldugunu gorebilirsiniz.

Bugun bir web uygulama guvenligi terimler sozlugune rastladim ve cookie ile ilgili bu kullanim onerisini sayfada hazirlanmis formu kullanarak ilettim. Turkce terimleri gelistirmek icin kullanilabilecek bu sozluk, gayet basit ve mantikli bir uygulama olmus.