
Implementação do iBoot em memória segura
Em dispositivos com iOS 14 e iPadOS 14 ou posteriores, a Apple modificou a cadeia de ferramentas do compilador C usada para construir o gerenciador de inicialização do iBoot para melhorar sua segurança. A cadeia de ferramentas modificada implementa código projetado para impedir problemas de segurança de memória e tipo, encontrados normalmente em programas C. Por exemplo, ela ajuda a impedir a maioria das vulnerabilidades nas seguintes classes:
Sobrecargas de buffer, ao garantir que todos os indicadores carreguem informações de limites que são verificadas ao acessar a memória
Exploração da heap, ao separar os dados da heap de seus metadados e detectar condições de erros com precisão, como áreas livres duplas
Confusão de tipo, ao garantir que todos os indicadores carreguem informações de tipo de tempo de execução verificadas durante as operações de seleção do indicador
Confusão de tipo causada por erros “usar depois de livre”, ao segregar todas as alocações de memória dinâmica por tipo estático
Essa tecnologia está disponível no iPhone com o chip A13 Bionic ou posterior e no iPad com o chip A14 Bionic ou posterior.