Como o iPhone 17 é o celular mais seguro do mundo Explicando um pouco sobre o novo sistema de checagem de memória do chip A19 👇🧵
Recentemente a Apple publicou no seu blog sobre segurança o seguinte artigo (imagem) Vou discutir um pouco dos resultados nos próximos tweets
Em 2019 a ARM publicou a especificação MTE (Memory Tagging Extension) que pode ser resumida em 4 pontos: 1. É uma ferramenta pra hardware que ajuda a encontrar bugs de memory corruption 2. Um sistema que demarca cada alocação de memória com uma tag de “segredo” 3. Acessos
A Apple e seus engenheiros conduziram estudos pra ver a viabilidade da especificação e se iria atender os requisitos de segurança da empresa. Porém, o MTE mostrou problemas que para os engenheiros era inaceitável, o que culminou com a Apple trabalhando em conjunto com a ARM para
E qual foi o problema? O MTE poderia reportar memory corruption síncrono ou assíncrono.
Sincrono: Quando uma corrupção de memória é detectada, uma exceção é gerada imediatamente, interrompendo o programa no ponto exato da falha. Este modo é mais preciso para debug, pois identifica a instrução exata que causou o problema e é considerado mais seguro, pois não deixa
Modo Assíncrono: Neste modo, a detecção de corrupção de memória não interrompe o programa imediatamente. A execução continua até um ponto conveniente para o sistema, como uma chamada de sistema. Isso cria uma "janela de corrida" (race window), que é um intervalo de tempo em que
Foi constatado então que proteções a nivel de memória devem ser ser extritamente síncronas, ativadas por default e que funcionem continuamente. Esses requisitos são desafiadores por demandarem muito do hardware. Para uma mudança desse tipo, mudanças enormes deveriam ser feitas,
Então, antes de explicar a ferramenta, preciso falar quais os bugs mais comuns envolvendo memória: 1. Buffer Overflow (especificamente out of bonds): ocorre quando você escreve parte de uma instrução fora do bloco de memória designado 2. Use-after-free: acontece quando há
A imagem mostra o número de problemas que a Apple vem corrigindo nos últimos anos de memory corruption. Como é impossível ter um sistema livres de bugs, a ideia e torná-los o mais difícil possível de serem explorados.
E quais as soluções que temos hoje? O mais comum é o uso Adress Sanitizers. Essas ferramentas buscam fazer com que um programa tenha instruções adicionais pra evitar acesso de memória indevida. O problema que, sanitizers a nível de software tornam a aplicação muito pesada devido
Assim, a vantagem do MTE/EMTE é ser baseado todo em hardware e aproveitar a arquitetura ARMv9-A. Assim, tanto o chip A19 quanto o A19Pro tem implementações internas para aproveitar essas medidas de segurança, de modo que o custo é quase nulo e não irá afetar a performance do
E como funciona a proteção? Pense como como um sistema de chave e fechadura para a memória do seu celular. Utilizando a MTE da ARM, o MIE (Memory Integrity Enforcement) atribui uma "tag" (a fechadura) única e aleatória a cada porção de memória alocada. O ponteiro que acessa essa
Como o MIE bloqueia buffer overflow: O allocator é responsável por usar diferentes tags para alocações vizinhas. Caso haja uma requisição para um bloco vizinho com uma chave diferente, o hardware bloqueia na hora a requisição e o sistema operacional cuida para terminar o
E como lidar com o user-after-free: O allocator é responsável por remarcar a tag na memória assim que o processo é liberado, para que a área seja reutilizada. Na imagem a baixo, a parte da memória com 🔼 foi remarcada com a tag ⏹️. Portanto, caso haja requisições com a tag 🔼 na
A Apple diz no seu artigo que seu time não foi capaz de driblar o MIE e os únicos "efeitos" restantes de memory corruption são tão inviáveis de serem reproduzidos que hackers não conseguiriam se aproveitar deles.
Vale ressaltar que a tecnologia MTE da ARM não é exclusiva da Apple. O Google já implementou em alguns dos seus celulares Pixel. A grande vantagem da Apple é a sua integração completa (SO, Chip, Swift), enquanto o primeiro já possui falhas conhecidas, como citado no artigo.
Por fim, "mais seguro" não significa "inviolável". Os hackers simplismente mudarão de foco, podendo explorar outras tipos de ataque como engenharia social, phishing, bugs de lógica, ataques de supply chain, bugs no próprio hardware, etc. E embora muito improvável, qualquer nova
Espero que você tenha aprendido algo :) Se quiser me conhecer mais só olhar aqui: http://beacons.ai/devcelio
@devcelio Existe alguma thread dessa só que com o Android?
@henechen Eu fiz pra iOS pq é a parte que mais me interessa O ideal seria vc pesquisar esses tópicos de MTE na parte de Android
@devcelio Ate diria que esse ia trazer mt hate no tiktok mas n acho q o pessoal de la chegaria ate o fim
@dsc_nate Amanhã posto um vídeo lá sobre isso Se viralizar igual o do trackpad deve vir hate do mesmo jeito kkkkk
@devcelio Célio vc não vai me convencer de comprar um iPhone... Hoje.
@dasilvakevyn Kkkkkkkkkkkkkkkk Um dia vc sairá da caverna e verá a verdade!!!!!
@devcelio não é melhor que meu poco x6
@rafaelmota_f ai vc me quebrou nos argumentos










