
Alguns colegas e leitores (obrigado
Lincoln, Marcelo e Otávio) me enviaram links sobre dois "novos" vetores de ataques bastante comentados nos últimos dias pela comunidade de segurança:
1) ataques e rootkits que agem na BIOS; e 2) bots que infectam modems LinuxAmbos os vetores têm um alcance e escalabilidade potencialmente pequenos, porém são interessantes do ponto de vista da inovação, pois nos tiram do lugar comum de ataques envolvendo
buffer overflows em executáveis de arquitetura
x86 para windows ou linux, vulnerabilidades em browsers /plugins e engenharia social.
Vamos detalhar um pouco as duas novidades:
Vetor (1) ataques e rootkits que agem na BIOS; Há mais de 10 anos atrás o temido vírus "
Chernobyl" sobrescrevia parte da BIOS, deixando o computador inutilizável (aliás, o que motivou as BIOS com proteção de escrita - que está sendo "
bypassada" agora).
Ainda no campo dos ataques ao "Basic Input Ouput System"
(1),
há mais de três anos (
pdf 1,
pdf 2,
pdf 3 ) alguns pesquisadores de segurança (
Loïc Duflot, John Heasman, Joanna Rutkowska, Rafal Wojtczuk e Greg Hoglund - autor do mais famoso livro sobre Rootkits) alertam sobre a viabilidade de
exploits e
rootkits na BIOS (persistentes à formatação/wipe do HD).
Recentemente os
poloneses Joanna Rutkowska (que introduziu o conceito de "
BluePill") e Rafal Wojtczuk- da
InvisibleThings - publicaram mais um paper (
pdf 1) / (
pdf 2) demonstrando -
com código de prova de conceito - um ataque à memória SMRAM via cache-poisoning em CPUs Intel - dois exploits foram desenvolvidos, um para fazer o dump e o outro para execução arbitrária de código, ambos na memória "protegida" SMRAM , durante a operação do
SMM - System Management Mode.A dificuldade na exploração da vulnerabilidade
descrita se deve à necessidade de chegar à memória SMRAM a partir de acesso a registradores específicos para o modelo do processador (daí a necessidade de ser root/administrador ou possuir acesso físico à máquina). Uma boa
descrição deste ataque foi feita recentemente no blog "Microsoft Malware Protection Center".
Os
argentinos Anibal Sacco e Afredo Ortega (da empresa
Core Security - fabricante do ótimo software de PenTest "
Core Impact") fizeram uma apresentação há poucos dias (
pdf) na conferência Consecwest chamada "
Persistent BIOS Infection", na qual são detalhados os métodos de persistência de códigos maliciosos, e são apresentados
backdoors stealths em nível de BIOS (por isto independentes de sistema operacional).
Os exemplos que foram demonstrados pelos hermanos são
a modificação do shadow em Unix (ou seja, mudança de senha de qualquer usuário, inclusive root) e
injeção de código em binários windows - tudo isto é executado a partir de recursos disponíveis ao backdoor rodando na BIOS (
shellcodes em 16 bits).
Outro detalhe interessante: como as máquinas virtuais também tem BIOS, foram demonstradas técnicas para infectar múltiplas máquinas virtuais (
atenção administradores de VMWare Servers) .
Alguma água vai rolar ainda sobre este tópico - segundo a
MMPC, a Intel
já sabia destas vulnerabilidades e inclusive a documentou no
data sheet de um
chipset vulnerável (5100 MCH): "
The chipset/platform cannot protect against processors who attempt to illegally access SMM space that is modified in another processor's cache".
Vetor (2): bots que infectam modems MIPS e outros rodando LinuxPara um hacker, invadir computadores isoladamente não é a única abordagem possível de se controlar máquinas remotamente. Como
já colocamos anteriormente em
duas ocasiões, pode ser mais proveitoso para um atacante ter controle de um roteador que é responsável por distribuir IPs (
DHCP) em uma rede, resolver nomes de sites (
DNS), etc..
Nos nossos post "
linkados" acima, descrevemos o código malicioso
ZLOB ou DNSChanger - que depois de infectar uma máquina Windows, direciona seus esforçous de invasão (força bruta de senhas padrão) em roteadores no IP registrado como gateway desta máquina infectada.
Já no caso do
PsyB0t - personagem das
notícias recentes sobre a botnet rodando em modems Linux (como o Netcomm NB5 ADS, openwrt e dd-wrt), a infecção ocorre de modem linux a modem linux.
Em dezembro de 2008 o pesquisador
australiano Terry Baume descobriu a botnet, e uma primeira análise (
pdf) do Psyb0t 2.5L foi feita por ele em janeiro deste ano. Uma vulnerabilidade em várias revisões deste modem permitiu que o criador utilizasse exploits para invadir os modems - quando isto não é possível, a botnet tenta senhas padrão (
a la ZLOB) para tentar acesso à interface administrativa dos modems.
Falando em história mais uma vez e em exploração de vulnerabilidades de modems: em 2001 o pesquisador
Tsutomu Shimomura (sim aquele que
prendeu o Kevin Mitnick) - achou e
divulgou uma falha no modem ADSL Speed Touch Pro da Alcatel - esta falha não foi corrigida em modems distribuídos em vários países, e juntando ao enredo a famosa prática da "senha padrão" - acabou ocasionando a invasão em massa de modems na
Itália (2001) e no
Brasil (2003), por exemplo.
Adequando o ataque à realidade de hoje, voltamos à botnet
PsyB0t - a primeira a ter como alvo modems ADSL e roteadores - já possui mais de
100 mil modems linux zumbis, é controlada via
IRC e já está
sendo utilizada para ataques de DDOS (um dos ataques que mais repercutiu foi ao site
DRONEBL (ainda sob ataque) - que possui um serviço de listagem para bloqueio (
DNSBL) de botnets e possivelmente está atrapalhando o seu crescimento). O ataque tem sido chamado de "Network BluePill" - por sua característica
Stealth (as máquinas da rede que confiam no Gateway estão completamente à mercê).
É o primeiro caso de uma botnet tão bem sucedida em Linux, e o primeiro caso de uma botnet em "
embedded devices". Certamente é preocupante, e
pode ficar pior (nada como um bom
FUD) - se somarmos este tipo de ataque (usando senhas default em modems/routers) a
DNS Rebinding - veja
descrição e video de 2008 no site do Dan Kaminsky.
Percebe-se pelas várias análises já publicadas que o PsyBot é um malware perigoso e bem desenvolvido :- contém shellcode para vários devices de arquitetura mipsel (mips little-endian)
- não está atacando computadores ou servidores
- utiliza múltiplas estratégias de exploração de modems, incluindo força-bruta de senhas
- extrai / rouba usuários e senhas através de deep packet inspection
- varre por servidores com phpMyAdmin e MySQL vulneráveis e os ataca
- faz o modem se juntar a uma botnet via protocolo IRC, porta tcp 5050.
- desabilita o acesso à interface administrativa do modem (SSH, Telnet, and HTTP) - o que dificulta sua remoção, pois a conexão continua a funcionar, mas você perde a habilidade de configurar o seu router (pode ser um indicativo de que você está infectado).
Para garantir sua segurança - tome estes cuidados com seu modem/router (adsl/cabo):- troque a senha padrão da interface de administração do modem;
- se certifique que ela não está aberta para a Internet; e
- faça um upgrade de firmware para a última versão.
Conclusões:É verdade que a grande maioria dos ataques a que estamos expostos são perpetrados explorando falhas simples como engenharia social e utilização de exploits públicos para vulnerabilidades antigas, porém os dois vetores de ataques que descrevemos nos lembram da importância do conceito de
segurança em profundidade. Se você puder escolher, utilize placas-mãe não vulneráveis aos ataques de BIOS (veja a lista aqui) e upgrade de firmware e configuração segura de modems de banda larga [ADSL/Cabo]).
Os vetores de ataques descritos
não são prevalentes, porém
são viáveis e tem um perigoso componente
stealth. Este tipo abordagem permite ao atacante um controle de posições privilegiadas (seja no router, seja na BIOS) e como não atuam na camada de sistema operacional dos computadores da rede, podem permanecer sem detecção por muito tempo.
É claro que uma "percepção situacional" apurada e atualizada é fundamental para nos defendermos de novos ataques e de adversários bem preparados, pois
a pesquisa de ontem que virou a prova de conceito de hoje pode se transformar no ataque que você pode sofrer ou terá que analisar amanhã...