Haftanın Hackleri: Tarayıcı Bazlı Zamanlama Saldırıları, Pil Durumundan Kaynaklanan Gizlilik Riski

Alperen Yilmaz - 08 Ağustos 2016 -

Geçtiğimiz hafta HTTPOXY, ReDos, CSP Bypass, Dangling Markup ile Token Çalma konularına değinmiştik. “Haftanın Hackleri” başlığı ile yayınladığımız yazılarda bu hafta tarayıcı bazlı zamanlama saldırılarına ve pil durumundan kaynaklanan gizlilik riski isimli ilginç bir konuya değindik. Yazımızı sosyal medyada #haftaninhackleri etiketi ile paylaşarak bizlere destek olabilirsiniz. Bu hafta web güvenliğinde dikkatimizi çeken konular:

Haftanın Hackleri: Tarayıcı Bazlı Zamanlama Saldırıları, Pil Durumundan Kaynaklanan Gizlilik Riski

Geçtiğimiz hafta HTTPOXY, ReDos, CSP Bypass, Dangling Markup ile Token Çalma konularına değinmiştik.

“Haftanın Hackleri” başlığı ile yayınladığımız yazılarda bu hafta tarayıcı bazlı zamanlama saldırılarına ve pil durumundan kaynaklanan gizlilik riski isimli ilginç bir konuya değindik. Yazımızı sosyal medyada #haftaninhackleri etiketi ile paylaşarak bizlere destek olabilirsiniz.

Bu hafta web güvenliğinde dikkatimizi çeken konular:

Tarayıcı Bazlı Zamanlama Saldırıları

Biz web sayfamızda img etiketi içerisinde Facebook haber kaynağını yüklemeye çalışırsak; ziyaretçimizin üyeliği yoksa login sayfası, eğer üyeliği varsa da haber kaynağının yüklenmesini bekleriz fakat Same Origin Policy’den dolayı biz içeriği görüntüleyemeyiz.

Sayfanın içeriğini görüntüleyemiyoruz fakat eğer kişinin Facebook üyeliği yoksa login sayfasının, varsa haber kaynağının yükleneceğini biliyoruz. Ayrıca bu iki sayfa arasında boyut farkından dolayı zamanlama olarak da farklı tepkiler verileceğini biliyoruz. Öyleyse isteğimizin dönüş sürelerine göre kişinin Facebook üyesi olup olmadığını tahmin etmek mümkün olabilir. Zamanlama atakları genel olarak bu mantık ile çalışıyor.

Kişinin Facebook üyesi olup olmadığını öğrenmek ufak bir bilgi gibi dursa da yapılabilecekler bununla sınırlı değil. Yine Facebook üzerinden örnek verecek olursak; Facebook sayfa yönetimlerinde hedef kitle yaş aralığı, cinsiyet, konum şeklinde kısıtlanabiliyor. Burada birkaç farklı kısıtta oluşturduğumuz sayfa gönderilerine zamanlama atağı yapacak olursak ziyaretçimizin yaş aralığı, cinsiyet ve konumu hakkında bilgi sahibi olmamız bile mümkün olabilir.

Tom Van Goethem, HTML5 ile gelen <video> gibi yeni özellikleri kullanarak zamanlama saldırılarına yeni birkaç yöntem eklemiş ve bunlara da “Browser-based Timing Attacks” demiş. Tarayıcı bazlı zamanlama saldırıları ile ilgili detaylar için : https://tom.vg/2016/08/browser-based-timing-attacks/

Tom'un bu analizleri göründüğünden daha önemli çünkü yeni Blackhat 2016'da yayınlanan HEIST atağının da temelini oluşturuyor. HEIST konusuna ilerleyen günlerde bu blogda değineceğiz.

Pil Durumu Okumadan Kaynaklanan Gizlilik Riski

Akıllı telefonunuza bir uygulama yükleyeceğiniz zaman karşınıza o uygulamanın hangi yetkileri istediğini belirten ve kabul edip etmediğinizi soran bir pencere gelir. Bu kısımda konum bilginiz, fotoğraflarınıza erişim gibi bir çok yetki istendiğini görmüşsünüzdür fakat hiç pil durumu için yetki istendiğini gördünüz mü? Muhtemelen hatırlayamıyorsunuz çünkü telefonunuza yüklediğiniz herhangi bir uygulama sizin batarya durumunuzu yetki istemeye ihtiyaç duymadan erişebilir.

Herhangi bir mobil uygulama bataryanız ile ilgili aşağıdaki 3 durumu görebilir:

  • O an ki şarj seviyesi
  • Kaç saniye içerisinde şarjın tamamen biteceği
  • Eğer telefon şarj aletine takılıysa kaç saniye içerisinde tamamen dolacağı

Peki bundan nasıl bir gizlilik riski oluşabilir? Farz edelim ki toplu taşımaya uzak bir bölgedesiniz, bataryanızın şarjı bitmek üzere! Hemen mobil uygulama üzerinden taksi çağırmaya karar verdiniz. Bu taksi uygulamasının net bir ücreti olmadığını, o an ki yoğunluğa göre size teklif verdiğini düşünün, şarjınız bitmek üzere ve uygulama size normalin 2 katı fiyat sundu ne yapardınız? Büyük ihtimalle başka alternatifiniz olmadığı için gelen teklifi kabul etmek zorunda kalacaktınız. Bu örneğimizde olduğu gibi mobil uygulamalar sizin batarya durumunuza bakarak zor durumda olmanızdan fayda sağlayabilirler.

Daha da önemlisi şarj seviyesinin detaylı bilgisi cookie gibi bilgiler olmadan, IP değişse dahi kişileri eşleştirmeye izin verebilir.

Bu konu ile ilgili daha fazla bilgi ve detaylar için: http://thehackernews.com/2016/08/advertiser-location-tracker.html

Dns Rebinding İle Redis, Memcache Ve Elastic Search Gibi Veritabanlarından Bilgi Çalmak

Uzun süredir bilinen DNS Rebinding saldırısı ile ilgili beyin fırtınası yapan Bouke van der Bijl, yazılım geliştiricilerine yönelik saldırı senaryosu tasarlayarak bizlerle paylaştı. Yazılım geliştiricilerinin çok kullandığı özellikle localhost’ta yer alan veritabanlarına yönelik nasıl saldırı yapılacağını anlattı.

DNS Rebinding saldırısı çok uzun süredir bilinen bir saldırı olmasına karşın, tarayıcılar tarafından güvenlik yaması uygulama gereği duyulmamıştır.

Şimdi bu saldırının etkisini anlamak adına DNS rebinding atak da localhost’ta yer alan ve servisleri çalışan uygulamalardan veri çıkartabileceğimizi göstermek amaçlı blog post yazarı bize http://extractdata.club/ web sitesini hazırlamış. Eğer localhost’unuzda buradaki servislerden biri varsa Same Origin Policy kurallarının DNS Rebinding ile nasıl aşıldığını göreceksiniz ve verilerinizin web sitesi tarafından okunduğunu test edebilirsiniz. DNS Rebinding saldırısından da kısaca bahsetmek gerekirse, çok düşük TTL değerleri kullanılarak uygulanmaktadır. Saldırıyı yapan web sitesine bağlantı tarayıcı tarafından yapıldıktan sonra web sitesi DNS kayıtlarını farklı bir IP adresine değiştirerek (örneğin bu saldırıda 127.0.0.1 adresine çözdürülmesi sağlanıyor) DNS Rebinding atağını gerçekleştirmiş oluyor.

Bu konu ile ilgili daha fazla bilgi ve detaylar için: http://bouk.co/blog/hacking-developers/