1 puan yazan GN⁺ 2023-12-23 | 1 yorum | WhatsApp'ta paylaş

Keşif süreci

  • WhatsApp'ta bağlantı önizleme özelliği üzerinden HTTP isteği gerçekleştirmenin yolları araştırıldı.
  • Bağlantı ile önizlemenin ayrı ayrı gönderildiği doğrulandı ve bunun kullanılarak gerçek bağlantıdan farklı bir önizlemeye sahip mesaj oluşturulması başarıldı.

Sorun #1 - Bağlantı önizlemesi uyumsuzluğu

  • WhatsApp mesajına dahil edilen bağlantı ile önizleme verisi analiz edilerek aralarında uyumsuzluk oluşturmanın yolu araştırıldı.
  • Mesaj yakalanıp değiştirildi ve önizleme ile gerçek bağlantının farklı olduğu bir mesajın gönderilmesi başarıldı.

Sorun #2 - Bağlantı kamuflajı (2K2E)

  • Unicode karakterleri kullanarak metin gösterimini değiştirmenin yöntemleri denendi.
  • U+202E (Right-To-Left Override) karakteri kullanılarak bağlantının tersten gösterilmesi sağlandı ve bununla sahte bir URL'nin gerçek URL gibi görünmesini sağlayan bir yöntem geliştirildi.

Nihai sonuç

  • Instagram gibi görünen bir URL oluşturuldu, ancak gerçekte saldırganın bloguna yönlendiren bir bağlantı üretildi.
  • Bunun, kullanıcının bunu normal bir bağlantı sanıp tıklamasına yol açabilecek bir açık olduğu ortaya çıktı.

Saldırı senaryosu

  • Saldırgan sahte bir alan adı satın alır ve meşru bir alan adının önizlemesini kullanan bir mesaj oluşturur.
  • matchedText özelliği kaldırılır ve text özelliği U+202E karakteri ile sahte URL kullanılarak değiştirilerek mesaj manipüle edilir.
  • Bu şekilde manipüle edilen mesaj kurbana gönderilir.

Meta'nın tepkisi

  • Meta, farklı platformları ve ortamları desteklediği için URL normalleştirme mantığını dinamik olarak ayarlayabilen bir sisteme sahip.
  • Ancak Meta'nın bu güvenlik sorununu çözme niyeti olmadığı ve yalnızca spam olarak algılandığında müdahale edeceği görülüyor.

Hafifletme yöntemi

  • Meta'nın bu sorunu çözme niyeti olmadığı için WhatsApp'taki bağlantılara güvenilemez.
  • Bir bağlantıya tıklamadan önce onu kopyalayıp pano önizlemesinde U+202E karakterinden arındırılmış bağlantı adresi kontrol edilmeli.

Güncelleme

  • WhatsApp dışında da uygun arındırma yapılmadığı için 2K2E'ye açık başka servisler bulunuyor.

GN⁺ görüşü:

  • Bu yazıdaki en önemli nokta, WhatsApp'ta keşfedilen ve kullanıcıların gerçek bağlantıdan farklı sahte bir bağlantıya tıklamasına neden olabilen clickjacking açığının, saldırı yöntemiyle birlikte ayrıntılı biçimde açıklanması.
  • Yazıyı ilginç kılan şey, genellikle güvenilen bir mesajlaşma platformunda beklenmedik bir güvenlik açığının bulunmuş olması; bu da bağlantılara tıklamadan önce her zaman dikkatli olunması gerektiğini hatırlatıyor.
  • Ayrıca Meta'nın tepkisi, bu sorunu aktif biçimde çözme yönünde bir irade olmadığını göstererek kullanıcıların güvenlik konusunda daha fazla sorumluluk alması gerektiğini vurguluyor.

1 yorum

 
GN⁺ 2023-12-23
Hacker News görüşleri
  • Özelliğin kötüye kullanımına dayanan akıllıca bir birleşim, ancak saldırgan polis veya istihbarat kurumu gibi bir aktör değilse ek saldırılar gerektiğinden güvenlik etkisinin düşük olduğu değerlendiriliyor. Teknik doğruluk açısından buna "clickjacking" demenin uygun olmadığını düşünüyorum. Clickjacking belirli bir tekniği ifade eder; görünmez bir HTML çerçevesinin başka içeriğin üzerine bindirilmesi anlamına gelir.
  • Clickjacking, kullanıcının tıklamak istediği öğe yerine başka bir öğenin tıklama olayını yakalaması demektir. Saldırgan kullanıcının neye tıkladığını algılayabilir. OP'nin bulduğu şey hoş; aslında clickjacking olmayan, başka bir sistemde bağlantı gösterimini değiştirme yöntemi bulmuş.
  • Kullanıcılar bir bağlantıya tıkladıklarında alan adını tanımakta zorlanıyor ve birçok kişi bunu anlamıyor ya da ayırt edemiyor. Bağlantı izlenebilir ve şüpheli görünse bile kimse bunu sorun etmiyor.
  • Meta, mesaj URL'si ile önizleme URL'sinin farklı olabilmesi sorununu kabul etmeli ve bir çözüm üretmeli. Bu, kısaltılmış URL'leri açmak için yapılıyor olabilir, ancak Meta ve WhatsApp'ın daha akıllı bir çözüm bulabilmesi gerekir.
  • Asıl sorun WhatsApp ya da Unicode ters sıra karakterleri değil, URL'lerin kendisinin zor olması. visa.securesite.com gibi basit bir URL bile birçok insanı kandırıyor. Yakın gelecekte iyi bir çözüm çıkacak gibi görünmüyor.
  • Meta'nın bu sorunu düzeltmemesi ve araştırmacıya bug bounty ödememesi hayal kırıklığı yaratıyor.
  • Bu saldırının "reverse engineering" olarak sınıflandırılmış olması ilginç.
  • RTL var olduğu sürece büyük bir güvenlik açığı kaynağı oldu. RTL kullanmayan kişilerin risk altında kalmaması için işletim sistemlerinde RTL'yi devre dışı bırakacak bir ayar olmalı.
  • Saldırı oldukça hoş ve yazı da kolay okunup anlaşılabiliyor. WhatsApp web uygulamasında debugger kullanılıp kullanılmadığı, telefonda mı uygulandığı, emülatör kullanılıp kullanılmadığı gibi temel sorularım var.
  • İlginç fikri ve açığı paylaştığınız için teşekkürler. Kısa ve net bir özet.
  • Bağlantı ile önizlemenin ayrı ayrı gönderildiği doğrulanıyor. Kullanıcının güvenlik için bağlantı ile önizlemeyi karşılaştırmak zorunda olduğu bir UI tasarımı daha büyük bir sorun.