raspberry-como-herramienta-de-seguridad

Este es el primero de un conjunto de entradas en este blog donde pretendemos demostrar cómo los dispositivos conocidos como raspberries y enmarcados dentro de los dispositivos del Internet de las cosas (Internet of things – IoT) pueden ser utilizados como herramientas de seguridad.

Para los que no conozcan este tipo de dispositivos, una raspberry puede ser considerada como un ordenador cuyas principales características son su pequeño tamaño y su reducido coste. Aunque existen otros dispositivos de las mismas características, como Orange Pi, Banana Pi, ODroid, JaguarBoard, Hummingboard, Matrix ARM, Pine A64, Cubieboard, Snickerdoodle, C.H.I.P. o Beagleboard, nos hemos centrado en las raspberries porque son los dispositivos más extendidos de estas características. De hecho, se puede encontrar en las tiendas de tecnología más importantes del país como Media Markt, PcComponentes o Amazon.

Este dispositivo ha sufrido una evolución en los últimos años y aunque en la siguiente tabla se pueden ver las diferentes versiones, en las entradas del blog nos centraremos principalmente en las últimas versiones, con las que conseguiremos una mayor potencia.

tablaversionesraspberry

Como se puede ver en la tabla anterior el tamaño es muy reducido, practicamente similar al que tendría una tarjeta de crédito (85,60mm × 53,98mm). Además, es importante resaltar la cantidad de dispositivos de entrada/salida que son compatibles con este tipo de dispositivos.

Por otra parte, también podemos comprobar que el almacenamiento principal de estos dispositivos son las tarjetas de memoria de tipo SD o micro SD. En esta tabla se hace una distinción entre tarjetas SD y SDHC. Se consideran tarjetas SD (Secure Digital) las tarjetas entre 1 Mb y 2 Gb de capacidad. Por otra parte, las tarjetas SDHC (Secure Digital High Capacity) son tarjetas entre 4 GB y 32 Gb de capacidad. Por tanto, los sistemas operativos que utilizan estos dispositivos se almacenan en este tipo de tarjetas, que serán SD o micro SD dependiendo de la versión de la raspberry.

Muchos de los sistemas operativos son gratuitos y pueden ser descargados libremente. La extensión que tendrán estos ficheros normalmente será *.img. Para cargar estos dispositivos dentro de la tarjeta SD o micro SD se puede utilizar cualquiera de los sistemas operativos que conocemos (Windows, Mac o Linux).

Windows

En Windows se puede utilizar la aplicación Win32DiskImager, disponible en el siguiente enlace: https://sourceforge.net/projects/win32diskimager/, para cargar imágenes de sistemas operativos en tarjetas SD y micro SD. Para llevar a cabo esta acción utilizando la herramienta previamente indicada se deberá seleccionar la imagen a cargar en la opción Image File, después en la opción Device es necesario seleccionar la unidad donde esté la tarjeta SD o micro SD (en este punto es importante tener cuidado y seleccionar la unidad correcta porque los datos son totalmente eliminados antes de cargar la imagen) y posteriormente pinchar sobre el botón Write.

win32diskimager

Además, se puede utilizar la misma herramienta para realizar backups completos a partir de tarjetas SD y micro SD. De esta forma podremos tener distintos proyectos almacenados en un disco duro de gran capacidad y cargar en tarjetas SD y micro SD los más utilizados. Para realizar un backup completo de la tarjeta, en Device se deberá seleccionar la unidad donde esté insertada la tarjeta. Además, se deberá seleccionar la ruta y el nombre donde se guardará la imagen obtenida en Image File. Por último, se deberá pulsar el botón Read.

Mac

También se podrá utilizar Mac para cargar un sistema operativo dentro de una tarjeta SD o micro SD. El primer paso necesario será conocer el disco (no la partición) donde está insertada nuestra tarjeta. Para ello utilizaremos el siguiente comando:

Después habrá que desmontar el disco:

La ubicación del disco es obtenida del primer comando mostrado. Para que el lector no se pierda, un ejemplo de ubicación del disco podría ser: /dev/disk6.

Seguidamente, se utiliza el siguiente comando para cargar el sistema operativo en la tarjeta SD o micro SD:

El parámetro bs es necesario para indicar el tamaño de bloque. Si falla el valor 1m, se deberá cambiar este valor por 1M. El parámetro if es utilizado para indicar la imagen de entrada que se cargará en la tarjeta SD o micro SD. Y el parámetro of se utiliza para indicar el disco con la tarjeta SD o micro SD donde se realizará la copia.

Por el contrario, para realizar un backup de una tarjeta SD o micro SD a una imagen se deberán invertir los valores de los parámetros if y of.

Por último, con el próximo comando se expulsará y se podrá quitar la tarjeta SD o micro SD del ordenador:

Linux

Finalmente, Linux también podrá ser utilizado para cargar un sistema operativo en una tarjeta SD o micro SD. Al igual que en el caso anterior, el primer paso es conocer la ubicación del disco asignado a nuestra tarjeta:

Seguidamente, se deberá desmontar el disco con la tarjeta SD o micro SD.

La ubicación del disco es obtenida del primer comando mostrado. Para que el lector no se pierda, un ejemplo de ubicación del disco podría ser: /dev/mmcblk0 o /dev/ssd.

Además, el siguiente comando se utilizará para cargar el sistema operativo en la tarjeta SD o micro SD:

El parámetro bs es necesario para indicar el tamaño de bloque. El parámetro if se utiliza para indicar la imagen de entrada que se cargará en la tarjeta SD o micro SD. Y el parámetro of se utiliza para indicar el disco con la tarjeta SD o micro SD donde se realizará la copia.

Por el contrario, para realizar un backup de una tarjeta SD o micro SD a una imagen se deberán invertir los valores de los parámetros if y of.

Finalmente, se deberá ejecutar el siguiente comando para estar seguro que se ha vaciado la caché y la tarjeta estará lista para insertarse en una raspberry acorde con la versión del sistema operativo:


De todas las versiones de Raspberry Pi expuestas en la tabla anterior, las que principalmente se utilizarán en próximas publicaciones serán las versiones 2 y 3, ya que son las últimas que han salido al mercado y poseen una mayor capacidad de cómputo. En las imágenes siguientes os mostramos las principales partes de las que consta cada una de estas versiones.

Raspberry Pi 2 modelo B

raspberrypi2

 

Raspberry Pi 3 modelo B

raspberrypi3

Después de ubicar las partes de cada una de estas versiones, se puede fácilmente identificar las diferencias entre ellas. El chip en la versión 3 es más moderno y nos permitirá trabajar sobre una arquitectura de 64 bits. Además, la versión 3, a diferencia de la versión 2, dispone de conectividad Bluetooth. Por último, la diferencia mas importante que encontramos en la Raspberry Pi 3 es que dispone de conexión 802.11n y puede conectarse a una red Wi-Fi sin necesidad de un conector de red USB.

Por otra parte, el conector de red USB que se utilizará en la versión 2 y, a veces, también en la versión 3 cuando necesitemos 2 interfaces de red Wi-Fi o cuando el alcance de la interfaz interna sea insuficiente, será el TP-LINK WP-722n, el cual dispone un chip Atheros ar9271, y constituye una solución excelente a la hora de realizar auditorias wireless y un precio más que razonable.

usb-wp7222n