Una de las presentaciones más inusuales en la conferencia DEF CON 29, que se realizó a principios de agosto, cubrió las vulnerabilidades del equipo de agricultura que encontró un investigador australiano quien se hace llamar Sick Codes.
Las vulnerabilidades afectan a los grandes fabricantes John Deere y Case IH no se encontraron en los tractores y cosechadoras, sino en los servicios web que son más conocidos para los investigadores. Mediante estos, fue posible obtener control directo sobre los costosos y pesados equipos, lo cual supone un peligro especial.
Maquinaria para agricultura moderna
Para quienes no están familiarizados con la agricultura moderna, el precio de la maquinaria parece astronómico. En su presentación, Sick Codes explicó por qué los tractores y cosechadores son tan caros. Los mejores ejemplos de maquinaria para agricultura moderna se computarizan y automatizan en un grado bastante alto. Esto se ilustra en el ejemplo de la picadora de forraje John Deere Serie 9000, la cual se anuncia de la siguiente manera:
El motor V12 de 24 litros y precio de seis cifras ni siquiera es lo principal; este anuncio en particular enumera las capacidades técnicas de la máquina: sistema de orientación espacial, recolección automática en hileras y sensores de ubicación y sincronización con el tractor que recibe la pastura picada. A estas capacidades, Sick Codes añade control remoto y la capacidad de conectar de forma automática soporte técnico directamente a la picadora para solución de problemas. A esto, hace una audaz afirmación: la agricultura moderna depende completamente del Internet.
Modelo de amenazas en maquinaria para agricultura
Como era de esperarse, la maquinaria moderna está llena de tecnología moderna, desde posicionamiento y sistemas de comunicación convencionales con GPS y 3G/4G/LTE hasta métodos de navegación por inercia bastante exóticos para determinar la ubicación en el suelo con centímetros de exactitud. El modelo de amenazas concebido por Sick Codes se basa en conceptos informáticos, y suena bastante amenazador cuando se aplica a la realidad.
¿Cómo se ve un ataque DoS en un campo? Vamos a suponer que podemos cambiar un par de variables en el software para rociar fertilizante en el suelo e incrementar la dosis varias veces. Fácilmente podríamos arruinar el campo para la agricultura durante los siguientes varios años, o décadas incluso.
O qué tal una variante teórica más simple: tomamos el control de una cosechadora y la utilizamos para dañar, digamos, una línea eléctrica. O hackeamos la cosechadora, interrumpimos el proceso de cosecha causando grandes pérdidas para el agricultor. A escala nacional, estos “experimentos” podrían amenazar la seguridad alimentaria. Por lo tanto, el equipo para agricultura en red es genuinamente infraestructura crítica.
Y de acuerdo con Sick Codes, la protección implementada por los proveedores de esta misma tecnología e infraestructura deja mucho que desear. Esto es lo que encontraron él y su equipo con ideas afines.
Obtención por fuerza del nombre de usuario, codificación de la contraseña, etc.
Algunas de las vulnerabilidades de la infraestructura de John Deere que se presentaron en la conferencia se describen en un artículo en el sitio web del investigador. El primer paso de Sick Codes fue registrar una cuenta de desarrollador legítimo en el sitio web de la empresa (aunque, según escribe, más tarde se le olvidó el nombre de usuario que eligió). Al tratar de recordarlo, se encontró con algo inesperado: la API hacia búsquedas de nombres de usuarios cada vez que tecleaba un carácter. Una verificación rápida reveló que, sí, los nombres de usuario que ya estaban en el sistema podían obtenerse por la fuerza.
El límite tradicional en la cantidad de solicitudes de una dirección IP en dichos sistemas no estaba activado. En tan solo un par de minutos, Sick Codes envío 1,000 solicitudes en las que verificaba nombres de usuarios que concordaran con los nombres de las empresas dentro de la lista Fortune 1000, y obtuvo 192 coincidencias.
La siguiente vulnerabilidad se descubrió en un servicio interno que permitía que los clientes guardaran registros del equipo comprado. Como averiguó Sick Codes, cualquiera con acceso a esta herramienta podía ver la información sobre cualquier tractor o cosechadora en la base de datos. Los derechos de acceso a estos datos no se verifican. Es más, la información apenas es confidencial: propietario del vehículo, ubicación, etc.
En la DEF CON 29, Sick Codes reveló un poco más de lo que escribió en su sitio web. Por ejemplo, también pudo acceder al servicio para gestionar el equipo de demostración, con historial completo de demostraciones y datos personales de los empleados de la empresa. Por último, sus colegas detectaron una vulnerabilidad en el servicio corporativo Pega Chat Access Group, en forma de una contraseña de administrador codificada. Mediante esto, pudo obtener acceso a las claves de la cuenta de cliente de John Deere. Cierto, Sick Codes no dijo lo que está clave abre exactamente, pero parece ser otro conjunto de servicios internos.
Para guardar el equilibrio, Sick Codes también presentó algunas vulnerabilidades que afectan a la competencia europea de John Deere, Case IH. Ahí pudo acceder a un servidor Java Melody no asegurado que monitorea alguno de los servicios del fabricante, lo que arrojó información detallada sobre los usuarios y mostró la posibilidad teórica de secuestrar la cuenta.
Contacto con las empresas
Para ser justos, cabe destacar que Sick Codes relaciona las amenazas antes mencionadas y las vulnerabilidades que detectó. Tal vez con el fin de no poner en peligro a los agricultores ordinarios. O tal vez no encontró dicha relación. Pero con base en las fallas de seguridad triviales que encontró, concluye que la cultura de seguridad en estas empresas es baja, lo que nos permite asumir que el control directo de las cosechadoras tiene una protección similar. Pero esto sigue siendo una suposición.
Todas las vulnerabilidades en los servicios de John Deere ya fueron cerradas, pero con algunas condiciones. El fabricante no tenía un canal de contacto especial para informar las vulnerabilidades. Sick Codes tuvo un intercambio corto con el gerente de medios sociales de John Deere, después del cual se le pidió que informara las vulnerabilidades mediante el programa de caza de bugs en el servicio HackerOne; sin embargo, no se encontró dicho servicio. Un programa de recompensas para informar vulnerabilidades se introdujo más tarde, pero los participantes necesitan firmar un acuerdo de confidencialidad.
Los problemas con el sitio web de la empresa se arreglaron sin dar respuesta a los mensajes de los investigadores. O, más bien, hubo una respuesta extraña. Después de que las vulnerabilidades salieron en las noticias en abril de este año, un mensaje críptico se publicó en la cuenta oficial de Twitter de la empresa: “El pronóstico de esta semana: de una tres pulgadas de tonterías.” Al mismo tiempo, se publicó una vacante de ingeniero de seguridad con la fecha de inicio escrita en letras mayúsculas: INMEDIATAMENTE.
El derecho a la reparación
En el 2017, la revista Vice escribió sobre los problemas que enfrentaban los propietarios del equipo de agricultura de John Deere. Varios bloqueos de software y hardware evitan que los usuarios reparen el equipo por ellos mismos. Técnicamente, se supone que cada pieza de recambio está “registrada” en la computadora de control de la cosechadora o en la base de datos del proveedor. Pero los distribuidores oficiales son lentos y costosos. Así que los agricultores optan por firmware bajo el agua que les permita desvincular la máquina de su fabricante.
Este es un buen ejemplo del debate del derecho a reparar: resulta que los clientes de la empresa no son propietarios de lo que compran. Efectivamente rentan el equipo (pero a precio completo), y tienen que usar los servicios de mantenimiento del fabricante, incluso si no quieren hacerlo. El proveedor con frecuencia justifica esto en aras de la seguridad, específicamente la necesidad de evitar que una unidad de control no autorizada, digamos, tome control de una máquina compleja. Pero de manera justificada, Sick Codes pregunta: ¿qué seguridad existe en realidad cuando se encuentran agujeros impresionantes en su software?
Al final del informe, Sick Codes demostró el módulo de control de John Deere con el chip celular Qualcomm, y desgranó una larga lista de vulnerabilidades críticas que recientemente se encontraron ahí. Esto, por supuesto, es un argumento débil: aún es necesario que las vulnerabilidades sean explotadas, y el hecho de que se encontraran bugs dice muy poco.
No es la cantidad de vulnerabilidades lo que importa, sino la capacidad de detectar y parchearlas rápidamente. Sick Codes intenta convencer a la audiencia de que el nivel deficiente de protección de la maquinaria para agricultura está a la par de la del equipo médico. Independientemente de qué tan cierto sea esto, el problema todavía debe abordarse, iniciando con abrir el dialogo con los fabricantes. A estos últimos solo pueden beneficiarse de prestar atención a las advertencias de los hackers éticos, antes de que los cibercriminales se involucren.