Prévia do material em texto
Segurança e Privacidade em Internet das Coisas (IoT) Material Teórico Responsável pelo Conteúdo: Prof.ª Dr.ª Marise Miranda Revisão Textual: Prof.ª Dr.ª Luciene Oliveira da Costa Granadeiro Melhores Práticas em Segurança para Projetos de IoT • Introdução; • Classificação dos Dados e Segurança Física; • Ativação do Dispositivo; • Sistema Operacional Seguro; • Segurança da Aplicação; • Encriptação e Credenciais. • Apresentar as melhores práticas de segurança, sejam em dados, em dispositivos ou na aplicação para mitigar os riscos de vulnerabilidade; • Compreender que as práticas estruturadas são em três vertentes: reconhecer aplicações se- guras relacionadas aos sensores que geram os dados; avaliar a segurança relacionada aos atuadores, responsáveis pelas ações; compreender as necessidades de segurança aplicada aos gateways, que atuam como hubs (ligações) de comunicação e automação; analisar a incorporação segura das aplicações Web de IoT em sistemas móveis e baseados em nuvem. OBJETIVOS DE APRENDIZADO Melhores Práticas em Segurança para Projetos de IoT Orientações de estudo Para que o conteúdo desta Disciplina seja bem aproveitado e haja maior aplicabilidade na sua formação acadêmica e atuação profissional, siga algumas recomendações básicas: Assim: Organize seus estudos de maneira que passem a fazer parte da sua rotina. Por exemplo, você poderá determinar um dia e horário fixos como seu “momento do estudo”; Procure se alimentar e se hidratar quando for estudar; lembrese de que uma alimentação saudável pode proporcionar melhor aproveitamento do estudo; No material de cada Unidade, há leituras indicadas e, entre elas, artigos científicos, livros, vídeos e sites para aprofundar os conhecimentos adquiridos ao longo da Unidade. Além disso, você tam bém encontrará sugestões de conteúdo extra no item Material Complementar, que ampliarão sua interpretação e auxiliarão no pleno entendimento dos temas abordados; Após o contato com o conteúdo proposto, participe dos debates mediados em fóruns de discus são, pois irão auxiliar a verificar o quanto você absorveu de conhecimento, além de propiciar o contato com seus colegas e tutores, o que se apresenta como rico espaço de troca de ideias e de aprendizagem. Organize seus estudos de maneira que passem a fazer parte Mantenha o foco! Evite se distrair com as redes sociais. Mantenha o foco! Evite se distrair com as redes sociais. Determine um horário fixo para estudar. Aproveite as indicações de Material Complementar. Procure se alimentar e se hidratar quando for estudar; lembrese de que uma Não se esqueça de se alimentar e de se manter hidratado. Aproveite as Conserve seu material e local de estudos sempre organizados. Procure manter contato com seus colegas e tutores para trocar ideias! Isso amplia a aprendizagem. Seja original! Nunca plagie trabalhos. UNIDADE Melhores Práticas em Segurança para Projetos de IoT Introdução Os dispositivos, serviços e softwares de um ecossistema IoT, assim como os ca nais de comunicação que os conectam, correm o risco de serem atacados por uma variedade de partes maliciosas, desde hackers a criminosos profissionais, investiga ções não consentidas de atores do governo ou até de forma ilícita de concorrentes. As consequências desses ataques para os consumidores ou organizações são as seguintes: • Inconveniência e perigo; • Violação da privacidade; • Perda de dados, financeiras, de tempo, da propriedade, da saúde etc. Para os fornecedores de serviços em IoT e as operadoras de comunicação, as pos síveis consequências podem incluir perda de confiança, danos à reputação, proprie dade intelectual comprometida, perda financeira e até um possível processo judicial. As ações mal intencionadas ou maliciosas tiram proveito dos projetos inadequados. Os vazamentos não intencionais de dados, devido aos controles de segurança inefica zes, também podem trazer consequências prejudiciais para consumidores e fornece dores. Portanto, é vital que os dispositivos e serviços de IoT tenham segurança prevista desde a concepção do projeto e sua implementação para funcionamento efetivo e seguro. Como as tecnologias em IoT desde 2016 estão em franca evolução, as práticas de segurança também evoluem à medida que a tecnologia avança, tanto no sentido de prevenção quanto no sentido das vulnerabilidades não previstas. É fundamental seguir as recomendações dos guias de práticas de organizações especializadas em padronizar a segurança em IoT, como é o caso da IoTSF Security Foundation, que fornece informações essenciais e concisas sobre “como fazer” para ajudar a proteger produtos e sistemas de IoT. No entanto, cabe ressaltar que o projetista é quem decide sobre qual melhor ma neira de “como fazer isso”. A IoTSF – IoT Security Foundation – fornece informa ções e discussões, que são a base para suas recomendações. Essas recomendações ou diretrizes se transformam em guias, que se destinam ao uso em conjunto com as Estruturas de Conformidade de Segurança, ou seja, os frameworks da IoTSF – IoT Security Foundation. Os tipos de dispositivos IoT cobrem uma vasta gama de dispositivos simples, de único circuito integrado, baixa potência, funcionalidade básica, até unidades mul tifuncionais complexas alimentadas pela rede elétrica. Dispositivos mais simples em termos de especificação de projeto, podem ter recursos de segurança limitados pelo custo, em função da capacidade de processamento, do desempenho restrito, do tamanho, do tipo de fonte de energia etc. Essas recomendações ou diretrizes visam destacar os princípios básicos das boas práticas, reconhecendo que muitos dispositivos não são compatíveis ou capazes de 8 9 satisfazer a todos os requisitos devido às suas restrições reais, tanto em software quanto em hardware. Em tais casos, os projetistas devem considerar a troca entre as restrições e os riscos e documentar as implicações para onde e como o dispositivo pode ser usado se houver um comprometimento nos resultados de segurança. Embora vise principalmente aos projetistas e desenvolvedores de soluções para IoT, há informações para os consumidores, e o IoTSF – IoT Security Foundation – espera que as diretrizes também capacitem outras partes da cadeia de forneci mento a fazer as escolhas certas, ou seja, decidir sobre os níveis entre as restrições e os riscos, e o que será priorizado e não priorizado como objetivos de segurança. O caminho inicial dessas escolhas parte de dados que são gerados pelos dispositi vos de IoT, classificação desses dados e segurança física inserida para protegêlos. Mas como classificar um dado advindo de um objeto inteligente, de um sistema IoT? Vale relembrar algumas premissas já estabelecidas que advém da informação, já que um conjunto de dados é uma informação, assim será possível estabelecer alguns norteadores que resultem na classificação do dado proveniente de sistemas IoT. A classificação dos dados que resultem em informação de acordo com o art. 24 da Lei de Acesso à Informação, do Governo Federal, são selecionados confor me o grau de classificação de informação. Seus respectivos prazos máximos de restrição de acesso são os seguintes (tabela 1). Tabela 1 – Classifi cação da Informação conforme Padrão Nacional Governo Brasileiro Reservado Secreto Ultrassecreto 5 anos, sem possibilidade de prorrogação. 15 anos, sem possibilidade de prorrogação. 25 anos, podendo ser prorrogado uma única vez por igual período, apenas pela Comissão Mista de Reavaliação de Informações. Fonte: Adaptado de acessoainformacao.gov.br Como o dado ou informação tem uma vida útil, então o prazo de sigilo é contado a partir da data de produção da informação, e não de sua classificação. Quem pode classificar informações? A classificação de informações no âmbito da administração pública federal, se gundo o art. 27 da Lei de Acesso à Informação, Governo Federal do Brasil, é de competência:(veja a tabela 2) Tabela 2 – Acesso ao nível conforme Padrão Nacional Governo Brasileiro Reservado Secreto Ultrassecreto Das autoridades que podem classificar informações em grau secreto e ultrassecreto e daquelas que exerçam funções de direção, comando ou chefia, nível DAS 101.5, ou superior, ou de hierarquia equivalente, de acordo com regulamentação específica de cada órgão ou entidade, observado o disposto na Lei nº 12.527. Das autoridades que podem classificar informações em grau ultrassecreto, além dos titulares de autarquias, fundações ou empresas públicas e sociedades de economia mista. Presidente da República; Vice-presidente da República; Ministros de Estado e autoridades com as mesmas prerrogativas; Comandantes da Marinha, do Exército e da Aeronáutica; Chefes de Missões Diplomáticas e Consulares permanentes no exterior. Fonte: Adaptado de acessoainformacao.gov.br 9 UNIDADE Melhores Práticas em Segurança para Projetos de IoT De acordo com a ISO 27002 de 2013, a classificação e os controles de proteção, associados à informação, deve considerar os requisitos de negócio para comparti lhar ou restringir a informação. Diante dessa premissa, a classificação da informa ção, de acordo com essa norma, a ISO 27002, está detalhada na tabela 3. Tabela 3 – Classificação dos níveis de informação conforme a Norma ISO 27002, 2013 Confidencial Restrito Uso Interno Público As consequências do acesso à informação não autorizada têm impactos severos e possivelmente irreversíveis. Têm impacto baixo, porém, com consequências relevantes. Nível de constrangimento maior em relação ao impacto e suas consequências. Acesso livre e irrestrito, sem impacto ou consequências ao negócio. Fonte: Adaptado de acessoainformacao.gov.br Diante dessas premissas básicas, tabela 3, no que se refere à classificação do dado sob a perspectiva da informação de uma maneira ampla, é necessário tam bém direcionar essas premissas para o contexto de IoT. A implantação de soluções de segurança de dados existentes na IoT não é direta como o caso da informação. Por conta da heterogeneidade de dispositivos, ambien tes dinâmicos e possivelmente desprotegidos, além de sua larga escala, certificarse de que há segurança desde os end points até as APIs dos usuários é desafiador em um ambiente de multicamadas. É preciso destacar que a IoT está em seu início e as questões de segurança mui tas vezes sequer foram pensadas. Alguns desafios estão na frente para serem su perados, como o de sensores inteligentes com dimensões extremamente reduzidas, dispositivos inteligentes com vários tipos sensores, questões de ciclo de vida de um dispositivo inteligente, dentre outras barreiras. Como o ecossistema IoT é um sistema em camadas, a segurança pode ser aplicada em diferentes momentos de cada uma delas, priorizando o dispositivo, o dado, o sen sor, a conectividade, o armazenamento ou a aplicação com a informação desejada. A segurança, a disponibilidade e a qualidade dos dados são temas da disciplina de segurança para IoT. A segurança dos dados exige, além da criptografia, como téc nica de proteção quando são transmitidos, também políticas de controle de acesso aos dados, desde a aquisição, a localização, a temporalidade e o armazenamento. A disponibilidade é um elemento de segurança que garante que os dados re levantes não sejam perdidos. Assim, são endereçados por meio de protocolos de comunicação de aquisição, transmissão e recepção. Caso haja interrupções, com o objetivo de minimizar a perda de dados, as chaves de segurança podem ser aplica das a uma rede de sensores. A qualidade dos dados é outro requisito importante crítico do sistema IoT. Exis tem dispositivos que apresentam baixa qualidade em uma rede de sensores, ou 10 11 calibração fora da conformidade, ou falhas de operação, e podem ocorrer, ainda, ataques que comprometam os dados de origem. Portanto, como o ecossistema IoT é um ambiente em larga escala e em várias ca madas, a segurança deve ser prevista em diferentes pontos dessa camada. A seguir, serão visitadas algumas dessas importantes classificações em relação aos dados de IoT, conforme as recomendações da IoTSF – IoT Security Foundation –, interagin do com os princípios da Proteção e Privacidade dos Dados conforme a Legislação Brasileira e a Norma ISO/IEC 27002. Classificação dos Dados e Segurança Física O termo “dados” é amplo e pode incluir dados funcionais, dados sobre pesso as, coleções de dados, dados de propriedade intelectual de fornecedores, ou, ainda, dados de dispositivos sensores de sistemas IoT. O grau de proteção exigido contra visualização não autorizada, alteração ou exclusão de dados depende da sensibilidade desses dados. Um “esquema de classificação de dados” define um número de classes ou níveis de sensibilidade para dados e é fundamental para sua proteção. Uma clas sificação de dados significa que o nível correto de segurança pode ser identificado e aplicado, proporcional à natureza dos dados que estão sendo processados. A classifi cação de dados também ajuda a garantir a conformidade com os regulamentos legais. Os regulamentos legais são diferentes e têm leis diferentes – para cada país, há um regulamento sobre o que são considerados “dados confidenciais”, onde os da dos podem ser mantidos e como eles devem ser protegidos em armazenamento e como podem ser encaminhados. A IoTSF – IoT Security Foundation – recomenda o seguinte procedimento de classificação para os dados: • Definir um esquema de classificação de dados e documentálo; • Avaliar cada item de dados armazenados, processados, transmitidos ou recebi dos pelo dispositivo de IoT e lhe aplicar uma classificação de dados. Considerar que as coleções de dados podem ser mais sensíveis do que itens individuais e, portanto, podem ser classificadas de forma diferente; • Certificarse de que o projeto de segurança protege todos os itens de dados e coleções de itens contra exibição, alteração ou exclusão não autorizada, ao menos em uma avaliação básica de classificação; • Ao documentar o projeto de segurança, documentar também os itens de da dos, sua classificação e os recursos do projeto de segurança que os protegem. 11 UNIDADE Melhores Práticas em Segurança para Projetos de IoT Ativação do Dispositivo A ativação de um dispositivo significa colocar em produção e ele deve ser orien tado à segurança. Os dispositivos de IoT geralmente são implantados em locais que podem ser acessados facilmente e por longos períodos de tempo. Isso os torna su jeitos a danos físicos, adulteração de roteadores e conexões das portas, até mesmo adulteração por meio do sistema de software do gerenciamento físico, depuração e testes. Os ataques aos sistemas físicos de conectividade podem permitir a extra ção de chaves de criptografia ou outros dados, alterações no monitoramento do consumo de energia, aumento de flutuações de temperatura ou emissões eletro magnéticas etc. Os dispositivos de IoT podem ser protegidos contra o acesso físico a dados e pro priedade intelectual, barrando fisicamente o acesso e removendo todos os meios de conexão indesejada. • Qualquer interface usada para fins de administração ou teste durante o desen volvimento deve ser removida de um dispositivo de produção, desativada ou tornada fisicamente inacessível; Importante! Dispositivo de produção é aquele dispositivo que está ativo em funcionamento, em operação de trabalho normal. Importante! • Todos os pontos de acesso de teste nas unidades de produção devem ser desativados ou bloqueados; • Se um dispositivo de produção tem uma entrada de gerenciamento via software por WiFi, por exemplo, é necessário certificar se possui controles de acesso efetivos e restritos, como gerenciamento com credenciais de acesso forte, por tas restritas, protocolos seguros etc.; • Tornar os circuitos do dispositivo fisicamente inacessíveis à adulteração, por exemplo, chips com epoxy para placade circuito, encapsulamento de resina, escondendo dados e linhas de endereço sob esses componentes etc.; • Fornecer proteção e opções de montagem seguras para a implantação de dis positivos em locais expostos; • Para identificar e impedir o acesso dentro da cadeia de fornecimento, conside rar o dispositivo e a embalagem “invioláveis”; • Para implementações de alta segurança, considerar medidas de design, como máscaras ativas ou proteção contra ataques. Exemplos relacionados às recomendações de dispositivo orientado à segurança: 12 13 Dispositivo físico: o hardware • É a base para a comunicação e o funcionamento; • Protocolos de comunicação e criptografias são implentados diretamento no dispositivo; • Todo software ou firmware embarcado no dispositivo deve ter uma rotina de confiabilidade de sua versão e origem. Figura 1 – Número da peça: AC164160 – Placa de desenvolvimento do AVRIOTWG da Microchip Fonte: Divulgação A placa de desenvolvimento AVRIoT WG é uma plataforma de hardware que utiliza um poderoso microcontrolador AVR®, um IC de elemento seguro CryptoAuthentication™ e um controlador de rede WiFi® totalmente certificado para fornecer aos usuários a maneira mais simples e eficaz de conectar um dispositivo para a plataforma central do Cloud IoT. Tipos de ataques físicos aos dispositivos • Falsificações de componentes eletrônicos – chips: Os chips ou circuitos in tegrados são produzidos com um novo encapsulamento, alterando suas inscri ções de origem, em geral, são utilizados materiais pouco puros ou reciclados, apresentando baixa confiabilidade; • Reengenharia ou engenharia reversa: A reengenharia é uma reconstrução do projeto original do dispositivo por meio de uma checagem dos componen tes e das suas ligações em uma placa de circuito impresso. Em geral, associa se a reengenharia aos manuais de fabricante para traduzir as características técnicas originais à nova reconstrução. Por vezes, é usado um JTAG para depurar o código embarcado, ou seja, o firmware ou dados da programa ção do microcontrolador. Além disso, podem ser utilizados osciloscópios para analisar os sinais de entrada e saída, calibrando o comportamento final da nova reconstrução. JTAG (Joint Test Access Group) é uma interface de programação e teste de circuitos digitais. Desenvolvido para a programadores lógicos, microcontroladores, memórias etc. Vide exem- plo de reengenharia com Arduino: http://bit.ly/2L0IQ2M Ex pl or 13 UNIDADE Melhores Práticas em Segurança para Projetos de IoT • Ataques físicos: Os ataques físicos são feitos diretamente no dispositivo. Exis tem dois tipos, conforme o quadro 1; Quadro 1 – Tipos de Ataques físicos Invasivo Não invasivo Violação do microrrevestimento do chip microcontrolador, injeção de falhas, alteração da tensão de alimentação, violação no sinal de clock. Medição de sinais de saída no canal adjacente, alteração no consumo de energia, mudança na temporização associada ao dispositivo. Figura 2 Fonte: Divulgação Figura 3 – Exemplo de sinal de uma interferência de canal adjacente Fonte: Agilent Technologies Canal adjacente é o canal que trabalha em uma frequência muito próxima da faixa do sinal principal, sendo o caminho para um possível ataque. Fonte: Adaptado de IoTSF – IoT Security Foundation • Técnicas de violação: Podem causar sabotagem, violação, destruição, podem também apagar memória, apagar firmware etc. Sistema Operacional Seguro Há muitas maneiras em que um agente de ameaça pode se infiltrar em um siste ma operacional. O “sistema de proteção” do sistema operacional ajuda a proteger contra isso usando o software mais recente, removendo todos os direitos e funções de acesso desnecessários e limitando a visibilidade do sistema. As recomendações da IoTSF – IoT Security Foundation – são as seguintes. • Incluir no sistema operacional (SO) apenas os componentes (bibliotecas, módu los, pacotes etc.) necessários para suportar as funções do dispositivo; • O dispositivo deve incluir as últimas versões de SO estáveis e disponíveis; • Os dispositivos devem ser projetados e enviados com a configuração mais segura. A decisão de reduzir a segurança deve ser uma decisão justificada e documentada; • Assegurar que o SO seja inicializado com segurança; • Atualizar continuamente (exaustivamente testados) os componentes do SO para as últimas versões estáveis durante a vida útil de um dispositivo implantado; 14 15 • Desabilitar todas as portas, protocolos e serviços que não são usados; • Definir as permissões para que os usuários/aplicativos não possam gravar no sistema de arquivos raiz; • Se necessário, as contas para usuários/aplicativos comuns devem ter direitos mínimos de acesso para executar as funções necessárias. Contas de adminis trador separadas (se necessário) terão maiores direitos de acesso. Não executar nada como root, a menos que seja genuinamente inevitável; • Certificar que todos os arquivos e diretórios tenham os direitos mínimos de acesso para executar as funções necessárias; • Considerar a implementação de um sistema de arquivos criptografados; • Documentar a configuração de segurança do SO; • Usar os métodos apropriados de Controle de Mudanças para gerenciar mudan ças no sistema operacional. Segurança da aplicação Seja usando software desenvolvido internamente ou aplicativos de terceiros, boas práticas de projeto de software devem ser seguidas. A segurança deve ser projetada desde o início e não adicionada como uma reflexão tardia. Um design de segurança documentado garante que os problemas subsequentes possam ser resolvidos com mais rapidez. Os procedimentos são os seguintes conforme IoT Security Foundation. • Documentar o design de segurança dos aplicativos; • Os aplicativos devem ser operados no menor nível de privilégio possível, não como root. Os aplicativos devem ter acesso somente aos recursos de que precisam; • As candidaturas devem ser isoladas umas das outras. Por exemplo, use técni cas de sandbox, como máquinas virtuais, conteinerização, modo de computa ção segura etc.; • Garantir a conformidade com os regulamentos de processamento de da- dos no país; • Incorporar segurança em todos os estágios do ciclo de vida de desenvolvi mento de software, incluindo design de software, armazenamento seguro de códigofonte e rastreabilidade, revisões de código, ferramentas de análise de código etc; • Usar técnicas seguras de design e codificação; • Assegurar que todos os erros sejam tratados claramente e que todas as mensa gens produzidas não revelem nenhuma informação sensível; 15 UNIDADE Melhores Práticas em Segurança para Projetos de IoT • Nunca codificar as credenciais em um aplicativo. As credenciais devem ser ar mazenadas separadamente no armazenamento confiável e seguro e devem ser atualizáveis de forma a garantir que a segurança seja mantida; • Remover todas as contas de usuário e senhas padrão; • Certificarse de que o software e as bibliotecas de aplicativos de terceiros, se jam eles de prateleira ou desenvolvidos especificamente, sigam essas diretrizes de segurança sempre que possível; • Usar a versão estável mais recente do sistema operacional e das bibliotecas; • Nunca implementar versões de depuração do código. A distribuição não deve incluir compiladores, arquivos contendo comentários do desenvolvedor, código de amostra ou outros arquivos supérfluos; • Considerar o impacto no aplicativo/sistema se a conectividade de rede for perdi da. Procurar manter a funcionalidade e segurança normais sempre que possível. É necessário conhecer algumas técnicas de segurança que podem ser utili zadas nas camadas de aplicações ou ambientes em nuvem, dos quais os dados de IoT são processados, armazenados e consumidos em diferentes formas, por meio de gráficos, relatórios de desempenho dos sensores e suas métricas, inclu são nas aplicações de sistemas de alertas automatizados e recursos de alarmes para manutenção. Os exemplos a seguir são os mais recentese vão ao encontro da arquitetura utilizada em um ecossistema IoT. A segurança precisa ser pensada em todas as camadas desse ecossistema. Técnica Sendbox A técnica sandbox tem por objetivo implementar um ambiente isolado para que testes possam ser realizados, em relação aos programas ou arquivos, plataformas com ambiente em produção, sem que com isso sejam afetados. Em geral, os pro gramadores usam sandboxes para testar códigos novos. Os analistas de segurança usam as sandboxes para testar potenciais programas maliciosos – sem esse recurso, o acesso ao ambiente de produção é irrestrito. Um sandbox pode ser uma partição em dis co, uma instância em nuvem ou uma máquina na rede, preparada para executar códigos co nhecidamente maliciosos, evitando que qual quer dispositivo ou aplicação sofra ataque. Os analistas de segurança usam um sandbox, sem oferecer risco à rede, para testar acessos suspeitos, detectar malwares em arquivos. O sandbox acaba sendo uma camada de pro teção contra ameaças e ataques silenciosos. Figura 4 Fonte: Adaptado de Getty Images 16 17 Técnica da Virtualização ou Máquinas Virtuais Uma partição em disco, uma instância em nuvem ou uma máquina na rede são máquinas virtuais. Isso quer dizer que uma máquina virtual é uma sandbox. Essa abordagem tem por objetivo bloquear e examinar acessos e programas suspeitos ou maliciosos. Figura 5 Fonte: Adaptado de Getty Images Técnica da Conteinerização Tem a mesma finalidade de uma máquina virtual, porém, muito mais leve e sem dependências. É possível encapsular uma aplicação com o próprio sistema opera cional de uma vez, colocar em funcionamento nos dispositivos, plataformas, com putadores físicos e virtuais, bare metal, openstack, clusters em nuvem, instâncias públicas e privadas. Para completar, um bare metal (metal puro ou metal nu) é uma expressão que descreve que o sistema operacional de computadores é instalado diretamente em seu hardware, e tem um único cliente, seus serviços não são compartilhados. É como se o cliente tivesse uma máqui na e um sistema operacional só seu, porém, disponibilizado em serviço de nuvem. Um sistema openstack, nes se contexto, faz referência a um conjunto de software de código aberto que fornece uma infra estrutura para criar e gerenciar ambiente operacional em nu vem pública e nuvem privada. Figura 6 Fonte: Adaptado de Getty Images 17 UNIDADE Melhores Práticas em Segurança para Projetos de IoT Importante! Ao usar tecnologia de contêiner para qualquer que seja a finalidade, deverá ser utiliza- da imagem certificada para garantir segurança nativa. O DockerHub foi alvo de ataques porque a comunidade usava imagens não oficiais. Ainda assim, o site oficial de soluções em contêineres informa que camadas adicionais de segurança podem ser adicionadas. Importante! Encriptação e Credenciais • Encriptação: É fundamental usar o algoritmo de criptografia mais forte dis ponível e fazer o download de dados apenas se for absolutamente necessário. Normalmente, qualquer dado atribuível a um indivíduo deve ser criptografado para garantir a privacidade e cumprir os regulamentos de proteção de dados. Quaisquer dados de gerenciamento devem ser criptografados para proteger a integridade e a disponibilidade do serviço. É necessário estar ciente de que existem leis rigorosas em cada país quan to ao uso e exportação de criptografia. As recomendações com respeito à encriptação são as seguintes: » Aplicar o nível apropriado de criptografia proporcional à classificação dos dados que estão sendo processados; » Usar conjuntos de códigos padrão do setor – no caso IoT, usar os algoritmos mais fortes e sempre usar a versão mais recente de um protocolo de criptografia; » Ao configurar uma conexão segura, se um protocolo de criptografia oferecer uma seleção negociável de algoritmos, remover as opções mais fracas para que elas não possam ser selecionadas para uso em um ataque de download; » Não usar protocolos inseguros, por exemplo, FTP, Telnet; » Deve ser possível substituir com segurança as chaves de criptografia remotamente; » Ao implementar criptografia de chave pública/privada, usar chaves exclusi vas por dispositivo e evitar usar chaves globais. A chave privada de um dispo sitivo deve ser gerada por esse dispositivo ou fornecida por uma solução de credencial segura associada, por exemplo, cartão inteligente. Ele deve per manecer nesse dispositivo (ou solução associada) e nunca ser compartilhado/ visível em outro lugar. Por outro lado, a chave pública de um dispositivo pode ser compartilhada em outro lugar para oferecer suporte à criptografia com esse dispositivo; • Credenciais: As credenciais são evidências de identidades de pessoas ou ou tras entidades, como no contexto de IoT. Elas podem assumir muitas formas e são usadas para controlar o acesso a dados ou permitir comunicações seguras. As credenciais comprometidas são a maneira mais fácil de obter acesso não 18 19 autorizado a dados ou serviços. Senhas, chaves de criptografia, certificados di gitais e outros dados de credenciais sempre devem ser tratados com segurança e atualizados periodicamente, caso contrário, eles podem se tornar ineficazes. Seguem as recomendações dadas pela IoTSF – IoT Security Foundation; » Um dispositivo deve ser exclusivamente identificável por meio de um identifi cador de hardware resistente a adulterações de fábrica, se possível; » Usar boas técnicas de gerenciamento de senha, por exemplo, sem senhas em branco ou simples permitidas, não alfanuméricos (por exemplo, + ou *), letras e dígitos, nunca enviar senhas pela rede (com ou sem fio) em texto não criptografado, empregar um processo de redefinição de senha segura; » Cada senha armazenada para credenciais de autenticação deve usar uma função hash padrão ou token, junto com um valor que não seja óbvio (por exemplo, não um nome de usuário ou uma sequência 123456); » Senhas armazenadas para uso como credenciais devem ser fortemente crip tografadas, usando um algoritmo padrão da indústria; » Armazenar credenciais ou chaves de criptografia em um Módulo de Aces so Seguro (SAM – Secure Access Module), Módulo de Plataforma Confiá vel (TPM – Trusted Platform Module), Módulo de Segurança de Hardware (HSM – Hardware Security Module) ou armazenamento de chaves confiável, se possível; » Usar a autenticação de dois fatores para acessar dados confidenciais, se pos sível. Isso quer dizer, autenticar duas vezes de maneiras diferentes e com senhas distintas. Por exemplo, um QRCode e a geração de um código; » Garantir que o tempo de duração do certificado seja confiável e esteja dis ponível, onde os métodos de autenticação exigem isso, por exemplo, para certificados digitais; » Os certificados digitais exigem um gerenciamento cuidadoso como parte de uma solução de credencial eficaz. Um certificado tem uma duração definida (e talvez precise ser revogado), portanto, não deve ser apenas implementado e, em seguida, esquecido; » Deve haver um meio seguro e confiável para atualizar um certificado digital e sua cadeia de certificados em um dispositivo antes que ele expire; » Um certificado usado para identificar um dispositivo deve ser exclusivo e usado apenas para identificar esse dispositivo. Não reutilizar o certificado em vários dispositivos; » Uma função de “redefinição de fábrica” deve remover completamente todos os dados/credenciais do usuário armazenados em um dispositivo; • Conexões de rede: Um dispositivo se conecta ao resto do mundo por meio de conexões de rede feitas em uma ou mais interfaces de rede. É vital prote ger esses pontos de acesso, limitando possíveis rotas no dispositivo ao míni mo. Também é uma boa prática garantir que o dispositivo só faça conexões 19 UNIDADE Melhores Práticas em Segurança para Projetos de IoT específicas para funcionar e que quaisquer dados confidenciais (por exemplo, chaves, dados pessoais, senhas) trocados por essas conexõessejam mantidos em sigilo. A seguir, as recomendações apresentadas pela IoTSF – IoT Security Foundation – referentes as conexões de rede. » Ativar somente as interfaces de rede necessárias (com fio, sem fio, incluindo bluetooth etc.); » Executar apenas os serviços na rede que são necessários; » Abrir apenas as portas de rede necessárias; » Executar um firewall de software corretamente configurado no dispositivo, se possível; » Sempre usar protocolos seguros, por exemplo HTTPS, SFTP; » Nunca trocar credenciais em texto puro ou por soluções fracas, como a Au tenticação Básica HTTP; » Autenticar todas as conexões de entrada para garantir que elas sejam prove nientes de uma fonte legítima; » Autenticar o destino antes de enviar dados confidenciais; • Políticas de atualização do software dos elementos do ecossistema IoT: É essencial que os processos e mecanismos para atualização de software se jam robustos, confiáveis e seguros. Se os dispositivos não forem atualizados, a segurança deles provavelmente diminuirá com o tempo, conforme surjam novos ataques e vulnerabilidades. No entanto, os dispositivos de IoT são fre quentemente restringidos por recursos limitados, por exemplo, energia, com putação ou comunicação. Isso pode limitar a pontualidade ou o tamanho das atualizações de software, ou até mesmo impedir a aplicação de atualizações. Nesse último caso, uma consideração muito cuidadosa deve ser dada às impli cações de segurança da implantação de tais dispositivos. Tanto os desenvolvedores de sistemas quanto os usuários devem ter uma po lítica sobre atualização de software em dispositivos no campo, conforme os destaques a seguir, apontados pela IoTSF – IoT Security Foundation. » Gerenciar todos os dispositivos conectados durante todo o ciclo de vida do dispositivo. Manter um manifesto ativo de dispositivos integrados na organi zação do usuário; » Manter ativamente as informações da versão sobre o software implantado nos dispositivos; » Definir processos para atualização planejada de dispositivos e implantação rápida de atualizações críticas; » Identificar dispositivos não atualizáveis que tenham vetores de ataque co nhecidos e processos para garantir que tais dispositivos sejam impedidos de comprometer a segurança do sistema, por exemplo, por meio da revogação do dispositivo ou de algum outro método confiável; 20 21 » Gerenciar com segurança a mudança de propriedade do dispositivo; » Gerenciar com segurança dispositivos que estejam no final de sua vida útil; » Implantar e divulgar um processo para gerenciar erratas de software. Esse pro cesso deve permitir que desenvolvedores, usuários e pesquisadores de segu rança relatem vulnerabilidades de segurança e outros problemas, além de permitir a rápida comunicação com os usuários; » Definir um processo para identificar configurações afetadas; » Definir as circunstâncias que exigem que uma atualização de software seja desenvolvida e liberada; » Definir a urgência de lançar uma atualização, com base no impacto poten cial da ameaça para o usuário, o fornecedor e outros usuários da rede e o impacto ao usuário da implantação da atualização; » Definir o procedimento para atualizar o software nos dispositivos; » Identificar processos claros de propriedade e escalação dentro da organização; » Criar mecanismos para atualizações de software; » A política deve reconhecer que os padrões existentes para correção de software podem precisar ser adaptados para atualização de software em sistemas IoT; • Logs: O registro de eventos é vital para auxiliar no gerenciamento de falhas e segurança, e deve ser confiável, acessível e, provavelmente, confidencial tam bém. A integridade dos registros também precisa ser protegida, por exemplo, contra ataques que tentam cobrir seus rastros. Dispositivos de IoT alimentados por bateria simples têm recursos limitados e podem ter que enviar eventos para um hub local para fazer logon lá, ou encaminhar para um recurso de gerenciamento de log central. Os logs são válidos apenas se as informações que eles contêm forem examinadas e resolvidas. Eles devem ser monitorados e analisados regularmente para detectar falhas potenciais e reais, violações de segurança e investigar incidentes retrospectivamente. » Assegurarse de que todos os dados registrados estejam em conformidade com os regulamentos de proteção de dados vigentes; » Executar a função de registro em seu próprio processo do sistema operacio nal, separado de outras funções; » Armazenar os arquivos de log em sua própria partição, separados dos outros arquivos do sistema; » Definir o tamanho máximo do arquivo de log; » Onde a capacidade de registro é limitada, registrar apenas os parâmetros de inicialização e desligamento, registrar também as tentativas de login/acesso e, ainda, registrar qualquer coisa inesperada; 21 UNIDADE Melhores Práticas em Segurança para Projetos de IoT » Restringir os direitos de acesso aos arquivos de log ao mínimo necessário para funcionar; » Implementar os ‘níveis’ de log para que o logging leve seja a abordagem pa drão, mas com a opção de executar logs mais detalhados quando necessário; » Monitorar e analisar logs regularmente para extrair informações e insights valiosos; » Sincronizar com uma fonte de tempo precisa, sempre que possível, para que os registros de tempo do arquivo de log possam ser facilmente correlacionados; » Senhas e outras informações secretas nunca devem ser exibidas em logs. Importante! Como conclusão de todas essas recomendações e premissas, é essencial que os processos e mecanismos para todas as camadas de um projeto IoT sejam robustos, confiáveis e se- guros. Se os dispositivos não forem atualizados, a segurança deles provavelmente dimi- nuirá com o tempo, conforme surgem novos ataques e vulnerabilidades. No entanto, os dispositivos de IoT são frequentemente restringidos por recursos limitados, por exemplo, energia proveniente de bateria, falta de criptografia ou baixa largura de banda na comu- nicação dos dados. Isso pode limitar a pontualidade ou o tamanho das atualizações de software, de firmware, dos serviços da nuvem, na camada da API ou até mesmo impedir a aplicação de atualizações. Por todas essas razões, considerações cuidadosas e criteriosas devem ser dadas às implicações de segurança da implantação de tais dispositivos e sua operação no que se refere aos projetos de IoT. Em Síntese 22 23 Material Complementar Indicações para saber mais sobre os assuntos abordados nesta Unidade: Sites The SH3LLC0D3R’S Blog Acesse o blog do SH3LL COD 3R. Ele ilustra bem o passo a passo de um pentest de segurança em IoT. https://bit.ly/2ziLTOs Vídeos Segurança da Informação segue muito baixa nos órgãos do Governo Segue um vídeo sobre o governo digital e seus impactos – exposição proferida pelo Coordenador Geral de Contratações de TICs – Ministério da Economia, com Sílvio Lima. https://youtu.be/8RRB9MvMS0s Leitura New trends in the world of IoT threats Observe o material compilado pela Kaspersky, que é uma empresa de soluções antivírus, oferece soluções de proteção com vírus para sistema IoT. https://bit.ly/2xzluvm ISO 27000 – Download GRATUITO e legal da norma! Veja a notícia no portal da ABNT sobre a atualização da Norma 27000 e as famílias quando houverem. https://bit.ly/2Hok37P Information technology – Security techniques – Information security management systems – Overview and vocabulary Ao final do texto do link anterior você poderá acessar a Norma pela ISO Internacional. https://bit.ly/2VDo6FB ISO/IEC 27000: Norma internacional de segurança da informação é revisada Acesse a notícia a seguir, que reforça a necessidade do acompanhamento das atua lizações/revisões das normas de segurança. https://bit.ly/2oDhyVJ 23 UNIDADE Melhores Práticas em Segurança para Projetos de IoT Referências ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS. ABNT NBR ISOIEC 27002:2013 – Tecnologia da informação– Técnicas de segurança – Código de Prática para controles de segurança da informação. Rio de Janeiro, 2013. Disponí vel em: <http://www.fieb.org.br/download/senai/NBR_ISO_27002.pdf>. GOVERNO FEDERAL DO BRASIL. Graus de Classificação. Acesso à Infor mação. Disponível em: <http://www.acessoainformacao.gov.br/assuntos/lainos estadosmunicipios/grausdeclassificacao/grausdeclassificacao>. Acessado em: fevereiro de 2019. IoT Security Foundation. IoT Security Compliance Framework. 2018 IoT Security Foundation. Release 2. Acessado em 21/03/21019. Disponível: <https:// www.iotsecurityfoundation.org/wpcontent/uploads/2018/12/IoTSFIoTSecurity ComplianceFrameworkRelease2.0December2018.pdf>. 24