Como consertar os erros de segurança mais comuns
O clima tecnológico atual exige mais segurança na web do que nunca contra ataques cibernéticos. Existem alguns testes de garantia e qualidade que podem ser feitos para garantir a segurança de seus produtos digitais.
Alguns desses testes estão:
Rastreadores da Web
Um rastreador da Web é um bot que analisa cada pixel quadrado de um aplicativo, clicando em cada link encontrado. Às vezes, eles podem obter acesso a páginas desprotegidas se as devidas precauções não forem tomadas. Usa-se rastreadores da web para garantir que todas as páginas do seu aplicativo tenham o nível necessário de segurança. Afinal de contas, se um rastreador da Web conseguir entrar em uma página segura, o mesmo poderá acontecer com um usuário experiente.
Google Crawlers
Às vezes, os problemas de segurança na Web são causados pelo culpado menos esperado: o Google. Como um dos mais sofisticados rastreadores da web, o Google analisa páginas quanto a palavras-chave e apresenta seus resultados ao usuário. Sem segurança adequada, esses resultados podem exibir algo que talvez você não queira que um usuário veja, como uma lista de contatos, números de cartão de crédito ou outras informações pessoais.
Outros rastreadores
Como um controle de qualidade, eu primeiro e principalmente rastreio aplicativos manualmente para ver se posso invadir qualquer informação protegida. Então, eu corro um aplicativo para ver se ele pode pegar algo que eu perdi. Há uma abundância de excelentes aplicativos gratuitos disponíveis, como Nutch e Heritrix, que podem ser facilmente encontrados on-line. A maioria das vulnerabilidades identificadas por esses aplicativos são correções relativamente fáceis.
Fraquezas comuns em páginas de login
Uma página de login geralmente é suficiente para evitar riscos de segurança cibernética. Eles ainda estão vulneráveis a ataques, por isso precisamos garantir que eles não possam ser contornados ou enganados de qualquer forma.
A maneira mais fácil de passar uma página de login é através dos metadados do site. Ao longo da produção, os desenvolvedores ocasionalmente adicionam nomes de usuário ou senhas como comentários no código. Isso os mantém à mão, economizando tempo e esforço. No entanto, se eles se esquecerem de remover as informações após a conclusão do projeto, essas informações se tornarão acessíveis a qualquer pessoa que visualizar os metadados do site. Como parte de nosso processo de garantia de qualidade, filtramos metadados de informações confidenciais para proteger a página de login. Acessar os metadados de um site é muito simples. Basta navegar até a guia de fontes do seu navegador e examinar os arquivos.
Eu, pessoalmente, parei apenas uma liberação devido a metadados uma vez, mas isso é o suficiente para eu pesquisar com cuidado extra por isso toda vez.
Fraquezas Comuns nos Frameworks de Aplicativos da Web
Outra maneira comum de invadir uma página de login é inserindo os nomes de usuário padrão que alguns frameworks usam. Esses nomes de usuário devem ser alterados ou removidos quando um desenvolvedor conclui o projeto, mas, às vezes, eles esquecem.
Falando de frameworks, vamos discutir um exploit conhecido que alguns deles possuem.
Como é uma plataforma tão conhecida, usarei o WordPress como exemplo. Ao contrário de outras plataformas, o WordPress não limita o número de tentativas de login que um usuário pode tentar. Isso faz com que ataques de força bruta – experimentando diferentes combinações de nome de usuário e senha até que um funcione – é viável. Isso geralmente é feito com um script ou um programa, então ter um usuário espera 10 minutos a cada 5 vezes erradas poderia adicionar dias, para a tentativa, ter um “Você é um ser humano” aparecer pode pará-lo completamente. Felizmente, essas e outras soluções simples baseadas em código para evitar essa atividade são rápidas e fáceis de adicionar.
Injeções SQL
A injeção SQL é outro método de violar uma aplicação web – geralmente baseada em dados – adicionando consultas SQL extras ao inserir texto. Por exemplo, ao inserir um nome de usuário, a adição de “admin ou 1 = 1” diz ao SQL para sempre tomá-lo como uma declaração verdadeira.
Essa é uma façanha bem conhecida, com tutoriais detalhados prontamente disponíveis on-line. Isso significa que qualquer pessoa que queira acessar informações confidenciais, se uma página da web estiver mal classificada. Na minha experiência, vi esse trabalho duas vezes. Ambas as vezes estavam em lugares diferentes no mesmo aplicativo da Web, mas resultaram em acesso totalmente aberto ao site.
A injeção de SQL, embora bem conhecida, é fácil de evitar com instruções preparadas e estruturas Java projetadas para aliviar essas vulnerabilidades. Se o seu aplicativo da web usa PHP, verifique e verifique isso.
Endereço HTTP inseguro
A partir de estruturas, outro método para criminosos cibernéticos ganharem acesso ao site é inserir manualmente um caminho HTTP específico.
Isso geralmente acontece se o acesso a um aplicativo da Web estiver oculto, mas não restrito. Por exemplo, digamos que você tenha direitos de administrador no Google. Quando você acessa o site, vê um botão extra que diz “usuários atuais”. Ele leva você para https://www.google.com/currentusers (<- não é um link real), onde você vê uma tabela mostrando todos que estão atualmente usando o Google naquele momento. Se o acesso a essa tabela estiver oculto, em vez de restrito, alguém sem direitos de administrador não verá esse botão. No entanto, eles podem anexar / currentusers ao endereço da web do Google e ainda assim acessá-lo. Tudo isso pode parecer bobo, mas acontece com bastante frequência.
Sempre Use o TLS 1.2
Os últimos quatro anos tiveram um grande aumento no uso do TLS 1.2. Muitas grandes empresas, como o Google e a Apple, reforçam seu uso para se comunicar com seus servidores. Como QAs, contabilizamos vulnerabilidades como Poodle, Beast e outras, garantindo que versões desatualizadas de TLS ou SSL sejam desativadas.
Ameaças de Segurança de HTTPS e Web O
HTTPS (Protocolo de Transferência de Hipertexto Seguro) aparece na URL quando um site é protegido por um certificado TSL. O “S” significa seguro, ou seja, os pedidos enviados para o servidor – assim como as respostas que ele envia de volta – são criptografados. Apenas o servidor pode ver o que você está enviando e somente o seu computador pode ler as respostas do servidor.
Sem a criptografia adequada, qualquer pessoa que queira interromper uma solicitação para o seu servidor. Eles podem olhar para ele, roubar informações dele (ou colocar informações maliciosas nele) e enviá-lo em seu caminho feliz para o servidor – com você nenhum mais sábio. O mesmo é possível com as respostas do servidor de volta para você.
Um criminoso cibernético pode realizar tudo isso usando um exploit chamado KRACK (Key Reinstallation Attacks). Usando o KRACK, eles recebem acesso limitado à sua rede Wi-Fi. Eles também podem desativar sua solicitação HTTPS usando um script ou ver todas as solicitações enviadas usando uma ferramenta como o Wireshark. Essas explorações criam vulnerabilidades para nomes de usuário, senhas e perguntas de segurança em tempo real enquanto você as envia ao servidor.
Desde a revelação do KRACK em novembro passado, muitos aplicativos da Web tornaram o HTTPS um requisito. Além disso, quase todos os grandes fornecedores de sistemas operacionais usam um patch que permite saber quando você não está usando HTTPS. Essas correções não erradicam completamente o problema. Você ainda precisa estar ciente e tomar as medidas adequadas se um navegador da Web o avisar se você não estiver usando uma conexão HTTPS.
O KRACK explora uma fraqueza no protocolo WPA2, que cada rede Wi-Fi vem usando desde 2006. É realmente notável que essa exploração não tenha sido descoberta até novembro do ano passado, quando poderia ter sido usada na última década.
À medida que novas informações e explorações se tornam disponíveis para os hackers, precauções extras devem ser tomadas para garantir a segurança de um site. Para os desenvolvedores e os gerentes de controle, é essencial estar um passo à frente e ajudar uns aos outros a aprender essas precauções conforme as descobrem.
Para conseguir mais dicas como essas de forma exclusiva, assine nossa newsletter através do formulário abaixo: