Proteger as configurações de segurança do macOS com proteção contra adulteração

Aplica-se a:

Deseja experimentar o Defender para Ponto de Extremidade? Inscreva-se para uma avaliação gratuita.

A proteção contra adulteração no macOS ajuda a evitar que alterações indesejadas nas configurações de segurança sejam feitas por usuários não autorizados. A proteção contra adulteração ajuda a impedir a remoção não autorizada de Microsoft Defender para Ponto de Extremidade no macOS. Esse recurso também ajuda arquivos de segurança importantes, processos e configurações de configuração a serem adulterados.

Importante

A partir de março de 2023, Microsoft Defender para Ponto de Extremidade no macOS começarão a respeitar a seleção de proteção contra adulteração aplicada por meio do comutador de proteção contra adulteração global em configurações avançadas no portal do Microsoft Defender (https://security.microsoft.com). Você pode optar por impor (bloquear/auditar/desabilitar) suas próprias configurações de proteção contra adulteração do macOS usando uma solução MDM (Mobile Gerenciamento de Dispositivos), como Intune ou JAMF (recomendado). Se a configuração de proteção contra adulteração não foi imposta por meio do MDM, um administrador local poderá continuar alterando manualmente a configuração com o seguinte comando: sudo mdatp config tamper-protection enforcement-level --value (chosen mode).

Você pode definir a Proteção contra Adulteração nos seguintes modos:

Tópico Descrição
Desabilitado A proteção contra adulteração está completamente desligada.
Auditoria As operações de adulteração são registradas, mas não bloqueadas. Esse modo é o padrão após a instalação.
Bloquear A proteção contra adulteração está ativada; As operações de adulteração são bloqueadas.

Quando a proteção contra adulteração é definida como auditar ou bloquear o modo, você pode esperar os seguintes resultados:

Modo de auditoria:

  • As ações para desinstalar o agente do Defender para Ponto de Extremidade são registradas (auditadas)
  • A edição/modificação dos arquivos do Defender para Ponto de Extremidade é registrada (auditada)
  • A criação de novos arquivos em Local do Defender para Ponto de Extremidade é registrada (auditada)
  • A exclusão de arquivos do Defender para Ponto de Extremidade é registrada (auditada)
  • A renomeação de arquivos do Defender para Ponto de Extremidade é registrada (auditada)

Modo de bloqueio:

  • Ações para desinstalar o agente do Defender para Ponto de Extremidade são bloqueadas
  • A edição/modificação dos arquivos do Defender para Ponto de Extremidade é bloqueada
  • A criação de novos arquivos em Local do Defender para Ponto de Extremidade é bloqueada
  • A exclusão de arquivos do Defender para Ponto de Extremidade é bloqueada
  • A renomeação de arquivos do Defender para Ponto de Extremidade é bloqueada
  • Os comandos para parar o agente (wdavdaemon) falham

Aqui está um exemplo de uma mensagem do sistema em resposta a uma ação bloqueada:

Captura de tela da mensagem de operação bloqueada.

Você pode configurar o modo de proteção contra adulteração fornecendo o nome do modo como nível de imposição.

Observação

  • A alteração de modo será aplicada imediatamente.
  • Se você usou JAMF durante a configuração inicial, precisará atualizar a configuração usando JAMF também.

Antes de começar

  • Versões do macOS com suporte: Big Sur (11) ou posterior.
  • Versão mínima necessária para o Defender para Ponto de Extremidade: 101.70.19.

Configurações altamente recomendadas:

  • SIP (Proteção de Integridade do Sistema) habilitado. Para obter mais informações, confira Desabilitar e habilitar a Proteção de Integridade do Sistema.

  • Use uma ferramenta MDM (gerenciamento de dispositivo móvel) para configurar Microsoft Defender para Ponto de Extremidade.

  • Verifique se o Defender para Ponto de Extremidade tem autorização de Acesso completo ao disco .

    Observação

    Tanto ter o SIP habilitado quanto toda a configuração feita via MDM não é obrigatório, mas necessário para um computador totalmente protegido, pois caso contrário, um administrador local ainda pode fazer alterações de adulteração gerenciadas pelo macOS. Por exemplo, habilitar o TCC (Transparência, Consentimento & Controle) por meio de uma solução de Gerenciamento de Dispositivos Móvel, como Intune, eliminará o risco de um administrador global revogar a Autorização de Acesso ao Disco Completo por um administrador local.

Configurar a Proteção contra Adulteração em dispositivos macOS

Microsoft Defender avalia essas configurações na ordem a seguir. Se uma configuração de prioridade superior estiver configurada, o restante será ignorado:

  1. Perfil de configuração gerenciada (configuração tamperProtection/enforcementLevel):
  2. Configuração manual (com mdatp config tamper-protection enforcement-level --value { disabled|audit|block })
  3. Se o sinalizador de Proteção contra Adulteração no Portal de Segurança for definido, o modo "bloquear" será usado (em Versão Prévia, não disponível para todos os clientes)
  4. Se o computador for licenciado, o modo "auditoria" será usado por padrão
  5. Se o computador não estiver licenciado, a Proteção contra Adulteração estará no modo "bloquear"

Antes de começar

Verifique se o computador está licenciado e saudável (relatório truede valores correspondente):

mdatp health
healthy                                     : true
health_issues                               : []
licensed                                    : true
...
tamper_protection                           : "audit"

tamper_protection relata o nível de aplicação efetivo.

Configuração manual

  1. Use o seguinte comando para alternar para o modo mais restritivo:
sudo mdatp config tamper-protection enforcement-level --value block

Imagem do comando de configuração manual

Observação

Você deve usar o perfil de configuração gerenciada (implantado via MDM) em máquinas de produção. Se um administrador local alterou o modo de proteção contra adulteração por meio de uma configuração manual, ele também poderá alterá-lo para um modo menos restritivo a qualquer momento. Se o modo de proteção contra adulteração foi definido por meio de um perfil gerenciado, apenas um administrador global poderá desfazê-lo.

  1. Verifique o resultado.
healthy                                     : true
health_issues                               : []
licensed                                    : true
engine_version                              : "1.1.19300.3"
app_version                                 : "101.70.19"
org_id                                      : "..."
log_level                                   : "info"
machine_guid                                : "..."
release_ring                                : "InsiderFast"
product_expiration                          : Dec 29, 2022 at 09:48:37 PM
cloud_enabled                               : true
cloud_automatic_sample_submission_consent   : "safe"
cloud_diagnostic_enabled                    : false
passive_mode_enabled                        : false
real_time_protection_enabled                : true
real_time_protection_available              : true
real_time_protection_subsystem              : "endpoint_security_extension"
network_events_subsystem                    : "network_filter_extension"
device_control_enforcement_level            : "audit"
tamper_protection                           : "block"
automatic_definition_update_enabled         : true
definitions_updated                         : Jul 06, 2022 at 01:57:03 PM
definitions_updated_minutes_ago             : 5
definitions_version                         : "1.369.896.0"
definitions_status                          : "up_to_date"
edr_early_preview_enabled                   : "disabled"
edr_device_tags                             : []
edr_group_ids                               : ""
edr_configuration_version                   : "20.199999.main.2022.07.05.02-ac10b0623fd381e28133debe14b39bb2dc5b61af"
edr_machine_id                              : "..."
conflicting_applications                    : []
network_protection_status                   : "stopped"
data_loss_prevention_status                 : "disabled"
full_disk_access_enabled                    : true

Observe que o "tamper_protection" agora está definido como "bloquear".

JAMF

Configure o modo de proteção contra adulteração no perfil de configuração Microsoft Defender para Ponto de Extremidade, adicionando as seguintes configurações:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>tamperProtection</key>
    <dict>
      <key>enforcementLevel</key>
      <string>block</string>
    </dict>
  </dict>
</plist>

Observação

Se você já tiver um perfil de configuração para Microsoft Defender para Ponto de Extremidade, precisará adicionar configurações a ele. Você não deve criar um segundo perfil de configuração.

Intune

Catálogo de configurações

Você pode criar um novo perfil de catálogo de configurações para adicionar a configuração de proteção contra adulteração ou adicioná-la a uma existente. A configuração "nível de imposição" pode ser encontrada na categoria "Microsoft Defender" e na subcategoria "Proteção contra adulteração". Depois, escolha o nível desejado.

Perfil personalizado

Como alternativa, você também pode configurar a proteção contra adulteração por meio de um perfil personalizado. Para obter mais informações, consulte Definir preferências para Microsoft Defender para Ponto de Extremidade no macOS.

Observação

Para Intune configuração, você pode criar um novo arquivo de configuração de perfil para adicionar a configuração de proteção contra adulteração ou adicionar esses parâmetros ao existente. Escolha o nível desejado.

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1">
    <dict>
        <key>PayloadUUID</key>
        <string>C4E6A782-0C8D-44AB-A025-EB893987A295</string>
        <key>PayloadType</key>
        <string>Configuration</string>
        <key>PayloadOrganization</key>
        <string>Microsoft</string>
        <key>PayloadIdentifier</key>
        <string>com.microsoft.wdav</string>
        <key>PayloadDisplayName</key>
        <string>Microsoft Defender for Endpoint settings</string>
        <key>PayloadDescription</key>
        <string>Microsoft Defender for Endpoint configuration settings</string>
        <key>PayloadVersion</key>
        <integer>1</integer>
        <key>PayloadEnabled</key>
        <true/>
        <key>PayloadRemovalDisallowed</key>
        <true/>
        <key>PayloadScope</key>
        <string>System</string>
        <key>PayloadContent</key>
        <array>
            <dict>
                <key>PayloadUUID</key>
                <string>99DBC2BC-3B3A-46A2-A413-C8F9BB9A7295</string>
                <key>PayloadType</key>
                <string>com.microsoft.wdav</string>
                <key>PayloadOrganization</key>
                <string>Microsoft</string>
                <key>PayloadIdentifier</key>
                <string>com.microsoft.wdav</string>
                <key>PayloadDisplayName</key>
                <string>Microsoft Defender for Endpoint configuration settings</string>
                <key>PayloadDescription</key>
                <string/>
                <key>PayloadVersion</key>
                <integer>1</integer>
                <key>PayloadEnabled</key>
                <true/>
                <key>tamperProtection</key>
                <dict>
                             <key>enforcementLevel</key>
                             <string>block</string>
                </dict>
            </dict>
        </array>
    </dict>
</plist>

Verificar status

Verifique o status de proteção contra adulteração executando o seguinte comando:

mdatp health --field tamper_protection

O resultado mostra "bloquear" se a proteção contra adulteração estiver ativada:

Imagem de proteção contra adulteração no modo de bloco

Você também pode executar completo mdatp health e procurar o "tamper_protection" na saída.

Para obter informações estendidas sobre o status de proteção contra adulteração, execute mdatp health --details tamper_protection.

Verificar funcionalidades preventivas de proteção contra adulteração

Você pode verificar se a proteção contra adulteração está ativada de várias maneiras.

Verificar o modo de bloco

O alerta de adulteração é gerado no portal do Microsoft Defender

Captura de tela do alerta de adulteração gerado no portal do Microsoft Defender.

Verificar modos de bloqueio e auditoria

  • Usando a caça avançada, você vê alertas de adulteração aparecerem
  • Eventos de adulteração podem ser encontrados nos logs de dispositivos locais: sudo grep -F '[{tamperProtection}]' /Library/Logs/Microsoft/mdatp/microsoft_defender_core.log

Captura de tela do log de proteção contra adulteração.

Cenários DIY

  • Com a proteção contra adulteração definida como "bloquear", tente métodos diferentes para desinstalar o Defender para Ponto de Extremidade. Por exemplo, arraste o bloco do aplicativo para o lixo ou desinstale a proteção contra adulterações usando a linha de comando.

  • Tente parar o processo defender para ponto de extremidade (kill).

  • Tente excluir, renomear, modificar, mover arquivos do Defender para Ponto de Extremidade (semelhante ao que um usuário mal-intencionado faria), por exemplo:

    • /Applications/Microsoft Defender ATP.app/
    • /Library/LaunchDaemons/com.microsoft.fresno.plist
    • /Library/LaunchDaemons/com.microsoft.fresno.uninstall.plist
    • /Library/LaunchAgents/com.microsoft.wdav.tray.plist
    • /Library/Managed Preferences/com.microsoft.wdav.ext.plist
    • /Biblioteca/Preferências Gerenciadas/mdatp_managed.json
    • /Library/Managed Preferences/com.microsoft.wdav.atp.plist
    • /Library/Managed Preferences/com.microsoft.wdav.atp.offboarding.plist
    • /usr/local/bin/mdatp

Desativar a Proteção contra Adulteração

Você pode desativar a Proteção contra Adulteração usando qualquer um dos métodos a seguir.

Configuração manual

Use o seguinte comando:

sudo mdatp config tamper-protection enforcement-level --value disabled

JAMF

Altere o enforcementLevel valor para "desabilitado" em seu perfil de configuração e envie-o por push para o computador:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>tamperProtection</key>
    <dict>
      <key>enforcementLevel</key>
      <string>disabled</string>
    </dict>
  </dict>
</plist>

Intune

Adicione a seguinte configuração em seu perfil de Intune:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1">
    <dict>
        <key>PayloadUUID</key>
        <string>C4E6A782-0C8D-44AB-A025-EB893987A295</string>
        <key>PayloadType</key>
        <string>Configuration</string>
        <key>PayloadOrganization</key>
        <string>Microsoft</string>
        <key>PayloadIdentifier</key>
        <string>com.microsoft.wdav</string>
        <key>PayloadDisplayName</key>
        <string>Microsoft Defender for Endpoint settings</string>
        <key>PayloadDescription</key>
        <string>Microsoft Defender for Endpoint configuration settings</string>
        <key>PayloadVersion</key>
        <integer>1</integer>
        <key>PayloadEnabled</key>
        <true/>
        <key>PayloadRemovalDisallowed</key>
        <true/>
        <key>PayloadScope</key>
        <string>System</string>
        <key>PayloadContent</key>
        <array>
            <dict>
                <key>PayloadUUID</key>
                <string>99DBC2BC-3B3A-46A2-A413-C8F9BB9A7295</string>
                <key>PayloadType</key>
                <string>com.microsoft.wdav</string>
                <key>PayloadOrganization</key>
                <string>Microsoft</string>
                <key>PayloadIdentifier</key>
                <string>com.microsoft.wdav</string>
                <key>PayloadDisplayName</key>
                <string>Microsoft Defender for Endpoint configuration settings</string>
                <key>PayloadDescription</key>
                <string/>
                <key>PayloadVersion</key>
                <integer>1</integer>
                <key>PayloadEnabled</key>
                <true/>
                <key>tamperProtection</key>
                <dict>
                  <key>enforcementLevel</key>
                  <string>disabled</string>
                </dict>
            </dict>
        </array>
    </dict>
</plist>

Exclusões

Observação

Disponível na versão 101.98.71 ou mais recente.

A Proteção contra Adulterações impede que qualquer processo macOS faça alterações nos ativos do Microsoft Defender ou mate os processos da Microsoft Defender. Os ativos protegidos incluem arquivos de instalação e configuração.

Internamente, Microsoft Defender faz exceções a determinados processos macOS, em determinadas circunstâncias. Como exemplo, o macOS poderá atualizar o pacote do Defender se a Proteção contra Adulteração verificar a autenticidade dos pacotes. Há outras exclusões também. Por exemplo, o processo de MDM do macOS pode substituir os arquivos de configuração gerenciados do Defender da Microsoft.

Há situações em que um administrador global precisa reiniciar o Defender em todos ou em alguns computadores gerenciados. Normalmente, é feito criando e executando uma política do JAMF que executa um script em computadores remotos (ou operações semelhantes para outros fornecedores de MDM).)

Para evitar marcar essas operações iniciadas por políticas, Microsoft Defender detecta esses processos de política de MDM para JAMF e Intune e permite operações de adulteração delas. Ao mesmo tempo, a Proteção contra Adulteração bloqueará o mesmo script de reiniciar Microsoft Defender, se ele for iniciado de um Terminal localmente.

No entanto, esses processos de execução de política são específicos do fornecedor. Embora Microsoft Defender forneça exclusões internas para JAMF e Intune, ela não pode fornecer essas exclusões para todos os fornecedores de MDM possíveis. Em vez disso, um administrador global pode adicionar suas próprias exclusões à Proteção contra Adulterações. As exclusões só podem ser feitas por meio do perfil MDM, não da configuração local.

Para fazer isso, primeiro você precisa descobrir o caminho para o processo auxiliar do MDM que executa políticas. Você pode fazer isso seguindo a documentação do fornecedor do MDM. Você também pode iniciar a adulteração de uma política de teste, obter um alerta no Portal de Segurança, inspecionar a hierarquia de processos que iniciaram o "ataque" e escolher o processo que se parece com um candidato auxiliar do MDM.

Depois que o caminho do processo for identificado, você terá poucas opções sobre como configurar uma exclusão:

  • Pelo caminho em si. É o mais simples (você já tem esse caminho) e a maneira menos segura de fazê-lo, em outras palavras, não é recomendada.
  • Ao obter a ID de assinatura do executável, teamIdentifier ou identificador de assinatura, executando codesign -dv --verbose=4 path_to_helper (procure Identificador e TeamIdentifier, este último não está disponível para as próprias ferramentas da Apple.)
  • Ou usando uma combinação desses atributos.

Exemplo:

codesign -dv --verbose=4 /usr/bin/ruby
Executable=/usr/bin/ruby
Identifier=com.apple.ruby
Format=Mach-O universal (x86_64 arm64e)
CodeDirectory v=20400 size=583 flags=0x0(none) hashes=13+2 location=embedded
Platform identifier=14
VersionPlatform=1
VersionMin=852992
VersionSDK=852992
Hash type=sha256 size=32
CandidateCDHash sha256=335c10d40db9417d80db87f658f6565018a4c3d6
CandidateCDHashFull sha256=335c10d40db9417d80db87f658f6565018a4c3d65ea3b850fc76c59e0e137e20
Hash choices=sha256
CMSDigest=335c10d40db9417d80db87f658f6565018a4c3d65ea3b850fc76c59e0e137e20
CMSDigestType=2
Executable Segment base=0
Executable Segment limit=16384
Executable Segment flags=0x1
Page size=4096
Launch Constraints:
  None
CDHash=335c10d40db9417d80db87f658f6565018a4c3d6
Signature size=4442
Authority=Software Signing
Authority=Apple Code Signing Certification Authority
Authority=Apple Root CA
Signed Time=Apr 15, 2023 at 4:45:52 AM
Info.plist=not bound
TeamIdentifier=not set
Sealed Resources=none
Internal requirements count=1 size=64

Configurar preferências, por exemplo, para JAMF:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>tamperProtection</key>
    <dict>
      <key>enforcementLevel</key>
      <string>block</string>
      <key>exclusions</key>
      <array>
        <dict>
          <key>path</key>
          <string>/usr/bin/ruby</string>
          <key>teamId</key>
          <string/>
          <key>signingId</key>
          <string>com.apple.ruby</string>
          <key>args</key>
          <array>
            <string>/usr/local/bin/global_mdatp_restarted.rb</string>
          </array>
        </dict>
      </array>
    </dict>
  </dict>
</plist>

Observe que a exclusão de um intérprete de script (como Ruby do exemplo acima) em vez de um executável compilado não é segura, pois pode executar qualquer script, não apenas aquele que um administrador global usa.

Para minimizar o risco, recomendamos usar o extra args para permitir que apenas scripts específicos sejam executados com intérpretes de script. No exemplo acima, só /usr/bin/ruby /usr/local/bin/global_mdatp_restarted.rb é permitido reiniciar o Defender. Mas, por exemplo, /usr/bin/ruby /Library/Application Support/Global Manager/global_mdatp_restarted.rb ou mesmo /usr/bin/ruby /usr/local/bin/global_mdatp_restarted.rb $USER não são permitidos.

Aviso

Use sempre os critérios mais restritivos para evitar ataques inesperados!

Solução de problemas de configuração

Problema: a proteção contra adulteração é relatada como desabilitada

Se a execução do comando mdatp health relatar que a proteção contra adulteração está desabilitada, mesmo se você a habilitou e mais de uma hora se passou desde a integração, você poderá marcar se tiver a configuração certa executando o seguinte comando:

mdatp health --details tamper_protection
tamper_protection                           : "audit"
exclusions                                  : [{"path":"/usr/bin/ruby","team_id":"","signing_id":"com.apple.ruby","args":["/usr/local/bin/global_mdatp_restarted.rb"]}] [managed]
feature_enabled_protection                  : true
feature_enabled_portal                      : true
configuration_source                        : "local"
configuration_local                         : "audit"
configuration_portal                        : "block"
configuration_default                       : "audit"
configuration_is_managed                    : false
  • tamper_protection é o modo efetivo . Se esse modo for o modo que você pretende usar, todos vocês estarão definidos.
  • configuration_source indica como o nível de aplicação da Proteção contra Adulteração é definido. Ele deve corresponder à forma como você configurou a proteção contra adulteração. (Se você definir seu modo por meio de um perfil gerenciado e configuration_source mostrar algo diferente, provavelmente você configurou mal seu perfil.)
    • mdm - ele é configurado por meio de um perfil gerenciado. Somente um administrador global pode alterá-lo com uma atualização para o perfil!
    • local - ele está configurado com mdatp config o comando
    • portal – nível de imposição padrão definido no Portal de Segurança
    • defaults - não configurado, o modo padrão é usado
  • Se feature_enabled_protection for falso, a Proteção contra Adulteração não está habilitada para sua organização (isso acontece se o Defender não relatar 'licenciado')
  • Se feature_enabled_portal for falso, a configuração do modo padrão por meio do Portal de Segurança ainda não está habilitada para você.
  • configuration_local, configuration_portalinforma configuration_default o modo que seria usado se o canal de configuração correspondente fosse usado. (Como exemplo, você pode configurar a Proteção contra Adulteração para o modo "bloquear" por meio de um perfil MDM e configuration_default informa audit. Isso significa apenas que , se você remover seu perfil e o modo não estiver definido com mdatp config ou por meio do Portal de Segurança, ele usará o modo padrão, que é audit.)

Observação

Você precisa inspecionar os logs do Microsoft Defender para obter as mesmas informações antes da versão 101.98.71. Confira abaixo um exemplo.

$ sudo grep -F '[{tamperProtection}]: Feature state:' /Library/Logs/Microsoft/mdatp/microsoft_defender_core.log | tail -n 1

Dica

Você deseja aprender mais? Engage com a comunidade de Segurança da Microsoft em nossa Comunidade Tecnológica: Microsoft Defender para Ponto de Extremidade Tech Community.