O lado obscuro da impressão 3D: desafios, riscos e usos maliciosos (parte 1)

ElevenPaths    22 mayo, 2019
O lado obscuro da impressão 3D: desafios, riscos e usos maliciosos

A tecnologia de impressão 3D está revolucionando os processos de fabricação, seus entusiastas já imaginam um futuro onde cada casa e empresa terá, ao menos, ima impressora dessas, o que transformará a forma como produzimos, consumimos e reciclamos objetos. No entanto, quais são os riscos de cibersegurança prováveis nesse novo cenário? Espionagem, malwares, destruição e criação de armas estão entre eles, vamos analisa-los a seguir: 

Tabela de impressão 3D

A impressão 3D é um grupo de tecnologias de fabricação por adição, na qual se cria um objeto tridimensional a partir de modelo CAD ou 3D, através da superposição de camadas sucessivas de material. As impressoras 3D, em geral, são mais rápidas, econômicas e fáceis de usar do que outras tecnologias de fabricação por adição, além disso podem imprimir em materiais com diferentes propriedades físicas e mecânicas, que podem ser criadas facilmente. 

Existem vários tipos de impressoras 3D e elas se diferenciam principalmente pela técnica empregada para sobrepor as diferentes camadas, os materiais utilizados e seus suportes. Alguns métodos fundem o material ou o amolecem para produzir as camadas, como por exemplo na sinterização seletiva a laser (SLS, na sigla em inglês) ou na modelagem por deposição fundida (FDM, em inglês). Outros métodos utilizam materiais líquidos que são depositados e logo se solidificam. Cada uma dessas tecnologias tem suas próprias vantagens e inconvenientes. 

A impressão 3D, porém, tem um lado obscuro, que incluem os riscos de segurança causados pela sua utilização em si e os usos maliciosos do que se pode produzir com essas máquinas. Vamos analisar cinco desses aspectos, aqueles que achamos mais representativos:

  1. Modificação não autorizada de arquivos de impressão
  2. Vulnerabilidades em softwares e firmwares 
  3. Exposição de dispositivos à Internet ou redes inseguras 
  4. Roubo de modelos ou arquivos de impressão confidenciais
  5. Impressão de peças com fins maliciosos 

Modificação não autorizada de arquivos 
Para imprimir em 3D usando a técnica FDM, ocorre a alimentação de um filamento termoplástico em um extrusor, que derrete o material e o deposita em camadas, seguindo a forma do objeto projetado a cada altura. Para dar as instruções de deposição do material derretido e, assim, construir a forma final desejada, pode ser usado o G-Code, uma linguagem de programação que determina o que a impressora 3D deve fazer. O G-Code é um padrão muito difundido para programar máquinas de controle numérico, como tornos e fresadoras, e indica à impressora quais os movimentos ela deve realizar através de um sistema cartesiano em três dimensões, quanto material deve depositar, qual a temperatura dele, etc. 

Exemplo de G-Code

O problema com este tipo de linguagem de programação é que seus arquivos não possuem nenhum recurso de verificação de integridade. Se um atacante for capaz de intercepta-los antes de sua execução pela impressora, é possível que ele faça alterações sem ser detectado, o que pode causar danos graves. Os objetos industriais impressos em 3D têm estruturas internas que, geralmente, não podem ser visualizadas quando a impressão estiver concluída. Muitos desses projetos incluem elementos de desenho específicos, cruciais para a resistência e integridade estrutural do objeto impresso. Um atacante que acesse os arquivos G-Code, pode modificar o projeto original ou sabotá-lo, introduzindo pontos frágeis que só seriam percebidos depois da impressão, quando o projeto apresentasse uma falha crítica de funcionamento, imagine o prejuízo para uma fábrica de peças industriais.
 
Um grupo de pesquisadores de várias universidades lançou em vídeo uma prova de conceito do ataque denominado dr0wned. No vídeo estão demonstradas as técnicas da invasão que encontra o modelo de impressão 3D (no caso um projeto de hélice de avião não tripulado) para alterá-lo e gerar falhas durante o uso. 

Vulnerabilidades em software firmware
Mesmo havendo diferentes aspectos entre as impressoras 3D, elas compartilham atributos similares que as tornam vulneráveis a ataques, como o uso de software e firmware que podem estar infectados.

Quanto ao firmware, as impressoras 3D do it yourself (DIY) mais simples e baratas, como por exemplo os clones da conhecida Prusa I3 MK2 e as impressoras 3D da RepRap, utilizam um firmware open source chamado Marlin. Em junho de 2018, um pesquisador descobriu uma vulnerabilidade buffer overflow nesse firmware, que foi corrigida em suas últimas versões. Se um cibercriminoso convence ao operador da impressora (seja em ambiente doméstico ou industrial) a carregar um arquivo de impressão 3D malicioso com instruções específicas em G-Code, pode-se permitir a exploração da vulnerabilidade para executar código arbitrário na máquina da vítima.

Sobre o software, existem ferramentas de software 3D específicas que são utilizadas em etapas distintas do processo de impressão, como o desenho dos modelos (modeling) e a conversão desses projetos em camadas (slicing) e podem conter vulnerabilidades de segurança. O Blender, por exemplo, é um software usado para slicing que possui várias vulnerabilidades de buffer overflow detalhadas nesses CVEs a partir das quais um atacante poderia convencer o operador da impressora a abrir um arquivo .blend malicioso, permitindo a execução de código arbitrário no equipamento.

Interface do software Blender

Interface do Software Blender Fique atento à segunda parte deste artigo para conhecer os detalhes de outros riscos atribuídos a impressão 3D. Até lá!

Segunda parte do artigo: O lado obscuro da impressão 3D – Parte II

Yamila Levalle
@ylevalle
Innovación y Laboratorio
yamila.levalle@11paths.com

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *