Pil Durumu (Battery Status) API’si ile Kullanıcı Takibi Neden Engellendi?
HTML5 Pil Durumu API’sinin yüksek hassasiyetli verilerle kullanıcıları gizli sekmede bile nasıl takip edebildiğini ve neden kaldırıldığını öğrenin.
Masum Bir Donanım Özelliğinin Takip Aracına Dönüşmesi
W3C tarafından standartlaştırılan HTML5 Battery Status API (navigator.getBattery()), web tabanlı video düzenleyiciler ve oyunların pil azaldığında kaynak tüketimini kısması için tasarlanmıştı.
Ancak güvenlik araştırmacıları, pil şarj seviyesi ve saniye bazındaki deşarj süresinin birleştiğinde milyonlarca olası kombinasyon oluşturduğunu ve kullanıcıları gizli sekmede bile takip etmek için kullanıldığını kanıtladı.
Pil Seviyesiyle Cihaz Tanımlama Nasıl Çalışıyordu?
API şu dört değeri dışarıya aktarıyordu:
battery.level(0.74289... gibi yüksek hassasiyetli float değeri)battery.charging(Şarjda olup olmadığı)battery.chargingTime(Tam doluma kalan süre)battery.dischargingTime(Pilin bitmesine kalan saniye)
Pil deşarjı fiziksel bir süreç olduğundan, kullanıcı gizli sekmeye geçse veya aynı cihazda başka bir tarayıcı açsa dahi değerler aynı kalıyordu.
Tarayıcıların Tepkisi ve Alınan Dersler
- Firefox: API'yi Firefox 52 sürümünde tamamen kaldırdı.
- Safari: Güvenlik ve parmak izi endişeleri nedeniyle API'yi hiç uygulamadı.
- Chrome: Değerlerin hassasiyetini düşürdü ve kısıtlamalar getirdi.
Cihazınızın web sitelerine hangi donanım bilgilerini sunduğunu görmek için Cihaz Donanım Bilgisi ve Tarayıcı Parmak İzi araçlarımızı kullanın.
WebRTC Leak Test
Test if your real IP address is leaking through your browser even behind a VPN.