Recursos/White Papers

Tecnologia

17 dicas para projetar aplicações de Internet das Coisas mais seguras

Invasão de privacidade, segmentação de rede, gestão complexa... A IoT demandará novas abordagens de segurança

Da Redação

Publicada em 25 de fevereiro de 2016 às 13h39

A Internet das Coisas contectará e unificará inúmeros objetos e sistemas, gerando novas oportunidades de negócio. Mas também representará um desafio significativo devido a superfície amplificada de exposição a ataques.

Uma das principais preocupações é com relação à possibilidade de vigilância ilegal/invasão de privacidade. Outra endereça a segurança dos dados e também da rede corporativa. Dispositivos de IoT trazem muitos pontos cegos para dentro das organizações. Gestores de TI precisam estar constantemente cientes de quando novos dispositivos se conectam à rede, identificando o que são e em que parte da infraestrutura estão localizados.

Projetando aplicações IoT seguras
De acordo com David Whitelegg, Cyber Security Expert da IBM, no artigo "Combatendo ameaças virtuais do IoT", publicado na plataforma Developer Works, a camada de aplicação de um dispositivo do IoT fornece a maior superfície de ataque para hackers. "A camada de aplicação inclui qualquer aplicativo que tenha conectividade com o dispositivo do IoT. O que pode incluir aplicativos da web locais, aplicativos baseados em nuvem e aplicativos de smartphone ou tablet. A segurança do aplicativo pode ser uma parte intrínseca do ciclo de vida de desenvolvimento de software (SDLC) para todos os aplicativos IoT, particularmente durante os estágios de design, desenvolvimento (escrita do código) e teste.

No estágio de planejamento ou design de um aplicativo IoT, deve haver uma avaliação formal de "cima a baixo" dos requisitos de segurança e privacidade do aplicativo planejado.

Por isso, as aplicações IoT requerem uma abordagem de "Segurança pelo Design". 

Esta abordagem do design requer projetar funções de segurança a partir do zero e aplicar correções de segurança nas fases de desenvolvimento e teste do aplicativo. Se você esperar até depois de o aplicativo ser liberado, isso é não apenas uma receita para uma segurança geral fraca, mas também torna o processo de desenvolvimento mais longo e mais caro. Portanto, na fase de design do aplicativo é fundamental considerar e planejar todos os requisitos de segurança possíveis para a aplicação de IoT.

Além disso, quando aplicações IoT coletam, armazenam e processam dados pessoais, eles devem fazer isso em conformidade total com as leis de proteção e privacidade de dados. Essas leis podem ter vários graus de requisitos rigorosos, dependendo de qual país vêm os dados do cidadão.

No estágio de design, é preciso revisar os requisitos de segurança da aplicação IoT concluindo uma revisão de análise dos requisitos de segurança. Além disso, deve-se revisar também quais leis de proteção de dados se aplicam ao seu aplicativo IoT e a análise dos requisitos de privacidade em relação a elas.

Dicas de análise dos requisitos de segurança

  • 1 - Planeje as funções de gerenciamento da conta do usuário. Certifique-se de que o aplicativo IoT terá um nível apropriado de customização da conta.
  • 2 - Projete um mecanismo seguro de reconfiguração de senha. Este processo é, com frequência, negligenciado em favor da conveniência do usuário, mas um processo de reconfiguração de senha fraco pode fornecer um backdoor fácil para o sistema.
  • 3 - Projete uma estrutura de conta do usuário para limitar privilégios de conta administrativa em uma base tem-que-ter. É aconselhável separar ações e direitos administrativos de contas do usuário padrão porque essa configuração limita o risco de configuração incorreta pelos usuários, o que pode causar sérios buracos na segurança.
  • 4 - Determine como as senhas de conta serão armazenadas pelo aplicativo. O armazenamento de senhas de texto simples em bancos de dados e arquivos simples deve ser evitado. A melhor prática é usar um algoritmo hash com salt, como SHA-256 e um salt, para calcular senhas em um valor do hash exclusivo, o que significa que as senhas não podem ser revertidas em texto simples.
  • 5 - Considere incluir uma função de autenticação de dois fatores, especialmente para aplicativos que processarão dados confidenciais que devem ser acessados de redes não confiáveis.
  • 6 - Considere incluir suporte para integrar o aplicativo IoT com sistemas de gerenciamento de contas, como o Microsoft Active Directory Services. Este recurso ajuda a integrar aplicativos IoT em ambientes da empresa.
  • 7 - Se você planeja armazenar dados pessoais ou confidenciais em ambientes de terceiros ou em ambientes não confiáveis, considere usar a criptografia para proteger os dados inativos.
  • 8 - Projete um recurso de atualização de software que assegure que apenas atualizações assinadas digitalmente (genuínas) possam ser aplicadas e, se factível, considere um processo de atualização automática.
  • 9 - Forneça uma função de notificação de segurança que permite que o aplicativo envie alertas de segurança, como tentativas de login com falha, com um sistema de monitoramento de segurança corporativo ou servidor syslog.
  • 10 - Convide um profissional de segurança para auditar e aprovar as funções de segurança e o design do aplicativo.

Dicas de análise dos requisitos de privacidade

  • 1 - Documente e justifique todo o uso de dados pessoais planejado pelo aplicativo.
  • 2 - Limite a coleta de dados pessoais para apenas o que é absolutamente necessário.
  • 3 - Considere usar rotinas para tornar anônimos os dados pessoais; um processo que, quando feito corretamente, pode remover a carga de atender aos requisitos de privacidade de dados jurídicos.
  • 4 - Planeje gravar rotinas ou usar soluções (como SSL) que criptografam todos os dados pessoais armazenados e também como esses dados são transmitidos através das redes, incluindo redes privadas.
  • 5 - Certifique-se de que haverá transparência de privacidade com os consumidores. Qualquer coleta, processamento e armazenamento de dados pessoais, incluindo o armazenamento em nuvem, deve ficar claro para o consumidor dentro de uma declaração de privacidade. Antes de usar dados pessoais, obtenha o consentimento explícito do usuário e certifique-se de que o usuário assine ou concorde com um contrato de privacidade, que explica o uso de todos os dados pessoais pelo aplicativo.
  • 6 - Considere outros tipos de dados que estão sujeitos às regulamentações do setor. Certifique-se de que todos os requisitos regulamentares sejam totalmente entendidos e sejam obedecidos como parte do design do aplicativo.
  • 7 - Considere a privacidade de aplicativos móveis. Um aplicativo móvel pode fazer interface com GPS, cartões SIM, números de identificação de dispositivo, dados do dispositivo e dados de aplicativos móveis de terceiros. Todas essas interações podem ter implicações de privacidade no aplicativo e devem ser consideradas.

Obviamente quando destacamos as oportunidades de negócios envolvidas com Internet das Coisas, pessoas mal intencionadas também buscarão se aproveitar de alguma forma deste mercado potencial. Estar preparado para enfrentar as ameaças fará toda a diferença e essa preparação deve estar presente em todas as etapas de criação das aplicações. 

As empresas de software há muito compreenderam os riscos dos ataques de segurança e tiveram anos para adotar as melhores práticas de desenvolvimento de software seguro: desde garantir o próprio código até projetar o produto com segurança em mente. Infelizmente, os programadores por trás dos dispositivos na Internet das Coisas muitas vezes não têm muita experiência em segurança digital.

Fabricantes de eletrodomésticos, empresas de automação residencial e projetistas de sistemas industriais não tiveram que desenvolver seus produtos com conectividade à internet (e as ameaças que vêm com ela). Como resultado, estes aparelhos e seu software muitas vezes não são projetados com a segurança em mente. Desde simples erros de codificação que criam vulnerabilidades até a criação de senhas criptografadas ou transferência de dados mal criptografados, a ameaça é significativa.

Para a Internet das Coisas ter sucesso, as empresas precisam se tornar mais sérias sobre segurança.



Reportagens mais lidas

Acesse a comunidade da CIO

LinkedIn
A partir da comunidade no LinkedIn, a CIO promove a troca de informações entre os líderes de TI. Acesse aqui