Bloqueio de trens na Polônia após manutenção em oficinas terceirizadas
(social.hackerspace.pl)Resumo: hackerspace.pl e apresentação da pesquisa
- hackerspace.pl faz parte de uma rede social distribuída baseada em Mastodon.
- É um servidor para membros do hackerspace de Varsóvia, administrado por q3k@q3k.
- Estatísticas do servidor: 22 usuários ativos.
Resumo da pesquisa
- Os pesquisadores analisaram por engenharia reversa o código PLC dos EMUs NEWAG Impuls.
- Esses trens paravam de funcionar por motivos arbitrários após receberem manutenção em oficinas terceirizadas.
- O fabricante afirmava que esses problemas eram causados por manuseio inadequado das oficinas e dizia que a manutenção deveria ser feita pela própria empresa.
Problemas encontrados
- O código PLC inclui uma lógica que bloqueia o trem após uma data específica ou caso ele não opere por um certo período.
- Algumas versões do controlador incluem coordenadas GPS que restringem o funcionamento apenas em oficinas terceirizadas.
- Era possível desbloquear o trem pressionando uma combinação específica de teclas no painel de controle da cabine, mas isso não estava documentado.
Atualizações de software e problemas adicionais
- Nas novas versões do software PLC, a função de desbloqueio por teclas foi removida, mas a lógica de bloqueio permaneceu.
- Após certas atualizações da NEWAG, o HMI detectava um subconjunto das condições que deveriam acionar o bloqueio e exibia uma mensagem assustadora sobre violação de direitos autorais enquanto o trem ainda estava em operação.
- Os trens são equipados com dispositivos de telemetria GSM, que aparentemente transmitem as condições de bloqueio e, em alguns casos, podem bloquear remotamente o trem.
Discussão pública e reações
- Os pesquisadores realizaram uma discussão privada sobre isso na OhMyHack.
- A história está se espalhando por meio de fontes em polonês, e eles pretendem abordar o tema em detalhes na 37C3 e divulgar suas descobertas.
- As reações ao caso são variadas, e algumas pessoas apontam que esse tipo de prática pode ser anticompetitiva e ilegal.
Opinião do GN⁺
O ponto mais importante deste texto é que os pesquisadores descobriram problemas embutidos no código PLC dos EMUs NEWAG Impuls e planejam discuti-los publicamente. Isso oferece um caso interessante sobre a interação entre software e hardware, e sobre como a tecnologia pode ser usada para limitar os direitos dos usuários e a concorrência. Esse tipo de pesquisa pode desencadear discussões importantes sobre o uso ético da tecnologia e a proteção do consumidor, um tema extremamente relevante para todas as partes interessadas.
1 comentários
Comentários do Hacker News
A manutenção dos trens usados por empresas ferroviárias regionais na Polônia é dividida em cinco níveis, de P1 a P5, e, graças à abertura do mercado promovida pela agência ferroviária da União Europeia há alguns anos, empresas menores também passaram a vencer licitações de manutenção de nível P3 ou superior.
Quatro trens atendidos pela SPS Mieczkowski deixaram de funcionar, a empresa pagou uma multa de 500 mil euros e os trens foram devolvidos à Newag. Ao mesmo tempo, trens de outras empresas também ficaram sem operar após permanecerem muito tempo parados em um mesmo local sem receber manutenção. Por isso, a SPS Mieczkowski contratou a Dragon Sector para investigar, e foram descobertas várias rotinas separadas que faziam os trens parar.
O caso está sendo investigado pelo Escritório Central Anticorrupção da Polônia, mas não parece que isso causará grande dano à Newag. O Escritório de Transporte Ferroviário da Polônia importunou empresas ferroviárias com reclamações e ordens por pequenos erros de cronograma, mas não interveio neste caso.
A Polônia é dividida em 16 voivodias e, após as reformas do início dos anos 2000, quase cada uma delas passou a ter sua própria empresa ferroviária regional. Depois que vários defeitos surgiram nos trens da Newag, levou tempo até que uma empresa de serviços contratasse hackers para descobrir o problema por meio de engenharia reversa.
Esse caso lembra o AARD "crash" que a Microsoft usou no passado para excluir o DR-DOS da concorrência. O código AARD era um trecho incluído na versão beta do Windows 3.1 que verificava se o Windows estava rodando em um concorrente como o DR-DOS, e não no MS-DOS ou PC DOS, e nesse caso exibia uma mensagem de erro criptografada.
As ações da Newag caíram bastante depois desta postagem. Fico pensando se esta é a primeira correção de preço provocada pelo Mastodon.
Em 21 de novembro de 2022, houve um trem que se recusou a funcionar apesar de não estar em manutenção. O computador relatou um erro no compressor, mas o mecânico concluiu que não havia problema algum no compressor. A análise do código mostrou que havia uma condição para relatar erro no compressor quando uma data específica fosse atingida.
Há quem diga que os trens da Newag têm qualidade superior à da Pesa (outro fabricante polonês), a ponto de ser necessário criar defeitos artificiais.
Levanta-se a dúvida se fabricantes não estariam paralisando infraestrutura crítica e fazendo da Polônia uma refém. Trata-se de um crime ousado, e não dá para ter certeza de que eles conseguirão escapar disso.
Há dúvidas sobre quem escreveu a cláusula de código malicioso e quem sabia dela, além da pergunta sobre por que não houve nenhum denunciante interno. Existe uma página com opiniões anônimas (não verificadas) de funcionários sobre a empresa.
Abrir o Hacker News e ler uma história digna de filme sobre um trem que eu costumava pegar com frequência mostra como o mundo é pequeno. Talvez não tenha havido revisão de código, ou os revisores tenham aceitado isso por algum motivo.
É interessante pensar no impacto que essa situação pode ter no contrato entre a Newag e a empresa europeia de leasing ferroviário Akiem. A Newag fechou um contrato de 164 milhões de euros para serviços e trens destinados à França.