È leggibile in tutto il mondo ora perché è stato reso leggibile da un mondo quando è stato creato vent'anni fa. Non ho fatto ricerche sulla storia (che probabilmente esiste solo nella testa di Linus Torvalds), ma è probabile che questo file sia leggibile da tutto il mondo perché non ci sono ragioni ovvie per farlo. Dopo tutto, non contiene alcuna informazione confidenziale: solo alcune configurazioni di sistema e alcune statistiche sulle prestazioni ...
La sottigliezza è che mentre catturare un'istantanea di /proc/interrupts
è innocua, leggerla in un ciclo stretto non lo è, perché questo rivela la velocità delle sequenze di tasti che a sua volta perde un bel po 'di informazioni su ciò che è stato digitato.
I canali secondari non hanno ricevuto molta attenzione al di fuori della crittografia fino a qualche anno fa, quando i mercati delle app diventavano mainstream e tutti e loro nonna eseguivano il codice scaricato da siti ombrosi come App Store o Google Play. Quindi non sono sorpreso che tali problemi (che già esistevano nei tipici sistemi multiutente negli anni '90) ora vengano pubblicizzati e studiati in modo più approfondito nel contesto degli smartphone.
Cambiare lo statu quo non è una decisione facile dal momento che il kernel di Linux ha alcune inclinazioni alla retrocompatibilità molto forti. Le informazioni in /proc/interrupts
sono utili quando esegui il debug dell'applicazione o del codice del driver o dei problemi di prestazioni del sistema.
Limitare l'accesso a /proc/interrupts
non bloccherebbe completamente il canale laterale, solo un modo relativamente conveniente per osservarlo. È anche possibile osservare i tempi di battitura dei tasti osservando quando è pianificato il processo che li legge e ciò che un utente malintenzionato deve fare è più o meno ciò di cui ha bisogno il programma top
(e visualizza, se si aumenta solo la frequenza di aggiornamento di 1Hz predefinita ).