2010-04-13 22 views
5

Tenemos una actualización automática para nuestro software que se instala mediante una llave USB (con la ejecución automática). Si quería asegurarme de que solo se utilizaban llaves USB autorizadas, ¿cuál es la mejor manera?Cuál es la mejor manera de autorizar una llave USB

Nuestro instalador ya está firmado, y no se ejecutará de lo contrario. Pero estoy más queriendo inspeccionar la llave USB para un instalador firmado, y si no está allí, solo ignórelo o incluso "expulse" el dispositivo USB.

Y debería ser capaz de ver la diferencia (en el código) entre un dispositivo de almacenamiento usb, y decir una cámara o un teclado.

Solo quiero deshabilitar dispositivos de almacenamiento no autorizados.

Gracias por sus ideas.

+1

No pude descargar un parche de Internet? ¿Y podrías decidir expulsar mi disco duro USB? Considere los inconvenientes (molestos que pagan los apostadores) de lo que está tratando de hacer ... diciendo que estoy intrigado por por qué quiere llegar a tales extremos – gbn

+3

Puede aclarar sus objetivos aquí. ¿Su objetivo es evitar que las personas conecten un dispositivo USB que no sea uno que contenga su actualización automática (es decir, en una situación incrustada como una terminal de punto de venta)? ¿O tal vez su objetivo es evitar que las personas copien su software de actualización automática y se lo den a sus amigos? –

+1

esta es una aplicación de quiosco independiente en la que solo queremos que se usen ciertos dispositivos. La entrada USB ya está asegurada con lock/key/pwd, etc., pero ...todavía hay oportunidades a lo largo de la ruta construir/construir que quiero probar y bloquear. Objetivo final ... solo permite el uso de dispositivos de almacenamiento con software firmado y rechaza todos los demás dispositivos de almacenamiento. – ScottCate

Respuesta

4

dispositivos de almacenamiento no autorizados? Esto depende de qué tan seguro quieras que sea. Para el nivel más seguro, que consistiría en:

  • firmware especial por escrito a la unidad flash para obtener extra "información de metadatos" (es decir: la fabricación de encargo costosa de unidades flash)
  • ventanas especiales controlador para leer ese meta información de la unidad flash
  • programa consultando al controlador del dispositivo para confirmar que está autorizado.

O al nivel menos seguro tiene las siguientes opciones: (? El tiempo posiblemente hash de la modificación del sistema de ficheros pasado o algo así)

  • utilizando un archivo oculto y una llave especial (dd rompible)
  • cayendo por debajo del nivel del sistema de archivos y volver a crear su propio sistema de archivos muy simple .. (más seguridad por oscuridad y aunque dd podría romper ese)

Además, para la opción "más segura", que realmente necesita un MOR Una manera segura de ejecutar el programa que la ejecución automática y un controlador de dispositivo (que podría estar medio cocido para que todo parezca autorizado). ¿Por qué quiere que solo se actualice desde una unidad flash autorizada?

+0

Solo estoy tratando de asegurarme de que el avg Joe no pueda insertar una llave usb y obtener una ventana de ejecución automática. En un mundo perfecto, podría adjuntarme a un evento de Windows de "Nuevo dispositivo USB encontrado" sea lo que sea ... inspeccionar el dispositivo, si es almacenamiento, buscar un trozo de software conocido y ejecutarlo. Si no se encuentra ese software, simplemente ignore el dispositivo. – ScottCate

+0

Sí, iría con la respuesta de ese y/o @pkaeding entonces. No estaba seguro de cuán seguro lo necesitabas. – Earlz

2

Es posible que pueda leer el número de serie de la unidad USB (suponiendo que obtenga unidades USB que tengan números de serie; no todas). Luego, su aplicación podría llamar a su casa para obtener la última lista de números de serie autorizados y verificar si existe una coincidencia.

+1

Eso es un buen enfoque "seguro para la mayoría de las personas" +1. (siempre se puede simular con un microcontrolador o un controlador de dispositivo personalizado) – Earlz

0

La respuesta Earlz es buena, aunque no creo que necesite una fabricación personalizada de unidades flash ... solo necesitaría unidades flash con algún tipo de identificador cifrado de firmware único. Tal vez algo en el Kingston Data Traveler Line podría hacer el truco. (Nunca he usado uno de estos usb encriptados, así que estoy un poco confundido con los detalles de implementación).

Cuestiones relacionadas