Atenção para os prazos da Maratona Behind the Code! Saiba mais

Os 10 maiores desafios de segurança em IoT

Proteger os sistemas de IoT traz uma série de desafios únicos à medida que cada vez mais dispositivos de IoT chegam ao mundo, sendo implementados em ambientes descontrolados, complexos e frequentemente hostis. Segundo a pesquisa com desenvolvedores de IoT feita pelo Eclipse IoT Working Group em 2017, a segurança é a maior preocupação para os desenvolvedores de IoT.

Acompanhe nossa descrição dos 10 maiores desafios para a segurança em IoT:

  1. Proteger dispositivos restritos
  2. Autorizar e autenticar dispositivos
  3. Gerenciar atualizações de dispositivos
  4. Proteger a comunicação
  5. Garantir a privacidade e a integridade dos dados
  6. Proteger aplicativos da web, móveis e em nuvem
  7. Garantir uma alta disponibilidade
  8. Prevenir incidentes por meio da detecção de vulnerabilidades
  9. Gerenciar vulnerabilidades
  10. Prever e evitar problemas de segurança
1

Proteger dispositivos restritos

Muitos dispositivos de IoT têm quantidades limitadas de armazenamento, memória e capacidade de processamento. Com frequência, precisam ser capazes de funcionar com pouca energia (por exemplo, quando usam baterias).

Abordagens de segurança que dependem intensamente de criptografia não são indicadas para dispositivos restritos, pois não são capazes de realizar criptografia e descriptografia complexa de modo rápido o suficiente para poder transmitir dados com segurança em tempo real.

Muitas vezes, esses dispositivos são vulneráveis a ataques de canal lateral, como ataques de análise de energia, que podem ser usados para fazer a engenharia reversa dos algoritmos. Em vez disso, os dispositivos restritos geralmente utilizam apenas algoritmos de criptografia leves e rápidos.

Os sistemas de IoT devem utilizar diversas camadas de defesa (por exemplo, separando dispositivos em redes distintas e usando firewalls) para compensar as limitações dos dispositivos.

2

Autorizar e autenticar dispositivos

Com tantos dispositivos oferecendo possíveis pontos de entrada dentro de um sistema de IoT, a autenticação e a autorização de dispositivos são essenciais para protegê-lo.

Os dispositivos precisam estabelecer sua identidade antes de poderem acessar gateways, bem como serviços e aplicativos upstream. No entanto, muitos dispositivos de IoT apresentam problemas no que se refere à autenticação. Por exemplo, usam autenticação de senha básica fraca ou usam senhas com os valores padrão inalterados.

A adoção de uma Plataforma de IoT que forneça segurança por padrão ajuda a resolver esses problemas. Ela habilita a autenticação de dois fatores (2FA), por exemplo, e impõe o uso de senhas ou certificados fortes. As Plataformas de IoT também fornecem serviços de autorização de dispositivos usados para determinar a quais serviços, aplicativos ou recursos cada dispositivo tem acesso no sistema.

3

Gerenciar atualizações de dispositivos

A aplicação de atualizações (incluindo patches de segurança) a firmware ou software em execução em dispositivos de IoT e gateways apresenta uma série de desafios. É necessário, por exemplo, acompanhar quais atualizações estão disponíveis e aplicá-las de forma síncrona em ambientes distribuídos com dispositivos heterogêneos que se comunicam por diferentes protocolos de rede. Uma estratégia de reversão eficiente precisa ser implementada para o caso de a atualização falhar.

Nem todos os dispositivos são compatíveis com atualizações over-the-air ou atualizações sem tempo de inatividade. Portanto, os dispositivos precisam ser acessados fisicamente ou temporariamente tirados da produção para a aplicação das atualizações. Além disso, atualizações podem não estar disponíveis para todos os dispositivos, especialmente dispositivos mais antigos ou dispositivos que não recebem mais suporte do fabricante.

Os proprietários de um dispositivo podem optar por não aplicar uma atualização mesmo quando ela está disponível. É importante, por esse motivo, manter a compatibilidade com versões anteriores. Como parte do gerenciamento de dispositivos, é necessário acompanhar as versões que estão implementadas em cada dispositivo e quais dispositivos são candidatos à aposentadoria depois que as atualizações não estiverem mais disponíveis.

Muitas vezes, os sistemas gerenciadores de dispositivos permitem enviar atualizações automaticamente a dispositivos, bem como gerenciar reversões caso o processo de atualização falhe. Eles também podem ajudar a garantir que apenas atualizações legítimas sejam aplicadas (por exemplo, por meio do uso de assinatura digital).

Leia mais sobre como proteger dispositivos de IoT e gateways.

4

Proteger a comunicação

Depois que os próprios dispositivos estiverem protegidos, o próximo desafio de segurança em IoT é garantir a segurança da comunicação em toda a rede, entre os dispositivos e os aplicativos ou serviços em nuvem.

Muitos dispositivos de IoT não criptografam mensagens antes de enviá-las pela rede. Entretanto, o recomendado é usar a criptografia de transporte e adotar padrões como TLS. O uso de redes separadas para isolar dispositivos também ajuda a estabelecer uma comunicação privada e segura para que os dados transmitidos permaneçam confidenciais. As medidas comuns incluem usar firewalls, restringir o acesso físico a dispositivos de rede, usar senha única gerada aleatoriamente e desativar os recursos do sistema operacional que não são necessários para o dispositivo.

Leia mais sobre como proteger dados de IoT na rede.

5

Garantir a privacidade e a integridade dos dados

Também é importante que, aonde quer que cheguem depois de serem transmitidos pela rede, os dados sejam armazenados e processados de maneira segura. A implementação da privacidade de dados inclui editar ou anonimizar dados sensíveis antes de serem armazenados ou usar a separação de dados para desacoplar informações de identificação pessoal das cargas úteis de dados de IoT. Os dados que deixam de ser necessários devem ser descartados de forma segura. Caso fiquem armazenados, manter a conformidade com os quadros jurídicos e regulamentares também é um desafio significativo. Houve um aumento no interesse por desenvolver sistemas que possibilitem o aprendizado de máquina federado, em que os dados permanecem locais no dispositivo e o trabalho de aprendizado de máquina ocorre na borda, com apenas os aprendizados/insights sendo compartilhados com a nuvem. A essência de tais sistemas é que o algoritmo deve vir até os dados, diferentemente dos métodos convencionais em que todos os dados vão até o algoritmo.

Para garantir a integridade dos dados, pode ser necessário utilizar somas de verificação ou assinaturas digitais de modo a ter certeza de que os dados não foram modificados. O blockchain, como um livro-razão distribuído e descentralizado para dados de IoT, oferece uma abordagem escalável e resiliente para garantir a integridade dos dados de IoT.

Leia mais sobre o que o blockchain significa para a IoT nesta publicação de blog.

6

Proteger aplicativos da web, móveis e em nuvem

Os serviços e aplicativos da web, móveis e em nuvem são usados para gerenciar, acessar e processar dispositivos e dados de IoT. Por isso, também devem ser protegidos como parte de uma abordagem em várias camadas para a segurança em IoT. Todas as práticas padrão para proteger aplicativos móveis e da web devem ser seguidas.

Ao desenvolver aplicativos de IoT, lembre-se de aplicar práticas seguras de engenharia para evitar vulnerabilidades. Assim como os dispositivos, os aplicativos também devem permitir a autenticação segura, tanto para os próprios aplicativos como para os usuários deles, fornecendo opções como 2FA e opções de recuperação de senha segura.

7

Garantir uma alta disponibilidade

À medida que passamos a depender mais de IoT em nosso dia a dia, os desenvolvedores de IoT precisam considerar a disponibilidade de dados de IoT e os aplicativos móveis e da web que dependem desses dados, bem como nosso acesso aos objetos físicos gerenciados pelos sistemas de IoT. O potencial de interrupção como consequência de falhas de conectividade ou no dispositivo, ou decorrente de ataques como ataques de negação de serviço, é mais do que uma simples inconveniência. Em alguns aplicativos, o impacto da falta de disponibilidade pode significar perda de receita, danos a equipamentos ou até mesmo perda de vida.

Em cidades conectadas, por exemplo, a infraestrutura de IoT é responsável por serviços essenciais como o controle do tráfego. Na saúde, os dispositivos de IoT incluem marca-passos e bombas de insulina. Para garantir a alta disponibilidade, os dispositivos de IoT precisam ser protegidos de ataques cibernéticos e de adulteração física. Os sistemas de IoT devem incluir redundância para eliminar pontos únicos de falha. Também devem ser concebidos para serem resilientes e tolerantes a falhas, para que possam se adaptar e se recuperar rapidamente quando houver problemas. Como a maioria dos sistemas de IoT são distribuídos por natureza, um aspecto importante a considerar é o teorema CAP (Um sistema de computação distribuído pode ter, no máximo, duas propriedades dentre alta disponibilidade, consistência e tolerância à partição de rede).

8

Prevenir incidentes por meio da detecção de vulnerabilidades

Apesar dos melhores esforços, vulnerabilidades e violações de segurança são inevitáveis. Como é possível saber se seu sistema de IoT foi comprometido? Em sistemas de IoT em grande escala, a complexidade do sistema em termos de número de dispositivos conectados, bem como a variedade de dispositivos, aplicativos, serviços e protocolos de comunicação envolvidos, pode dificultar no momento de identificar quando um acidente ocorreu. As estratégias para detectar vulnerabilidades e violações incluem monitorar as comunicações de rede e os logs de atividades em busca de anomalias, realizar testes de penetração e hackeamento ético para expor vulnerabilidades e aplicar inteligência e análise de segurança de modo a identificar e notificar quando ocorrerem incidentes.

Leia mais sobre como proteger seus dispositivos de IoT de ataques de malware.

9

Gerenciar vulnerabilidades

A complexidade dos sistemas de IoT também faz com que seja um desafio avaliar as repercussões de uma vulnerabilidade ou a extensão de uma violação a fim de gerenciar o impacto dela. Os desafios incluem identificar quais dispositivos foram afetados, quais dados ou serviços foram acessados ou comprometidos e quais usuários foram afetados, além de realizar ações imediatas em seguida para resolver a situação.

Os gerentes de dispositivos mantêm um registro de dispositivos, que pode ser usado para desativar ou isolar temporariamente os dispositivos afetados até que possam ser consertados. Esse recurso é particularmente importante para os dispositivos essenciais (como dispositivos de gateway) de modo a limitar o potencial de causarem danos ou interrupções, como inundar o sistema de dados falsos caso sejam comprometidos. As ações podem ser aplicadas automaticamente usando um mecanismo de regras com regras baseadas em políticas de gerenciamento de vulnerabilidades.

10

Prever e evitar problemas de segurança

Um desafio de segurança de IoT de mais longo prazo é aplicar a inteligência de segurança não apenas para detectar e mitigar problemas conforme ocorram, mas também para prever e proteger proativamente de possíveis ameaças de segurança. A modelagem de ameaças é uma abordagem usada para prever problemas de segurança. Outras abordagens incluem aplicar ferramentas de monitoramento e análise para correlacionar eventos e visualizar ameaças em andamento em tempo real, além de aplicar inteligência artificial para ajustar, de forma adaptável, estratégias de segurança aplicadas com base na eficácia das ações anteriores. A essência é minimizar a intervenção humana e transferir o máximo de trabalho possível para algoritmos, uma vez que o exame manual contínuo é quase impossível.

Conclusão

Adotar uma abordagem de segurança por design em várias camadas para o desenvolvimento de IoT é essencial a fim de gerenciar, com segurança, dispositivos, dados e aplicativos e serviços de IoT móveis e baseados em nuvem, bem como para lidar com ameaças ou problemas à medida que surgirem. As repercussões de negligenciar a segurança em sistemas de IoT pode resultar em falhas do sistema, perda de capital e até mesmo danos.

Incorporar a segurança por padrão – para que os recursos de segurança apresentem as configurações mais seguras em todos os momentos, inclusive antes, durante e após o desenvolvimento – permite que você mantenha a privacidade e a integridade dos dados, ao mesmo tempo que fornece dados, aplicativos e serviços de IoT altamente disponíveis.