HTML5 Güvenliği: HTML5 Öğe Özelliklerinin Kötüye Kullanımı

Web üzerinde gerçekleştirilen saldırı senaryolarının bir kısmında HTML öğelerinin özellikleri kullanılmaktadır. Örneğin CSRF olarak bilinen Alanlar Arası İstek Düzme saldırılarında URI verilen öğeler sonucu yapılan GET istekleri kullanılarak tarayıcılara kötü amaçlı istekler yaptırılabilir. Bu saldırılar hali hazırda İnternet üzerinde gerçekleştirilmekte, geliştiriciler ve güvenlikçiler tarafından da yoğun bir şekilde incelenmektedir.

 

HTML5 standardının tanımında web dünyasına yeni giren öğeler kadar eski öğeler için yeni tanımlanan özellikler de standardı oldukça genişletmekte ve güçlendirmektedir. Fakat, bu genişletme ve güçlendirme aynı zamanda kötü niyetli saldırganlar için de yeni saldırı yüzeyleri manasına gelmektedir. Aşağıda bu türde kötüye kullanılabilecek yeni özelliklerden birkaçı listelenmiştir:

  • formaction: formlar üzerinde HTML öğelerinin işlem yapmasını sağlayan bu özellik XSS saldırılarına açıktır.
  • autofocus: HTML5 ile web dünyasına giren autofocus, elemanların otomatik olarak focus almasını sağlar. onfocus veya onblur olaylarıyla birlikte kullanıldığında kullanıcı hareketi olmaksızın saldırı gerçekleştirilebilir.
  • onerror, onscroll: Yeni tanımlanan bu olaylar ile kullanıcı farkında olmadan tarayıcıda kod çalıştırılabilir.

HTML öğelerinin özelliklerinin kötüye kullanılmasını inceleyen bu liste HTML5 ile artık daha da kabarık bir hale gelmiştir.

 

Bu listede verilen zafiyet durumlarının oluşmasına engel olmak için HTML kodlarının oluşturulmasında kullanılan kullanıcı girdileri mutlaka doğrulanmalıdır. Yapılması gereken doğrulamalar ve dikkat edilmesi gereken öğler ve/veya öğe özellikleri için HTML5 öğe güvenlik listeleri kontrol edilebilir. Bu noktada altı çizilmesi gereken bir başka husus da HTML5 özelliklerinin tarayıcıların desteklemesiyle birlikte artık uygulamaların kullanımına sunulduğu gerçeğidir. Bu uygulamalar HTML5 ile geliştirilmemiş dahi olsa tarayıcılar HTML5 öğelerini ve özelliklerini tanırlar. Bu durum geliştiricilerin ve güvenlikçilerin hali hazırda çalışan uygulamaları HTML5 kontrolleri ile birlikte test etmeleri gereksinimini doğurmuştur. Hali hazırda web uygulamaları için geliştirilen ve kullanılan test araçlarında HTML5 öğeleri ve özellikleri dikkate alınmadığı gibi, bu uygulamaların güvenlik açısından test edilmelerinde ve sıkılaştırılmalarında da bu özellikler göz önünde bulundurulmamıştır. Aynı şekilde web uygulamalarının otomatik güvenlik testlerini yapan araçlarda da bu hassasiyet eklenmemiş olabilir. Geliştiricilerin ve güvenlikçilerin bu duruma dikkat etmesi gerekmektedir. Özet olarak, HTML4 standardı için geliştirilen ve güvenli hale getirilen uygulamalar HTML5 için de güvenlidir önermesi tehlikeli ve yanlıştır. Geliştiriciler ve güvenlikçilerin web üzerinde servis ettikleri uygulamaları HTML5 öğelerini dikkate alarak tekrar test etmesi ve güvenlik hedeflerini doğrulaması gerekmektedir. Web uygulaması güvenlik testi gerçekleştiren otomatik araçlar da en kısa zamanda yeni öğeleri ve özellikleri desteklemeli, testlerini bu yeni saldırı yüzeyinde gerçekleştirmelidir.

 

Web uygulaması güvenliği denildiğinde es geçilemeyecek bir konu da girdi doğrulamasıdır. Girdi doğrulaması temelde hiçbir kaynaktan gelen girdiye güvenilmemesi, girdinin doğruluğunun teyit edilmesi demektir. Bu doğrulamayı web uygulamalarının dışarıya açık bütün ara yüzlerinde, yeterli ve doğru biçimde, aynı zamanda HTML5 öğelerini de hesaba katarak yapan uygulamalar güvenli olduklarını iddia edebilirler.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir