6. Segurança

6.1. Vulnerabilidades de segurança do CAN

Barramentos CAN tem várias vulnerabilidades como deficiência em segmentação de network, falta de autenticação de aparelhos, ausência de criptografia dos dados. Os ataques podem conceder acesso a dados confidenciais e alterar a funcionalidade do veículo colocando-o em perigo.

6.2. Exemplos de ataques conhecidos ao CAN e suas consequências

Existem 6 tipos de ataques no CAN: sniffing attacks, fuzzing attacks, injection attacks, ECU impersonation, DoS attacks, frame falsifying attacks. Os 4 primeiros podem possibilitar outros ataques em outros veículos com a mesma arquitetura.

Existem duas formas de ganhar acesso ao CAN bus. O primeiro método consiste em injetar programas malignos numa unidade de controle eletrônico conectado ao CAN bus, dessa forma ele consegue se infiltrar nas outras ECUs conectadas na mesma network. Este tipo de ataque é o mais perigoso, uma vez que é escalável para outros veículos e pode ser realizado remotamente. O segundo método consiste em conectar uma ECU maligna no barramento CAN, dando a ela acesso a todo o network.

6.3. Métodos de proteção contra ataques no CAN

A criptografia é usada para assegurar a confidencialidade das mensagens CANs usando códigos de autenticação de mensagens (MACs) e assinaturas digitais. Uma proposta é criptografar a mensagem no nó de origem e decriptografar no nó de chegada. Este método protege contra personificação de ECUs, visto que o nó de chegada espera que as mensagens sejam criptografadas. Ele também protege contra ataques sniffs, pois o espião não terá acesso a chave. A criptografia sozinha não garante a autenticidade do nó de origem.

Esse problema é resolvido com códigos de autenticação e assinaturas digitais. No entanto, a implementação de todas essas etapas torna necessária a modificação do funcionamento das ECUs, encarecendo o projeto e aumentando o delay na comunicação. Outro método é o de sistemas de detecção de intrusão que usam algoritmos de machine learning e deep learning para detectar a presença de mensagens malignas no CAN bus. Podem ser baseados em assinaturas, que usa assinaturas de antigos ataques para a prevenção de novos, ou anomalias, que se baseia no comportamento do tráfico e físico na rede CAN. Ref. [11] propõe um método de prevenção de ataques que atua no processo de inicialização dos ECUs. Este método verifica a integridade de todo o software armazenado na memória não volátil a cada fase de inicialização. O processo de inicialização usa algoritmos de integridade de dados para assegurar a integridade do software.