“Se descartássemos todas as tecnologias mostradas neste gráfico, cerca de 80% dos problemas de segurança de computadores seriam resolvidos”
(twitter.com/matthew_d_green)- Diagrama de um fluxo de ataque em múltiplas etapas que abusa em cadeia de diversos formatos de arquivo e recursos legados do Windows, como OOXML, RTF, OLE, CHM, VBScript, até chegar ao PEAPOD Payload final
- Um OOXML hospedado remotamente carrega um afchunk.rtf incorporado; os OLE Objects dentro dele são o ponto de partida para conexões a recursos externos e vazamento de credenciais
- Durante o ataque, NTLM Credentials são enviadas para um SMB Server controlado pelo atacante, e arquivos maliciosos são implantados por um caminho que passa por um arquivo
.search-mse por um ZIP gravado em%LocalAppData% - Se todas as tecnologias no gráfico fossem descartadas, cerca de 80% dos problemas de segurança seriam resolvidos, e o Windows seria, na prática, uma “camada de compatibilidade de malware para tudo”
- Diagnóstico compatível de que a Microsoft não consegue remover tecnologias legadas por razões comerciais legítimas e, ao mesmo tempo, que nenhum sistema de alto valor jamais poderá estar seguro sobre essa pilha
Etapa 1 — Entrada pelo documento e vazamento de credenciais
- Um documento OOXML hospedado remotamente carrega, via XML, o afchunk.rtf incorporado
- Dentro do afchunk.rtf há dois OLE Objects, que funcionam como ponto de bifurcação para conexões externas e roubo de credenciais
- Os OLE Objects se conectam ao link
/MSHTML_C7/start.xml - Os OLE Objects extraem NTLM Credentials e as enviam para um SMB Server controlado pelo atacante
- Os OLE Objects se conectam ao link
file001.urltambém aponta para o mesmo SMB Server
Etapa 2 — Via XSLT e iframe
/MSHTML_C7/start.xmlleva aostart.xmlem XSLT format- start.xml (XSLT) se conecta a RFile.asp
- RFile.asp cria dois iframes, que se conectam novamente ao SMB Server controlado pelo atacante
Etapa 3 — Entrega de arquivos via SMB Server
- O SMB Server entrega
[somehex]_file001.htm [somehex]_file001.htmleva a um arquivo .search-ms, que provoca a criação de um ZIP gravado em%LocalAppData%[somehex]_file001.htmtambém se ramifica pararedir_obj.htm, e redir_obj.htm carrega (loads)1111.htm
Etapa 4 — Extração do ZIP e execução do payload
- Dentro do ZIP gravado em
%LocalAppData%estão2222.chme1111.htm 2222.chmcarrega (loads)file1.mhtfile1.mht→fileH.htm→ conecta ao Downloader VBScript- O Downloader VBScript finalmente executa o PEAPOD Payload
Crítica central — Tecnologias legadas do Windows e segurança
- A afirmação é que, se todas as tecnologias presentes no gráfico fossem descartadas, cerca de 80% dos problemas de segurança de computadores seriam resolvidos
- A expressão de que o Windows atua como uma “camada de compatibilidade de malware (malware compatibility layer)” para tudo
- Ao mesmo tempo, é verdade que a Microsoft não pode remover essas tecnologias legadas por razões comerciais legítimas, e que nenhum sistema de alto valor poderá estar seguro enquanto estiver sobre essa pilha
- Com base na experiência de ver como são configurados os sistemas PLC “isolados da rede (airgapped)” em fábricas, há alívio pelo fato de que a guerra cibernética cinética (kinetic cyberwarfare) que causa danos físicos não seja realidade
1 comentários
Opiniões do Hacker News
Quanto mais poderosa uma plataforma é para vários usos, mais malware inevitavelmente aparece
O motivo pelo qual malwares voltados a consumidores miram menos o desktop Linux é que sua participação gira em torno de 3%, então vale mais a pena mirar desktops Windows, que alcançam muito mais usuários
A única outra opção é transformar o computador, na prática, em um celular sofisticado, isto é, um dispositivo bloqueado de consumo de mídia, colocando tudo em sandbox e removendo permissões para fazer coisas “ruins”
Claro que o rastreamento fica de fora, porque a empresa que faz o sistema operacional também vende anúncios
Não ficou perfeito, mas, no fim, o problema não era a popularidade em si, e sim o design inseguro do software, e ainda há muito espaço para melhorar
O macOS está indo nessa direção, e o Qubes é um exemplo mais radical
O futuro da computação desktop provavelmente será tudo rodando em sua própria máquina virtual
O Linux, na forma do Android, é usado de maneira extremamente ampla em celulares, e celulares são um alvo tão atraente quanto desktops — talvez até mais hoje em dia
Malware móvel existe, mas é muito mais raro e difícil de obter
A forma de instalar software no Linux é completamente diferente da do Windows, e fazer alguém executar um monte de binários exige um esforço considerável
A ponto de se considerar mais fácil distribuir em contêineres do que como binários compilados para um desktop específico
Olhando além do desktop, o Linux está em toda parte no mundo dos servidores e é o sistema operacional mais popular para rodar software de servidor, portanto é um alvo muito valioso para hackers
Poucas coisas seriam tão atraentes quanto assumir o controle de servidores de bancos
Dizer que não há absolutamente nada que torne o Linux inerentemente mais seguro que o Windows soa pouco realista
Sistemas Unix-like foram projetados desde o início com múltiplos usuários em mente, então permissões de usuário fazem parte do fluxo normal há décadas, e só isso já é uma grande camada de segurança que dificulta o sucesso de rootkits ou worms com privilégios de root
O antigo Windows 9x até o XP, na prática, dava privilégios de administrador a todos, e escrever ou substituir DLLs em system32 era algo fácil
Para atacar Linux, é preciso enganar o usuário para executar algo com privilégios elevados ou encontrar uma vulnerabilidade em software que roda como root
Para atacar o Windows antigo, bastava fazer o usuário executar meu software
No mobile, Android, ou seja, Linux, é o maior, e considerando usuários finais é maior até que Windows
Mesmo assim, não há tantas reclamações de malware no Android quanto no Windows
Não acho que a Microsoft seja incompetente em segurança do Windows, mas há decisões de design históricas que criaram problemas
O win9x não tinha isolamento de processos, algo que já era possível até no i386, e as pessoas esperavam que programas antigos continuassem funcionando mesmo no WinXP, que usava o kernel NT
Distribuição centralizada de software no Windows é algo relativamente recente em comparação ao apt, que existe desde 1998, e pequenos detalhes como ocultar extensões também tornam o Windows um alvo mais fácil do que ChromeOS, iOS, Android, macOS e GNU/Linux
Lembro da frase “se o Linux ficar tão popular quanto o Windows, os desenvolvedores de malware vão mirar nele”, mas considerando smart TVs, infotainment, servidores, supercomputadores, sistemas embarcados e mobile, especialmente Android, o Linux já é maior que o Windows há muito tempo
Não acho que a baixa participação no desktop seja o principal motivo para haver menos malware
https://gs.statcounter.com/os-market-share#monthly-202206-20...
O Linux tem uma superfície de ataque ampla porque possui muitos pacotes, mas seu núcleo é muito aberto, então atrai muita atenção e muitos olhares
Vulnerabilidades geralmente são corrigidas rapidamente, e versões do Linux e pacotes GNU, na prática, rodam a internet inteira, então também há incentivo suficiente para invadi-los
Além disso, no Linux é muito mais fácil perceber se um processo está fazendo algo que não deveria e também é mais simples olhar por dentro para verificar o que está acontecendo
No Windows, o maior problema de segurança ainda é a combinação de ocultar extensões por padrão com a ausência de um bit de permissão de execução
Isso torna fácil demais para um atacante criar um executável malicioso com ícone de documento do Word ou de algum formato de arquivo familiar, e usuários comuns praticamente não têm como perceber o risco
Se houvesse um bit de permissão de execução, um exe vindo de um lugar estranho não seria simplesmente executado sem receber permissão
Se as extensões fossem exibidas por padrão, até usuários com um pouco de conhecimento conseguiriam ver o perigo
Como o Windows já mostra muitas notificações, um aviso no primeiro duplo clique dizendo “isto é um arquivo executável, tenha cuidado” já ajudaria bastante
Binários recebidos pelo navegador ganham um atributo estendido de “potencialmente inseguro”, que gera aviso na primeira abertura, mas a lógica está invertida
Todo binário deveria gerar aviso até receber um atributo de “o usuário reconheceu o risco”
Por isso, para distribuir malware, os atacantes precisam usar desvios inconvenientes, como servidores SMB na internet sob seu controle, para tentar espalhar executáveis
Além disso, as ACLs do Windows têm permissões de execução por usuário, grupo e objetos relacionados a políticas
Elas vêm ativadas por padrão para executáveis que podem ser lidos, mas não há nenhuma restrição para tornar um executável não executável
Além disso, quase todo executável, por padrão, mostra um alerta enorme no estilo “isto está tentando infectar seu computador, matar seus pets e oferecer seus filhos a Satanás”
Dá para desativar, mas na maioria dos casos fica ativado
Por isso os atacantes exploram efeitos colaterais de casos periféricos, como incorporação OLE em RTF ou wrappers CHM/MHT
Metade desse gráfico também poderia funcionar em macOS ou Linux configurados para ambiente corporativo
A maior parte é o navegador e os aplicativos de escritório fazendo seu trabalho
O ponto-chave é que não há código realmente executável no contexto do sistema operacional até a parte final, quando o último sandbox é escapado e o script baixa o payload real
O usuário precisa desbloqueá-lo manualmente
É possível que esse recurso tenha sido desativado
Como é chato ter de conceder permissão a quase tudo que é baixado da internet, muita gente desativa
O navegador padrão avisa antes do download, o SmartScreen pergunta antes de executar apps não verificados, e o UAC pergunta uma última vez
Na prática, muitos lugares até configuram para proibir execução em todo o perfil do usuário
Hoje em dia, malware nem é o pior aspecto do Windows
O Windows é, na prática, um motor de telemetria baixável, um kart de spyware com tela de login
Quando não está agindo como um vendedor de quiosque de shopping, empurrando todo tipo de produto e inutilidade selecionados por vigilância, ele faz gaslighting como um ex tóxico dizendo que você não “precisa” de um navegador novo
Ao atualizar, você precisa torcer para que o hardware seja compatível
Redmond dedica uma energia incansável para convencer você de que um PC de 5 anos funcionando perfeitamente está “velho”, a mesma energia que usa para lembrar você de olhar sua loja de apps fantasma e seu parquinho de microtransações
Mesmo que você consiga instalar o Chrome de algum jeito, a maioria dos apps não vai lembrar por muito tempo essa preferência padrão no momento em que a Microsoft detectar um gosto fora do aprovado pelo departamento de marketing
O Windows cambaleia entre barracas como um palhaço zumbi de um festival fantasma, irrita as pessoas só por existir e depois volta para a tenda de circo da América corporativa
Talvez agora seja praticamente o único lugar onde ainda resta uma plateia que receba bem o Windows
A área de trabalho parece uma estação de Subway coberta por anúncios de advogado picareta e pichações por toda parte; é realmente repulsivo
É surpreendente como tantas combinações de botões levam a pop-ups mandando usar algum outro produto da Microsoft de que eu nem preciso
Não dá para acreditar que ficou tão ruim
Precisamos de uma alternativa ao Windows para o consumidor médio
Isto é um desvio genérico
O texto é sobre segurança de computadores e não tem relação com a experiência hostil ao usuário do Windows
O Windows é uma camada de compatibilidade com malware para tudo
O Windows NT e todos os Windows posteriores têm controles de segurança vindos do VMS, portanto contam com mais controles de segurança do que quase qualquer sistema operacional
Mas, para reduzir atrito e aumentar a adoção, a maioria fica desativada ou enfraquecida
No Linux, os controles de segurança também vêm enfraquecidos por padrão, mas como ele chegou tarde ao mercado e não era um ambiente tão “é só clicar” quanto o Windows, no início gerava mais atrito para usuários não técnicos
O problema também não é só dos controles de segurança
Tanto Windows quanto Linux permitem overcommit de memória por padrão, o que pode afetar a estabilidade, mas favorece a adoção por desenvolvedores
Tudo isso pode ser reforçado, mas há o risco de quebrar aplicativos escritos para o comportamento padrão
Como outros disseram, o Windows tem a maior adoção e o maior uso, por isso vira o alvo principal
Se algum dia o Linux passar à frente, o interesse dos autores de malware também vai aumentar
Ainda há muitos vetores de ataque pouco explorados em udev, montagens binfmt, eBPF, systemd e na forma como tudo isso está interligado hoje
Se os jogos no Linux continuarem melhorando no ritmo atual, isso pode acontecer antes do que se imagina
Plataformas de jogos muitas vezes programam assumindo o comportamento padrão ou esperam privilégios elevados, o que faz o endurecimento do sistema operacional deixar de ser uma opção, e não há muita gente disposta a comprar uma máquina separada só para jogar e mantê-la isolada do dispositivo usado para impostos, banco, e-mail e redes sociais
No começo, achei que este tweet fosse sobre linguagens sem segurança de memória, como C e C++, e sobre compiladores JIT de navegadores web
Porque dizia que “os problemas de segurança de computadores seriam resolvidos em cerca de 80% se todas as tecnologias mostradas nesta imagem fossem descartadas”
O Chromium diz que “cerca de 70% dos bugs de segurança de alta gravidade são problemas de segurança de memória, isto é, erros de ponteiro em C/C++, e metade deles são bugs de use-after-free”
https://www.chromium.org/Home/chromium-security/memory-safet...
A Microsoft também diz que “cerca de 70% das vulnerabilidades que recebem CVE a cada ano continuam sendo problemas de segurança de memória”
https://msrc.microsoft.com/blog/2019/07/a-proactive-approach...
O título no HN também é uma versão editada do original
Se me lembro bem, ela está testando pela primeira vez substitutos de DLL baseados em Rust, e pode levar bastante tempo para migrar mesmo que seja só metade
A maior parte dos malwares explora logicamente funcionalidades comuns dentro do sistema operacional
Não acho que isso signifique que “a segurança de computadores seria resolvida em cerca de 80%”
Passariam a usar outros vetores de ataque e, depois de bloquear a maioria dos caminhos de ataque, chegaríamos a sistemas operacionais de smartphones com pouquíssimas permissões e rastreamento em larga escala acoplado
Mesmo assim, malware ainda poderia continuar abundante
https://www.bleepingcomputer.com/news/security/apps-with-15m...
A causa de tudo isso é compatibilidade retroativa, e isso é realmente muito difícil de lidar
Em um mundo ideal, toda vez que fosse preciso quebrar compatibilidade, haveria uma documentação enorme e a migração seria tornada o mais painless possível
Mas há o pequeno problema do software abandonado
É surpreendentemente comum que softwares que ninguém mais sabe como funcionam sejam necessários para atividades importantes
Deveria ser ilegal empresas e instituições próximas do setor público operarem com software proprietário que ninguém mantém ativamente e que não tem nenhum contrato de suporte?
MHTML resolve um problema real, e VBScript é como bash, só com outro jeito de falar
Embedding OLE é uma ótima ideia, embora infelizmente hoje não seja muito usado
Poder colocar uma planilha dentro de um documento de texto sem hacks estranhos de tabela é uma boa ideia
Macros VBA movem mais empresas do que qualquer startup
Arquivos de ajuda CHM eram realmente excelentes, e é uma pena que tenham sido substituídos por sites ruins em que você precisa depender do Google para encontrar alguma coisa de fato
Poder não só salvar resultados de buscas complexas, mas também compartilhá-los, também era uma boa ideia, mas não foi divulgada o suficiente
Um recurso para enviar um arquivo que permita encontrar “fotos tiradas com minha câmera entre agosto e setembro do ano passado” é uma boa ideia, porque evita ter que enviar um álbum de fotos proprietário
Digam o que quiserem sobre dependência proprietária e práticas de negócios horríveis, mas a Microsoft tinha ótimas ideias que sistemas operacionais concorrentes só copiaram anos ou décadas depois
Na maioria dos produtos concorrentes, ainda hoje não dá para incorporar documentos de forma tão fácil e eficaz quanto no Microsoft Office
Esses recursos não foram abandonados; são usados por milhões de pessoas no mundo todo
A Microsoft precisa melhorar a configuração das ferramentas para detectar melhor código executável
O VBScript no fim da cadeia não deveria ter sido executado
A maior parte das outras ferramentas “legadas” faria falta se desaparecesse só por causa da possibilidade de malware
Existem VM, DOSBox, Wine etc.
Cerca de 10 anos atrás, descobriu-se que um processo importante em todas as máquinas de lojas da Home Depot dependia de um programa chamado Batchman
Batchman era um utilitário para digitação publicado na PC Magazine em 1989
Se você quebra a compatibilidade, alguém precisa recriar aquele processo que rodou silenciosamente por décadas
Ninguém da equipe da HD com quem eu trabalhava jamais tinha visto aquele código, nem sabia o que era Batchman ou o que ele fazia
A stack mais popular sempre vira o alvo preferido de malware
Se outra plataforma representasse 90% das presas, você realmente acha que essa plataforma não seria, de forma esmagadora, a vítima de malware?
Para referência, nos anos 80 trabalhei como responsável de linha de frente pela remoção de malware, e o principal alvo na época eram os Apple Mac dos laboratórios de informática das universidades
Qual foi o malware mais inteligente que você removeu naquela época?
Isso não é parecido com dizer que “se descartarmos a história, os problemas diminuem bastante”?
Mas a história existe de fato
E toda vez que clico em um link do Twitter aparece “Algo deu errado” e preciso atualizar a página; isso é o Twitter moderno?
Então, dependendo do critério de moderno, está certo e também não está
https://nitter.net/matthew_d_green/status/167913542680678400...