Memorias USB: riesgos, protección y acceso a los datos

Memorias USB y sus riesgos

La facilidad de uso de memorias USB y discos externos ha provocado que estos dispositivos se conviertan en los preferidos de usuarios de tecnologías para respaldar y compartir información; y esto es tan cierto que ya en el año 2014 el INE, en uno de sus informes, indicaba que el 58% de usuarios de tecnología usaba memorias USB, DVDs y otros dispositivos semejantes para compartir información.

Pero con el creciente uso de dispositivos que ha existido, han surgido varios problemas que afectan directamente a la seguridad de la información personal y de las organizaciones, mencionemos algunos de ellos:

Pero, ¿qué medidas podemos aplicar a la hora de usar estos dispositivos de almacenamiento para mejorar nuestra seguridad? A continuación un par de recomendaciones:

  • Evitar la conexión de memorias USB de orígenes desconocidos en nuestro ordenador.
  • No conectar nuestros dispositivos USB en equipos desconocidos o poco seguros.
  • Mantener actualizado el sistema operativo, antivirus y aplicaciones de nuestro ordenador.
  • Revisar con un antivirus actualizado todos nuestros dispositivos de almacenamiento.
  • Cifrar nuestras memorias USB y discos de almacenamiento. Hacer esto mejorará considerablemente la seguridad de nuestra información puesto que para el acceso a estos dispositivos se requerirá de la contraseña de cifrado que únicamente su propietario debería conocer.

Repasemos algo sobre Bitlocker

Como bien se ha comentado en una entrada de RedesZone, Bitlocker es una herramienta que permite cifrar el contenido de particiones de discos y memorias USB en Sistemas Windows. Sabemos también que el cifrado de dispositivos añade una capa de seguridad para el acceso a la información y esto es lo que BitLocker ofrece a los usuarios de sistemas Windows.

Tras realizar el proceso de cifrado con Bitlocker, el acceso a la información queda protegido por la clave de cifrado que es solicitada al iniciar este proceso.

Accediendo a una memoria USB cifrada en diferentes sistemas

Windows XP.  En estos sistemas no es posible acceder a discos cifrados. Si se conecta una memoria USB cifrada en Windows XP el sistema presentará una ventana con dos archivos que permitirán, únicamente, acceder a información genérica relacionada con BitLocker.

(N.d.E: esperemos que ningún lector todavía utilice esta versión de Windows, sin soporte desde hace ya varios años)

Imposibilidad de acceso a datos cifrados en Windows XP

Windows Vista, 7, 8, 10 y Server 2008.  Cuando una memoria USB cifrada se conecta en cualquiera de estos sistemas se mostrará una ventana informativa que solicita el ingreso de la clave de cifrado para obtener acceso a los archivos de la memoria.

Ventana solicitando el ingreso de la clave para acceso a los datos

 

Ejemplo de contenido de una memoria USB cifrada

Sistemas Linux. A no ser que se haga uso de herramientas especiales, el acceso y uso de dispositivos cifrados por BitLocker no es posible en estos sistemas.

En sistemas Linux, cuando una memoria USB cifrada es conectada, esta se abrirá y mostrará un sinnúmero de archivos ininteligibles para el usuario. Además, si queremos agregar nuevos archivos o carpetas dentro de esta memoria nos resultará imposible hacerlo.

Contenido de memoria USB cifrada conectada en un Sistema Linux

 

Mensaje de error mostrado al tratar de crear una carpeta en una memoria USB cifrada en Linux

 

Accediendo a los datos de una memoria USB cifrada en Linux

El proyecto de Dislocker, cuyo código se encuentra bajo licencia GPL, nos ofrece herramientas que permiten acceder al contenido de un disco o memoria USB cifrados. A continuación presentamos un ejemplo del proceso de instalación y uso de Bitlocker en Linux.

Requisitos del Sistema

Previo a la instalación de Dislocker, nuestro sistema debe contar con algunas herramientas y librerías. Dependiendo de la versión y distribución Linux con la que contemos la instalación de estas herramientas debe ser realizada de una u otra manera. A continuación te mostramos cómo se debe realizar la instalación de las herramientas necesarias para el funcionamiento de Dislocker en sistemas Ubuntu.

Sistemas Ubuntu 14.xx y versiones anteriores.

$ sudo apt install gcc cmake make libfuse-dev libpolarssl-dev ruby-dev

Sistemas Ubuntu 16.xx y nuevas versiones.

$ sudo apt install gcc cmake make libfuse-dev libmbedtls-dev ruby-dev

Para otras distribuciones podremos consultar la página https://github.com/Aorimn/dislocker/blob/master/INSTALL.md.

Descarga e instalación de Dislocker

  1. Para la descarga de Dislocker debemos ejecutar lo siguiente en nuestro sistema Linux. Esto creará una carpeta llamada “dislocker” con todos los archivos necesarios para la instalación de las herramientas.
    $ git clone https://github.com/Aorimn/dislocker.git
    Cloning into 'dislocker'...
    remote: Counting objects: 3368, done.
    ...  ...
    Resolving deltas: 100% (2337/2337), done.
    Checking connectivity... done.
    $
    

    Otra forma de obtener “Dislocker” es ingresar en su repositorio en la URL https://github.com/Aorimn/dislocker y descargarlo en formato comprimido (.zip). Tras la descarga bastará con descomprimir el archivo .zip y estaremos listos para proceder con la instalación.

    Imagen de la página del repositorio de Dislockee

     

  2. A continuación, ingresamos al directorio donde se encuentra toda la información de Dislocker y procedemos con su instalación en nuestro sistema.
    $ cd dislocker
    $ cmake .
       creating: dislocker-master/
    -- The C compiler identification is GNU 5.4.0
    -- Check for working C compiler: /usr/bin/cc
    -- Check for working C compiler: /usr/bin/cc -- works
      ...
      
      ...
    -- Generating done
    -- Build files have been written to: /home/usuario/dislocker
    
    $ make
    [  2%] Building C object src/CMakeFiles/dislocker.dir/dislocker.c.o
    [  5%] Building C object src/CMakeFiles/dislocker.dir/common.c.o
    [  7%] Building C object src/CMakeFiles/dislocker.dir/config.c.o
      ...
      
      ...
    [100%] Built target dislocker-bek
    Scanning dependencies of target dislocker-find
    [100%] Built target dislocker-findcc
    
    $ sudo make install
    [sudo] password for usuario:
    [ 78%] Built target dislocker
    [ 84%] Built target dislocker-metadata
      ...
      
      ...
    -- Set runtime path of "/usr/local/bin/dislocker-bek" to "/usr/local/lib"
    -- Installing: /usr/local/bin/dislocker-find
    -- Installing: /usr/local/share/man/man1/dislocker-find.1.gz
    

Accediendo al contenido de una USB cifrada

    1. Con todo listo, ya podremos acceder a nuestra USB cifrada y, para esto, lo primero que deberemos hacer será conocer qué nombre se ha asignado a nuestra memoria USB. El comando fdisk nos ayudará a realizar esta tarea.
      $ sudo fdisk -l
        ...
        
        ...
      Disk /dev/sdd: 7,2 GiB, 7746879488 bytes, 15130624 sectors
      Units: sectors of 1 * 512 = 512 bytes
      Sector size (logical/physical): 512 bytes / 512 bytes
      I/O size (minimum/optimal): 512 bytes / 512 bytes
      Disklabel type: dos
      Disk identifier: 0xf3156acc
      
      Device     Boot Start      End  Sectors  Size Id Type
      /dev/sdd1        2048 15130623 15128576  7,2G  c W95 FAT32 (LBA)
      $
      
      

      Claramente podemos ver que nuestra memoria USB tiene el nombre “sdd1”

    2. A continuación crearemos un directorio con cualquier nombre en un sitio al que tengamos acceso; recomendamos la creación del nuevo directorio dentro de la carpeta “/tmp/” puesto que su uso será temporal. En nuestro caso hemos creado la carpeta “file_rep”.
      $ mkdir /tmp/file_rep
      
    3. Seguidamente debemos crear el archivo “dislocker-file” con la ayuda de “dislocker-fuse”. El archivo “dislocker-file” contendrá la información descifrada de nuestra memoria USB.
      $ sudo dislocker-fuse -v -V /dev/sdd1 -uclaveusb -- /tmp/file_rep
      

  1. Ya solo queda montar el archivo con la información descifrada (dislocker-file) y acceder a ella. Para esto crearemos un directorio en “/mnt/” u otro al que tengamos acceso, y luego procedemos a montar en éste el archivo “dislocker-file”.
$ sudo mkdir /mnt/usb
$ sudo mount -o loop,ro /tmp/file_rep/dislocker-file  /mnt/usb

Es el momento de comprobar el contenido de nuestra carpeta. ¡Muy bien! ya podemos acceder al contenido de la memoria USB adecuadamente.

$ cd /mnt/usb
$ ls -l
total 1576
-rwxr-xr-x 1 root root   7124 ene  4 16:27 000.png
-rwxr-xr-x 1 root root 105720 ene  4 16:33 111.png
drwxr-xr-x 2 root root   4096 ene  4 13:15 Documentos
drwxr-xr-x 2 root root   4096 dic 20 12:48 FOUND.000
-rwxr-xr-x 1 root root 104299 ene  4 13:22 Hogar (1).jpg
-rwxr-xr-x 1 root root 140889 ene  4 13:22 Hogar (2).jpg
  ...
  
  ...
drwxr-xr-x 2 root root   4096 ene  4 13:15 Reservado
drwxr-xr-x 2 root root   4096 dic 11 12:26 System Volume Information
-rwxr-xr-x 1 root root 177838 ene  4 13:18 Viaje (1).jpg
-rwxr-xr-x 1 root root 127092 ene  4 13:19 Viaje (2).jpg
-rwxr-xr-x 1 root root 165127 ene  4 13:18 Viaje (3).jpg
/mnt/usb $

Otra forma de comprobar el contenido de la memoria USB es haciendo uso del gestor de archivos del sistema Linux y accediendo a la carpeta donde hemos realizado el último montaje.

Tras finalizar el uso de memoria USB, será recordable desmontarla.

$ sudo umount /mnt/usb

Esperamos que esta información os sea de utilidad. Por favor, coméntanos los temas sobre los que quieras que continuemos publicando.