WebRTC IP Sızıntısı Tespiti: Buglardan Özelliğe
WebRTC STUN/TURN probları, VPN arkasındaki gerçek IP'leri açığa çıkarır. Bir gizlilik sızıntısını nasıl dolandırıcılık tespit sinyaline dönüştürdüğümüzü anlatıyoruz.
WebRTC — Web Real-Time Communication — görüntülü aramaları, dosya paylaşımını ve eşler arası (peer-to-peer) veri aktarımını doğrudan tarayıcıda mümkün kılmak için tasarlandı. Bu bağlantıları kurmak için tarayıcıların kendi ağ arayüzlerini keşfetmesi ve uzak eşlerle bağlantı müzakeresi yapması gerekir. Bu süreç, tarayıcıların genel IP adreslerini keşfetmesine ve NAT güvenlik duvarlarını aşmasına yardımcı olan STUN (Session Traversal Utilities for NAT) ve TURN (Traversal Using Relays around NAT) sunucularını içerir.
Yan etkisi güçlüdür: bir kullanıcı VPN üzerinden bağlansa bile, tarayıcının WebRTC yığını, tünelin arkasındaki gerçek IP adresini açığa çıkarabilir. Bunun nedeni, WebRTC ICE (Interactive Connectivity Establishment) adaylarının, VPN'in maskelemediği yerel ağ arayüzü adreslerini içermesidir.
Sızıntı Nasıl İşler
Bir tarayıcı bir RTCPeerConnection oluşturup ICE adaylarını topladığında, genele açık IP'sini keşfetmek için STUN sunucularını sorgular. Ancak aynı zamanda fiziksel adaptörün özel IP'si de dahil olmak üzere yerel ağ arayüzlerini de sıralar. VPN, trafiği yalnızca IP katmanında tünellese ancak tarayıcının WebRTC yığınını yalnızca tünel arayüzünü kullanacak şekilde yapılandırmazsa, gerçek IP host adayı üzerinden sızar.
tracio.ai'de bu davranışı dikkatlice problarız. IP Intelligence sistemimiz kontrollü bir STUN isteği oluşturur ve tarayıcının döndürdüğü ICE adaylarını analiz eder. STUN'dan gelen genel IP, sunucumuzda gördüğümüz IP'den farklı olduğunda bir VPN veya proxy işaretleriz. Yerel arayüz IP'si, varsayılan coğrafi konumla çelişen özel bir ağ aralığını açığa çıkardığında ise şüphe skorunu artırırız.
Buglardan Tespit Sinyaline
Gizlilik odaklı tarayıcıların çoğu bu sızıntıyı yamaladı — Chrome, WebRTC için açık kullanıcı izni gerektirir ve Firefox, proxy'lenmemiş UDP'yi devre dışı bırakmak için ayarlar sunar. Ancak silahlanma yarışı devam ediyor: bazı VPN istemcileri WebRTC'yi düzgün yapılandırmıyor, eski tarayıcı sürümleri savunmasız kalmaya devam ediyor ve "yamalanmış" ile "sızdıran" bir WebRTC yanıtının davranışsal deseni de kendi başına yararlı bir sinyaldir.
Yaklaşımımız WebRTC yanıtını bileşik bir sinyal olarak ele alır: host adaylarının varlığı, döndürülen ICE aday sayısı, aday türleri (host, srflx, relay) ve yanıt zamanlamasının tümü cihaz parmak izine katkıda bulunur. Hiçbir IP sızmasa bile, WebRTC davranış deseni ayırt edicidir.
TURN Sunucusu Problama
STUN'un ötesinde, TURN sunucusu davranışını da problarız. TURN röleleri genellikle doğrudan eşler arası bağlantılar başarısız olduğunda kullanılır — katı güvenlik duvarlarının arkasındaki kurumsal ağlarda yaygındır. TURN tahsis yanıtı, röle yolu hakkında bilgi açığa çıkarır: taşıma protokolü (UDP, TCP veya TLS), röle adresi ve tahsis ömrü.
SignalProbe sistemimiz, kendi röle sunucularımıza özenle hazırlanmış TURN tahsis istekleri gönderir. Yanıt süresi, desteklenen taşımalar ve tahsis başarı/başarısızlık desenleri ağ ortamına göre değişir ve cihaz parmak izi için ek sinyal çeşitliliği sağlar.
Gizlilik Hususları
Açık olmak isteriz: tracio.ai, kullanıcıların kimliğini ifşa etmek için WebRTC sızıntılarından yararlanmaz. Sistemimiz bir VPN'in kullanımda olduğunu tespit eder ve bunu bir risk sinyali olarak raporlar. Sızan IP adresini asla saklamaz veya açığa çıkarmayız. Sinyal ikilidir: "WebRTC tutarsızlığıyla VPN tespit edildi" veya "WebRTC davranışı doğrudan bağlantıyla tutarlı".
Bu yaklaşım, dolandırıcılık önleme ekiplerine ihtiyaç duydukları bilgiyi verir — bir ziyaretçinin gerçek konumunu maskelediğini — bireysel gizliliği tehlikeye atmadan. Sinyal, birden fazla hesabın aynı gizli konumdan geldiği koordineli dolandırıcılık saldırılarını tespit etmeye yardımcı olur.