
Cualquier dispositivo USB que se conecta al sistema generará eventos en el sistema OSX que podrán ser controladas con los estados que un usuario seleccione en la cuenta de Latch que tenga pareada. Lo mejor de todo, es que para hacer este control no es necesario hacerlo a nivel de kernel o con drivers instalados allí, y se puede hacer desde la API en userland que ofrece el sistema a través de instancias de IOUSBInterface e IOUSBDevice que conectan con IOUSBLib del sistema.
Haciendo uso de estas funciones, David Barroso explica cómo hacer un programa que corra como servicio en el sistema operativo y controle en todo momento los dispositivos que se conecten. Después, cuando un evento de conexión aparezca se puede aplicar cualquier regla de seguridad que se quiera definir consultado el estado de un Latch además de los datos que se pueden obtener de OSX, como el vendorID o el productID del dispositivo.
Esas reglas podrían ser deshabilitar, permitir la conexión o simplemente informar de que se ha conectado. Para que puedas personalizar el funcionamiento a tu gusto, en el blog de Eleven Paths tienes el código en Lenguaje C para que lo adaptes a tus necesidades.
Publicado en Seguridad Apple - Google+ - RSS - Eleven Paths - El lado del mal

Continúar leyendo...