Cross-site scripting (XSS), internet ortamında yoğun bir şekilde karşılaşılan siber güvenlik açıkları arasında yer almaktadır. Genellikle web uygulamalarını hedeflemekte olan bu saldırılar, saldırganların ortak tercihidir. “Siteler arası komut dosyası çalıştırma saldırısı” olarak da Türkçeye çevrilmektedir. Güvenilir bir izlenim veren web sitelerin içerisine istemcinin yerleştirdiği kötü amaçlı kodlarla hazırlanmaktadır. Söz konusu kodlar ise genel olarak dosya biçimdedir. Kullanılan diller de JavaScript, HTML olarak bilinmektedir.
XSS saldırılarının yaşanması halinde sıkça karşılaşılan uygulamalar, kullanıcıların girdilerini doğrulamamaktadır. Siber suçlu ise var olan bu kusurdan faydalanmaktadır. Web uygulamasına giriş esnasında şüphelenmemiş olmanız ise tehlikeli bir komutla karşılaşmanıza yol açabilir. Bu durumda tarayıcınız da gelen komut dosyası sanki güvenilir bir kaynaktan geliyormuş gibi alabilir. Sonrasında komut dosyasının yürütülmesi ile birlikte sizlere zarar vermesi kaçınılmaz olur.
XSS Saldırısı Nasıl İşler?
- XSS saldırı çalışma şeklinde siber suçlu olan kişiler, kullanıcıların girdilerini kabul etmiş olduğu sayfanın saldırıya açık olduğunu fark etmektedir. Kullanıcıların kullanmakta olduğu giriş formu, yorum kısımları ve arama kutucuları hedefleri içerisindedir. Bu tarz seçenekler aracılığıyla sizlere girdileri kabul ettirir.
- Saldırgan kişi ya da kişiler kötü amaçlı dosyasını oluşturmaktadır. Sonrasında herhangi bir şüphe duymayan kullanıcıya bu dosyayı iletmektedir. Genellikle hedefte olan kişinin tıklaması için de ikna edici çalışmalar yürütülmektedir.
- Hedef olan kişi zararlı bağlantıya tıkladığı zaman şimdiye dek güvenerek giriş yaptığı ancak savunmasız olan web sayfasına yönlendirilmektedir.
- Var olan yük ise savunmasız durumda olan sayfaya bulaştırılmaktadır. Böylece hedefteki kişinin web tarayıcısı, söz konusu kodu güvenli bir kod olarak algılamaktadır.
- Kullanıcının durumdan şüphelenmemesi halinde girdiler için giriş yapması da kaçınılmazdır. Girdilerin gönderilmesiyle beraber de yükler siber suçluların talimatlarıyla kullanılabilmektedir.
XSS Saldırı Türleri Nelerdir?
Cross-site scripting (XSS) saldırıları için üç temel stratejiye yer verilmektedir. Bunlar ise DOM XSS, reflected XSS ve stored XSS olarak geçmektedir.
DOM XSS saldırısında bilgisayar korsanı, kurban olarak tanımlanan kişinin belge nesne modelinde oynamalar yapmaktadır. Bu şekilde de yük enjekte edilmektedir. Sayfanın değişmemesine karşın sayfa içerisindeki istemci kodunun yerini kötü amaçlı olan kod almaktadır. Bu da sayfanın kötü amaçlı kodun kullanımıyla çalışması anlamına gelmektedir.
Reflected XSS saldırısı kalıcı olmayan saldırıdır. Bu siber saldırı türünde korsanlar kötü amaçlı yazılım komutlarını direkt olarak http isteğine ulaştırmaktadır. Bunun ardından da web sunucusunun yürüttüğü kullanıcının tarayıcısına aktarılmaktadır. Bilgisayar korsanı ise hedef olan kişilere, savunmasız sayfalar üzerinden özelleştirilen bağlantılar iletmektedir. Kalıcı olmamasının yanında kötü niyetli bağlantıya tıklandığında özel bir form gönderilmektedir. Bu da kodun savunmasız durumda olan siteye girmesi anlamına gelmektedir. Web sunucusu sıralı olacak şekilde komut dosyasını kullanıcının tarayıcısına döndürmektedir. Bu durumda ise tarayıcıda güvenilir sunucudan geldiği sanılan ve aslında kötü niyetli bir kod yürütülmektedir.
Stored XSS saldırısı da bilgisayar korsanlarının, yükleri, güvenliği bozulmuş olan bir sunucuya depoladığı zaman yaşanmaktadır. Genel olarak zarar vermekte olan bir saldırı türüdür. Saldırganlar, yükleri hedef uygulamaya ulaştırmaktadır. Bunun için de gönderilen kod kalıcı bir hal almaktadır. Saldırganlar blog ve formlardaki alanlara kötü amaçlı komut dosyası girer.
XSS Saldırılarının İşletmeler Üzerindeki Etkileri Nelerdir?
Cross-site scripting saldırılarının işletmeler üzerindeki etkileri birden fazladır. Bunlardan söz etmek gerekirse de işletmeler hassas müşteri bilgilerinde kayıp yaşayabilmektedir. Saldırıların sonucunda kredi kartı bilgilerinin, adres ve diğer kişisel bilgilerin üçüncü kişilerce çalınması söz konusudur. İşletmenizin büyüklüğüne ve saldırıların türüne göre büyük bir kitlenin bu durumdan etkilenmesi de olasıdır. Kullanıcı kimliğine bürünerek yetkilendirme tanımlanmasının yapılması da olasıdır. Bundan ötürü de bilgi hırsızlığı kaçınılmaz bir hal almaktadır.
XSS saldırıları işletmelerin itibarını da olumsuz yönde etkilemektedir. Müşterilerin güvenini kırabilmesinin yanında işletme kazancının negatif şekilde etkilenmesine yol açmaktadır. Devlet ve sektörel düzenlemelerde ticari müşterilerin saldırılardan etkilenmesi de olasıdır. Bu gibi hallerde işletmelerin davalarla karşı karşıya kalması ve para cezaları alması da söz konusu durumlar içerisindedir.
Saldırıların Yol Açtığı Zafiyet Nasıl Giderilir?
İşletmelerin saldırılardan yol açtığı etkileri ortadan kaldırmak için bazı yöntemler kullanabilir. Yazımız içerisinde de bu konuda kullanabileceğiniz en iyi yöntemlere yer verdik. Bunlar şu şekildedir;
- Web varlıklarınızın envanterini hazırlayabilirsiniz. Böylece belirli aralıklarla yapmış olduğunuz denetimler sonucunda veri türünü öğrenebilirsiniz. Savunmasız durumda olan komut dosyalarının olup olmadığını inceleyebilirsiniz. Ayrıca web varlıklarınız içerisinde bir manipülasyon etkisinin var olup olmadığını da kontrol edebilirsiniz.
- İzinsiz girişlerin, anormalliklerin, bilinmeyen tehditlerin fark edilmesi amacıyla düzenli taramalar yapabilirsiniz. Yazılımlarda ve uygulamalarda yapacağınız bu taramalar büyük zararlardan korunmanıza yardımcı olacaktır.
- Kullanıcı girişinde temizlik yapmanız, kötü amaçlı kodların giriş göndermesinin önüne geçecektir. Bundan ötürü girişler sırasında HTML engellemesi yapabilirsiniz.
- İzleme ve inceleme etkinlikleri bir hayli hassastır. Bunun yanında JavaCript kodunu düzenli bir biçimde gözden geçirmek istediğiniz zaman otomatik bir çözümünüz olmalıdır. Böyle bir seçeneğe sahip olmamanız halinde ise zamandan kaybetmeniz kaçınılmazdır. Sürecin otomatik olmasına yönelik olarak bir çözüm geliştirebilirsiniz. Böylece daha hızlı ve kolay bir şekilde ilerleme kaydedebilirsiniz.
- Kullanıcıların forma girdiği bilgileri sınırlayabilirsiniz. Ayrıca girilen içeriklerin tamamen alfa sayısal olmasını zorunlu tutabilirsiniz.
- Siteler arasında yer alan komut dosyası çalıştırma saldırılarının engellenmesi amacıyla belirli bir IP adresine bağlayabilirsiniz. Bu şekilde tanımlama bilgilerine uymanız da saldırılardan korunmanıza önemli bir etkiye sahiptir.