Necesitamos tu ayuda para extender nuestros artículos sobre las ciencias de la computación.
Solución:
Cuando escribí ese comentario, me refería a las máquinas expendedoras en un sentido generalizado, incluidas cosas como las máquinas expendedoras de boletos, así como las obvias dispensadoras de comida. Específicamente estaba pensando en un modelo de máquina expendedora de boletos en un lugar que frecuento, que tiene las siguientes interfaces:
- teclado
- Terminal de tarjetas de crédito/débito
- RFID para el uso sin contacto de una tarjeta de fidelización de clientes, pero también para anulación de empleados.
- Cable Ethernet enchufado en la parte posterior.
- Puerto JTAG detrás del panel frontal (requiere que desbloquee el panel frontal, pero es solo un bloqueo de pasador tubular y puede anularse fácilmente)
Entonces, ¿cómo podríamos poseer una máquina expendedora de este tipo? Bueno, tiene suficientes interfaces para que lo probemos…
teclado
El teclado es un vector interesante, pero es poco probable que caiga en alguna forma de desbordamiento de búfer ya que en realidad no hay ningún búfer involucrado. A lo sumo, podríamos descubrir algún tipo de código de acceso de puerta trasera que nos lleve a una pantalla de configuración, pero es dudoso.
Terminal de tarjetas de crédito/débito
El que está cerca de mí tiene un lector de tarjetas Ingenico i3300 fijado en un hueco en el costado de la máquina. Tengo uno a mano (¡sí, eBay!) y puedo abordar la ingeniería inversa de dos maneras:
- Ataque al hardware. Hay una identificación de la FCC en el dispositivo, que usé para obtener la información reglamentaria de la Oficina de Ingeniería y Tecnología. La FCC se ocupa de las pruebas de emisiones y un montón de otras cosas, y como parte de una solicitud, la empresa debe proporcionar documentación detallada del producto, fotos internas y externas (excelente para mí, ya que abrir el dispositivo yo mismo activaría el detector de manipulación) y otros datos de prueba. A partir de ahí, podría descubrir una debilidad en la forma en que el lector de tarjetas detecta intrusiones y encontrar una manera de abrirlo y alterar el firmware interno. Si me equivoco, no es gran cosa: puedo comprar otro por menos de £ 10 en eBay. Alternativamente, podría quitar la placa real y reemplazarla por la mía, con un dispositivo XBee / bluetooth / 802.11x que transmite la información de la tarjeta y los números pin.
- Ataque al software. Ha habido mucha investigación sobre esto (por ejemplo, PinPadPwn) y muchos dispositivos son vulnerables a los desbordamientos de búfer de las tarjetas personalizadas. Es posible programar los chips en tarjetas con chip y PIN para instalar modificaciones de firmware en un dispositivo, simplemente colocándolos en el dispositivo como si fuera un cliente normal. Entonces es posible volver más tarde y descargar números de tarjeta y pines en otra tarjeta especial. ¿Aterrador, eh?
rfid
Esta es una fuente probable de propiedad. Es un puerto de comunicaciones bidireccional que nos permite enviar y recibir datos que serán manejados directamente por código en la máquina misma, en lugar de un módulo separado. Una gran cantidad de datos RFID contienen cadenas y números enteros, por lo que es probable que se produzcan desbordamientos. También podríamos echar un vistazo a la captura de datos de un golpe de anulación de empleado, lo que podría abrir nuevas posibilidades para robar cosas de la máquina. Para realmente fuzzear el dispositivo, necesitaríamos tener la máquina expendedora en nuestro poder. Esta vez, no tengo uno a mano. El requisito de posesión física con un equipo tan grande supone una barrera de entrada, pero es posible conseguirlos de segunda mano. Sin embargo, un sniffer RFID discreto debería poder registrar datos de transacciones en vivo, que podrían usarse para reproducir comunicaciones.
ethernet
Cuando vi el cable de ethernet, me reí como un niño guionista al encontrar un agujero de inyección SQL. Es trivial desconectar uno de estos cables e insertar un dispositivo de transferencia para registrar y alterar el tráfico que va y viene del dispositivo. Podrías hacer esto con un dispositivo integrado como una piña Wifi. Es de bajo costo y potencialmente de alto rendimiento, porque puede monitorear y fuzzear dispositivos en vivo a distancia. No tengo idea de qué datos están pasando por esas líneas, pero sería divertido averiguarlo.
JTAG
Si puede quitar la cubierta, el puerto JTAG es el pináculo de pwnage. El dispositivo es probablemente un sistema Linux incorporado que se ejecuta en un chip ARM, por lo que obtener acceso a JTAG le brinda control total sobre el procesador y la RAM. Podría extraer una imagen de la memoria (que probablemente contenga firmware) y analizarla, y luego regresar y hacer cambios. Si los malos pueden llegar a tu JTAG, eres propiedad.
Entonces, ¿cómo puedes evitar que esto sea atacado? En gran parte no se puede, pero la mitigación es algo importante. Aquí hay algunos consejos:
- Recuerde que está tratando con dinero y tome precauciones de seguridad como tal. Los sensores de punta en las máquinas expendedoras de alimentos no son útiles si un malhechor puede apagarlos con un imán o cambiar el software para evitar la alarma.
- Elija proveedores de máquinas de tarjetas que tengan un largo historial sin problemas de seguridad y obtenga un seguro contra cualquier falla en ese departamento.
- Bloquee los puertos de comunicaciones y tenga una forma de bloquear los cables de Ethernet en el dispositivo para que no se puedan reemplazar fácilmente.
- Utilice la seguridad de transporte (por ejemplo, SSL) si está hablando con dispositivos externos a través de TCP/IP.
- Si son dispositivos conectados a la red, segméntelos desde su red interna. Conectar un dispositivo a un enchufe ethernet es tan malditamente fácil.
- Haga que un consultor de seguridad revise su software, especialmente si tiene RFID o NFC involucrados.
- No use cerraduras de pasador tubulares que se puedan vencer con un maldito bolígrafo. Utilice un candado adecuado.
- Mantente paranoico.
Hacks de máquinas expendedoras, como ataques contra ninguna dispositivo de hardware, son específicos de un fabricante y modelo determinado.
En cuanto a los desbordamientos de búfer: cualquier dispositivo de entrada (incluidos los teclados, etc.) teóricamente podría aprovecharse en un ataque de este tipo. Si un modelo determinado es susceptible o no, dependerá de cómo se haya construido la máquina. Pero las máquinas expendedoras más antiguas son máquinas de estado simples sin el concepto de un búfer (o incluso una CPU), por lo que los ataques contra ese estilo probablemente aprovecharían algún otro caso de esquina.
Los ataques más comunes contra una máquina expendedora involucran más física que habilidades informáticas para eludir físicamente las medidas de seguridad. Otro tipo de ataque aprovecha ciertas funciones de detección para “confundir” a la máquina en cuanto a si se ha entregado el producto o cuántos se están entregando. Otro tipo de ataque aprovecha las funciones o interfaces de administración normalmente ocultas para robar productos.