Ataques, prevenção e detecção de vulnerabilidade de sequestro de DLL
DLL significa Bibliotecas de Link Dinâmico(Dynamic Link Libraries) e são partes externas de aplicativos executados no Windows ou em qualquer outro sistema operacional. A maioria dos aplicativos não é completa em si mesma e armazena o código em arquivos diferentes. Se houver necessidade do código, o arquivo relacionado é carregado na memória e usado. Isso reduz o tamanho do arquivo do aplicativo enquanto otimiza o uso da RAM . Este artigo explica o que é o sequestro de DLL(DLL Hijacking) e como detectá-lo e evitá-lo.
O que são arquivos(Files) DLL ou bibliotecas de vínculo dinâmico(Dynamic Link Libraries)
(DLL)Os arquivos DLL são bibliotecas de vínculo dinâmico(Dynamic Link Libraries) e, como é evidente pelo nome, são extensões de diferentes aplicativos. Qualquer aplicativo que usamos pode ou não usar determinados códigos. Esses códigos são armazenados em arquivos diferentes e são invocados ou carregados na RAM somente quando o código relacionado é necessário. Assim, ele evita que um arquivo de aplicativo se torne muito grande e evita a sobrecarga de recursos pelo aplicativo.
O caminho para arquivos DLL é definido pelo sistema operacional Windows . O caminho é definido usando Variáveis Ambientais Globais(Global Environmental Variables) . Por padrão, se um aplicativo solicitar um arquivo DLL , o sistema operacional procurará na mesma pasta em que o aplicativo está armazenado. Se não for encontrado lá, ele vai para outras pastas conforme definido pelas variáveis globais. Existem prioridades anexadas aos caminhos e isso ajuda o Windows a determinar quais pastas procurar pelas DLLs . É aqui que entra o sequestro de DLL .
O que é sequestro de DLL
Como as DLLs são extensões e necessárias para o uso de quase todos os aplicativos em suas máquinas, elas estão presentes no computador em diferentes pastas conforme explicado. Se o arquivo DLL original for substituído por um arquivo DLL falso contendo código malicioso, ele será conhecido como DLL Hijacking .
Como mencionado anteriormente, existem prioridades quanto ao local onde o sistema operacional procura arquivos DLL . Primeiro(First) , ele procura na mesma pasta que a pasta do aplicativo e depois procura, com base nas prioridades definidas pelas variáveis de ambiente do sistema operacional. Assim, se um arquivo good.dll estiver na pasta SysWOW64 e alguém colocar um bad.dll em uma pasta que tenha maior prioridade em relação à pasta SysWOW64 , o sistema operacional usará o arquivo bad.dll, pois tem o mesmo nome da DLL solicitado pelo aplicativo. Uma vez na RAM , ele pode executar o código malicioso contido no arquivo e pode comprometer seu computador ou redes.
Como detectar o sequestro de DLL
O método mais fácil de detectar e impedir o seqüestro de DLL é usar ferramentas de terceiros. Existem algumas boas ferramentas gratuitas disponíveis no mercado que ajudam a detectar uma tentativa de hack de DLL e preveni-la.
Um desses programas é o DLL Hijack Auditor , mas ele suporta apenas aplicativos de 32 bits. Você pode instalá-lo em seu computador e verificar todos os aplicativos do Windows para ver quais aplicativos são vulneráveis ao sequestro de DLL . A interface é simples e autoexplicativa. A única desvantagem deste aplicativo é que você não pode verificar aplicativos de 64 bits.
Outro programa, para detectar o seqüestro de DLL , DLL_HIJACK_DETECT, está disponível via GitHub . Este programa verifica os aplicativos para ver se algum deles é vulnerável ao sequestro de DLL . Se for, o programa informa ao usuário. O aplicativo tem duas versões – x86 e x64 , para que você possa usar cada uma para verificar aplicativos de 32 bits e 64 bits, respectivamente.
Deve-se notar que os programas acima apenas verificam os aplicativos na plataforma Windows em busca de (Windows)vulnerabilidades e, na verdade, não impedem o seqüestro de arquivos DLL .
Como evitar o sequestro de DLL
A questão deve ser abordada pelos programadores em primeiro lugar, pois não há muito o que fazer, exceto reforçar seus sistemas de segurança. Se, em vez de um caminho relativo, os programadores começarem a usar um caminho absoluto, a vulnerabilidade será reduzida. Lendo o caminho absoluto, o Windows ou qualquer outro sistema operacional não dependerá das variáveis do sistema para o caminho e irá direto para a DLL pretendida , descartando assim as chances de carregar a DLL de mesmo nome em um caminho de maior prioridade. Este método também não é à prova de falhas, porque se o sistema estiver comprometido e os cibercriminosos souberem o caminho exato da DLL , eles substituirão a DLL original pela (DLL)DLL falsa. Isso seria sobrescrever o arquivo para que a DLL original fosse alterada para código malicioso. Mas, novamente, o cibercriminoso precisará saber o caminho absoluto exato mencionado no aplicativo que chama a DLL . O processo é difícil para os cibercriminosos e, portanto, pode ser contado.
Voltando ao que você pode fazer, tente escalar seus sistemas de segurança para proteger melhor seu sistema Windows(secure your Windows system) . Use um bom firewall . Se possível, use um firewall de hardware ou ative o firewall do roteador. Use bons sistemas de detecção de intrusão para saber se alguém está tentando brincar com seu computador.
Se você gosta de solucionar problemas de computadores, também pode executar o seguinte para aumentar sua segurança:
- Desabilite o carregamento de DLL de compartilhamentos de rede remotos
- Desabilite o carregamento de arquivos DLL do (DLL)WebDAV
- Desative o serviço WebClient completamente ou defina-o como manual
- Bloqueie(Block) as portas TCP 445 e 139, pois são mais usadas para comprometer computadores
- Instale as atualizações mais recentes do sistema operacional e do software de segurança.
A Microsoft(Microsoft) lançou uma ferramenta para bloquear ataques de seqüestro de carga DLL . Essa ferramenta reduz o risco de ataques de seqüestro de DLL , impedindo que os aplicativos carreguem código de arquivos DLL de forma insegura.(DLL)
Se você gostaria de acrescentar algo ao artigo, por favor, comente abaixo.(If you would like to add anything to the article, please comment below.)
Related posts
O que é remoto Access Trojan? Prevenção, Detection & Removal
Fileless Malware Attacks, Protection and Detection
Como evitar o Phishing Scams and Attacks?
Cyber Attacks - Definição, Types, Prevenção
Browser Hijacking and Free Browser Hijacker Removal Tools
Verifique se o seu computador foi infectado pelo ASUS Update Malware
Rogue Security Software or Scareware: Como verificar, prevenir, eliminar?
O que é Win32: BogEnt e como removê-lo?
DDoS Distributed Denial de Service Attacks: Proteção, Prevention
Como usar Malware Scanner & Cleanup Tool embutido Chrome browser de
Como prevenir Malware - Dicas para proteger Windows 11/10
O que é vírus idp.generic e como removê-lo?
Como remover Malware do seu PC em Windows 10
Como desinstalar ou remover Driver Tonic de Windows 10
Dicas para proteger seu computador contra Thunderspy attack
Melhor online Online Malware Scanners para digitalizar um arquivo
Como verificar o Registry para malware em Windows 10
Remove virus de USB Flash Drive usando Command Prompt or Batch File
O que estão vivendo fora dos ataques Land? Como ficar seguro?
O que é um Backdoor attack? Meaning, Examples, Definitions