
A audiência dos colegas é de 71 milhões por mês. Assim como o público da Internet como um todo, nossos usuários estão sujeitos a ameaças de segurança comuns: phishing, vírus, reutilização de senha. O mecanismo econômico de ataques a usuários de redes sociais, como regra, é a disseminação de spam. E embora esses ataques não sejam uma conseqüência direta da vulnerabilidade do Odnoklassniki, estamos interessados em combatê-los e, por isso, estamos investigando todos os incidentes significativos de spam.
Uma investigação típica de um novo ataque de spam (bem-sucedido) começa depois que notamos uma atividade anormal entre os usuários do portal. Pode ser expresso em uma carga aumentada em serviços individuais (por exemplo, um serviço de upload ou pesquisa de imagens), na distribuição ativa do mesmo tipo de conteúdo (por exemplo, links para sites semelhantes) ou até em um aumento no número de chamadas para o serviço de suporte.
Durante a investigação, é importante primeiro determinar como o spam é distribuído na rede social. Freqüentemente, o resultado dessa investigação é a detecção de um grupo de dispositivos infectados por vírus. Às vezes, entre os spams que eles distribuem, encontramos links para o próprio vírus. Então, conseguimos restaurar o esquema de distribuição e encontrar usuários envolvidos.
Um caso especial interessante desses ataques é a infecção por extensões mal-intencionadas do navegador. As extensões para o Chrome podem ser instaladas no próprio Chrome e em navegadores baseados no Chromium, por exemplo, Opera e Yandex.Browser. Ou seja, a maior parte da web é potencialmente coberta. Extensões maliciosas para outros navegadores (Firefox, Safari) são muito menos comuns. Posso presumir que o desenvolvimento de vírus no caso deles não traga benefícios devido ao público relativamente pequeno desses navegadores.
Podemos até calcular a extensão da propagação de extensões maliciosas entre nossos usuários:

Todos os dias registramos 100 a 200 mil usuários infectados. No total, em 2018, 1,2 milhão de usuários foram vistos usando um navegador infectado.
No início de 2017, no OWASP Russia Meetup # 6, já
conversamos sobre a experiência do Odnoklassniki no combate à propagação de extensões maliciosas no Chrome. Em quase dois anos, muita coisa mudou. Mas primeiro, vamos descobrir como as extensões funcionam.
Portanto, o Chrome permite que os usuários personalizem o navegador instalando extensões.
As extensões são fornecidas com uma
API Javascript com a qual elas podem, incluindo:
- interceptar e modificar solicitações e respostas HTTP;
- modificar o DOM das páginas exibidas;
- gerenciar a interface do navegador (abas de abrir e fechar, adicionar itens ao menu de contexto);
- gerenciar a lista de extensões;
- Inscreva-se nos eventos do sistema, por exemplo, a partir do mouse e teclado;
- Leia o histórico do navegador e os dados do site.
As extensões são distribuídas pela Chrome Web Store na forma de um arquivo com código-fonte e recursos (imagens, estilos, páginas HTML). Os principais componentes da extensão estão listados abaixo:
- O manifesto é JSON com configuração de extensão. Entre outras coisas, o manifesto declara as permissões e domínios necessários aos dados aos quais a extensão obterá acesso.
- Os scripts em segundo plano são executados em segundo plano em seu próprio contexto, isolado do código das páginas da web. Eles são projetados para receber e processar uma variedade de eventos do navegador e ter acesso total à sua API.
- Os scripts de conteúdo são executados no contexto da página da web. Os ambientes Javascript da própria página e da extensão são isolados um do outro, a extensão não tem acesso às variáveis e funções da página e vice-versa. Os scripts podem modificar páginas DOM e executar solicitações entre sites usando
XMLHttpRequest
. Diferentemente das páginas comuns, a mesma política de origem e as políticas do servidor CORS não se aplicam a solicitações de extensões, elas são limitadas apenas pelo conjunto de acessos solicitados no manifesto.
Suponha que alguém tenha decidido escrever seu próprio vírus. O que ele pode perceber?
Acesso aos dados do usuárioComo mencionado acima, a extensão pode interceptar solicitações e respostas entre a página e o servidor. É claro que o mecanismo universal de proteção de dados durante a transmissão - SSL - nesse caso não ajudará a proteger os dados da página, pois o navegador os transmite para a extensão já descriptografada.
Alterar o conteúdo da páginaA extensão tem acesso ao DOM, pode adicionar e remover elementos, alterando a interface da página. Um exemplo clássico é a substituição de banners.
Rastreamento de atividade do usuárioA extensão pode assinar eventos do teclado e do mouse e, assim, rastrear ações do usuário no navegador e coletar senhas, dados pessoais e números de cartões bancários.
Executando ações para o usuárioA extensão pode executar scripts no contexto da página da vítima, violando a mesma política de origem. Isso significa que qualquer ação que o usuário possa executar no site também pode ser iniciada pela extensão.
Ignorar a autenticação de dois fatores e outras proteções de contaO usuário passa a autenticação e a autorização no navegador por conta própria; portanto, a extensão recebe a mesma sessão que um usuário legítimo.
Botnet perfeitoOs sistemas inteligentes de captura e captura e inundação, por regra, dependem do fato de que o tráfego de bots pode ser diferenciado do tráfego de bons usuários por IP, impressões digitais e distribuição de solicitações ao longo do tempo. Solicitações de extensões não podem ser separadas de solicitações de usuários reais.
Este ano, o Google
anunciou várias inovações criadas para impedir a disseminação de malware na loja de aplicativos. Foi proibido instalar extensões de fontes de terceiros, instalação em linha, regras de moderação mais rígidas, ofuscação e execução de código arbitrário em extensões.
Apesar disso, extensões maliciosas continuam a ser usadas para atacar usuários. Objetivos típicos são roubo de contas (
exemplo ), dados pessoais (
exemplo ), spam ou publicidade falsa (
exemplo ).
Para um ataque bem-sucedido, a extensão deve resolver vários problemas:
- esconder da moderação na loja;
- encontre e retenha uma audiência;
- ganhar dinheiro
Uma moderação mais rigorosa na loja fez com que os autores de vírus procurassem novas maneiras de publicar extensões. Aqui observamos uma imagem clássica da adaptação dos remetentes de spam aos filtros de spam: uma extensão com centenas de milhares de usuários transformada em dezenas de extensões diferentes de autores diferentes, com um pequeno número de usuários, e essas extensões mais tarde começaram a imitar aplicativos populares com boa reputação. As extensões agora estão hospedadas em serviços populares na nuvem, com a parte do servidor e o "centro de controle" que define o comportamento dos navegadores infectados a qualquer momento.
Após a remoção da loja, as extensões reconhecidas como maliciosas podem ser desativadas nos navegadores dos usuários que as instalaram. Para manter um público infectado e poder instalar uma nova extensão em vez da remota, os criadores de vírus fazem alterações nas configurações do navegador que não estão diretamente relacionadas à extensão: registre um funcionário do serviço, inscreva o usuário nas notificações, substitua-o pela página inicial ou pelo serviço de pesquisa. Isso tudo permite que você envie um link para o navegador para instalar uma nova versão do vírus.

Para os vírus que observamos, o spam é a principal fonte de renda. Entre as várias maneiras de distribuir spam para extensões, é provável que seja mais conveniente:
- Substitua e adicione anúncios nas páginas visitadas . Como mencionei acima, as extensões têm permissão para fazer alterações arbitrárias no conteúdo das páginas visualizadas, incluindo a substituição de anúncios legítimos em sites próprios ou a exibição de anúncios adicionais aos usuários, abrindo pop-ups, novas guias ou redirecionando alguns sites para publicidade.
Uma forma notável de substituição de publicidade por extensões é o uso de notificações HTML5. Enquanto a extensão estiver instalada e ativa no navegador, basta levar a vítima para uma página que registre o responsável pelo serviço e assine notificações ao usuário. E como esse trabalhador de serviço não está diretamente relacionado à extensão, mesmo após a remoção da extensão do navegador, os autores ainda terão um canal de comunicação com os usuários na forma de notificações por push.
Um mecanismo semelhante também é usado em conjunto com a engenharia social para reinfectar a vítima se a extensão for removida da loja: o usuário recebe um push com conteúdo atraente (por exemplo, “ok.ru Nova mensagem não lida”) e com um link para instalar uma nova versão do vírus em vez da excluída. - Use a conta da vítima para distribuir spam nas redes sociais . A extensão instalada no navegador pode executar solicitações em nome do usuário atual, incluindo a postagem de spam sob o disfarce de conteúdo normal do usuário (escrever mensagens para amigos, postar notas e postagens em público, fazer upload de fotos ou vídeos).
Resumindo o exposto, podemos concluir que as extensões maliciosas do navegador ainda são uma ameaça significativa para os usuários e aplicativos da web. As extensões fornecem um mecanismo conveniente para espalhar código malicioso: elas não exigem qualificações elevadas para serem criadas, causam menos suspeitas entre os usuários durante a instalação, são detectadas com menos frequência por antivírus.
A situação é agravada pelo fato de que as páginas da web no navegador têm obviamente menos direitos que extensões e não podem fazer nada para proteger seus usuários. Espera-se que a campanha antivírus anunciada pelo Google na Store seja bem-sucedida. Mas até que isso aconteça, estamos trabalhando na OK para minimizar a disseminação de vírus na rede social e tornar o uso do serviço o mais seguro possível.