SlideShare uma empresa Scribd logo
1 de 30
Baixar para ler offline
Globalcode – Open4education
Contribuições do projeto Azure Sphere para
evolução dos padrões de segurança em soluções de
Internet das Coisas
Walter Silvestre Coan
walter.coan@gmail.com
www.faltoupontoevirgula.com.br
Globalcode – Open4education
Walter Silvestre Coan
Microsoft MVP em Azure 2020/2021
Certificações
Azure IoT Developer – Specialty
Azure Developer – Associate
Azure Fundamentals
MCT
MCSD – MCSA (C# e Web Apps)
AWS Developer
Sun Certified Programmer em Java 5.0
Mestre em Ciência da Computação na área de Sistemas
Distribuídos e Redes de Sensores sem Fio - PUCPR
Pós-Graduado em Engenharia de Software - PUCPR
Bacharel em Informática - UNIVILLE
Professor no Bacharelado em Sistemas de Informação e do
Bacharelado em Engenharia de Software da UNIVILLE
walter.coan@gmail.com – www.faltoupontoevirgula.com.br
Globalcode – Open4education
Agenda
O que é o Azure Sphere
As sete propriedades de um dispositivo IoT seguro
As melhores práticas para implementação das sete
propriedades de um dispositivo seguro
Projeto utilizando Azure Sphere
Globalcode – Open4education
The Seven Properties of Highly Secure Devices: the new
standard for securing MCU powered IoT experiences
Hardware
Root of Trust
Seu dispositivo é identificável
e a integridade do software
é confirmada por hardware?
Defense
In Depth
Seu dispositivo se mantém
seguro se um mecanismo
de segurança for destruído?
Small Trusted
Computing Base
O seu dispositivo reforça a
segurança contra bugs no
código das aplicações?
Dynamic
Compartments
As proteções de segurança
do seu dispositivo podem
melhorar após a implantação?
Certificate-Based
Authentication
Seu dispositivo utiliza
certificados digitais ao
invés de senhas para
autenticação?
Failure
Reporting
Seu dispositivo reporta
falhas e anomalias?
!
Renewable
Security
Seu dispositivo atualiza
o software de forma
automática?
Suporte do Hardware Suporte do Sistema Operacional Suporte do Serviço de Nuvem
https://www.microsoft.com/en-us/research/wp-
content/uploads/2017/03/SevenPropertiesofHighlySecureDevices.pdf
Globalcode – Open4education
Azure Sphere
O Azure Sphere baseia-se em décadas de experiência da
Microsoft em hardware, software e nuvem para fornecer uma
solução completa e pronta para o uso para dispositivos IoT.
Disponibilidade geral desde 24/02/2020.
Globalcode – Open4education
Azure Sphere
Secured MCUs
Uma nova categoria de
MCU’s chamado Azure
Sphere, produzidos por
empresas parceiras, com
tecnologia de segurança da
Microsoft, que fornece
conectividade, alto
desempenho e
características de segurança
no hardware.
Secured Operating System
Sistema operacional seguro
Azure Sphere OS que
combina as melhores práticas
da Microsoft e da comunidade
Open Source, criando uma
plataforma confiável para uma
nova experiência em IoT.
Secured by our Cloud
Service
Azure Sphere Security Service
protege cada dispositivo e os
clientes, detecta falhas de segurança
e responde de forma proativa.
Globalcode – Open4education
Azure Sphere
Microsoft Pluton Security Subsystem –
Root of Trust
ARM Cortex-A provê isolamento de
processos através do gerenciamento de
unidades de memória. Azure Sphere OS
cria containers para as aplicações que
utilizam espaços de memória
reservados.
Cada chip possui sua própria memória
flash e SRAM.
2x ARM Cortex-M é o MCU, que
executa o processamento em real time.
Globalcode – Open4education
Azure Sphere
Azure Sphere utiliza a tecnologia ARM’s TrustZone
que permite a criação de ambientes independentes
de execução dentro de um único chip.
• Secure World – alto nível de privilégios
• Normal World – baixo nível de privilégios
Cada ambiente pode executar seu próprio sistema
operacional e aplicações
Azure Sphere Trusted Computing Base (TCB) é
composto por componentes eletrônicos e software
que roda no Secure World.
Parte do TCB está no Pluton Security System e
parte se estende ao Security Monitor que é
executado no Cortex-A7.
Globalcode – Open4education
Azure Sphere
Microsoft Pluton Security Subsystem é composto por três
componentes:
• Pluton Fabric – recursos de segurança implementados no
hardware
• ECDSA - Algoritmo de Assinatura Digital de Curvas
Elípticas
• Acesso as chaves PKI (Infraestrutura de chaves
públicas x.509) – gravada em e-Fuse no momento da
construção do MCU.
• Pluton Runtime – inicializa o funcionamento com o Pluton
Fabric
• Checagem da inicialização do sistema
• Único componente capaz de acessar o Pluton Fabric
• Não possui acessos privilegiados e sua única
permissão é executar funções e coletar os resultados
do Pluton Fabric
• Real-time core dedicado ao Pluton
• Executado no arm Trustzone Secure World
Globalcode – Open4education
Azure Sphere
Cortex-A7
• Security Monitor
• É executado no Security World
• Verifica e permite políticas de
acesso a recursos
• Atualização do software
• Auditoria do ambiente
• Único componente com
permissão de acesso a memória
flash
Globalcode – Open4education
Azure Sphere
Cortex-A7
• Custom Linux Kernel
• Normal World
• On-chip Cloud Service
• Normal World
• Comunicação com Azure Sphere
Security Service
• Aplicação desenvolvida pelo fabricante
do dispositivo
• Executada em um sandbox
• Padrão POSIX
Globalcode – Open4education
Azure Sphere
Cortex-M4 – Real Time Core
• Totalmente dedicados e isolados
para a aplicação cliente;
• Execução bare metal
• Execução RTOS
• Normal World
• Periféricos podem ser mapeados
para estes núcleos garantindo
características de aplicações em
tempo real
Globalcode – Open4education
Azure Sphere
https://d86o2zu8ugzlg.cloudfront.net/mediatek-craft/documents/mt3620/MediaTek-MT3620-Product-Brief-Nov2018.pdf
ARM Cortex A7 NEON FPU
64kB L1 instruction cache
32kB L1 data cache
256kB L2 cache,
4MB system memory for the Azure Sphere operating system
and user applications
2x ARM Cortex M4 cores
192kB TCM (Tightly-Coupled Memory)
64kB SRAM
FPU Floating Point Unit
Pluton Security Subsystem
ARM Cortex-M4F security processor
128kB secured TCM
64kB secured mask ROM bootloader
Wi-Fi
Processador dedicado N9 32-bit RISC core
IEEE 802.11 a/b/g/n
Bandas de 2.4GHz e 5GHz
Globalcode – Open4education
Azure Sphere
Globalcode – Open4education
Azure Sphere
Globalcode – Open4education
Azure Sphere
Secure Boot
• Processo de verificação da assinatura de todos os softwares que são executados a
partir do boot são legítimos
• Todo software que é executado é assinado por uma chave privada da Microsoft e
verificada por uma chave pública no Azure Sphere
Measured Boot (Boot controlado)
• Faz parte do processo de atestação remota de que o boot seguro foi executado.
• O serviço remoto verifica qual software foi utilizado para realizar o boot da
aplicação
• Se o software utilizado é de uma fonte desconhecida, o acesso do
dispositivo a recursos pode ser negado.
• Se o dispositivo estiver rodando software que não esta atualizado ou que
não seja mais confiável pela Microsoft (zero-day exploit), o dispositivo é
obrigado a se atualizar para ter acesso a qualquer recurso.
Fonte: Ed Nightingale, Penny Orwick
Globalcode – Open4education
Azure Sphere
As melhores práticas para implementar as sete propriedades de
segurança
• Tratar a boot ROM como um software não atualizável e minimizar seu tamanho
• A boot ROM é gravada no momento da manufatura do microprocessador
• É considerado o código mais seguro pois não pode ser modificado
• Tentativas de ataques comuns aplicados
• Realizar ações que forcem o MCU a pular parte do código da ROM que
por exemplo faz verificação de assinaturas dos softwares, para dai
inserir um código não autorizado para ser executado
• Solução
• Implementar no hardware dispositivos para impedir a possibilidade do
código da ROM não ser totalmente executado
• Reduzir o tamanho da ROM para diminuir sua área de ataque
Fonte: Ed Nightingale, Penny Orwick
Globalcode – Open4education
Azure Sphere
As melhores práticas para implementar as sete propriedades de
segurança
• Nunca expor chaves privadas do dispositivo ao software
• Azure Sphere utiliza o método de criptografia de chaves públicas e privadas elliptic-curve
cryptography (ECC) para implementar o Boot Seguro e o Boot controlado.
• As chaves são gravadas em dispositivos chamados one-time programmable fuse (OTP) (e-
fuse), não podem ser modificados e são acessíveis apenas pelo Pluton Fabric
• O Boot controlado utiliza um conjunto de chaves publicas e privadas geradas no momento da
produção do MCU
• A parte privada da chave é gravada nos e-fuses
• A parte pública da chave é coletada pela Microsoft
• Tentativas de ataques comuns
• Hardware Secure Module (HSM) dispositivos utilizados para gerar e armazenar pares de
chaves que precisam ser transferidos para o MCU, possibilitando um ataque de man-in-
the-middle
• Solução
• Nenhuma parte do software tem acesso as chaves
Fonte: Ed Nightingale, Penny Orwick
Globalcode – Open4education
Azure Sphere
As melhores práticas para implementar as sete propriedades de
segurança
• Utilize o chaves ECC (Elliptic-curve cryptography) do que RSA (Rivest-Shamir-
Adleman)
• ECC tem resistência a ataque de força bruta equivalente ao RSA
• ECC necessitam de menos RAM e geram chaves menores portanto precisam
de menos espaço de e-Fuses para serem armazenadas, reduzindo o custo de
produção do MCU
• ECC necessitam de uma única fonte de dados aleatórios para ser gerada
• Azure Sphere possui um hardware específico e auto verificado para
geração de números randômicos
• RSA necessita da geração de dois números primos randômicos, processo
que tem um alto custo computacional
Fonte: Ed Nightingale, Penny Orwick
Globalcode – Open4education
Azure Sphere
As melhores práticas para implementar as sete propriedades de
segurança
• Utilize o Boot Seguro em todo lugar e sempre
• Verificação das assinaturas contra as chaves ECC utilizando o algoritmo ECDSA (Elliptic Curve Digital
Signature Algorithm)
• A chave privada é mantida pela Microsoft
• A chave pública precisa ser distribuída aos dispositivos de forma segura, garantindo sua integridade
• Bootstrap key mais um conjunto de chaves, onde a parte pública é gravada nos e-fuses, e
utilizada pela ROM para verificar o bootloader. Utilizada também para verificar a assinatura de
um arquivo binário contendo as chaves públicas utilizadas para verificar os demais
componentes de software.
ROM verifica
assinatura
bootloader
• Uma vez verificado inicia
a execução
Bootloader verifica
a assinatura do
software do Pluton
Runtime
• Uma vez verificado
inicializa a execução
Pluton inicia a
verificação da
assinatura da
próxima camada de
software
Até chegar na
Aplicação de
Negócio
Fonte: Ed Nightingale, Penny Orwick
Globalcode – Open4education
Azure Sphere
As melhores práticas para implementar as sete propriedades de
segurança
• Utilize o Boot Controlado para comprovar Boot Seguro
• O Boot controlado utiliza uma lista de assinaturas dos softwares para comprovar que o
Boot Seguro foi executado para o serviço remoto de certificação do Azure
• Durante o Boot seguro um valor hash de cada software verificado é acumulado
• Esse acumulador não pode ser apagado, a não ser que o MCU seja
resetado
• O Azure Sphere conecta por TLS com o Azure Sphere Security Server, e solicita
um valor que comprove sua integridade além de outros dados coletados durante
o processo de boot seguro.
• O Azure Sphere combina os valores do hash, e assina o valor com a chave
privada única do dispositivo, essa chave é utilizada apenas para certificação de
integridade remota.
• O Azure Sphere Security Server possui a chave pública do dispositivo, que
permite verificar a integridade dos dados passados pelo dispositivo.
Fonte: Ed Nightingale, Penny Orwick
Globalcode – Open4education
Azure Sphere
As melhores práticas para implementar as sete propriedades de
segurança
• Utilize o Boot Controlado para comprovar Boot Seguro
• O Boot controlado utiliza uma lista de assinaturas dos softwares para comprovar que o
Boot Seguro foi executado para o serviço remoto de certificação do Azure
• Se a certificação remota ocorrer com sucesso
• O dispositivo recebe dois certificados x.509: o primeiro é um certificado
para atualização do dispositivo através de uma conexão segura com o
serviço na nuvem, e o segundo certificado habilita que o dispositivo possa
se conectar com serviços do Azure IoT como o Azure IoT Hub.
• Estes certificados tem validade de 24 horas
• É possível que a certificação remota ocorreu com sucesso, mas o software não é
mais confiável
• Neste caso o dispositivo recebe apenas o certificado de atualização, os
binários no device são marcados como não confiáveis, e o dispositivo é
obrigado a atualizar.
Fonte: Ed Nightingale, Penny Orwick
Globalcode – Open4education
Azure Sphere
As melhores práticas para implementar as sete propriedades de
segurança
• Não utilize ou realize o parse de certificados dentro do TCB
• O processo de Boot Seguro e Boot Controlado do Azure Sphere não utiliza
certificados, pois o processo de parse de certificados é um ponto comum de ataque,
considerando que os certificados estão ficando mais complexos, o que torna o código
de parse também mais complexo e propenso a erros.
• E no caso de uma conexão TLS, que precisa fazer o parse de certificados?
• Utiliza biblioteca wolfSSL, código aberto e verificado
• Executada apenas em user-mode
Fonte: Ed Nightingale, Penny Orwick
Globalcode – Open4education
Azure Sphere
As melhores práticas para implementar as sete propriedades de
segurança
• Atualização de certificados
• Azure Sphere possui um blob com um pequeno conjunto de certificados binários
• Verificados durante o processo de boot seguro
• Computadores comuns podem receber atualizações com novos certificados
• Dispositivos IoT podem ficar meses parados antes de serem utilizados
• Solução
• O Azure Sphere conecta em um endpoint http para baixar a versão do blob de
certificados mais atualizado.
• O dispositivo tem consciência de que esse arquivo é considerado inseguro.
• Esse blob é assinado com a chave privada bootstrap key e verificada com a parte
pública que foi gravada no e-fuse do MCU.
• Como um passo extra, algumas mensagens são trocadas para verificar se os
certificados foram atualizados.
Fonte: Ed Nightingale, Penny Orwick
Globalcode – Open4education
Azure Sphere
As melhores práticas para implementar as sete propriedades de
segurança
• Conectividade é opcional
• O que acontece se o dispositivo não possuir conectividade e se os certificados
expirarem?
• O dispositivo continua funcionando normalmente
• O Boot Seguro não depende de certificados
• Os aplicativos que já estão instalados no dispositivo, passarão pelo
processo de verificação do Boot Seguro e serão colocados em
funcionamento.
Fonte: Ed Nightingale, Penny Orwick
Globalcode – Open4education
Azure Sphere
As melhores práticas para implementar as sete propriedades de
segurança
• Tornam difícil construir botnets a partir de vulnerabilidades de dia zero
• O Azure Sphere lida com essa questão utilizando o componente de firewall
• Todo aplicativo possui um arquivo descritor (manifest) que descreve as políticas
de acesso a recurso, periféricos e endereços de internet.
• Não há possibilidade de uma aplicação reprogramar esse firewall.
• E caso a aplicação precise conectar com um endereço onde ele não conheça o
DNS
• Suporte ao protocolo mDNS e DNS-SD
Fonte: Ed Nightingale, Penny Orwick
Globalcode – Open4education
Azure Sphere Fonte: Ed Nightingale, Penny Orwick
https://www.microsoft.com/security/blog/2020/05/20/cybersecurity-practices-implement-secured-devices/?WT.mc_id=AZ-MVP-5003638
Globalcode – Open4education
Azure Sphere
Demonstração
Azure Sphere integrado ao Azure IoT Central
https://www.hackster.io/waltercoan/azure-sphere-and-mikroe-air-quality-sending-to-iot-central-99b156
Hackster Impact
Prize
Globalcode – Open4education
Para aprender mais...
Contribuições do projeto Azure Sphere para evolução dos padrões de segurança em soluções de Internet das Coisas

Mais conteúdo relacionado

Semelhante a Contribuições do projeto Azure Sphere para evolução dos padrões de segurança em soluções de Internet das Coisas

Microsoft Azure Sphere: uma introdução à platforma IoT segura
Microsoft Azure Sphere: uma introdução à platforma IoT seguraMicrosoft Azure Sphere: uma introdução à platforma IoT segura
Microsoft Azure Sphere: uma introdução à platforma IoT seguraWalter Coan
 
TDC Florianópolis 2020 - Microsoft Azure Sphere: novas funcionalidades e apli...
TDC Florianópolis 2020 - Microsoft Azure Sphere: novas funcionalidades e apli...TDC Florianópolis 2020 - Microsoft Azure Sphere: novas funcionalidades e apli...
TDC Florianópolis 2020 - Microsoft Azure Sphere: novas funcionalidades e apli...Walter Coan
 
Azure Sphere, Azure IoT Edge e modelos de IA em microcontroladores: avanços t...
Azure Sphere, Azure IoT Edge e modelos de IA em microcontroladores: avanços t...Azure Sphere, Azure IoT Edge e modelos de IA em microcontroladores: avanços t...
Azure Sphere, Azure IoT Edge e modelos de IA em microcontroladores: avanços t...Walter Coan
 
TDC Connections 2021 – Trilha Software Security - Proteção de dados sensíveis...
TDC Connections 2021 – Trilha Software Security - Proteção de dados sensíveis...TDC Connections 2021 – Trilha Software Security - Proteção de dados sensíveis...
TDC Connections 2021 – Trilha Software Security - Proteção de dados sensíveis...Walter Coan
 
TDC2021 Innovation - Proteção de dados sensíveis com a computação confidencia...
TDC2021 Innovation - Proteção de dados sensíveis com a computação confidencia...TDC2021 Innovation - Proteção de dados sensíveis com a computação confidencia...
TDC2021 Innovation - Proteção de dados sensíveis com a computação confidencia...Walter Coan
 
Azure Floripa - Introdução a plataforma Azure IoT
Azure Floripa - Introdução a plataforma Azure IoTAzure Floripa - Introdução a plataforma Azure IoT
Azure Floripa - Introdução a plataforma Azure IoTWalter Coan
 
SQLSaturday 2019 - Desafios e tendências na utilização de bancos de dados par...
SQLSaturday 2019 - Desafios e tendências na utilização de bancos de dados par...SQLSaturday 2019 - Desafios e tendências na utilização de bancos de dados par...
SQLSaturday 2019 - Desafios e tendências na utilização de bancos de dados par...Walter Coan
 
Azure Weekend 2ed - Azure Confidential Computing
Azure Weekend 2ed - Azure Confidential ComputingAzure Weekend 2ed - Azure Confidential Computing
Azure Weekend 2ed - Azure Confidential ComputingWalter Coan
 
Palestra sobre Azure Sphere, Azure IoT Edge e Azure IoT Central no Senai Join...
Palestra sobre Azure Sphere, Azure IoT Edge e Azure IoT Central no Senai Join...Palestra sobre Azure Sphere, Azure IoT Edge e Azure IoT Central no Senai Join...
Palestra sobre Azure Sphere, Azure IoT Edge e Azure IoT Central no Senai Join...Walter Coan
 
Novidades sobre Azure Sphere
Novidades sobre Azure SphereNovidades sobre Azure Sphere
Novidades sobre Azure SphereWalter Coan
 
Azure IoT Floripa Tech Day
Azure IoT Floripa Tech DayAzure IoT Floripa Tech Day
Azure IoT Floripa Tech DayWalter Coan
 
Visão geral da plataforma de Sistemas Distribuídos com foco em Internet das C...
Visão geral da plataforma de Sistemas Distribuídos com foco em Internet das C...Visão geral da plataforma de Sistemas Distribuídos com foco em Internet das C...
Visão geral da plataforma de Sistemas Distribuídos com foco em Internet das C...Walter Coan
 
Azure na Prática - Azure IoT Edge
Azure na Prática - Azure IoT EdgeAzure na Prática - Azure IoT Edge
Azure na Prática - Azure IoT EdgeWalter Coan
 
Utilização do NVidia DeepStream para execução de modelos de IA no Azure IoT Edge
Utilização do NVidia DeepStream para execução de modelos de IA no Azure IoT EdgeUtilização do NVidia DeepStream para execução de modelos de IA no Azure IoT Edge
Utilização do NVidia DeepStream para execução de modelos de IA no Azure IoT EdgeWalter Coan
 
Ms Insights - Sessão MEW302
Ms Insights - Sessão MEW302Ms Insights - Sessão MEW302
Ms Insights - Sessão MEW302Flavio J Medeiros
 
Aplicações do Azure IoT Edge: ambiente industrial e em Machine Learning
Aplicações do Azure IoT Edge: ambiente industrial e em Machine LearningAplicações do Azure IoT Edge: ambiente industrial e em Machine Learning
Aplicações do Azure IoT Edge: ambiente industrial e em Machine LearningWalter Coan
 
Treinamento Android Embarcado
Treinamento Android EmbarcadoTreinamento Android Embarcado
Treinamento Android EmbarcadoOdair Sousa
 
Novidades da plataforma Azure IoT
Novidades da plataforma Azure IoTNovidades da plataforma Azure IoT
Novidades da plataforma Azure IoTWalter Coan
 

Semelhante a Contribuições do projeto Azure Sphere para evolução dos padrões de segurança em soluções de Internet das Coisas (20)

Microsoft Azure Sphere: uma introdução à platforma IoT segura
Microsoft Azure Sphere: uma introdução à platforma IoT seguraMicrosoft Azure Sphere: uma introdução à platforma IoT segura
Microsoft Azure Sphere: uma introdução à platforma IoT segura
 
TDC Florianópolis 2020 - Microsoft Azure Sphere: novas funcionalidades e apli...
TDC Florianópolis 2020 - Microsoft Azure Sphere: novas funcionalidades e apli...TDC Florianópolis 2020 - Microsoft Azure Sphere: novas funcionalidades e apli...
TDC Florianópolis 2020 - Microsoft Azure Sphere: novas funcionalidades e apli...
 
Azure Sphere, Azure IoT Edge e modelos de IA em microcontroladores: avanços t...
Azure Sphere, Azure IoT Edge e modelos de IA em microcontroladores: avanços t...Azure Sphere, Azure IoT Edge e modelos de IA em microcontroladores: avanços t...
Azure Sphere, Azure IoT Edge e modelos de IA em microcontroladores: avanços t...
 
TDC Connections 2021 – Trilha Software Security - Proteção de dados sensíveis...
TDC Connections 2021 – Trilha Software Security - Proteção de dados sensíveis...TDC Connections 2021 – Trilha Software Security - Proteção de dados sensíveis...
TDC Connections 2021 – Trilha Software Security - Proteção de dados sensíveis...
 
TDC2021 Innovation - Proteção de dados sensíveis com a computação confidencia...
TDC2021 Innovation - Proteção de dados sensíveis com a computação confidencia...TDC2021 Innovation - Proteção de dados sensíveis com a computação confidencia...
TDC2021 Innovation - Proteção de dados sensíveis com a computação confidencia...
 
Azure Floripa - Introdução a plataforma Azure IoT
Azure Floripa - Introdução a plataforma Azure IoTAzure Floripa - Introdução a plataforma Azure IoT
Azure Floripa - Introdução a plataforma Azure IoT
 
SQLSaturday 2019 - Desafios e tendências na utilização de bancos de dados par...
SQLSaturday 2019 - Desafios e tendências na utilização de bancos de dados par...SQLSaturday 2019 - Desafios e tendências na utilização de bancos de dados par...
SQLSaturday 2019 - Desafios e tendências na utilização de bancos de dados par...
 
Azure Weekend 2ed - Azure Confidential Computing
Azure Weekend 2ed - Azure Confidential ComputingAzure Weekend 2ed - Azure Confidential Computing
Azure Weekend 2ed - Azure Confidential Computing
 
Palestra sobre Azure Sphere, Azure IoT Edge e Azure IoT Central no Senai Join...
Palestra sobre Azure Sphere, Azure IoT Edge e Azure IoT Central no Senai Join...Palestra sobre Azure Sphere, Azure IoT Edge e Azure IoT Central no Senai Join...
Palestra sobre Azure Sphere, Azure IoT Edge e Azure IoT Central no Senai Join...
 
Novidades sobre Azure Sphere
Novidades sobre Azure SphereNovidades sobre Azure Sphere
Novidades sobre Azure Sphere
 
Azure IoT Floripa Tech Day
Azure IoT Floripa Tech DayAzure IoT Floripa Tech Day
Azure IoT Floripa Tech Day
 
Visão geral da plataforma de Sistemas Distribuídos com foco em Internet das C...
Visão geral da plataforma de Sistemas Distribuídos com foco em Internet das C...Visão geral da plataforma de Sistemas Distribuídos com foco em Internet das C...
Visão geral da plataforma de Sistemas Distribuídos com foco em Internet das C...
 
Azure na Prática - Azure IoT Edge
Azure na Prática - Azure IoT EdgeAzure na Prática - Azure IoT Edge
Azure na Prática - Azure IoT Edge
 
Utilização do NVidia DeepStream para execução de modelos de IA no Azure IoT Edge
Utilização do NVidia DeepStream para execução de modelos de IA no Azure IoT EdgeUtilização do NVidia DeepStream para execução de modelos de IA no Azure IoT Edge
Utilização do NVidia DeepStream para execução de modelos de IA no Azure IoT Edge
 
Ms Insights - Sessão MEW302
Ms Insights - Sessão MEW302Ms Insights - Sessão MEW302
Ms Insights - Sessão MEW302
 
Aplicações do Azure IoT Edge: ambiente industrial e em Machine Learning
Aplicações do Azure IoT Edge: ambiente industrial e em Machine LearningAplicações do Azure IoT Edge: ambiente industrial e em Machine Learning
Aplicações do Azure IoT Edge: ambiente industrial e em Machine Learning
 
Sistema Operacional Android
Sistema Operacional AndroidSistema Operacional Android
Sistema Operacional Android
 
Treinamento Android Embarcado
Treinamento Android EmbarcadoTreinamento Android Embarcado
Treinamento Android Embarcado
 
Redes2 aula02
Redes2 aula02Redes2 aula02
Redes2 aula02
 
Novidades da plataforma Azure IoT
Novidades da plataforma Azure IoTNovidades da plataforma Azure IoT
Novidades da plataforma Azure IoT
 

Mais de Walter Coan

CODECON Caminhos para Formação de um Arquiteto de Soluções em Nuvem
CODECON Caminhos para Formação de um Arquiteto de Soluções em NuvemCODECON Caminhos para Formação de um Arquiteto de Soluções em Nuvem
CODECON Caminhos para Formação de um Arquiteto de Soluções em NuvemWalter Coan
 
Talk Floripa - Desenvolvimento de projetos de Internet das Coisas
Talk Floripa - Desenvolvimento de projetos de Internet das CoisasTalk Floripa - Desenvolvimento de projetos de Internet das Coisas
Talk Floripa - Desenvolvimento de projetos de Internet das CoisasWalter Coan
 
TechConnection 2023 Floripa Azure Container Apps
TechConnection 2023 Floripa Azure Container AppsTechConnection 2023 Floripa Azure Container Apps
TechConnection 2023 Floripa Azure Container AppsWalter Coan
 
Shift left DevOps Experience
Shift left DevOps ExperienceShift left DevOps Experience
Shift left DevOps ExperienceWalter Coan
 
DevFest2023-Pragmatismo da Internet das Coisas
DevFest2023-Pragmatismo da Internet das CoisasDevFest2023-Pragmatismo da Internet das Coisas
DevFest2023-Pragmatismo da Internet das CoisasWalter Coan
 
DevOps Experience 2022: Build de aplicações Spring Boot utilizando Github Act...
DevOps Experience 2022: Build de aplicações Spring Boot utilizando Github Act...DevOps Experience 2022: Build de aplicações Spring Boot utilizando Github Act...
DevOps Experience 2022: Build de aplicações Spring Boot utilizando Github Act...Walter Coan
 
Primeira certificação no Azure: AZ-900
Primeira certificação no Azure: AZ-900Primeira certificação no Azure: AZ-900
Primeira certificação no Azure: AZ-900Walter Coan
 
Aplicações resilientes e Chaos Engineering em .NET com Polly + Simmy
Aplicações resilientes e Chaos Engineering em .NET com Polly + SimmyAplicações resilientes e Chaos Engineering em .NET com Polly + Simmy
Aplicações resilientes e Chaos Engineering em .NET com Polly + SimmyWalter Coan
 
TDC Connections 2022 - .NET + Microsserviços: alternativas open source para d...
TDC Connections 2022 - .NET + Microsserviços: alternativas open source para d...TDC Connections 2022 - .NET + Microsserviços: alternativas open source para d...
TDC Connections 2022 - .NET + Microsserviços: alternativas open source para d...Walter Coan
 
Desenvolvimento de aplicações para o Microsoft Azure utilizando C#
Desenvolvimento de aplicações para o Microsoft Azure utilizando C#Desenvolvimento de aplicações para o Microsoft Azure utilizando C#
Desenvolvimento de aplicações para o Microsoft Azure utilizando C#Walter Coan
 
Microsoft Reactor Desenvolvimento serverless com azure function
Microsoft Reactor Desenvolvimento serverless com azure functionMicrosoft Reactor Desenvolvimento serverless com azure function
Microsoft Reactor Desenvolvimento serverless com azure functionWalter Coan
 
Integração: IoT Central + CosmosDB + Power BI - Dicas, desafios e boas práticas.
Integração: IoT Central + CosmosDB + Power BI - Dicas, desafios e boas práticas.Integração: IoT Central + CosmosDB + Power BI - Dicas, desafios e boas práticas.
Integração: IoT Central + CosmosDB + Power BI - Dicas, desafios e boas práticas.Walter Coan
 
MVPConf 2021 - .NET + Azure Functions Dicas e truques no desenvolvimento serv...
MVPConf 2021 - .NET + Azure Functions Dicas e truques no desenvolvimento serv...MVPConf 2021 - .NET + Azure Functions Dicas e truques no desenvolvimento serv...
MVPConf 2021 - .NET + Azure Functions Dicas e truques no desenvolvimento serv...Walter Coan
 
Canal .NET - Utilizando o Event Hub e o Event Grid
Canal .NET - Utilizando o Event Hub e o Event GridCanal .NET - Utilizando o Event Hub e o Event Grid
Canal .NET - Utilizando o Event Hub e o Event GridWalter Coan
 
Internet das Coisas na Medicina - Summit ACM 2021
Internet das Coisas na Medicina - Summit ACM 2021Internet das Coisas na Medicina - Summit ACM 2021
Internet das Coisas na Medicina - Summit ACM 2021Walter Coan
 
TDC Transformation 2021 - Certificação AZ-900 Azure Fundamental: Conceitos, d...
TDC Transformation 2021 - Certificação AZ-900 Azure Fundamental: Conceitos, d...TDC Transformation 2021 - Certificação AZ-900 Azure Fundamental: Conceitos, d...
TDC Transformation 2021 - Certificação AZ-900 Azure Fundamental: Conceitos, d...Walter Coan
 
The Developers Connections 2021 - Internet das Coisas aplicada no suporte a p...
The Developers Connections 2021 - Internet das Coisas aplicada no suporte a p...The Developers Connections 2021 - Internet das Coisas aplicada no suporte a p...
The Developers Connections 2021 - Internet das Coisas aplicada no suporte a p...Walter Coan
 
Cloud Lunch and Learn - Sobrevoando o Azure
Cloud Lunch and Learn - Sobrevoando o AzureCloud Lunch and Learn - Sobrevoando o Azure
Cloud Lunch and Learn - Sobrevoando o AzureWalter Coan
 
Azure Weekend - Utilizando Azure Batch em Linux
Azure Weekend - Utilizando Azure Batch em LinuxAzure Weekend - Utilizando Azure Batch em Linux
Azure Weekend - Utilizando Azure Batch em LinuxWalter Coan
 

Mais de Walter Coan (19)

CODECON Caminhos para Formação de um Arquiteto de Soluções em Nuvem
CODECON Caminhos para Formação de um Arquiteto de Soluções em NuvemCODECON Caminhos para Formação de um Arquiteto de Soluções em Nuvem
CODECON Caminhos para Formação de um Arquiteto de Soluções em Nuvem
 
Talk Floripa - Desenvolvimento de projetos de Internet das Coisas
Talk Floripa - Desenvolvimento de projetos de Internet das CoisasTalk Floripa - Desenvolvimento de projetos de Internet das Coisas
Talk Floripa - Desenvolvimento de projetos de Internet das Coisas
 
TechConnection 2023 Floripa Azure Container Apps
TechConnection 2023 Floripa Azure Container AppsTechConnection 2023 Floripa Azure Container Apps
TechConnection 2023 Floripa Azure Container Apps
 
Shift left DevOps Experience
Shift left DevOps ExperienceShift left DevOps Experience
Shift left DevOps Experience
 
DevFest2023-Pragmatismo da Internet das Coisas
DevFest2023-Pragmatismo da Internet das CoisasDevFest2023-Pragmatismo da Internet das Coisas
DevFest2023-Pragmatismo da Internet das Coisas
 
DevOps Experience 2022: Build de aplicações Spring Boot utilizando Github Act...
DevOps Experience 2022: Build de aplicações Spring Boot utilizando Github Act...DevOps Experience 2022: Build de aplicações Spring Boot utilizando Github Act...
DevOps Experience 2022: Build de aplicações Spring Boot utilizando Github Act...
 
Primeira certificação no Azure: AZ-900
Primeira certificação no Azure: AZ-900Primeira certificação no Azure: AZ-900
Primeira certificação no Azure: AZ-900
 
Aplicações resilientes e Chaos Engineering em .NET com Polly + Simmy
Aplicações resilientes e Chaos Engineering em .NET com Polly + SimmyAplicações resilientes e Chaos Engineering em .NET com Polly + Simmy
Aplicações resilientes e Chaos Engineering em .NET com Polly + Simmy
 
TDC Connections 2022 - .NET + Microsserviços: alternativas open source para d...
TDC Connections 2022 - .NET + Microsserviços: alternativas open source para d...TDC Connections 2022 - .NET + Microsserviços: alternativas open source para d...
TDC Connections 2022 - .NET + Microsserviços: alternativas open source para d...
 
Desenvolvimento de aplicações para o Microsoft Azure utilizando C#
Desenvolvimento de aplicações para o Microsoft Azure utilizando C#Desenvolvimento de aplicações para o Microsoft Azure utilizando C#
Desenvolvimento de aplicações para o Microsoft Azure utilizando C#
 
Microsoft Reactor Desenvolvimento serverless com azure function
Microsoft Reactor Desenvolvimento serverless com azure functionMicrosoft Reactor Desenvolvimento serverless com azure function
Microsoft Reactor Desenvolvimento serverless com azure function
 
Integração: IoT Central + CosmosDB + Power BI - Dicas, desafios e boas práticas.
Integração: IoT Central + CosmosDB + Power BI - Dicas, desafios e boas práticas.Integração: IoT Central + CosmosDB + Power BI - Dicas, desafios e boas práticas.
Integração: IoT Central + CosmosDB + Power BI - Dicas, desafios e boas práticas.
 
MVPConf 2021 - .NET + Azure Functions Dicas e truques no desenvolvimento serv...
MVPConf 2021 - .NET + Azure Functions Dicas e truques no desenvolvimento serv...MVPConf 2021 - .NET + Azure Functions Dicas e truques no desenvolvimento serv...
MVPConf 2021 - .NET + Azure Functions Dicas e truques no desenvolvimento serv...
 
Canal .NET - Utilizando o Event Hub e o Event Grid
Canal .NET - Utilizando o Event Hub e o Event GridCanal .NET - Utilizando o Event Hub e o Event Grid
Canal .NET - Utilizando o Event Hub e o Event Grid
 
Internet das Coisas na Medicina - Summit ACM 2021
Internet das Coisas na Medicina - Summit ACM 2021Internet das Coisas na Medicina - Summit ACM 2021
Internet das Coisas na Medicina - Summit ACM 2021
 
TDC Transformation 2021 - Certificação AZ-900 Azure Fundamental: Conceitos, d...
TDC Transformation 2021 - Certificação AZ-900 Azure Fundamental: Conceitos, d...TDC Transformation 2021 - Certificação AZ-900 Azure Fundamental: Conceitos, d...
TDC Transformation 2021 - Certificação AZ-900 Azure Fundamental: Conceitos, d...
 
The Developers Connections 2021 - Internet das Coisas aplicada no suporte a p...
The Developers Connections 2021 - Internet das Coisas aplicada no suporte a p...The Developers Connections 2021 - Internet das Coisas aplicada no suporte a p...
The Developers Connections 2021 - Internet das Coisas aplicada no suporte a p...
 
Cloud Lunch and Learn - Sobrevoando o Azure
Cloud Lunch and Learn - Sobrevoando o AzureCloud Lunch and Learn - Sobrevoando o Azure
Cloud Lunch and Learn - Sobrevoando o Azure
 
Azure Weekend - Utilizando Azure Batch em Linux
Azure Weekend - Utilizando Azure Batch em LinuxAzure Weekend - Utilizando Azure Batch em Linux
Azure Weekend - Utilizando Azure Batch em Linux
 

Contribuições do projeto Azure Sphere para evolução dos padrões de segurança em soluções de Internet das Coisas

  • 1. Globalcode – Open4education Contribuições do projeto Azure Sphere para evolução dos padrões de segurança em soluções de Internet das Coisas Walter Silvestre Coan walter.coan@gmail.com www.faltoupontoevirgula.com.br
  • 2. Globalcode – Open4education Walter Silvestre Coan Microsoft MVP em Azure 2020/2021 Certificações Azure IoT Developer – Specialty Azure Developer – Associate Azure Fundamentals MCT MCSD – MCSA (C# e Web Apps) AWS Developer Sun Certified Programmer em Java 5.0 Mestre em Ciência da Computação na área de Sistemas Distribuídos e Redes de Sensores sem Fio - PUCPR Pós-Graduado em Engenharia de Software - PUCPR Bacharel em Informática - UNIVILLE Professor no Bacharelado em Sistemas de Informação e do Bacharelado em Engenharia de Software da UNIVILLE walter.coan@gmail.com – www.faltoupontoevirgula.com.br
  • 3. Globalcode – Open4education Agenda O que é o Azure Sphere As sete propriedades de um dispositivo IoT seguro As melhores práticas para implementação das sete propriedades de um dispositivo seguro Projeto utilizando Azure Sphere
  • 4. Globalcode – Open4education The Seven Properties of Highly Secure Devices: the new standard for securing MCU powered IoT experiences Hardware Root of Trust Seu dispositivo é identificável e a integridade do software é confirmada por hardware? Defense In Depth Seu dispositivo se mantém seguro se um mecanismo de segurança for destruído? Small Trusted Computing Base O seu dispositivo reforça a segurança contra bugs no código das aplicações? Dynamic Compartments As proteções de segurança do seu dispositivo podem melhorar após a implantação? Certificate-Based Authentication Seu dispositivo utiliza certificados digitais ao invés de senhas para autenticação? Failure Reporting Seu dispositivo reporta falhas e anomalias? ! Renewable Security Seu dispositivo atualiza o software de forma automática? Suporte do Hardware Suporte do Sistema Operacional Suporte do Serviço de Nuvem https://www.microsoft.com/en-us/research/wp- content/uploads/2017/03/SevenPropertiesofHighlySecureDevices.pdf
  • 5. Globalcode – Open4education Azure Sphere O Azure Sphere baseia-se em décadas de experiência da Microsoft em hardware, software e nuvem para fornecer uma solução completa e pronta para o uso para dispositivos IoT. Disponibilidade geral desde 24/02/2020.
  • 6. Globalcode – Open4education Azure Sphere Secured MCUs Uma nova categoria de MCU’s chamado Azure Sphere, produzidos por empresas parceiras, com tecnologia de segurança da Microsoft, que fornece conectividade, alto desempenho e características de segurança no hardware. Secured Operating System Sistema operacional seguro Azure Sphere OS que combina as melhores práticas da Microsoft e da comunidade Open Source, criando uma plataforma confiável para uma nova experiência em IoT. Secured by our Cloud Service Azure Sphere Security Service protege cada dispositivo e os clientes, detecta falhas de segurança e responde de forma proativa.
  • 7. Globalcode – Open4education Azure Sphere Microsoft Pluton Security Subsystem – Root of Trust ARM Cortex-A provê isolamento de processos através do gerenciamento de unidades de memória. Azure Sphere OS cria containers para as aplicações que utilizam espaços de memória reservados. Cada chip possui sua própria memória flash e SRAM. 2x ARM Cortex-M é o MCU, que executa o processamento em real time.
  • 8. Globalcode – Open4education Azure Sphere Azure Sphere utiliza a tecnologia ARM’s TrustZone que permite a criação de ambientes independentes de execução dentro de um único chip. • Secure World – alto nível de privilégios • Normal World – baixo nível de privilégios Cada ambiente pode executar seu próprio sistema operacional e aplicações Azure Sphere Trusted Computing Base (TCB) é composto por componentes eletrônicos e software que roda no Secure World. Parte do TCB está no Pluton Security System e parte se estende ao Security Monitor que é executado no Cortex-A7.
  • 9. Globalcode – Open4education Azure Sphere Microsoft Pluton Security Subsystem é composto por três componentes: • Pluton Fabric – recursos de segurança implementados no hardware • ECDSA - Algoritmo de Assinatura Digital de Curvas Elípticas • Acesso as chaves PKI (Infraestrutura de chaves públicas x.509) – gravada em e-Fuse no momento da construção do MCU. • Pluton Runtime – inicializa o funcionamento com o Pluton Fabric • Checagem da inicialização do sistema • Único componente capaz de acessar o Pluton Fabric • Não possui acessos privilegiados e sua única permissão é executar funções e coletar os resultados do Pluton Fabric • Real-time core dedicado ao Pluton • Executado no arm Trustzone Secure World
  • 10. Globalcode – Open4education Azure Sphere Cortex-A7 • Security Monitor • É executado no Security World • Verifica e permite políticas de acesso a recursos • Atualização do software • Auditoria do ambiente • Único componente com permissão de acesso a memória flash
  • 11. Globalcode – Open4education Azure Sphere Cortex-A7 • Custom Linux Kernel • Normal World • On-chip Cloud Service • Normal World • Comunicação com Azure Sphere Security Service • Aplicação desenvolvida pelo fabricante do dispositivo • Executada em um sandbox • Padrão POSIX
  • 12. Globalcode – Open4education Azure Sphere Cortex-M4 – Real Time Core • Totalmente dedicados e isolados para a aplicação cliente; • Execução bare metal • Execução RTOS • Normal World • Periféricos podem ser mapeados para estes núcleos garantindo características de aplicações em tempo real
  • 13. Globalcode – Open4education Azure Sphere https://d86o2zu8ugzlg.cloudfront.net/mediatek-craft/documents/mt3620/MediaTek-MT3620-Product-Brief-Nov2018.pdf ARM Cortex A7 NEON FPU 64kB L1 instruction cache 32kB L1 data cache 256kB L2 cache, 4MB system memory for the Azure Sphere operating system and user applications 2x ARM Cortex M4 cores 192kB TCM (Tightly-Coupled Memory) 64kB SRAM FPU Floating Point Unit Pluton Security Subsystem ARM Cortex-M4F security processor 128kB secured TCM 64kB secured mask ROM bootloader Wi-Fi Processador dedicado N9 32-bit RISC core IEEE 802.11 a/b/g/n Bandas de 2.4GHz e 5GHz
  • 16. Globalcode – Open4education Azure Sphere Secure Boot • Processo de verificação da assinatura de todos os softwares que são executados a partir do boot são legítimos • Todo software que é executado é assinado por uma chave privada da Microsoft e verificada por uma chave pública no Azure Sphere Measured Boot (Boot controlado) • Faz parte do processo de atestação remota de que o boot seguro foi executado. • O serviço remoto verifica qual software foi utilizado para realizar o boot da aplicação • Se o software utilizado é de uma fonte desconhecida, o acesso do dispositivo a recursos pode ser negado. • Se o dispositivo estiver rodando software que não esta atualizado ou que não seja mais confiável pela Microsoft (zero-day exploit), o dispositivo é obrigado a se atualizar para ter acesso a qualquer recurso. Fonte: Ed Nightingale, Penny Orwick
  • 17. Globalcode – Open4education Azure Sphere As melhores práticas para implementar as sete propriedades de segurança • Tratar a boot ROM como um software não atualizável e minimizar seu tamanho • A boot ROM é gravada no momento da manufatura do microprocessador • É considerado o código mais seguro pois não pode ser modificado • Tentativas de ataques comuns aplicados • Realizar ações que forcem o MCU a pular parte do código da ROM que por exemplo faz verificação de assinaturas dos softwares, para dai inserir um código não autorizado para ser executado • Solução • Implementar no hardware dispositivos para impedir a possibilidade do código da ROM não ser totalmente executado • Reduzir o tamanho da ROM para diminuir sua área de ataque Fonte: Ed Nightingale, Penny Orwick
  • 18. Globalcode – Open4education Azure Sphere As melhores práticas para implementar as sete propriedades de segurança • Nunca expor chaves privadas do dispositivo ao software • Azure Sphere utiliza o método de criptografia de chaves públicas e privadas elliptic-curve cryptography (ECC) para implementar o Boot Seguro e o Boot controlado. • As chaves são gravadas em dispositivos chamados one-time programmable fuse (OTP) (e- fuse), não podem ser modificados e são acessíveis apenas pelo Pluton Fabric • O Boot controlado utiliza um conjunto de chaves publicas e privadas geradas no momento da produção do MCU • A parte privada da chave é gravada nos e-fuses • A parte pública da chave é coletada pela Microsoft • Tentativas de ataques comuns • Hardware Secure Module (HSM) dispositivos utilizados para gerar e armazenar pares de chaves que precisam ser transferidos para o MCU, possibilitando um ataque de man-in- the-middle • Solução • Nenhuma parte do software tem acesso as chaves Fonte: Ed Nightingale, Penny Orwick
  • 19. Globalcode – Open4education Azure Sphere As melhores práticas para implementar as sete propriedades de segurança • Utilize o chaves ECC (Elliptic-curve cryptography) do que RSA (Rivest-Shamir- Adleman) • ECC tem resistência a ataque de força bruta equivalente ao RSA • ECC necessitam de menos RAM e geram chaves menores portanto precisam de menos espaço de e-Fuses para serem armazenadas, reduzindo o custo de produção do MCU • ECC necessitam de uma única fonte de dados aleatórios para ser gerada • Azure Sphere possui um hardware específico e auto verificado para geração de números randômicos • RSA necessita da geração de dois números primos randômicos, processo que tem um alto custo computacional Fonte: Ed Nightingale, Penny Orwick
  • 20. Globalcode – Open4education Azure Sphere As melhores práticas para implementar as sete propriedades de segurança • Utilize o Boot Seguro em todo lugar e sempre • Verificação das assinaturas contra as chaves ECC utilizando o algoritmo ECDSA (Elliptic Curve Digital Signature Algorithm) • A chave privada é mantida pela Microsoft • A chave pública precisa ser distribuída aos dispositivos de forma segura, garantindo sua integridade • Bootstrap key mais um conjunto de chaves, onde a parte pública é gravada nos e-fuses, e utilizada pela ROM para verificar o bootloader. Utilizada também para verificar a assinatura de um arquivo binário contendo as chaves públicas utilizadas para verificar os demais componentes de software. ROM verifica assinatura bootloader • Uma vez verificado inicia a execução Bootloader verifica a assinatura do software do Pluton Runtime • Uma vez verificado inicializa a execução Pluton inicia a verificação da assinatura da próxima camada de software Até chegar na Aplicação de Negócio Fonte: Ed Nightingale, Penny Orwick
  • 21. Globalcode – Open4education Azure Sphere As melhores práticas para implementar as sete propriedades de segurança • Utilize o Boot Controlado para comprovar Boot Seguro • O Boot controlado utiliza uma lista de assinaturas dos softwares para comprovar que o Boot Seguro foi executado para o serviço remoto de certificação do Azure • Durante o Boot seguro um valor hash de cada software verificado é acumulado • Esse acumulador não pode ser apagado, a não ser que o MCU seja resetado • O Azure Sphere conecta por TLS com o Azure Sphere Security Server, e solicita um valor que comprove sua integridade além de outros dados coletados durante o processo de boot seguro. • O Azure Sphere combina os valores do hash, e assina o valor com a chave privada única do dispositivo, essa chave é utilizada apenas para certificação de integridade remota. • O Azure Sphere Security Server possui a chave pública do dispositivo, que permite verificar a integridade dos dados passados pelo dispositivo. Fonte: Ed Nightingale, Penny Orwick
  • 22. Globalcode – Open4education Azure Sphere As melhores práticas para implementar as sete propriedades de segurança • Utilize o Boot Controlado para comprovar Boot Seguro • O Boot controlado utiliza uma lista de assinaturas dos softwares para comprovar que o Boot Seguro foi executado para o serviço remoto de certificação do Azure • Se a certificação remota ocorrer com sucesso • O dispositivo recebe dois certificados x.509: o primeiro é um certificado para atualização do dispositivo através de uma conexão segura com o serviço na nuvem, e o segundo certificado habilita que o dispositivo possa se conectar com serviços do Azure IoT como o Azure IoT Hub. • Estes certificados tem validade de 24 horas • É possível que a certificação remota ocorreu com sucesso, mas o software não é mais confiável • Neste caso o dispositivo recebe apenas o certificado de atualização, os binários no device são marcados como não confiáveis, e o dispositivo é obrigado a atualizar. Fonte: Ed Nightingale, Penny Orwick
  • 23. Globalcode – Open4education Azure Sphere As melhores práticas para implementar as sete propriedades de segurança • Não utilize ou realize o parse de certificados dentro do TCB • O processo de Boot Seguro e Boot Controlado do Azure Sphere não utiliza certificados, pois o processo de parse de certificados é um ponto comum de ataque, considerando que os certificados estão ficando mais complexos, o que torna o código de parse também mais complexo e propenso a erros. • E no caso de uma conexão TLS, que precisa fazer o parse de certificados? • Utiliza biblioteca wolfSSL, código aberto e verificado • Executada apenas em user-mode Fonte: Ed Nightingale, Penny Orwick
  • 24. Globalcode – Open4education Azure Sphere As melhores práticas para implementar as sete propriedades de segurança • Atualização de certificados • Azure Sphere possui um blob com um pequeno conjunto de certificados binários • Verificados durante o processo de boot seguro • Computadores comuns podem receber atualizações com novos certificados • Dispositivos IoT podem ficar meses parados antes de serem utilizados • Solução • O Azure Sphere conecta em um endpoint http para baixar a versão do blob de certificados mais atualizado. • O dispositivo tem consciência de que esse arquivo é considerado inseguro. • Esse blob é assinado com a chave privada bootstrap key e verificada com a parte pública que foi gravada no e-fuse do MCU. • Como um passo extra, algumas mensagens são trocadas para verificar se os certificados foram atualizados. Fonte: Ed Nightingale, Penny Orwick
  • 25. Globalcode – Open4education Azure Sphere As melhores práticas para implementar as sete propriedades de segurança • Conectividade é opcional • O que acontece se o dispositivo não possuir conectividade e se os certificados expirarem? • O dispositivo continua funcionando normalmente • O Boot Seguro não depende de certificados • Os aplicativos que já estão instalados no dispositivo, passarão pelo processo de verificação do Boot Seguro e serão colocados em funcionamento. Fonte: Ed Nightingale, Penny Orwick
  • 26. Globalcode – Open4education Azure Sphere As melhores práticas para implementar as sete propriedades de segurança • Tornam difícil construir botnets a partir de vulnerabilidades de dia zero • O Azure Sphere lida com essa questão utilizando o componente de firewall • Todo aplicativo possui um arquivo descritor (manifest) que descreve as políticas de acesso a recurso, periféricos e endereços de internet. • Não há possibilidade de uma aplicação reprogramar esse firewall. • E caso a aplicação precise conectar com um endereço onde ele não conheça o DNS • Suporte ao protocolo mDNS e DNS-SD Fonte: Ed Nightingale, Penny Orwick
  • 27. Globalcode – Open4education Azure Sphere Fonte: Ed Nightingale, Penny Orwick https://www.microsoft.com/security/blog/2020/05/20/cybersecurity-practices-implement-secured-devices/?WT.mc_id=AZ-MVP-5003638
  • 28. Globalcode – Open4education Azure Sphere Demonstração Azure Sphere integrado ao Azure IoT Central https://www.hackster.io/waltercoan/azure-sphere-and-mikroe-air-quality-sending-to-iot-central-99b156 Hackster Impact Prize