Ahora se puede leer en todo el mundo porque se hizo legible en todo el mundo cuando se creó hace unos veinte años. No he investigado la historia (que probablemente solo existe en la cabeza de Linus Torvalds), pero es probable que este archivo sea legible en todo el mundo porque no hay ninguna razón obvia para hacerlo. Después de todo, no contiene información confidencial: solo una configuración del sistema y algunas estadísticas de rendimiento ...
La sutileza es que mientras que tomar una instantánea de /proc/interrupts
es inofensivo, leerlo en un bucle cerrado no lo es, porque revela la tasa de pulsaciones de teclado que a su vez filtra un poco de información sobre lo que se escribió.
Los canales laterales no recibieron mucha atención fuera de la criptografía hasta hace unos años, cuando los mercados de aplicaciones se convirtieron en la corriente principal y todos y su abuela ejecutan el código descargado de sitios con sombra como App Store o Google Play. Por lo tanto, no me sorprende que estos problemas (que ya existían en los sistemas multiusuario típicos en la década de 1990) se estén publicitando y estudiando con mayor profundidad en el contexto de los teléfonos inteligentes.
Cambiar el statu quo no es una decisión fácil, ya que el kernel de Linux tiene algunas inclinaciones de compatibilidad hacia atrás muy fuertes. La información en /proc/interrupts
es útil al depurar el código de la aplicación o del controlador o los problemas de rendimiento del sistema.
La restricción del acceso a /proc/interrupts
no bloquearía completamente el canal lateral, solo una manera relativamente conveniente de observarlo. También es posible observar el tiempo de pulsación de tecla observando cuándo está programado el proceso que los lee, y lo que debe hacer un atacante es más o menos lo que necesita el programa top
(y se muestra, si solo aumenta la frecuencia de actualización predeterminada de 1Hz ).