[ad#alberto-schiabel-1]
Esiste una funzionalità intrinseca in HTML5 molto particolare: si chiama Battery Status API e, come suggerisce il nome, permette ai siti web di controllare lo stato della batteria del vostro cellulare, con una precisione talmente elevata da essere sconcertante. A detta dei ricercatori, una sensibilità così precisa potrebbe venire impiegata per tracciare gli utenti di Internet in piccoli periodi di tempo, anche in caso si utilizzi un software apposito per nascondere l’identità come Tor.
Ciò accade per una particolare ragione: queste API incriminate possono ottenere diversi pacchetti di informazioni a riguardo delle condizioni della vostra batteria, come livello, tempo di carica e di scarica. Se magari da soli questi dati hanno un’importanza assai ridotta, combinati si ottengono scansioni praticamente uniche per ogni device, permettendo quindi a potenziali malintenzionati di creare l’impronta digitale virtuale del vostro dispositivo e di tracciare le vostre attività nel web. Come se già non lo facessero in troppi.

Avete presente il messaggio che appare in praticamente ogni sito ormai, che avvisa i propri utenti dell’utilizzo di cookies? Ecco, il funzionamento delle Battery Status API è simile ai famosi “biscotti del web”: queste interfacce possono essere utilizzate per reistanziare gli identificatori di tracciamento.
Inoltre, le informazioni a riguardo della batteria possono essere usate anche in casi dove un power user può non solo cancellare i propri cookies, ma anche dove può riuscire a cancellare pure gli evercookies.
In un ambiente di lavoro, dove i dispositivi condividono caratteristiche e IP simili, le informazioni derivanti dalle Battery Status API possono essere usate per distinguere i terminali dietro ad un NAT, quando i meccanismi di tracciamento tradizionale non funzionano.

Piccola curiosità a riguardo del Sistema Operativo della vostra macchina: mentre utilizzando Firefox su Android, Windows, Mac OS X le cifre significative sono solo due, in ambiente Linux la precisione è addirittura doppia. Incredibile, se si pensa che il re dell’open source è impiegato soprattutto per la sua sicurezza e il privacy-care.
Il documento autorevole in cui per la prima volta si è parlato di privacy-lacking nelle batterie al pubblico è firmato da quattro ricercatori europei sulla sicurezza:
Lukasz Olejnik (INRIA Privatics)- Gunes Acar (KU Leuven University, ESAT/COSIC e iMinds)
- Claude Castelluccia (INRIA Privatics)
- Claudia Diaz (Ku Leuven University, ESAT/COSIC e iMinds)
Questa tipologia di tracciamento è davvero molto difficile da evitare, dal momento che praticamente tutti i dispositivi ne sono vulnerabili. Comunque, il rischio è notevolmente più alto per le batterie usate o in ogni caso vecchie.
Nonostante i potenziali problemi di privacy delle Battery Status API siano state discusse dagli sviluppatori di Mozilla e Tor Browser nel 2012, né le API, né l’implementazione Firefox hanno subito una revisione in tal punto.
Secondo i ricercatori, la soluzione è estremamente semplice: basta ridurre la precisione della lettura delle batteria direttamente a livello di API. Arrotondando i valori, nessuna delle funzionalità andrebbe perduta, ma sarebbe quasi impossibile tracciare un utente in maniera usufruibile.
Cosa ne pensate? Fatecelo sapere nei commenti.
Ma la vera domanda è: che necessità hanno i sito web di leggere il nostro livello di batteria?
Ti rispondo da developer per app android. (Ma non cambia molto per web)
Le statistiche della batteria, o in generale il suo stato, sono utili al developer per decidere quando e che operazioni fare per essere “gentile” con i propri utenti. Ad esempio:
Se un applicazione (Androidiani app) deve scaricare la lista dei nuovi posts, potrebbe chiedere ad android di far partire la routine di download ogni ora. Quando la routine parte lo sviluppatore potrebbe:
– Leggere il valore della batteria
– Se è bassa -> allora evita di scaricare le immagini
– Se è MOLTO bassa -> allora evita di scaricare anche la lista dei nuovi posts
– Altrimenti -> scarica tutto
Allo stesso modo un dev web potrebbe decidere di non mostrare contenuti della pagina che potrebbero risultare cpu intensive. Oppure, potrebbe scurire il background rendendolo nero => i display Amoled e Super-Amoled consumano meno perchè un pixel nero è un pixel spento.
Ho capito… Grazie!
quando ci rifai una di quelle recensioni “off topic”, tipo termometro “interno” per cibi?
mi sbaglio?… non eri tu?
Yes, ero io, ma mica era offtopic.
Stavo giusto pensando a comprare la seconda versione di quel termometro :) Ma credo che, a parte esibirre le mie qualità/o incapacità culinarie, poco interessi alla gente :P
offtopic rispetto al tema android (e tecnologie binarie).
la gente non lo so… a me piace oltre ad essere divertente mi scrolla da dosso quest’odore da nerdaccio (con la enne).
Se la batteria sta caricando mentre l’app cerca di leggere le stats che succede?
Se è in carica generalmente è da trattare come “Fai tutto quello che devi”
Ma sei tu lo sviluppatore della app androidiani?
Perché si sta cercando di spronare lo sviluppo di web app che favoriscono il cross platform e l’html, con la versione 5, è uno degli strumenti utilizzati per tale fine; per questo trovi una API per il monitoraggio della batteria che potrebbe essere utilizzata da un’app per smartphone, un software per PC o da un sito web per fare moltissime cose come migliorare l’esperienza dell’utente
schiabel sei “forte”… mi piace cosa e come lo scrivi (quasi) sempre, affondi oltre la semplice notizia ma non ci “trascini” nell’eccessivo tecnico, complimenti.
e dopo il “lecchinaggio” mattutino, il pensiero del giorno “una batteria al giorno, leva lo spione da torno”
BATTERIA RIMOVIBILEEEEEEEEE!
Gente ubriaca già al mattino
abbiamo un concetto diverso di “mattino”.
la mia sveglia stamattina ha suonato alle 5,30…
La tua sveglia non incide sul fatto che le 11 ci siano anche al mattino :)
le 11 non sono mattino… il mio caporale istruttore che ci dava la sveglia così la pensava.
È perché non usi una sveglia Apple. Se usi una sveglia Apple, puoi dormire fino alle 7 :-)
ecco vedi! … questo potrebbe essere un buonissimo motivo per cambiare piattaforma… ?
Sconcertato..mah. ..
ah quindi trovi che fosse la classic?
Non credo, le tecno-bubble pesanti furono introdotte da TNG a seguire.
bhe se lo dice Roy batty, (che ha visto cose che noi umani neanche immaginiamo…) non posso che chinare il capo.
Tutto mette a rischio la privacy … Non voglio immaginare come andrà a finire con l’iot e tutte le intrusioni che subirà… Sapranno anche a che temperatura è casa nostra …
vabbé… quello è un file di testo (credo)… magari si può prevedere un meccanismo che alteri casualmente i parametri, quel tanto da scongiurare l’univocità di idrntificazione del dispositivo, senza che comprometta le funzioni di cui parlava andrea, oppure non so un altra contromisura… chi usa due batterie (zopo credo che includa una seconda batteria nella confezione) rende più difficoltosa la cosa.
Come si farebbe ad arrotondare i valori API?!
Non si tratta di una cosa che possono fare gli utenti, ma gli sviluppatori delle API stesse.
Ah ok, grazie
Sinceramente di tutta sta privacy non mi importa proprio, tanto siamo controllati dalla mattina alla ed io non essendo un agente della CIA non ho nulla da nascondere!
Dalla mattina alla???? Alla cosa!?!?!? HAI NASCOSTO UN INFORMAZIONI VITALE PER LA SICUREZZA DEGLI STATI UNITI!!!!
SEI UN FOTTUTO TERRORISTAAAAAAA
Quante ca*****…tutti fissati con la privacy ora, va pure di moda..
Ma poi che c’entra la navigazione in incognito con la batteria….già dubitavo dal tuo primo articolo ora ho la conferma
Incredibilmente le cose accadono anche se tu non le capisci, pensa un po’. Certo per un “esperto” non capire di che si parla fa un po’ ridere.
C’entra con la privacy, come esplicato chiaramente senza troppi giri di parole.
Tanto se hai un dispositivo Android la tua privacy è già morta! A me sinceramente non me ne frega niente… non ho niente da nascondere
Nelle mani il tizio ha dei preservativi?