Questões de segurança têm perseguido a Internet das Coisas (IoT) desde antes do nome ser inventada. Todos, de fornecedores a usuários corporativos e consumidores, estão preocupados com o fato de seus novos dispositivos e sistemas de IoT poderem ser comprometidos. Na verdade, o problema é pior do que isso, pois dispositivos IoT vulneráveis podem ser hackeados e aproveitados em botnets gigantes que ameaçam até mesmo redes adequadamente protegidas.
Mas quais são exatamente os maiores problemas e vulnerabilidades a serem evitadas ao criar, implantar ou gerenciar sistemas de IoT? E, mais precisamente, o que podemos fazer para mitigar esses problemas?
É aí que entra o OWASP Internet of Things Project. Em suas próprias palavras, "O Projeto OWASP Internet of Things foi projetado para ajudar fabricantes, desenvolvedores e consumidores a entender melhor as questões de segurança associadas à Internet das Coisas, e permitir que os usuários, em qualquer contexto, tomem melhores decisões de segurança ao criar, implantar ou avaliar tecnologias IoT. ”
No fim de 2018, o OWASP divulgou suas 10 principais vulnerabilidades de IoT para 2019, com um infográfico (veja abaixo). Vamos dar uma olhada na lista, com alguns comentários:
1. Passwords fracas, previsíveis ou codificadas
"Uso de credenciais facilmente forçadas, publicamente disponíveis ou imutáveis, incluindo backdoors em firmware ou software cliente que concede acesso não autorizado a sistemas implantados.”
Francamente, esse problema é tão óbvio que mal posso acreditar que ainda é algo em que temos que pensar. Eu não me importo com o quão barato ou inócuo um dispositivo ou aplicação de IoT possa ser, nunca há uma desculpa para esse tipo de preguiça.
2. Serviços de rede inseguros
"Serviços de rede desnecessários ou inseguros executados no próprio dispositivo, especialmente aqueles expostos à Internet, que comprometem a confidencialidade, integridade, autenticidade ou disponibilidade de informações ou permitem o controle remoto não autorizado.”
Isso faz sentido, mas é um pouco mais de uma área cinzenta, já que nem sempre é claro se esses serviços de rede são "desnecessários ou inseguros”.
3. Interfaces inseguras
"APIs insegura, APIs de back-end, nuvem ou interfaces móveis no ecossistema fora do dispositivo que permitem o comprometimento do dispositivo ou de seus componentes relacionados. Problemas comuns incluem falta de autenticação/autorização, falta ou criptografia fraca e falta de filtragem de entrada e saída. ”
Novamente, nem sempre é óbvio se as interfaces estão realmente permitindo o comprometimento, mas a autenticação, a criptografia e a filtragem são sempre boas ideias.
4. Falta de mecanismos de atualização segura
"Falta de capacidade de atualizar o dispositivo com segurança. Isso inclui a falta de validação de firmware no dispositivo, falta de entrega segura (não criptografada em trânsito), falta de mecanismos anti-reversão e falta de notificações de alterações de segurança devido a atualizações. ”
Esse é um problema contínuo para aplicativos IoT, já que muitos fornecedores e empresas não se preocupam em pensar no futuro de seus dispositivos e implementações. Além disso, nem sempre é um problema de tecnologia. Em alguns casos, a localização física dos dispositivos de IoT faz com que a atualização - e reparo / substituição - seja um desafio significativo.
5. Uso de componentes inseguros ou desatualizados
"Uso de componentes/bibliotecas de software obsoletos ou inseguros que podem permitir que o dispositivo seja comprometido. Isso inclui a personalização insegura das plataformas de sistemas operacionais e o uso de software ou componentes de hardware de terceiros de uma cadeia de suprimentos comprometida. ”
Vamos, pessoal, não há desculpa para esse tipo de problema. Pare com as economias burras e faça as coisas direito.
6. Proteção de privacidade insuficiente
"Informações pessoais do usuário armazenadas no dispositivo ou no ecossistema usadas de maneira insegura, imprópria ou sem permissão.”
Obviamente, as informações pessoais precisam ser tratadas apropriadamente. Mas a chave aqui é "transparência e permissão”. Quase nada que você faça com as informações pessoais de alguém é OK, a menos que você tenha a permissão delas.
7. Transferência e armazenamento de dados inseguros
"Falta de criptografia ou controle de acesso de dados confidenciais em qualquer parte do ecossistema, incluindo em repouso, em trânsito ou durante o processamento.”
Embora muitos fornecedores de IoT prestem atenção ao armazenamento seguro, garantir que os dados permaneçam seguros durante a transferência é muitas vezes ignorado.
8. Falta de gerenciamento de dispositivos
"Falta de suporte de segurança em dispositivos implantados na produção, incluindo gerenciamento de ativos, gerenciamento de atualizações, descomissionamento seguro, monitoramento de sistemas e recursos de resposta.”
Os dispositivos de IoT podem ser pequenos, baratos e implantados em grande número, mas isso não significa que você não precise gerenciá-los. Na verdade, isso torna o gerenciamento mais importante do que nunca. Mesmo que nem sempre seja fácil, barato ou conveniente.
9. Configurações padrão inseguras
"Dispositivos ou sistemas fornecidos com configurações padrão inseguras ou falta a capacidade de tornar o sistema mais seguro, restringindo os operadores de modificar as configurações.”
Outro problema que não deveria estar acontecendo em 2019. Todo mundo sabe que isso é um problema, e deveria saber como evitá-lo. Então, vamos fazer acontecer ... todas as vezes.
10. Falta de fortalecimento físico
"Falta de medidas de fortalecimento físico, permitindo que potenciais atacantes obtenham informações confidenciais que podem ajudar em um futuro ataque remoto ou assumir o controle local do dispositivo.”
A IoT é composta de "coisas". Isso não deveria ser uma surpresa; está bem aí no nome. É importante lembrar a natureza física da IoT e tomar medidas para proteger os dispositivos reais envolvidos.
E o futuro?
A comunidade OWASP planeja atualizar essa lista a cada dois anos para mudanças no setor e expandir para outros aspectos da IoT, como segurança embarcada e Sistemas de Controle Industrial e Controle de Supervisão e Sistemas de Aquisição de Dados (ICS / SCADA). Há também planos para adicionar exemplos para cada item e mapeá-los para outros projetos OWASP, como o ASVS ( Application Security Verification Standard ), além de projetos externos.
Mais importante, talvez, a OWASP está considerando adicionar arquiteturas de referência para ir além de dizer às pessoas o que não fazer, mas também como fazer o que elas precisam fazer para ter mais segurança.
Mas quais são exatamente os maiores problemas e vulnerabilidades a serem evitadas ao criar, implantar ou gerenciar sistemas de IoT? E, mais precisamente, o que podemos fazer para mitigar esses problemas?
É aí que entra o OWASP Internet of Things Project. Em suas próprias palavras, "O Projeto OWASP Internet of Things foi projetado para ajudar fabricantes, desenvolvedores e consumidores a entender melhor as questões de segurança associadas à Internet das Coisas, e permitir que os usuários, em qualquer contexto, tomem melhores decisões de segurança ao criar, implantar ou avaliar tecnologias IoT. ”
No fim de 2018, o OWASP divulgou suas 10 principais vulnerabilidades de IoT para 2019, com um infográfico (veja abaixo). Vamos dar uma olhada na lista, com alguns comentários:
1. Passwords fracas, previsíveis ou codificadas
"Uso de credenciais facilmente forçadas, publicamente disponíveis ou imutáveis, incluindo backdoors em firmware ou software cliente que concede acesso não autorizado a sistemas implantados.”
Francamente, esse problema é tão óbvio que mal posso acreditar que ainda é algo em que temos que pensar. Eu não me importo com o quão barato ou inócuo um dispositivo ou aplicação de IoT possa ser, nunca há uma desculpa para esse tipo de preguiça.
2. Serviços de rede inseguros
"Serviços de rede desnecessários ou inseguros executados no próprio dispositivo, especialmente aqueles expostos à Internet, que comprometem a confidencialidade, integridade, autenticidade ou disponibilidade de informações ou permitem o controle remoto não autorizado.”
Isso faz sentido, mas é um pouco mais de uma área cinzenta, já que nem sempre é claro se esses serviços de rede são "desnecessários ou inseguros”.
3. Interfaces inseguras
"APIs insegura, APIs de back-end, nuvem ou interfaces móveis no ecossistema fora do dispositivo que permitem o comprometimento do dispositivo ou de seus componentes relacionados. Problemas comuns incluem falta de autenticação/autorização, falta ou criptografia fraca e falta de filtragem de entrada e saída. ”
Novamente, nem sempre é óbvio se as interfaces estão realmente permitindo o comprometimento, mas a autenticação, a criptografia e a filtragem são sempre boas ideias.
4. Falta de mecanismos de atualização segura
"Falta de capacidade de atualizar o dispositivo com segurança. Isso inclui a falta de validação de firmware no dispositivo, falta de entrega segura (não criptografada em trânsito), falta de mecanismos anti-reversão e falta de notificações de alterações de segurança devido a atualizações. ”
Esse é um problema contínuo para aplicativos IoT, já que muitos fornecedores e empresas não se preocupam em pensar no futuro de seus dispositivos e implementações. Além disso, nem sempre é um problema de tecnologia. Em alguns casos, a localização física dos dispositivos de IoT faz com que a atualização - e reparo / substituição - seja um desafio significativo.
5. Uso de componentes inseguros ou desatualizados
"Uso de componentes/bibliotecas de software obsoletos ou inseguros que podem permitir que o dispositivo seja comprometido. Isso inclui a personalização insegura das plataformas de sistemas operacionais e o uso de software ou componentes de hardware de terceiros de uma cadeia de suprimentos comprometida. ”
Vamos, pessoal, não há desculpa para esse tipo de problema. Pare com as economias burras e faça as coisas direito.
6. Proteção de privacidade insuficiente
"Informações pessoais do usuário armazenadas no dispositivo ou no ecossistema usadas de maneira insegura, imprópria ou sem permissão.”
Obviamente, as informações pessoais precisam ser tratadas apropriadamente. Mas a chave aqui é "transparência e permissão”. Quase nada que você faça com as informações pessoais de alguém é OK, a menos que você tenha a permissão delas.
7. Transferência e armazenamento de dados inseguros
"Falta de criptografia ou controle de acesso de dados confidenciais em qualquer parte do ecossistema, incluindo em repouso, em trânsito ou durante o processamento.”
Embora muitos fornecedores de IoT prestem atenção ao armazenamento seguro, garantir que os dados permaneçam seguros durante a transferência é muitas vezes ignorado.
8. Falta de gerenciamento de dispositivos
"Falta de suporte de segurança em dispositivos implantados na produção, incluindo gerenciamento de ativos, gerenciamento de atualizações, descomissionamento seguro, monitoramento de sistemas e recursos de resposta.”
Os dispositivos de IoT podem ser pequenos, baratos e implantados em grande número, mas isso não significa que você não precise gerenciá-los. Na verdade, isso torna o gerenciamento mais importante do que nunca. Mesmo que nem sempre seja fácil, barato ou conveniente.
9. Configurações padrão inseguras
"Dispositivos ou sistemas fornecidos com configurações padrão inseguras ou falta a capacidade de tornar o sistema mais seguro, restringindo os operadores de modificar as configurações.”
Outro problema que não deveria estar acontecendo em 2019. Todo mundo sabe que isso é um problema, e deveria saber como evitá-lo. Então, vamos fazer acontecer ... todas as vezes.
10. Falta de fortalecimento físico
"Falta de medidas de fortalecimento físico, permitindo que potenciais atacantes obtenham informações confidenciais que podem ajudar em um futuro ataque remoto ou assumir o controle local do dispositivo.”
A IoT é composta de "coisas". Isso não deveria ser uma surpresa; está bem aí no nome. É importante lembrar a natureza física da IoT e tomar medidas para proteger os dispositivos reais envolvidos.
E o futuro?
A comunidade OWASP planeja atualizar essa lista a cada dois anos para mudanças no setor e expandir para outros aspectos da IoT, como segurança embarcada e Sistemas de Controle Industrial e Controle de Supervisão e Sistemas de Aquisição de Dados (ICS / SCADA). Há também planos para adicionar exemplos para cada item e mapeá-los para outros projetos OWASP, como o ASVS ( Application Security Verification Standard ), além de projetos externos.
Mais importante, talvez, a OWASP está considerando adicionar arquiteturas de referência para ir além de dizer às pessoas o que não fazer, mas também como fazer o que elas precisam fazer para ter mais segurança.