WebRTC DoS

HackTricks'i Destekleyin

Bu sorun bu blog yazısında bulundu: https://www.rtcsec.com/article/novel-dos-vulnerability-affecting-webrtc-media-servers/

WebRTC medya sunucularındaki tanımlanan zafiyet, medya oturumlarının başlatılması sırasında, özellikle ICE medya onay doğrulaması ile DTLS trafik başlatma arasında bir yarış durumu nedeniyle ortaya çıkmaktadır. İşte detaylı bir inceleme:

Zafiyetin Kaynağı

  1. UDP Port Tahsisi: Bir kullanıcı WebRTC araması başlattığında, medya sunucusu medya akışlarını yönetmek için UDP portları tahsis eder, IP ve port sinyalizasyon yoluyla iletilir.

  2. ICE ve STUN Süreçleri: Kullanıcının tarayıcısı, medya onay doğrulaması için ICE kullanır ve medya sunucusuna bağlantı yolunu belirlemek için STUN kullanır.

  3. DTLS Oturumu: Başarılı STUN doğrulamasının ardından, SRTP anahtarlarını oluşturmak için bir DTLS oturumu başlar ve medya akışı için SRTP'ye geçilir.

Sömürü Mekanizması

  • Yarış Durumu Sömürüsü: Bir saldırgan, meşru kullanıcıdan önce bir DTLS ClientHello mesajı göndererek bir yarış durumunu sömürebilir, potansiyel olarak TLS_NULL_WITH_NULL_NULL gibi geçersiz bir şifreleme kümesi kullanarak. Bu, sunucuda bir DTLS hatasına neden olur ve SRTP oturumunun kurulmasını engeller.

Saldırı Süreci

  • Port Taraması: Saldırgan, hangi UDP portlarının gelen medya oturumlarını yönettiğini tahmin etmelidir, bu portlara null şifreleme kümesi ile ClientHello mesajları göndererek zafiyeti tetikler.

  • Saldırı Diyagramı: Sıralama, saldırgan tarafından sunucuya gönderilen birden fazla ClientHello mesajını, meşru sinyalizasyon ve DTLS mesajları ile iç içe geçirerek, hatalı şifreleme kümesi nedeniyle bir el sıkışma hatasına yol açar.

Test ve Azaltma

  • Güvenli Test: Saldırganlar, belirli medya portlarını hedef alarak DTLS ClientHello mesajlarını tekrar oynatmak için Scapy gibi araçlar kullanır. Etik testler için, kurban davranışını güvenli bir şekilde taklit etmek amacıyla Chromium'da (örneğin, JsepTransport::AddRemoteCandidates) değişiklikler yapılmıştır.

  • Azaltma Önlemleri: Çözümler, doğrulanmamış adreslerden gelen paketlerin düşürülmesini içerir; bu, libnice gibi kütüphanelerin daha yeni sürümlerinde uygulanmıştır. Temel çözüm, ICE doğrulama sürecine güvenmeyi ve yalnızca doğrulanmış IP ve port kombinasyonlarından gelen paketleri işlemeyi vurgular.

Zafiyetten Etkilenmeyen Senaryolar

  • DTLS Sunucu Yapılandırmaları: Tarayıcının bir DTLS sunucusu olarak davrandığı veya medya sunucusunun medya oturumları için geçici portlar kullanmadığı durumlar bu zafiyete karşı duyarsızdır.

Sonuç

Bu zafiyet, medya oturumu başlatma süreçlerindeki hassas dengeyi ve sömürüyü önlemek için kesin zamanlama ve doğrulama mekanizmalarının gerekliliğini vurgulamaktadır. Geliştiricilerin önerilen güvenlik düzeltmelerini uygulamaları ve bu tür zafiyetleri azaltmak için sağlam doğrulama süreçlerini sağlamaları tavsiye edilmektedir.

HackTricks'i Destekleyin

Last updated