El talón de Aquiles de tu computadora

Las computadoras a menudo necesitan estar conectadas a impresoras, cámaras y unidades flash USB y otro hardware, pero las pequeñas piezas de software que permiten las comunicaciones con estos periféricos, conocidas como controladores de dispositivos, tienen mala reputación. Los expertos creen que las fallas de los controladores de dispositivos son responsables de aproximadamente el 85 por ciento de las fallas en las máquinas con Windows, y los controladores de dispositivos mal escritos también pueden introducir agujeros de seguridad en una computadora que de otro modo estaría protegida. Parte del problema es que un controlador de dispositivo no puede ser examinado fácilmente por nadie ajeno a la empresa que lo creó.





Los controladores de dispositivos son terribles, dice Vitaly Chipounov , investigador del Dependable Systems Lab de la Ecole Polytechnique Federale de Lausanne (EPFL) en Suiza. En el Conferencia Técnica Anual de Usenix En Boston, la semana pasada, Chipounov demostró una herramienta de software que podría ayudar a proteger las computadoras de los conductores poco fiables al identificar problemas antes de que lleguen al sistema del usuario.

La herramienta de Chipounov puede probar controladores de dispositivos sin necesidad de acceder al código subyacente. Funciona cargando un controlador en una computadora virtual y simulando su comportamiento, buscando problemas como bloqueos o bloqueos repentinos. La herramienta funciona sin comunicarse con una pieza de hardware real correspondiente. Aun así, al simular la forma en que el hardware interactúa con el controlador, puede mostrar cómo responderá un controlador cuando se conecte a un equipo con errores. Una vez que la herramienta encuentra un problema, puede proporcionar información sobre la causa, lo que puede ayudar a identificar una solución.

Los investigadores trabajaron con seis controladores de dispositivos populares escritos para Windows y encontraron 14 errores graves. Algunos de los controladores que probaron habían sido certificados como compatibles con Windows por Microsoft. Los investigadores dicen que esto muestra que su herramienta podría mejorar la certificación de los controladores de dispositivos. Sus experimentos revelaron un patrón en la forma en que fallaron algunos controladores relacionados, lo que sugiere que los proveedores de hardware responsables pueden haber copiado el código de un controlador de dispositivo defectuoso a otro. Al menos deberían copiar y pegar código que funcione, bromea Chipounov.



La estabilidad y seguridad de los controladores de dispositivos es un problema importante, dice Vinod Ganapatía , profesor asistente de ciencias de la computación en la Universidad de Rutgers. En las computadoras Linux, Mac y Windows, los controladores de dispositivos generalmente tienen los mismos privilegios que el sistema operativo en sí, dice. Muchos de estos controladores están escritos por proveedores externos y no se someten al mismo nivel de pruebas que el sistema operativo. Algunos controladores de dispositivos publicados en la Web se modifican para contener códigos maliciosos.

Los controladores de dispositivos maliciosos pueden realizar una variedad de actividades nefastas, como ocultar la presencia de programas maliciosos y espiar el tráfico de la red, dice Ganapathy. Los controladores de dispositivos benignos pero vulnerables también presentan riesgos similares, porque un atacante puede secuestrar vulnerabilidades para realizar el mismo tipo de actividades maliciosas.

Otros investigadores están trabajando en diferentes formas de hacer que los controladores de dispositivos sean más seguros. Ganapatía y Michael Swift en la Universidad de Wisconsin-Madison, por ejemplo, han desarrollado formas de implementar controladores para que estén aislados del núcleo del sistema operativo.

Los investigadores de EPFL quieren capacitar a los usuarios para que prueben los conductores ellos mismos. La versión actual de su herramienta requiere mucha experiencia técnica, por lo que solo es adecuada para que la utilicen los proveedores de hardware o software que puedan usarla para depurar o certificar controladores. Pero la visión de los investigadores es que los usuarios finales puedan determinar si deben instalar un controlador o no. Dicen que la herramienta podría agregarse a un sistema operativo. Podría presentar automáticamente al usuario un botón Probar ahora para nuevos controladores, permitiéndoles buscar problemas antes de que ocurran.

esconder