Segurança da Informação, Tecnologia, Dicas, Hackers

security

Recheio de credenciais – como é feito e o que fazer com isso?

Introdução
O Credential Stuffing é um ataque peculiar em aplicativos da web. Tecnicamente, é um ataque muito básico e fácil de entender, intimamente relacionado às técnicas de força bruta, mas é assustadoramente eficaz. Além disso, esse ataque às vezes não é considerado uma violação de segurança por administradores e secOps! E fica ainda pior porque esse ataque tem como alvo usuários únicos, não o aplicativo ou o negócio subjacente, pelo menos não diretamente. A implicação é simples – quando um ataque de preenchimento de credenciais é relativamente pequeno, a organização pode não ter motivação suficiente para agir de acordo.

Assim, a primeira vítima do ataque de preenchimento de credenciais é sempre um único usuário e ele terá mais consequências do ataque. Sua privacidade relacionada à conta é violada, seus meios armazenados na conta podem ser fraudados, ações prejudiciais e indesejadas podem ser tomadas em seu nome.
Casos infreqüentes de preenchimento de credenciais e incidentes de controle de conta são tratados de forma reativa pelos administradores por ações como redefinição de senha etc. Às vezes, os administradores recompensam as perdas incorridas pelos usuários, mas isso depende das características do aplicativo e do negócio. E geralmente é isso se uma empresa não é afetada em grande parte, nenhuma outra ação é tomada.
Mas os negócios serão afetados pelo recheio de credenciais, porque o preenchimento de credenciais leva a ataques mais perigosos. É um pré-requisito, um bloco de construção de controle de conta e ataques de agregação de contas, e esses ataques podem ser muito perigosos. Em particular, o ataque de preenchimento de credenciais bem-sucedido facilita mais ataques automatizados baseados em bot: raspagem de dados, distorção, escalpelamento, spam, negação de inventário para citar apenas alguns. E esses ataques teriam um impacto sólido nos negócios e na segurança em geral.

Como isso é feito?
Disclaimer: Nesta parte, vou descrever algumas técnicas utilizadas pelos atacantes. Mas vou me limitar a técnicas conhecidas que são fáceis de encontrar em qualquer lugar na internet. Também usarei alguns tutoriais em vídeo do youtube como exemplos, mas os selecionei no mesmo principal. O objetivo é fornecer contexto para aqueles preocupados com a segurança e não fornecer qualquer conhecimento valioso para crackers de script-kiddie.

O recheio de credenciais é, em princípio, muito simples. Você recebe várias credenciais e tenta executar uma ação de login em um aplicativo da Web usando essas credenciais. Quando o login é bem sucedido, você tem uma conta crackeada. É isso aí. Na prática, o invasor precisa resolver os seguintes aspectos.

Credenciais
O invasor precisa ter acesso a uma lista de credenciais que vazaram (essa é a principal diferença entre o preenchimento de credenciais e a quebra de credenciais). Listas de credenciais vazadas contendo pares de nome de usuário-senha ou senha de e-mail são chamadas em “listas de combos” de comunidades violadas. endereço e senha são chamados de “combos” em comunidades de cracking. Os mais valiosos são os combos recentemente vazados. Alguns dos combos são fáceis de encontrar, mas geralmente os mais valiosos são vendidos ou oferecidos em comunidades de cracking fechadas. Um padrão bastante comum é o seguinte: um banco de dados de credenciais é roubado e descriptografado por um invasor qualificado. Em seguida, as credenciais são vendidas ou concedidas, dependendo da motivação dos invasores menos experientes que estão realizando o preenchimento de credenciais em aplicativos da Web de sua escolha.
Automação
Verificar listas de combinação enormes requer automação, você precisa de um software que verifique todas as credenciais em um aplicativo e detecte as corretas. Às vezes, o software precisa da capacidade de ignorar a proteção captcha ou outros mecanismos de segurança. Não é incomum que os que querem ser crackers não tenham conhecimento sobre como escrever seu próprio software ou até mesmo como estender as ferramentas de craqueamento existentes. Assim, essas extensões adaptadas para um aplicativo da Web específico também são oferecidas no “mercado negro” por crackers mais habilidosos, algumas gratuitas e outras podem ser compradas facilmente. Eu descreverei o mercado de cracking mais detalhadamente depois.
Paralelização e anonimato
Quando você está realizando tentativas de login ou apenas enviando um grande número de solicitações de uma máquina para um servidor, é fácil chamar a atenção. Crackers estão usando listas de proxies e computadores zumbis para realizar tentativas de login dessas máquinas. Em primeiro lugar, permite-lhes paralelizar a verificação da conta do processo e também oculta o seu endereço IP fornecendo algum anonimato. Muitas vezes, o uso de proxies é um requisito para se obter automação – muitos aplicativos da Web monitoram endereços IP e detectam várias tentativas de login em uma máquina.

Como bolachas nascem?
Muitas técnicas e tutoriais de cracking estão disponíveis na internet convencional. Twitter e Youtube estão cheios de tutoriais e dicas sobre recheio de credenciais. Esperançosamente, os eficazes e os que mostram cracking bem-sucedidos são rapidamente removidos do youtube. Para ter uma ideia das comunidades e técnicas de cracking de credenciais, vamos dar uma olhada em alguns tutoriais em vídeo. Você não precisa assisti-los em detalhes, apenas um pequeno vislumbre pode lhe dar uma boa visão sobre a comunidade e as técnicas de script-kiddies.

Aqui está um tutorial de um dos muitos fóruns: [How To Use Sentry MBA por DevilGroup.org] – YouTube
No momento de escrever este artigo, ele tinha 31 mil visualizações e 27 comentários. O tutorial passa pela instalação do SentryMBA, introdução às “configurações”, que são extensões / configurações que permitem atacar um determinado site. Em seguida, eles apresentam como usar proxies e anunciar suas ofertas em configurações pagas e listas de proxy. Depois disso, o tutorial mostra como carregar esses arquivos no SentryMBA. Para o ataque, eles usaram 156 proxies com um número aproximado de 50 bots. O vídeo mostra o ataque e termina sem “hits”, o que significa que nenhuma credencial válida foi encontrada. Este vídeo não é muito técnico e tenta promover produtos pagos oferecidos pela comunidade.

Próximo tutorial: [Sentry MBA config proxyless + tutorial de captura] – YouTube
com 58 mil visualizações e 87 comentários é outra apresentação do SentryMBA. Ele mostra como usar a funcionalidade “Magic Wand” para criar uma configuração básica de login. Ele também mostra a funcionalidade “analisar página de login”, que tenta investigar automaticamente o mecanismo de login e, em um cenário perfeito, cria uma configuração pronta para uso. Nesse caso, a ferramenta criou um HTTP POST com os campos de dados necessários. Além disso, o tutorial mostra brevemente o uso da função Cookie refresh, que também é necessária para fazer uma tentativa de login (ele pega o id da sessão atual). Em seguida, as chaves de falha e sucesso são definidas. Chaves são apenas palavras ou expressões regulares que o SentryMBA usa para inspecionar uma resposta de um aplicativo. Quando uma chave é encontrada em uma resposta, o SentryMBA sinaliza uma combinação como um sucesso (acerto) ou uma falha. Então, o programa é configurado para seguir redirecionamentos HTTP que aparentemente também são necessários para automatizar o processo de ação de login neste caso. Então, o atacante verifica como o cracking funciona sem usar proxies! O programa executou mais de 1000 tentativas de login de um endereço IP e o aplicativo da Web ainda não estava bloqueando o endereço. O invasor concluiu que não havia problema em continuar sem usar proxies. Nas próximas etapas, o objetivo do cracker era verificar o login bem-sucedido, se uma conta crackeada tem um saldo positivo na conta. O vídeo termina com um procedimento de cracking com 50 bots e sem proxies. Este vídeo mostrou algumas opções mais interessantes do SentryMBA (que ainda são muito básicas ao olhar da perspectiva da camada HTTP e do navegador virtual).

Outro exemplo: [Como Crack PSN Com Sentry MBA 1.4 [TUTORIAL]] – Youtube
de um vídeo semelhante em que um invasor tenta fazer login na PlayStation Network com 16 mil visualizações e 70 comentários. Não vou descrever este vídeo, pois segue um padrão muito semelhante aos vídeos anteriores.

Existem pelo menos centenas de outros vídeos para o SentryMBA e outras ferramentas de cracking. O SentryMBA é bastante antigo, mas parece que ainda é a ferramenta mais popular por aí. Embora existam alguns programas mais recentes que estão fazendo coisas muito semelhantes. Eles oferecem melhor estabilidade e interface de configuração baseada em texto que é mais intuitiva. O mais popular atualmente é o SNIPR, um tutorial de uma comunidade também está disponível no youtube.

Snipr tutorial: [* ATUALIZADO * GUIA INICIAL / TUTORIAL SOBRE COMO USAR O SNIPR] – YouTube
STORM é outra ferramenta popular com tutoriais disponíveis também.

Tutorial STORM: [Tutorial Storm (Como funciona)] – YouTube
O número de ferramentas populares de cracking é realmente pequeno, sua configurabilidade e extensões são o que os torna atraentes para crackers. Voltarei ao assunto mais tarde.

Como você provavelmente observou, esses tutoriais em vídeo são de baixa qualidade. A maioria deles é criada assim – por um adolescente, em um computador Windows com alguns ícones para jogos na área de trabalho, etc … Alguns deles são realmente difíceis de assistir. Vetores de ataque populares que eu observei parecem refletir de alguma forma a ampla comunidade script-kiddie: plataformas de jogos (Steam, Minecraft, PSN etc), serviços de compartilhamento de arquivos, sites pornográficos, serviços de proxy (para crackar mais?), Serviços de streaming (Netflix, Spotify ), entrega de comida (Dominos Pizza) mas também Skype e Paypal. Embora eu tenha que mencionar que tudo está no radar deles, apenas alguns vetores parecem mais populares que outros.

Catálogo de ferramentas
A gama de ferramentas disponíveis não é extensa, as promovidas em fóruns e populares são limitadas:

SentryMBA
TEMPESTADE
Snipr
Eu tropecei em alguns outros nomes, mas não tantos. Backtrack A distribuição Linux vem com o software Hydra / Medusa, mas este software é bastante antigo e é tão primitivo que faz pouco sentido analisá-lo. Potencialmente, existem algumas outras ferramentas não usadas ou desconhecidas nas comunidades de cracking e são difíceis de obter. Mas no final, um cracker com habilidades de programação sólidas escreveria sua própria ferramenta de qualquer maneira… Então este é o catálogo de ferramentas que eu cobrirei.

SentryMBA
Embora bastante antigo, o SentryMBA ainda é a ferramenta de preenchimento de credenciais mais popular. Se você assistiu vídeos que eu incluí, você já tem um bom senso para o software. Buggy, mal escrito mas com todas as funcionalidades necessárias. Não vou descrevê-lo em detalhes, pois há muitas descrições preparadas por pesquisadores de segurança cibernética disponíveis. Embora você possa simplesmente instalar e instalar o software em um ambiente seguro. No entanto, se você estiver procurando por um relatório, eu gostei do relatório Danna Thee do cyberint, ele aborda todos os conceitos básicos.

TEMPESTADE
Como já mencionei, o software de preenchimento de credenciais consiste no próprio software e na configuração. O software é uma estrutura para a emissão de solicitações para um aplicativo da Web, mas a configuração ou as extensões são necessárias para segmentar um determinado site. Esta divisão está bem – caso contrário, teria de haver um programa para cada site. Storm dividiu essas funcionalidades e vem com dois programas. Um é o criador da configuração, onde você pode criar configurações na interface do usuário. A configuração é apenas um arquivo de texto, onde você pode definir modelos para solicitações, definir variáveis ​​e comportamentos. É logicamente dividido em etapas. A documentação da ferramenta foi difícil de encontrar ou talvez não esteja disponível. Para entender algumas funcionalidades, tive que fazer pequena engenharia reversa. Por esse motivo, não desejo incluir descrição detalhada, mas você pode encontrar facilmente as configurações do Storm e aprender a sintaxe lendo-as. A outra parte do software é o programa de preenchimento de credenciais STORM. Ele permite definir vários encadeamentos, carregar listas de combinação e listas de proxy, de maneira muito semelhante ao SentryMBA. Devido a seus arquivos de configuração totalmente baseados em texto, eu acho este programa mais maduro e mais fácil de usar. Embora o SentryMBA tenha algumas funcionalidades que parecem estar faltando no Storm.

Snipr
Snipr é a mais recente adição à comunidade. Ele fornece mais integração com a comunidade (semelhante a projetos de código aberto) e vem com configurações integradas e raspadores de proxy, etc. A estabilidade e o desempenho parecem ser bastante aprimorados no SentryMBA. O Snipr parece fornecer todas as funcionalidades do STORM e do SentryMBA. Os hackers podem escrever plugins e depois distribuí-los e vendê-los nessa plataforma. Normalmente, um script kiddie tem que procurar por listas de combinação, então raspar algumas listas de proxy, em seguida, encontrar ou comprar “configuração” para um site específico. Aqui todas estas etapas estão bem integradas em uma plataforma e o pagamento é fácil. A ferramenta também oferece plugins gratuitos para algumas aplicações web, mas possui um mercado pago integrado. Isso é muito perigoso, pois estabelece um mercado comum para a troca de conhecimento. Significa menos trabalho para as crianças de script e motiva os hackers mais habilidosos a criar e vender “configurações” – inteligentes. Felizmente, em 2019, conseguir essa ferramenta de graça é difícil, pelo menos para mim.

Por que isso ainda está acontecendo?
Navegar pelos fóruns ou olhar para a ferramenta Snipr mostra que o mercado de recheio de credenciais é vibrante. Hackers habilidosos estão fazendo configurações que preparam lucros, os crackers estão lucrando com contas corrompidas vendendo-as ou de outra forma.

O combustível para o preenchimento de credenciais é o vazamento de credenciais. Vazamentos acontecem constantemente, infelizmente, indivíduos muito habilidosos estão explorando vulnerabilidades de software e erros humanos. Do outro lado do espectro estão as aplicações web, onde na maioria dos casos são permitidas tentativas massivas de login.

Isso é realmente surpreendente se você pensar nisso. Deixe-me usar uma analogia. Digamos que você construa um bom apartamento (aplicativo), deseja que apenas seus localizadores acessem o prédio, para que você crie uma porta que possa ser aberta por pessoas que tenham as chaves adequadas.

Protegendo seus apartamentos
Você quer que seja seguro, então você cria uma porta sólida. Imaginemos que as portas tenham muitos cadeados inteligentes diferentes que protegem contra diferentes técnicas de ladrões (SQLInjection, CSRF, XSS e sessionId hijacking).

Suas fechaduras super sólidas
Além disso, cada pessoa tem um código PIN atribuído individualmente. Você gasta muito esforço ensinando seus construtores a construir portas adequadas para proteger seus apartamentos. Você contrata serralheiros profissionais (pentesters) para testar suas portas e encontrar pontos fracos.

E então você distribui as chaves para todos os localizadores e fornece meios para distribuir as chaves aos novos localizadores. E você observa como as pessoas estão usando as portas. A maioria deles abre as portas na primeira tentativa, alguns têm problemas em inserir a chave corretamente, então eles entram em uma segunda ou terceira tentativa. De tempos em tempos, alguém perde as chaves, então você dá as novas. Nada de excepcional.

Uso esperado de portas dianteiras
E um dia, de repente, você vê um grande número de pessoas desconhecidas se alinhando em fila antes das portas. Eles tentam abri-lo com a chave errada e, em seguida, saem ou retornam para algum lugar aleatório na fila. Em seguida, outra pessoa se aproxima e tenta abrir a porta, falha, vai para o final da fila. Você consideraria isso normal? Você não agiria?

Uma fila de pessoas com chaves erradas, normais?
Isso é o que acontece durante o preenchimento de credenciais. E esse tipo de atividade de rede às vezes é ignorado, especialmente se não for alto em volume. Por que é que?

Eu vejo dois motivos. Primeiro, é que nós humanos temos uma grande capacidade de detectar comportamentos anômalos, então, na analogia usada, imediatamente sabemos que algo não está certo com todas as pessoas que tentam entrar e fracassar. Podemos analisar comportamentos e detectar padrões naturalmente – teríamos que ensinar nosso sistema de proteção a fazer o mesmo. A segunda razão é uma divisão comum dentro das organizações entre aplicativos / desenvolvedores e firewalls / administradores. Os aplicativos geralmente não têm contexto ou simplesmente não são seus trabalhos para monitorar padrões de tráfego. Os firewalls, por outro lado, não conhecem detalhes da autorização do aplicativo ou simplesmente não são um trabalho de um firewall para monitorar logins para um aplicativo específico, mas sim um objetivo mais genérico de proteger toda a sub-rede, por exemplo. Parece que nem os administradores nem os desenvolvedores têm um contexto completo para abordar a questão da maneira que uma pessoa pode apenas observar a porta.

Além disso, devo admitir que a analogia que usei simplifica demais as técnicas avançadas de preenchimento de credenciais em alguns aspectos. Ladrões na fila tentarão se disfarçar de inquilinos e tentarão enganar o observador. Além disso, se o número diário de inquilinos for enorme, será mais fácil perder os ladrões. Mas mesmo com esses obstáculos, ainda há coisas para procurar – ainda haveria muita gente agindo de forma estranha, tentando chaves, fracassando e indo embora. Como isso se traduz em possíveis técnicas de detecção?

Detecção
Voltando à analogia introduzida anteriormente, a ideia central por trás da detecção é estar atento quando uma enorme fila de pessoas desconhecidas tenta entrar no prédio abrindo a porta com chaves diferentes e falhando. O próximo passo é identificar nas pessoas maliciosas que não são os localizadores. Talvez eles usem bonés com penas vermelhas? Ou talvez eles sorriam maliciosamente ou se escondessem atrás de um par de tons azuis? Talvez possamos apenas olhar para o seu comportamento de sair e entrar na fila novamente?

Você consegue reconhecer os maliciosos? O seu sistema de proteção?
Nesta seção, tentaremos identificar possíveis meios para a detecção de recheio de credenciais. Vou tentar mostrar algumas perspectivas diferentes sobre como olhar para o assunto. Tentarei manter um alto nível de abstração e não me aprofundar muito em aspectos técnicos e implementações.

Ferramentas de pegada
Vamos começar voltando para as ferramentas descritas anteriormente. As configurações foram corrigidas. Como isso se traduz em solicitação HTTP? Bem, a solicitação é constante, apenas os campos especialmente configurados, como nome de usuário, senha, sessionid, estão mudando. As solicitações HTTP geradas pelas ferramentas são reconhecíveis? Bem, isto depende. O SentryMBA vem com uma configuração padrão que raramente é alterada e o footprint é facilmente reconhecível, observando as strings user-agent (UAS). Podemos simplesmente procurar padrões nas strings em solicitações recebidas e sinalizar solicitações com base nisso. Nessa abordagem, ameaçamos nossos padrões de maneira semelhante a um banco de dados de antivírus.

Esta é uma técnica muito básica que é recomendada em alguns artigos – para listar certos padrões. Mas essa abordagem é primitiva e muito fácil de contornar pelos invasores – eles teriam apenas que alterar um pouco o pedido. Além disso, ferramentas como Snipr e STORM não possuem uma configuração predefinida. Portanto, digamos que podemos analisar as configurações disponíveis existentes no mercado. Analisar isso nos daria uma boa biblioteca de UAS usados ​​e outros padrões característicos. Com o mercado de Snipr centralizado, provavelmente poderíamos ter acesso às configurações facilmente usando bitcoins. Acabaríamos com uma lista de solicitações HTTP usadas pelas ferramentas e suas configurações. Essa lista teria que ser atualizada e mantida. Não é muito conveniente. Além disso, os invasores sempre podem alterar as sequências pré-configuradas para algo de sua escolha, tornando toda a lista negra ineficaz.

Geolocalização, endereços IP
O ataque de preenchimento de credenciais é realizado a partir de um endereço IP ou de proxies, o que significa vários endereços IP. A análise das origens dos endereços IP e dos padrões de tráfego no IP pode fornecer uma forte indicação de que um ataque é realizado.
Quando o cracking é realizado a partir de um endereço IP, o número de tentativas de login de um IP será facilmente visível. Embora existam situações em que, atrás de um endereço IP, haja muitos usuários. Nesse caso, a análise teria que ser aprimorada rastreando ids de sessão ou entendendo o comportamento dos usuários / bots. Vou elaborar sobre isso em um momento.
Quando o cracking é realizado a partir de múltiplos endereços IP, ou seja, usando serviços de proxy, podemos tentar deduzir a geolocalização dos IPs. Essas informações podem ser usadas para encontrar anomalias – por exemplo, se sabemos que 90% de nosso tráfego é da França e, de repente, estamos recebendo uma enorme quantidade de tentativas de login dos EUA e de vários países da Ásia, podemos suspeitar com bons probabilidade um ataque de enchimento de credencial. Também há serviços que tentam manter listas reais de proxies, embora eu não saiba o quanto são eficazes. Outros estão tentando detectar o uso de proxy, verificando atrasos de ping / traceroute e outras características. Embora isso seja importante mencionar que um usuário legítimo também pode usar um proxy. Informações sobre o uso de proxy por si só não significam nada.
Em resumo, a geolocalização adiciona uma dimensão valiosa para detectar o preenchimento de credenciais, especialmente para aplicativos da Web que operam localmente em uma determinada região.

Credenciais usadas
Credenciais vazadas – o combustível para recheio de credenciais. Crackers são capazes de conseguir isso, então os defensores devem ser capazes de pegá-los também. Eles são publicados em fóruns, chats, vendidos, publicados abertamente em alguns serviços. É claro que, para uma empresa, é mais difícil obter certos dados e a ideia de pagar hackers por dados vazados é … errada. Além disso, manter as credenciais vazadas não é algo que você gostaria de fazer com considerações de segurança, moralidade e legalidade. Mas, em vez disso, você pode manter, por exemplo, hashes de nome de usuário e senhas. Como podemos usar essa informação? Bem, se conseguirmos coletar um banco de dados de hashes de credenciais vazadas, poderemos verificar cada tentativa de login contra esse banco de dados. Obviamente, encontrar uma correspondência em um banco de dados não é uma indicação direta de que um recheio de credenciais está acontecendo, seria necessário correlacionar esses eventos com um contexto mais amplo. Ter uma única correspondência em um banco de dados pode significar que um usuário único e legítimo efetuou login com suas credenciais que foram roubadas. Em cenários do mundo real, você receberia muitas correspondências em senhas populares como “12345”, “qwerty123” etc. Essa idéia é bem parecida com a pegada de ferramentas, nesse sentido, tentamos reunir os mesmos dados que os crackers estão tendo. acessar e usar esses dados para sinalizar ou bloquear certos padrões de tráfego. Esta abordagem está sobrecarregada com o mesmo inconveniente, você teria que procurar por dados, manter o banco de dados atualizado. Normalmente, os crackers estão tentando usar os conjuntos de dados mais recentes de credenciais. Além disso, eles modificam as strings de nome de usuário e senha adicionando prefixos e sufixos e outras transformações. Na verdade, existem alguns programas bastante populares que eles usam para esse propósito. Como você deseja operar com hashes e não com credenciais completas, é muito difícil acomodar essas variações de string.

Detecção de bots
A detecção de bots é um assunto muito mais amplo do que apenas o preenchimento de credenciais. Ter uma detecção de bots de desempenho impediria a maioria dos ataques automatizados. O problema é simplesmente que detectar robôs inteligentes é muito difícil e também há muitos bons bots por aí que você não quer bloquear. E também temos chamadas de API e sistemas que se comunicam uns com os outros e que podem ser facilmente qualificados como bots… O assunto é amplo. Mas, para o preenchimento de credenciais, quando estamos considerando uma autenticação humana, através de uma página da Web, podemos pensar em técnicas de detecção de bots. Isso fica mais complicado para a autorização da API, portanto, vou me referir apenas ao login de usuário baseado em UI.
Dependendo de onde o software de proteção residiria, as técnicas são numerosas. Do acompanhamento do movimento do cursor (captchas mais novos “não sou um robô”) até a verificação detalhada do navegador para técnicas mais simples, como verificar se o dispositivo do cliente é compatível com JavaScript ou Cookies. Mesmo verificações simples seriam eficazes contra a maioria das “configurações” do SentryMBA. O problema, entretanto, é que as ferramentas tendem a evoluir com técnicas de proteção. Seria uma questão de tempo quando os crackers começassem a usar novas extensões ou implementassem a tecnologia “browser in memory” para contornar essa proteção. Ainda assim, a implantação de algumas das técnicas cria mais dificuldades para os crackers e muitas rotinas para crianças podem ser desencorajadas.
Outra maneira é olhar para a automação, a repetitividade dos bots. Olhando para as métricas relacionadas ao tempo, os ataques automatizados podem ter um padrão distinto diferente daquele gerado pelos seres humanos. Para observar esse sinal, você teria que correlacionar essa informação com endereços IP, IDs de sessão, UAS ou outras características de solicitações.

Cabeçalho HTTP
O cabeçalho HTTP contém vários dados que podem ser usados ​​para encontrar anomalias.
Os cabeçalhos podem ser inspecionados quanto à conformidade com um padrão. Como as solicitações são criadas manualmente por crackers, às vezes elas introduzem inconsistências, por exemplo, elas poderiam definir a versão do protocolo HTTP como 1.0 e definir um cabeçalho If-None-Match Cache não existente que foi adicionado na versão do protocolo HTTP 1.1. Isso causaria uma inconsistência de protocolo. Ou eles ignorariam alguns cabeçalhos populares apenas porque não são necessários. Embora esse tipo de implementação seja demorado e não muito inovador, vejamos o que mais podemos fazer.
A string user-agent é muito interessante. Como já mencionado na seção de pegadas de ferramentas, elas podem ser usadas para análise. Durante um ataque automatizado, um invasor usaria um número constante de sequências de agente do usuário ou as geraria de um modelo (assumindo um ataque sofisticado, a maioria usa apenas um agente do usuário ou uma lista fixa de agentes do usuário). O que você pode tentar fazer é encontrar anomalias na distribuição do agente do usuário. O UAS pode ser tokenizado e, em seguida, agrupado de acordo com alguma métrica. Fazer esse tipo de clustering pode revelar UAS que são anômalos: Detecção de malware usando identificação de discrepância de agente de usuário HTTP, detecção de anomalia em cadeias de agente de usuário. Essa análise poderia ser aprimorada ainda mais pela análise baseada no tempo. Essa técnica também é usada para detecção de malware nas redes, embora essa área pareça mais difícil do que o preenchimento de credenciais (devido ao uso e distribuição de SSL nos nós da rede).
Da mesma forma que o UAS, uma análise pode ser realizada em URLs e outras strings, embora a análise de URL faça mais sentido para os ataques de raspagem de dados e verificação de vulnerabilidades.

Análise baseada no tempo
Embora eu já tenha mencionado isso na seção de detecção de bots, isso pode ser um indicador valioso. A maioria dos ataques de preenchimento de credenciais, ou pelo menos aqueles executados por script-kiddies, inunda o aplicativo com um fluxo constante e repetitivo de solicitações. Especialmente quando o tráfego gerado é significativo, o sinal é muito forte. Existem muitas técnicas que podem ser implementadas, estatísticas como ARIMA, técnicas padrão como k-means, SVMs, STL ou uso de redes neurais, por exemplo, LSTMs – Redes de Memória de Longo Prazo para Detecção de Anomalias em Séries Temporais. Como sempre acontece com a ciência de dados, você precisa de bons dados para avaliar seu modelo e verificar seu desempenho.

Tentativas de login
A ação de login é fundamental para o preenchimento de credenciais e distingue esse ataque de outros ataques automatizados. Por esse motivo, é especialmente valioso realizar uma análise das tentativas de login.
Rastrear as ações de login geralmente é bastante simples, um aplicativo geralmente fornece uma ou mais URLs para as quais uma solicitação apropriada deve ser enviada. Isso facilita o rastreamento de tais solicitações, isso pode ser feito em um nível de firewall com uma configuração simples. Como alternativa, essa análise pode ser feita no servidor do aplicativo internamente.
Ao acompanhar as tentativas de login, você pode implantar os mesmos métodos mencionados na seção de análise baseada em tempo. Os dados podem ser aprimorados adicionando informações sobre se a ação de login foi bem-sucedida ou não. Você também pode tentar combinar a análise de login com o footprinting do navegador / bot para melhorar ainda mais o sinal.

Análise do Comportamento do Usuário
O UBA é considerado muito eficaz quando implementado corretamente. Na analogia que apresentei anteriormente com pessoas esperando em uma fila tentando abrir as portas – isso é o que nossas mentes estão fazendo. Analisamos o comportamento dessas pessoas e classificamos certos comportamentos como suspeitos, confiando em nosso conhecimento sobre os comportamentos das pessoas e na compreensão do que são uma porta e uma chave.
Embora o UBA possa ser feito em um nível baixo, o que eu particularmente gosto nessa abordagem é que o UBA nos permite elevar da camada HTTP e observar o tráfego e as ações subjacentes de uma perspectiva mais alta, especialmente do contexto de negócios do aplicativo. Isto é certamente valioso para ataques como a negação de inventário, escalpelamento, sniping ou diligenciamento. O UBA também pode ser muito útil para os departamentos de marketing e UX, e muitas vezes essa análise existe dentro da empresa, mas por motivos diferentes da segurança (automação de marketing, Hotjar e software similar).
Para que a análise seja possível, você precisaria da capacidade de deduzir as ações executadas pelo usuário, inspecionando os registros. Existem arquiteturas que abraçam o conceito. Um bom exemplo seria o padrão EventSourcing e outras arquiteturas baseadas em mensagens. Às vezes, registros simples de auditoria podem servir perfeitamente a esse propósito. Como alternativa, se o sistema fosse implantado internamente, o aplicativo poderia gerar eventos apropriados de nível mais alto de abstração. Ou, se estivermos considerando um único aplicativo, um sistema de detecção pode ser fortemente integrado a uma estrutura da Web, permitindo uma integração perfeita e uma quantidade mínima de configuração necessária (isso exigiria alterações de código e desenvolvimento no lado do aplicativo – nada é gratuito). Com a capacidade de decodificar ações dentro da sessão do usuário, a próxima etapa é distinguir entre o comportamento normal do usuário e o anômalo. Várias suposições podem ser feitas ao escolher os algoritmos, uma comumente repetida é que o comportamento malicioso seria raro. Mas esse não é necessariamente o caso de alguns aplicativos, especialmente de sites da Internet. Redes neurais podem ser implantadas aqui para refletir padrões complexos. Mas abordagens mais simples também são possíveis – por exemplo, um conjunto de ações suspeitas e mal-intencionadas pode ser definido e a atividade do usuário pode ser monitorada de acordo com tais padrões. Em relação à implementação, uma combinação de padrões, árvores de decisão, sistemas baseados em regras ou baseados em gráficos vêm à mente.

Conhecendo seu sistema
Esta não é uma técnica específica e não está fortemente relacionada ao recheio de credenciais, mas eu queria incluir essa ideia, pois é poderosa. Para proteção, use informações que os atacantes não possuem. Você conhece o seu tráfego, você pode obter informações interessantes a partir dele. Quando se trata de HTTP, você tem alguns dados que não estão facilmente disponíveis para o invasor. Por exemplo, você sabe qual é a distribuição de tipos de navegadores, sistemas operacionais, países, idiomas no seu tráfego. Outras áreas interessantes podem incluir consultas SQL ao seu banco de dados ou distribuições de URLs e muitas outras. Você pode estudar esses recursos e criar tendências relacionadas ao tempo. Tente entender e aprender o seu tráfego, use essa vantagem sobre o invasor. Só tome cuidado. Certifique-se de que você está aprendendo quando o sistema está íntegro e “normal”. Para alguns sistemas, é extremamente difícil conseguir isso (os relatórios estimam que ~ 50% ou mais de todo o tráfego do website é não humano).

Espero que você tenha encontrado as perspectivas apresentadas informativas e que elas possam fornecer várias ideias para um sistema de detecção. Escolher o caminho certo e acomodá-lo aos sistemas e aplicativos existentes pode ser um desafio. Além disso, como em todos os projetos de ciência de dados, tal sistema deve ser validado em relação aos dados, quanto mais dados, melhor o sistema pode se tornar.

Observações aleatórias
Se um sistema de detecção usasse uma abordagem de aprendizado de máquina, é importante entender como um sistema ML pode ser envenenado. Já existem técnicas sendo desenvolvidas para enganar o sistema ML (Explicando e Aproveitando Exemplos Adversariais, Ataques de Segurança: Análise de Modelos de Aprendizado de Máquina). É bom ter isso em mente ao projetar um sistema.

Também gostaria de incluir um diagrama do documento do Google que representa a quantidade de trabalho necessária para executar um sistema de ML na produção (dívida técnica oculta em sistemas de aprendizado de máquina).

A detecção de um ataque é uma tarefa muito mais simples que uma defesa. É comum pensar que a detecção é um pré-requisito para se defender de um ataque, mas nem sempre é verdade. Por exemplo, você pode se defender contra o preenchimento de credenciais incluindo um captcha muito difícil sem poder detectar um ataque. A defesa contra um ataque abre toda uma nova área da teoria dos jogos. Toda ação defensiva pode desencadear a evolução da estratégia de ataque. Por exemplo, se decidirmos bloquear certos user-agents, o cracker observará isso e modificará os user-agents ignorando nossa segurança.

A grande parte deste artigo descreve o preenchimento de credenciais e as possíveis abordagens de detecção com base nas ferramentas usadas pelos crackers. Mas é razoável supor que um cracker sério com sólidos conhecimentos de programação escreveria seu próprio software sob medida para uma aplicação web específica.

Às vezes, o preenchimento de credenciais é definido como uma tentativa de login em massa dentro de um determinado período de tempo. Mas isso nem sempre é o caso. Os invasores sabem que gerar uma quantidade enorme de solicitações de login em um curto período de tempo pode chamar a atenção. Então, eles realizam um ataque lento, sob o radar, de preenchimento de credenciais. Pedidos de casal por uma hora, talvez apenas um par por dia. Eles também usam contas falsas e fazem login com eles na segunda tentativa e realizam ações insuspeitas, disfarçando-se de usuários comuns. Todos esses cenários valem a reflexão. Por outro lado, mesmo que você tenha um sistema capaz de detectar o preenchimento de credenciais clássicas, isso já é muito valioso. Pela primeira vez, nem todas as kiddies scriptas iriam para outro lugar – ser capaz de checar 20 credenciais diariamente quando você tem 10.000 credenciais em sua lista de combinações levaria mais de um ano, provavelmente não uma vez que um adolescente esteja disposto a esperar. Mas mesmo para crackers profissionais, a capacidade de retardar o recheio de credenciais dá uma vantagem significativa aos defensores. Um ano para enumerar as senhas, há uma chance maior de os usuários alterarem suas senhas tornando as credenciais perdidas obsoletas.

Pensamentos finais
Acredito que o recheio de credenciais, aquele realizado por ferramentas automatizadas em um período de tempo definido, deveria e poderia ser interrompido. Como mencionei no início, isso é bastante louco, pois esses tipos de tentativas de login são observados e às vezes considerados uma parte normal do tráfego. Ver um script-kiddie realizando o preenchimento de credenciais de seu próprio endereço IP e ele poder enumerar milhares de contas é bastante chocante. Parece haver uma falta de ferramentas e bibliotecas dentro das estruturas de software que permitiriam aos programadores implementar facilmente mecanismos de detecção e, eventualmente, medidas de proteção.

As perspectivas apresentadas no capítulo Detecção são apenas minhas próprias ideias soltas que me ajudam a raciocinar sobre soluções específicas. E apesar de alguns deles serem muito comuns e conhecidos em segurança, por favor não se limite a estes e crie os seus, seja criativo.

Disclaimer: Eu sou um engenheiro de software que entrou um pouco em segurança e, em seguida, um pouco em ciência de dados e decidiu compartilhar alguns bits sobre recheio de credenciais. Eu não sou um pesquisador de segurança em tempo integral nem sou um cientista de dados em tempo integral.
Espero que tenham gostado desta visão geral caótica da paisagem do recheio de credenciais.

Aumento da importância da segurança

Aumento da importância da segurança do site em 2019 e além

Cibersegurança ou segurança da tecnologia da informação ou segurança da Web é a prática de garantir que seus computadores, redes, sites e até mesmo dispositivos móveis estejam protegidos contra ataques mal-intencionados on-line.

A necessidade de depender exclusivamente da Internet para uma ampla gama de atividades, incluindo finanças comerciais, entre outras, aumentou o risco de hackers e golpes de hackers que visam principalmente organizações, corporações e dados pessoais de pessoas comuns.

Realizar transações comerciais nunca foi tão fácil quanto é hoje. Se você quiser comprar um item de qualquer parte do mundo, poderá facilmente vê-lo, mas também pagá-lo através de um portal on-line, e essa é uma das razões pelas quais a maioria das pessoas está muito exposta a riscos. posou com má segurança cibernética.

Hackers profissionais também conseguiram acessar o site de uma empresa e obter acesso a seus sistemas internos de gerenciamento de dados, onde podem roubar informações valiosas, que podem ser usadas para chantagear a empresa para recuperá-la.

O uso de protocolos de segurança simples e desatualizados não está mais funcionando e, portanto, a segurança da Web agora é mais importante do que nunca devido aos seguintes motivos:

Os hackers são mais inteligentes do que eram antes:
Com novos procedimentos de segurança, surgem novos níveis de quebra. Os cibercriminosos médios mudaram suas táticas para acomodar suas novas medidas de segurança, e todos devem estar correndo para tentar derrotar os hackers em seu próprio jogo.

As empresas são, portanto, aconselhadas a atualizar seus sistemas de segurança ou sites, especialmente sites de wordpress, e se necessário, devem considerar a contratação de hackers de chapéu branco que os manterão à frente do jogo.

A internet está se expandindo rapidamente.
Há alguns anos, o único uso que a internet tinha para a maioria das pessoas era verificar emails. Hoje em dia, há muitas tarefas que você pode realizar on-line. Além disso, você não precisa necessariamente de um computador para usá-lo.

Muitos dispositivos diferentes, como telefones celulares, iPods, dispositivos de streaming de música e relógios podem ser conectados à Internet e isso aumenta a exposição ao risco.

Você deve proteger todos os seus dispositivos, pois os hackers podem acessá-los usando métodos simples, como Wi-Fi e Bluetooth.

O número de sites invadidos aumenta rapidamente
“Houve um aumento de 42% no número de sites invadidos em 2018 em comparação com 2016–17”.
O Google anunciou que mais de 50 milhões de sites em todo o mundo estão infectados ou mal-intencionados. Em março de 2015, esse número era de 17 milhões. O número de novas vulnerabilidades de aplicativos da Web publicadas em 2017 foi 212% maior que o número divulgado em 2016.

Além do número de sites que estão sendo criados está aumentando exponencialmente, especialmente sites baseados em WordPress e eles são mais propensos a serem hackeados devido a vulnerabilidades presentes no WordPress CMS, que são exploradas por hackers de tempos em tempos. enquanto 90% de todos os sites invadidos foram WordPress, a maioria deles estava com versões atualizadas

Você sabia? 56% de todo o tráfego da Internet é proveniente de uma fonte automatizada, como ferramentas de hackers, scrapers e spammers, imitadores e bots.

A mais recente pesquisa da Acunetix revela que cerca de 84% dos sites contêm vulnerabilidades, o que significa que todos eles estão propensos a serem infectados a qualquer momento.

O malware é frequentemente escondido dos arquivos originais e do banco de dados, e os invasores esforçam-se para garantir que você não possa remover os backdoors com muita facilidade. Então você pode pensar – o meu site é seguro? ou como remover malware do site WordPress

As ferramentas de hacking se tornaram mais sofisticadas:
Agora existem muitas ferramentas mais perigosas que podem ser usadas por hackers para obter acesso às suas informações mais confidenciais. É, portanto, crucial estar alerta para detectar e combater as novas ameaças, de modo a garantir que você esteja seguro em todos os momentos.

Muito mais informações pessoais estão sendo compartilhadas on-line:
A grande maioria da população no mundo tem acesso à internet e, às vezes, compartilha informações extremamente pessoais que as colocam em risco.

Para hackers, isso é uma mina de ouro. Se eles estão procurando uma maneira de chegar até você, especialmente celebridades e outras pessoas poderosas, eles podem simplesmente acessar sua conta pessoal e extrair as informações altamente confidenciais e privadas, que eles podem usar contra você.

Os sistemas de armazenamento, como o iCloud, também podem expô-lo a alguns problemas sérios de segurança e, portanto, você deve sempre garantir que você mantenha suas informações pessoais no mínimo.

Como você pode proteger sua empresa?
Muitos especialistas do setor dizem que a quebra de segurança não é uma questão de “se”, mas sim de “quando”. Isso ocorre porque muitas empresas dependem muito de tecnologia e, como resultado, se expõem aos riscos associados à Internet.

É bastante preocupante que algumas empresas ainda não estejam levando a segurança cibernética a sério e, como tal, se deixam vulneráveis ​​a um ataque.

Para uma organização de pequena empresa, uma violação de dados não só será prejudicial por causa das informações que provavelmente perderão, mas o custo médio de uma violação de dados é muito alto e a maioria das empresas gastará em média £ 38.000 para resolver o problema.

Isso é porque você terá que gastar dinheiro em ferramentas necessárias para corrigir a situação.

O processo de limpeza de um site mal-intencionado é muito mais sobre o conhecimento das vulnerabilidades e o conhecimento de um hacker do que apenas passar manualmente pelos arquivos e para isso você pode contratar serviços de provedores de segurança wordpress como o WP Hacked Help. para vir e protegê-lo contra futuros ataques em seu site wordpress.

Aqui estão algumas coisas que você pode fazer para se proteger:
Melhore sua proteção por senha:
Você deve se esforçar para usar senhas muito fortes em todos os dados da sua organização. Você também pode fazer uso de senhas de prompt regularmente para proteção extra.

Limite de acesso:
Nem todos os funcionários devem ter acesso aos dados mais confidenciais e confidenciais da organização. Na verdade, você deve garantir que aqueles que têm esse acesso precisem de mais de uma senha de pessoas diferentes para acessar as informações.

Isso também envolve a adição de vários níveis de acesso, incluindo criptografia e varreduras de retina.

Realizar treinamento intensivo de funcionários:
Certifique-se de que todos os seus funcionários estejam adequadamente treinados sobre como configurar senhas e como se proteger de ataques.

Hackeie o sistema você mesmo:
Se você não tem certeza sobre onde sua empresa está mais vulnerável, você pode tentar invadir o sistema sozinho para saber onde estão os problemas e corrigi-los antes que hackers externos tenham a chance de roubar suas informações.

Analise o seu site para evitar ficar na lista negra
Normalmente, um site do WordPress fica na lista negra do google quando ele contém algo prejudicial ao usuário, por exemplo, malware.

Limpar o seu site é apenas a primeira parte de se relistar no Google. Antes de colocar seu site lá fora novamente, verifique se você tem medidas para prevenir uma recorrência.

Você deve executar seu site através de ferramentas on-line de segurança de sites para corrigir qualquer brecha ou vulnerabilidade que possa existir em seu site, antes que ele seja explorado por um hacker.

Existem várias ferramentas disponíveis on-line entre as empresas Sucuri, Wp Hacked Help e Wordfence sendo os scanners de segurança de sites mais populares e amplamente utilizados que examinam todos os arquivos em seu site WordPress procurando códigos maliciosos em temas wordpress, backdoors, web php shells que hackers instalaram, URLs maliciosas conhecidas e padrões conhecidos de infecções.

Conclusão:
Muito pode ser dito sobre segurança da informação, mas uma coisa que você deve sempre garantir é não armazenar informações confidenciais onde você sabe que elas podem estar vulneráveis ​​e expostas a hackers.

Você deve estar sempre atento porque um hack pode acontecer a qualquer momento quando você menos espera.

Como uma corporação que lida com finanças, assegure-se de que você tenha um departamento inteiro cuja função principal é monitorar os sistemas e fazer um relatório regularmente sobre como tudo é seguro.