Preparando-se para o Hardened Runtime and Notary Service no macOS Mojave

Com o macOS Mojave, a Apple introduziu o suporte para os serviços Hardened Runtime e Notary. Esses dois serviços foram projetados para aprimorar a segurança dos aplicativos no macOS. Recentemente, a empresa disse :
A partir do macOS 10.14.5, todas as extensões de kernel novas ou atualizadas e todos os programas dos desenvolvedores que dominaram a distribuição com o ID do desenvolvedor devem ser autenticados por meio do Hardened Runtime and Notary para serem executados. Uma versão futura do macOS exigirá certificação por padrão para todos os programas.
Hoje vamos ajudá-lo a entender os novos requisitos do ponto de vista do Xamarin.


Segurança no macOS


  • Assinatura de código - no macOS GateKeeper requer assinatura criptográfica de pacotes de aplicativos usando uma chave de uma conta de desenvolvedor da Apple.

    1. Esse é um requisito desde o macOS Lion (10.7).
    2. Na primeira vez, pode ser difícil obter as chaves e os certificados certos. Consulte a documentação de assinatura do aplicativo Xamarin.Mac .

  • O Hardened Runtime é o segundo nível de segurança introduzido no macOS Mojave (10.14). Ao assinar código com um sinalizador adicional, o tempo de execução do Cocoa aplicará várias restrições ao aplicativo em execução.

    1. Por exemplo, algumas restrições incluem se recusar a executar código auto-modificador ou fazer o download de bibliotecas dinâmicas não assinadas.
    2. Cada categoria de restrições pode ser desativada usando direitos especiais.

  • O Serviço de Notariado é o terceiro nível de segurança também introduzido no macOS Mojave (10.14). Este é um serviço de verificação de código que verifica seu software em busca de conteúdo malicioso. Para passar em uma varredura de notário, seu aplicativo já deve ter sido testado no Hardened Runtime.

Como começar


Para começar a preparar seu aplicativo para esses novos requisitos, siga estas etapas:


Definir direitos


Até implementarmos o suporte IDE para as novas opções, você deve concluir manualmente duas etapas:

  1. Abra o aplicativo Xamarin.Mac .csproj em um editor de texto e adicione imagem para a seção Release.
  2. Abra o arquivo entitlements.plist em um editor de texto e inclua imagem

Inicie seu aplicativo e teste-o. No caso de uma falha, você pode precisar de direitos adicionais da Apple.

Garanta a aplicação


Para certificação, você precisa executar duas etapas:

  1. Carregar montagem no Serviço de Notariado
  2. Anexar um ticket ao aplicativo

Está tudo pronto! Se você tiver algum comentário sobre esse processo, teremos prazer em ouvi-lo. Envie um email para david.ortinau@microsoft.com ou adicione um comentário no GitHub .

Source: https://habr.com/ru/post/pt448396/


All Articles