# M1044 — Restrict Library Loading
## Descrição
Restringir o carregamento de bibliotecas envolve a implementação de controles de segurança para garantir que apenas bibliotecas confiáveis e verificadas (DLLs, shared objects, etc.) sejam carregadas nos processos.
```mermaid
graph TB
A["⚙️ Habilitar SafeDLLSearchMode<br/>Windows — impede DLL<br/>hijacking por ordem de busca"] --> B["✍️ Exigir Code Signing<br/>DLLs devem ter<br/>assinatura digital válida"]
B --> C["🔒 Restringir LD_PRELOAD<br/>Linux — bloquear variável<br/>para usuários não-root"]
C --> D["📁 Proteger Library Paths<br/>ACLs em diretórios<br/>sem escrita para usuários"]
D --> E["📊 Monitorar com Sysmon<br/>Event ID 7 — ImageLoad<br/>alertar libs não assinadas"]
``` Adversários frequentemente abusam de DLL Injection, DLL Search Order Hijacking ou mecanismos de LD_PRELOAD para executar código malicioso forçando o sistema operacional a carregar bibliotecas não confiáveis. Esta mitigação pode ser implementada por meio das seguintes medidas:
Aplicar Práticas Seguras de Carregamento de Bibliotecas:
- Habilitar `SafeDLLSearchMode` no Windows.
- Restringir o uso de `LD_PRELOAD` e `LD_LIBRARY_PATH` em sistemas Linux.
Aplicação de Code Signing:
- Exigir assinaturas digitais para todas as bibliotecas carregadas nos processos.
- Utilizar ferramentas como Signtool e WDAC para aplicar a execução de DLLs assinadas.
Hardening de Ambiente:
- Proteger caminhos e diretórios de bibliotecas para impedir que adversários coloquem bibliotecas maliciosas.
- Monitorar diretórios com permissão de escrita do usuário e configurações do sistema contra alterações não autorizadas.
Auditoria e Monitoramento de Carregamento de Bibliotecas:
- Habilitar `Sysmon` no Windows para monitorar carregamentos suspeitos de bibliotecas.
- Utilizar `auditd` no Linux para monitorar caminhos de bibliotecas compartilhadas e alterações em arquivos de configuração.
Utilizar Soluções de Controle de Aplicações:
- Implementar AppLocker, WDAC ou SELinux para permitir apenas bibliotecas confiáveis.
*Ferramentas para Implementação*
Ferramentas Específicas do Windows:
- AppLocker: Whitelisting de aplicações para DLLs.
- Windows Defender Application Control (WDAC): Restringir execução de bibliotecas não autorizadas.
- Signtool: Verificar e aplicar code signing.
- Sysmon: Monitorar eventos de carregamento de DLL (Event ID 7).
Ferramentas Específicas do Linux:
- auditd: Monitorar alterações em caminhos de bibliotecas e arquivos críticos.
- SELinux/AppArmor: Definir políticas para restringir o carregamento de bibliotecas.
- ldconfig e chattr: Proteger arquivos de configuração LD e prevenir modificações não autorizadas.
Soluções Multiplataforma:
- Wazuh ou OSSEC: Monitoramento de integridade de arquivos para alterações em bibliotecas.
- Tripwire: Detectar e alertar sobre modificações não autorizadas em bibliotecas.
## Técnicas Mitigadas
| ID | Técnica |
|---|---------|
| T1574 | [[t1574-hijack-execution-flow\|T1574 — Hijack Execution Flow]] |
| T1547.008 | [[t1547-008-lsass-driver\|T1547.008 — LSASS Driver]] |
| T1574.001 | [[t1574-001-dll\|T1574.001 — DLL]] |
---
*Fonte: [MITRE ATT&CK — M1044](https://attack.mitre.org/mitigations/M1044)*
## Contexto LATAM
> [!globe] Relevância Regional
> Restrição de carregamento de bibliotecas é relevante no combate ao DLL hijacking, técnica amplamente utilizada por malware bancário brasileiro e RATs como [[s1087-asyncrat]] e [[quasar-rat]] que frequentemente se injetam em processos legítimos para evasão. Ambientes Windows corporativos brasileiros com alto volume de software legado tendem a ter múltiplas DLL search order vulnerabilities não corrigidas.
> - Adoção em SOCs brasileiros: baixo — SafeDLLSearchMode e restrições de LD_PRELOAD raramente configurados fora de ambientes de alta segurança; monitoramento via Sysmon Event ID 7 presente em SOCs maduros
> - Regulamentações relevantes: BACEN 4893/2021 (hardening de endpoints para sistemas financeiros), CIS Benchmark Level 2 (recomendado pelo setor financeiro nacional), NIST SP 800-167 adaptado
> - Desafios regionais: incompatibilidade de SafeDLLSearchMode com aplicações fiscais brasileiras (NFe, TOTVS, SAP localizados), ausência de assinatura digital em muitos softwares legados nacionais, custo de reválidação de aplicações críticas após hardening
## Notas Relacionadas
- [[_defenses|Hub de Defesas]] — visão geral defensiva
- [[_mitigations|Todas as Mitigações]] — catálogo M-series completo