Verrouillage de trains polonais après réparation dans des ateliers tiers
(social.hackerspace.pl)Résumé : hackerspace.pl et présentation de la recherche
- hackerspace.pl fait partie d’un réseau social décentralisé basé sur Mastodon.
- Il s’agit d’un serveur destiné aux membres du hackerspace de Varsovie, administré par q3k@q3k.
- Statistiques du serveur : 22 utilisateurs actifs.
Résumé de la recherche
- Les chercheurs ont analysé par rétro-ingénierie le code PLC des automotrices NEWAG Impuls.
- Ces trains cessaient de fonctionner pour des raisons arbitraires après avoir été entretenus dans des ateliers tiers.
- Le fabricant affirmait que ces problèmes venaient d’une mauvaise intervention de l’atelier et soutenait qu’il fallait passer par son propre service.
Problèmes découverts
- Le code PLC contenait une logique verrouillant le train après une certaine date ou s’il n’avait pas circulé pendant un certain temps.
- Certaines versions du contrôleur incluaient des coordonnées GPS limitant le fonctionnement uniquement dans des ateliers tiers.
- Il était possible de déverrouiller le train en appuyant sur une combinaison précise de touches sur le panneau de contrôle de la cabine, mais cela n’était pas documenté.
Mise à jour logicielle et problèmes supplémentaires
- Dans les nouvelles versions du logiciel PLC, la fonction de déverrouillage par touches a été supprimée, mais la logique de verrouillage est restée.
- Après certaines mises à jour de NEWAG, l’HMI détectait un sous-ensemble des conditions censées déclencher le verrouillage et affichait un message inquiétant sur une violation du droit d’auteur alors que le train fonctionnait encore.
- Les trains semblent être équipés d’un dispositif de télémétrie GSM qui diffuse les conditions de verrouillage et, dans certains cas, permettrait de verrouiller le train à distance.
Débat public et réactions
- Les chercheurs ont mené une discussion privée à ce sujet lors de OhMyHack.
- L’histoire se diffuse à travers des sources en polonais, et le sujet sera traité en détail à la 37C3 où les découvertes seront rendues publiques.
- Les réactions sont variées, certaines personnes soulignant que de telles pratiques pourraient être anticoncurrentielles et illégales.
Avis de GN⁺
Le point le plus important de cet article est que les chercheurs ont découvert des problèmes intégrés au code PLC des automotrices NEWAG Impuls et comptent en discuter publiquement. Cela offre un cas intéressant sur l’interaction entre logiciel et matériel, ainsi que sur la manière dont la technologie peut limiter les droits des utilisateurs et la concurrence. Ce type de recherche peut déclencher des discussions importantes sur l’usage éthique de la technologie et la protection des consommateurs, un sujet crucial pour toutes les parties prenantes.
1 commentaires
Avis Hacker News
La maintenance des trains utilisés par les compagnies ferroviaires régionales polonaises est divisée en cinq niveaux, de P1 à P5, et depuis quelques années, grâce à l’ouverture du marché par l’Agence de l’Union européenne pour les chemins de fer, de petites entreprises remportent aussi des appels d’offres pour la maintenance de niveau P3 ou supérieur.
Quatre trains entretenus par SPS Mieczkowski ne fonctionnaient pas, l’entreprise a donc payé une amende de 500 000 euros et les trains ont été renvoyés à Newag. Au même moment, des trains d’autres sociétés, restés longtemps immobiles au même endroit sans être entretenus, se sont eux aussi retrouvés bloqués. SPS Mieczkowski a alors engagé Dragon Sector pour enquêter, et plusieurs routines distinctes destinées à immobiliser les trains ont été découvertes.
L’affaire fait l’objet d’une enquête du Bureau central anticorruption polonais, mais cela ne semble pas devoir porter un coup majeur à Newag. L’Office polonais du transport ferroviaire a harcelé des compagnies ferroviaires avec des plaintes et injonctions pour de petites erreurs de planning, mais n’est pas intervenu dans cette affaire.
La Pologne est divisée en 16 voïvodies et, depuis les réformes du début des années 2000, presque chacune possède sa propre compagnie ferroviaire régionale. Après plusieurs défauts constatés sur des trains Newag, il a fallu du temps à l’entreprise de maintenance, qui avait engagé des hackers, pour comprendre le problème par rétro-ingénierie.
Cette affaire rappelle le « crash » AARD que Microsoft avait utilisé autrefois pour évincer DR-DOS de la concurrence. Le code AARD, inclus dans une bêta de Windows 3.1, vérifiait si Windows s’exécutait sur un produit concurrent comme DR-DOS plutôt que sur MS-DOS ou PC DOS, et affichait dans ce cas un message d’erreur chiffré.
Le cours de l’action Newag a fortement baissé après cette publication. On se demande si c’est la première correction de prix provoquée par Mastodon.
Il y a eu un train qui, le 21 novembre 2022, a refusé de fonctionner alors qu’il n’était même pas en maintenance. L’ordinateur signalait une erreur de compresseur, mais le mécanicien a jugé qu’il n’y avait aucun problème avec le compresseur. L’analyse du code a montré qu’une condition imposait de signaler une erreur de compresseur à une date précise.
Certains estiment que les trains de Newag sont de meilleure qualité que ceux de Pesa (un autre constructeur polonais), au point qu’il fallait créer artificiellement des pannes.
La question est posée de savoir si des fabricants n’ont pas pris la Pologne en otage en paralysant une infrastructure critique. C’est un crime audacieux, et il est difficile de savoir s’ils pourront s’en tirer.
Des questions se posent sur la personne qui a rédigé les clauses de code malveillant et sur celles qui étaient au courant, ainsi que sur l’absence de lanceur d’alerte. Il existe une page regroupant des avis anonymes (non vérifiés) d’employés sur l’entreprise.
Ouvrir Hacker News et lire une histoire digne d’un film sur un train qu’on prenait souvent montre à quel point le monde est petit. Il est possible qu’il n’y ait pas eu de revue de code, ou que les relecteurs l’aient acceptée pour une raison ou une autre.
Il est intéressant de voir quel impact cette situation aura sur le contrat entre Newag et Akiem, société européenne de services ferroviaires. Newag a signé un contrat de 164 millions d’euros pour des services et des trains destinés à la France.