Bloqueo de trenes polacos al repararlos en talleres de terceros
(social.hackerspace.pl)Resumen: hackerspace.pl y la presentación de la investigación
- hackerspace.pl forma parte de una red social distribuida basada en Mastodon.
- Es un servidor para miembros del hackerspace de Varsovia, administrado por q3k@q3k.
- Estadísticas del servidor: 22 usuarios activos.
Resumen de la investigación
- Los investigadores analizaron mediante ingeniería inversa el código PLC de los EMU Impuls de NEWAG.
- Estos trenes dejaban de funcionar por razones arbitrarias después de recibir servicio en talleres de terceros.
- El fabricante afirmaba que estos problemas se debían a una manipulación inadecuada por parte de los talleres y sostenía que el servicio debía hacerse con ellos.
Problemas descubiertos
- El código PLC incluye una lógica que bloquea el tren después de una fecha específica o si no opera durante cierto tiempo.
- Algunas versiones del controlador incluyen coordenadas GPS que restringen el funcionamiento solo en talleres de terceros.
- El tren podía desbloquearse presionando una combinación específica de teclas en el panel de control de la cabina, pero esto no estaba documentado.
Actualización de software y problemas adicionales
- En las nuevas versiones del software PLC, se eliminó la función de desbloqueo por teclas, pero la lógica de bloqueo permanece.
- Después de cierta actualización de NEWAG, la HMI detecta un subconjunto de las condiciones que deberían activar el bloqueo y muestra un mensaje alarmante sobre infracción de copyright mientras el tren todavía sigue funcionando.
- Los trenes están equipados con dispositivos de telemetría GSM que parecen transmitir las condiciones de bloqueo y, en algunos casos, permitir bloquear remotamente el tren.
Debate público y reacciones
- Los investigadores llevaron a cabo una discusión privada sobre esto en OhMyHack.
- La historia se está difundiendo a través de fuentes en polaco, y en 37C3 planean tratar el tema en detalle y publicar los hallazgos.
- La gente está mostrando diversas reacciones ante este problema, y algunos señalan que estas prácticas podrían ser anticompetitivas e ilegales.
Opinión de GN⁺
Lo más importante de este texto es que los investigadores descubrieron problemas integrados en el código PLC de los EMU Impuls de NEWAG y planean debatirlos públicamente. Esto ofrece un caso interesante sobre la interacción entre software y hardware, y sobre cómo la tecnología puede usarse para limitar los derechos de los usuarios y la competencia. Este tipo de investigación puede impulsar debates importantes sobre el uso ético de la tecnología y la protección del consumidor, un tema de gran relevancia para todas las partes involucradas.
1 comentarios
Opinión de Hacker News
El mantenimiento de los trenes usados por las empresas regionales de Polonia se divide en cinco niveles, de P1 a P5, y desde hace algunos años, gracias a la apertura del mercado por parte de la Agencia Ferroviaria de la Unión Europea, incluso compañías pequeñas han podido ganar licitaciones de mantenimiento de nivel P3 o superior.
Cuatro trenes atendidos por SPS Mieczkowski dejaron de funcionar, la empresa pagó una multa de 500 mil euros y los trenes fueron devueltos a Newag. Al mismo tiempo, trenes de otras compañías también quedaban inmovilizados tras permanecer mucho tiempo en un mismo lugar sin recibir servicio. Por eso, SPS Mieczkowski contrató a Dragon Sector para investigar, y descubrieron varias rutinas separadas que hacían que los trenes se detuvieran.
El caso está siendo investigado por la Oficina Central Anticorrupción de Polonia, pero no parece que vaya a afectar gravemente a Newag. La Oficina de Transporte Ferroviario de Polonia ha hostigado a empresas ferroviarias con quejas y órdenes por pequeños errores de horario, pero no intervino en este caso.
Polonia está dividida en 16 provincias, y tras las reformas de inicios de los 2000, casi cada una tiene su propia empresa ferroviaria regional. Después de que surgieran varios defectos en los trenes de Newag, tomó tiempo que la empresa de servicio contratara hackers para identificar el problema mediante ingeniería inversa.
Este caso recuerda al AARD "crash" que Microsoft usó en el pasado para excluir a DR-DOS de la competencia. El código AARD era parte de la beta de Windows 3.1, y verificaba si Windows se estaba ejecutando sobre un producto competidor como DR-DOS en lugar de MS-DOS o PC DOS; en ese caso mostraba un mensaje de error cifrado.
El precio de las acciones de Newag cayó de forma considerable después de esta publicación. Me pregunto si este es el primer ajuste de precio provocado por Mastodon.
Hubo un tren que se negó a funcionar el 21 de noviembre de 2022, aunque no había estado en servicio. La computadora reportó un error del compresor, pero el mecánico determinó que no había ningún problema con el compresor. El análisis del código mostró que había una condición para reportar un error del compresor al llegar una fecha específica.
Hay quienes opinan que los trenes de Newag tienen mejor calidad que los de Pesa (otro fabricante polaco), pero que además son tan confiables que hizo falta crear fallas artificiales.
Se planteó la duda de si los fabricantes paralizaron infraestructura crítica y tomaron a Polonia como rehén. Es un crimen audaz, y no está claro si podrán salirse con la suya.
Hay dudas sobre quién escribió la cláusula de código malicioso y quiénes sabían de ella, así como por qué no hubo denunciantes internos. Existe una página con opiniones anónimas (no verificadas) de empleados sobre la empresa.
Abrir Hacker News y leer una historia de película sobre un tren que uno tomaba con frecuencia muestra lo pequeño que es el mundo. Es posible que no hubiera revisión de código, o que los revisores lo aceptaran por alguna razón.
Será interesante ver cómo esta situación afecta el contrato entre Newag y Akiem, la empresa europea de servicios ferroviarios. Newag firmó un contrato de 164 millones de euros para servicios y trenes destinados a Francia.