Cair em Tentação: a Tentação Que te Faz Rendeu

A Apple lançou uma série de novos iPhones na terça-feira, carregados com os novos chips A19 e A19 Pro da empresa. Juntamente com um ultraleve iPhone Air e outras reformulações, os novos telefones vêm com uma atualização menos chamativa que poderia se transformar na verdadeira característica principal. Uma melhoria de segurança chamada Execução de Integridade de Memória combina proteções sempre ativas em nível de chips com defesas de software na tentativa de fortalecer os iPhones contra as vulnerabilidades de software mais comuns e comumente exploradas.

Nos últimos anos, um movimento tem crescido continuamente em toda a indústria global de tecnologia para abordar um tipo ubíquo e insidioso de bugs conhecidos como vulnerabilidades de segurança de memória. A memória de um computador é um recurso compartilhado entre todos os programas, e os problemas de segurança de memória surgem quando o software pode acessar dados que deveriam estar fora dos limites da memória de um computador ou manipular dados na memória que não deveriam ser acessíveis ao programa. Quando os desenvolvedores – mesmo os desenvolvedores experientes e conscientes da segurança – escrevem software em linguagens de programação ubíquas e históricas, como C e C++, é fácil cometer erros que levam a vulnerabilidades de segurança de memória. É por isso que ferramentas proativas como linguagens de programação especializadas têm proliferado com o objetivo de tornar estruturalmente impossível para o software conter essas vulnerabilidades, em vez de tentar evitá-las ou capturar todas elas.

“A importância da segurança de memória não pode ser exagerada”, escreveram a Agência de Segurança Nacional dos EUA e a Agência de Segurança Cibernética e Infraestrutura em um relatório de junho. “As consequências das vulnerabilidades de segurança de memória podem ser graves, indo desde violações de dados até falhas no sistema e interrupções operacionais.”

A linguagem de programação Swift da Apple, lançada em 2014, é segura em relação à memória. A empresa diz que tem escrito novo código em Swift há anos, bem como tentado revisar e reescrever estrategicamente o código existente na linguagem segura em memória para tornar seus sistemas mais seguros. Isso reflete o desafio da segurança de memória em toda a indústria, porque mesmo que um novo código seja escrito de forma mais segura, todo o software do mundo foi escrito em linguagens inseguras em relação à memória por décadas. E embora, em geral, o ecossistema fechado da Apple até agora tenha conseguido evitar ataques generalizados de malware contra iPhones, atacantes motivados, em particular fabricantes de spyware, ainda desenvolvem cadeias de exploração complexas do iOS a um alto custo para mirar iPhones específicos de vítimas.

Mesmo com o trabalho que a Apple realizou para começar a revisar seu código para segurança de memória, a empresa descobriu que essas cadeias de ataque rarificadas quase sempre ainda incluem a exploração de bugs de memória.

“As cadeias de spyware mercenário conhecidas usadas contra iOS compartilham um denominador comum com aquelas que visam Windows e Android: elas exploram vulnerabilidades de segurança de memória, que são intercambiáveis, poderosas e existem em toda a indústria”, escreveu a Apple em seu anúncio de Execução de Integridade de Memória na quarta-feira.

A Apple tem investido cada vez mais em segurança de memória com Swift e alocadores de memória seguros que gerenciam quais regiões de memória são “alocadas” e “desalocadas” para quais dados – um fator importante em, e fonte de, vulnerabilidades de segurança de memória. Mas a Execução de Integridade de Memória em si foi originalmente inspirada pelo trabalho em nível de hardware para proteger a integridade do código mesmo quando um sistema sofreu corrupção de memória.