Una de las presentaciones más inusuales en la conferencia DEF CON 29, que se realizó a principios de agosto, abarcó las vulnerabilidades del equipo de agricultura que encontró un investigador australiano que se hace llamar Sick Codes.
Estas vulnerabilidades que 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 el control directo sobre los costosos y pesados equipos, lo que supone un peligro especial.
La maquinaria de la agricultura moderna
Para quienes no están familiarizados con la agricultura moderna, el precio de la maquinaria resulta astronómico. En su presentación, Sick Codes explicó por qué los tractores y cosechadoras son tan caros. Los mejores ejemplos de maquinaria de la 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, que se anuncia de la siguiente forma:
El motor V12 de 24 litros y el 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 el grano picado. A estas capacidades, Sick Codes añade el control remoto y la habilidad para conectar de forma automática el soporte técnico directamente con la picadora para poder solucionar los posibles problemas. Y aquí es donde afirma que la agricultura moderna depende completamente de Internet.
El modelo de amenazas en la maquinaria de agricultura
Como era de esperar, 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 es un ataque DoS en el 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 ese terreno 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 tanto, podemos afirmar que el equipo de agricultura en red representa toda una 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.
La obtención por fuerza bruta del nombre de usuario, la 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ítima en el sitio web de la empresa (aunque, según él mismo describe, más tarde se le olvidó el nombre de usuario que eligió). Al tratar de recordarlo, se encontró con algo inesperado: la API realizaba 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 fuerza bruta.
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 1000 solicitudes en las que comprobaba 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ó algo más de información de la descrita 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. Y, aunque Sick Codes no dijo lo que esta clave abre exactamente, parece ser otro conjunto de servicios internos.
Para mantener 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 monitoriza algunos de los servicios del fabricante, lo que arrojó información detallada sobre los usuarios y mostró la posibilidad teórica de secuestrar la cuenta.
Cómo fue el contacto con las empresas
Para ser justos, cabe destacar que Sick Codes no establece un vínculo directo entre las amenazas mencionadas anteriormente 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 los errores 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 de las vulnerabilidades. Sick Codes tuvo un intercambio corto con el gerente de las redes sociales de John Deere, después del cual se le pidió que informara de las vulnerabilidades mediante el programa de caza de bugs en el servicio HackerOne; sin embargo, no se encontró dicho servicio. Sí que se introdujo más tarde un programa de recompensas para informar de las vulnerabilidades, 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 salieran en las noticias en abril de este año, se publicó un mensaje cifrado 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 a los que se enfrentan 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 el ordenador 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 un firmware bajo la manga 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 alquilan el equipo (pero a precio completo) y tienen que usar los servicios de mantenimiento del fabricante, incluso aunque no quieran hacerlo. El proveedor con frecuencia justifica esto en aras de la seguridad, específicamente la necesidad de evitar que, por ejemplo, una unidad de control no autorizada tome control de una máquina compleja. Pero Sick Codes pregunta y con razón: ¿qué seguridad existe en realidad cuando se encuentran unos agujeros impresionantes en su software?
Al final del informe, Sick Codes mostró 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 han encontrado. 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 de agricultura está a la par de la del equipo médico. Independientemente de esto, queda claro que este problema debe abordarse, empezando con abrir el dialogo con los fabricantes, que se beneficiarían si prestaran atención a las advertencias de los hackers éticos, antes de que los ciberdelincuentes se involucren.