¿Hay alguna forma de saber cuándo se usó por última vez una unidad flash USB (en cualquier computadora)?

Tengo una unidad flash USB y creía que alguien más la había conectado a su computadora y copiado algunos archivos.

Usando mi Mac, ¿cómo sé cuándo fue la última vez que se conectó mi unidad flash USB?

Hola @gun, creo que lo que buscas puede no ser posible lamentablemente. ¿Puedo confirmar que lo que busca es averiguar si alguien más ha utilizado su llave USB y le preocupa que haya accedido a algunos de los archivos que tenía en esta llave? Creo que la respuesta a continuación muestra cómo saber cuándo alguien conectó por última vez una llave USB a su computadora.

Respuestas (5)

La mejor evidencia que podría obtener es inspeccionar la última hora de acceso de los archivos en cuestión, o quizás la última hora de acceso del directorio de nivel superior en el sistema de archivos.

Pero primero, un poco de historia. La computadora trataría una unidad flash USB como un disco. La unidad (o, más precisamente, la partición principal dentro de la unidad) se formatearía como un sistema de archivos. La mayoría de los medios flash vienen formateados de fábrica con un sistema de archivos VFAT, que es una solución de mínimo común denominador que funciona con casi todos los dispositivos, incluidos OS X, Windows, Linux y cámaras digitales. Las siguientes alternativas más probables a VFAT serían HFS+ (el sistema de archivos nativo de OS X, que Windows no admite en absoluto) o NTFS (el sistema de archivos nativo de Windows, compatible con cualquier versión de Windows lanzada este siglo, pero que solo tiene soporte de solo lectura en OS X, y rara vez es compatible con cámaras digitales).

Ese fondo es relevante porque diferentes sistemas de archivos almacenan la hora del último acceso de manera diferente. Voy a trabajar suponiendo que su memoria USB está formateada con VFAT. Esto es importante porque los sistemas de archivos VFAT solo almacenan la fecha del último acceso , no la hora del día. Esa sería la mejor evidencia que podría esperar recolectar, suponiendo que todo lo demás salga bien.

Para ver las últimas fechas de acceso en el Finder ,

  1. Cambiar a vista de lista (Ver → como lista (⌘2))
  2. Mostrar el cuadro de diálogo Ver opciones (Ver → Mostrar opciones de vista (⌘J))
  3. Seleccione "Fecha de última apertura"

Alternativamente, en lugar de usar el Finder, puede usar la Terminal para ejecutar

stat -x /Volumes/USB-Stick-Name/Path/To/File

para ver el tiempo de acceso de un archivo en particular.


¡Sin embargo, hay algunas advertencias importantes!

Primero, el acto de conectar los medios en su Mac hará que se monte automáticamente, alterando así la última hora de acceso al directorio de nivel superior (y tal vez destruyendo aún más evidencia que eso). Un análisis forense debería requerir precauciones tales como montar los medios en modo de solo lectura. Por lo tanto, tendría que suprimir el comportamiento de montaje automático de OS X , lo cual no es tan fácil.

En segundo lugar, su compañero de trabajo / espía sospechoso podría haber tomado una contramedida similar al montar los medios de solo lectura, sin dejar una marca de tiempo como evidencia. (Tampoco hay garantía de que la computadora que usó el espía tuviera su reloj ajustado con precisión, lo que arrojaría dudas sobre la validez de cualquier marca de tiempo).

La moraleja de la historia es que, si tiene información confidencial para almacenarla en un medio extraíble, ¡cifíquela! La solución más fácil sería utilizar FileVault 2 . Tenga en cuenta, sin embargo, que dicho cifrado haría que la memoria USB fuera ilegible en cualquier máquina que no sea una Mac.

Monte su dispositivo USB Solo lectura

Para esto, la forma más fácil consiste en instalar Disk Arbitrator y configurarlo para que solo monte cualquier dispositivo como de solo lectura.

Disco-Árbitro_configuración

El Disk-Arbitratoricono de la barra de menú debería cambiar a rojo.

Conecte su dispositivo USB. Ahora no hay riesgo de que modifique inadvertidamente cualquier tiempo de acceso en él.

Buscar horarios de acceso

Digamos que su dispositivo USB está montado como suspicious_USB.

Abra una ventana Terminalo . xtermDigamos que está seguro de que no instaló su dispositivo USB en ninguna computadora durante 20 días. Dentro de la ventana de la línea de comandos, ejecute los siguientes comandos:

cd /Volumes/suspicious_USB
/usr/bin/sudo find . -atime -21 -exec ls -dluT {} \;

Este comando le mostrará cualquier archivo (incluso los ocultos) que cualquier sistema operativo podría haber abierto en menos de 21 días. La salida de este comando le mostrará la última hora de acceso detallada de cualquier archivo o carpeta leído o simplemente tocado. Por ejemplo, este comando le mostrará que simplemente se abrió una carpeta. Este comando le mostrará que Spotlight se ejecutó en su llave USB.

Si encuentra algo, sabrá cuándo se leyó su USB.

Limitación de la garantía

Si nuestro presunto colega o atacante es tan hábil como para leer este documento y entender cómo usarlo, es posible que también haya montado su dispositivo USB de solo lectura. De ahí que lo hubiera dejado limpio de cualquier modificación del tiempo de acceso.

En este caso, no tengo absolutamente ningún método para mostrar que se leyó algún archivo en su dispositivo USB :(.

Me disculpo por escribir aquí, descubrí que la respuesta de @daniel es excelente, pero resolvería mi problema por completo solo si se da un pequeño paso más: digito la cadena /usr/bin/sudo find . -atime -21 -exec ls -dluT {} \; pero puedo ver solo el último acceso de cada día (ejemplo: 3 de mayo, 18.30) ¿Cómo puedo ver también en la pantalla todos los accesos de un día determinado (por ejemplo, si quiero ver si el dispositivo también se montó en mayo 3 a las 12.00)? Si ayuda (o si puede ser relevante) el contenido del disco duro es una copia de seguridad realizada con TimeMachine. Gracias de antemano
MacOS X almacena con cada archivo solo un tiempo de acceso: el último.
  • Abre tu Consola
  • Seleccionesystem.log
  • Escriba la siguiente consulta en el panel de búsqueda (esquina superior derecha): USBMSC
  • Verás algo comokernel: USBMSC Identifier (then an alphanumeric string indicating the USB bus address)
  • También se muestra la fecha y la hora . Esto le permitirá saber la(s) última(s) vez(es) que se conectó un dispositivo a un bus USB en particular.
Si estoy leyendo tanto la pregunta como la respuesta correctamente, está pidiendo una forma de descubrir cuándo se conectó un dispositivo USB en particular a cualquier bus USB , mientras que esta respuesta muestra cómo descubrir cuándo se conectó cualquier dispositivo USB a un bus USB en particular . . Desafortunadamente, no creo que haya una manera de ver lo que quiere el autor de la pregunta (suponiendo que lo esté leyendo correctamente)
→ njboot: esta respuesta responde a otra pregunta de seguridad relevante: "¿Cómo puedo ver cuando alguien conectó una llave USB sospechosa en mi Mac?".

Para "cualquier dispositivo USB" esto ciertamente no es posible, ya que el estándar es para la comunicación.
Para las unidades flash USB, puede intentar comprobar las fechas de acceso de los archivos individuales (no cuente con ello, a menudo no se utilizan de todos modos, y su propia comprobación puede sobrescribir las fechas si no tiene cuidado) o la presencia de archivos que sabes que ni tú ni tu ordenador lo han podido poner ahí (como thumbs.db o RECYCLED para Windows, .DS_Store o .Trashes para mac).

No tiene mucho sentido tener esta característica, en un producto de consumo típico. Incluso si estuviera almacenado en el firmware del dispositivo, seguiría dependiendo del reloj de la computadora host.

"dependiente del reloj de la computadora host" en lugar de depender de datos tan fácilmente falsificados, puede tener un contador no reiniciable que aumenta cada vez que se enciende el dispositivo.
@ andré-daniel No es útil para el propósito del OP a menos que haya otro mecanismo (no necesariamente en el dispositivo) que almacene el valor de conteo en el que ellos , y solo ellos, accedieron por última vez. Solo un reloj en tiempo real ayudaría, pero necesita una batería más grande que la unidad de memoria. Sería mejor programar un registrador/seguridad USB de paso. Pero cualquier solución de este tipo requiere que el dispositivo esté preparado específicamente para esto.
Sí, no estaba diciendo necesariamente eso para el OP, solo señalé que había una forma de implementar un "contador de seguridad" para que un usuario pueda saber si el dispositivo se usó sin su consentimiento.
@andré-daniel Entendido. Todavía requeriría algoritmos para reducir el riesgo de falsos positivos, como durante reinicios de la computadora, desconexiones momentáneas de USB, "sobrecargas de energía USB", montajes fallidos, etc., además de almacenar el valor esperado en otro lugar. No vale la pena el esfuerzo. Si me pidieran que lo implementara, gastaría el espacio del algoritmo y el tiempo de programación en crear un registrador de eventos, más fácil de optimizar para un uso adecuado que posibles escenarios inadecuados, y el espacio de almacenamiento es barato hoy en día.
Sí, lo que estaba pensando es tener una tarjeta inteligente incrustada en la unidad USB que pueda registrar eventos y no pueda ser manipulada (fácilmente).

Use Belarc Advisor... ejecútelo con privilegios de administrador... cuando finalice el informe, busque Uso de almacenamiento USB en los últimos 30 días... allí puede ver el tipo de USB y cuándo se usó por última vez...