
Processo de assinatura do código de apps no iOS, iPadOS, tvOS, watchOS e visionOS
Em dispositivos com iOS, iPadOS, tvOS, watchOS e visionOS, a Apple oferece segurança de apps por meio de medidas como assinatura obrigatória de código, registro estrito de desenvolvedores e outras.
Assinatura obrigatória de código
Depois de ser iniciado, o kernel controla quais processos de usuário e apps podem ser executados. Para ajudar a garantir que todos os apps provenham de uma fonte conhecida e aprovada e que não tenham sido adulterados, esses sistemas operacionais exigem que todos os códigos executáveis sejam assinados por um certificado emitido pela Apple. Os apps fornecidos com o dispositivo, como o Mail e o Safari, são assinados pela Apple. Os apps de terceiros também precisam ser validados e assinados por um certificado emitido pela Apple. A assinatura de código obrigatória estende o conceito de cadeia de confiança do sistema operacional aos apps e ajuda a impedir que apps de terceiros carreguem recursos de código não assinado ou usem código que se modifique sozinho.
Como os desenvolvedores assinam os apps
Desenvolvedores podem assinar seus apps por meio da validação de certificados (por meio do Programa de Desenvolvedor da Apple). Eles também podem integrar frameworks a seus apps e ter esse código validado com um certificado emitido pela Apple (por meio de um ID de string da equipe).
Validação de certificado: para desenvolver e instalar apps em dispositivos iPhone, iPad, Apple TV, Apple Watch e Apple Vision Pro, desenvolvedores devem se registrar na Apple e entrar no Programa Apple Developer. A identidade real de cada desenvolvedor, seja ele um indivíduo ou uma empresa, é verificada pela Apple antes da emissão de seu certificado. Esse certificado permite que os desenvolvedores assinem e enviem apps à App Store para distribuição. Como resultado, todos os apps que estão na App Store foram enviados por uma pessoa ou organização identificável, o que mitiga a criação de apps maliciosos. Os apps também foram revisados pela Apple para ajudar a garantir que funcionem de forma geral como descrito e não contenham erros óbvios ou outros problemas marcantes. Além da tecnologia já discutida, esse processo de curadoria permite que os usuários possam confiar na qualidade dos apps que adquirem.
Validação da assinatura de código: o iOS, iPadOS, tvOS, watchOS e visionOS permitem que desenvolvedores integrem frameworks aos seus apps. Tais frameworks podem ser usados pelo próprio app ou por extensões integradas a ele. Para proteger o sistema e outros apps do carregamento de códigos de terceiros em seu espaço de endereço, o sistema executa uma validação da assinatura de código de todas as bibliotecas dinâmicas das quais um processo depende ao ser aberto. Essa verificação é realizada por meio do identificador da equipe (ID da Equipe), extraído do certificado emitido pela Apple. O identificador da equipe é uma string alfanumérica de 10 caracteres, como 1A2B3C4D5F, por exemplo. Um programa pode depender de qualquer biblioteca de plataforma fornecida com o sistema ou qualquer biblioteca com o mesmo identificador de equipe na assinatura de código do executável principal. Como os executáveis fornecidos como parte do sistema não possuem um identificador de equipe, eles só podem depender de bibliotecas fornecidas com o próprio sistema.
Verificação de apps proprietários para uso interno
As empresas qualificadas podem desenvolver apps proprietários para uso interno e distribuí-los aos seus funcionários. As empresas e organizações podem se candidatar ao Programa Empresarial de Desenvolvedor da Apple (ADEP). Para obter mais informações e consultar os requisitos de qualificação, consulte o site do Programa Empresarial de Desenvolvedor da Apple. Após se tornar membro do ADEP, uma organização pode se registrar para obter um perfil de provisão que permite que os apps proprietários desenvolvidos internamente sejam executados nos dispositivos que ela autoriza.
Os usuários precisam ter o perfil de provisão instalado para executar esses apps. Isso ajuda a garantir que apenas os usuários designados pela organização possam carregar os apps em seus dispositivos iPhone, iPad ou Apple Vision Pro. Os apps instalados por meio do gerenciamento de dispositivos móveis (MDM) são implicitamente confiáveis porque o relacionamento entre a organização e o dispositivo já está estabelecido. Caso contrário, os usuários precisam aprovar o perfil de provisão do app nos Ajustes. As organizações também podem restringir a aprovação de apps de desenvolvedores desconhecidos por seus usuários. Ao abrir pela primeira vez um app proprietário para uso interno, o dispositivo precisa receber uma confirmação positiva da Apple, indicando que o app tem permissão para ser executado.