de Injeção de SQL, Ferramentas de varredura de
Fraco web app código pode permitir que hackers o acesso ao seu banco de dados e rede
Injeção de SQL Visão geral
injeção de SQL é atualmente a forma mais comum de web site de ataque em que os formulários da web são muito comuns, muitas vezes eles não são codificados corretamente e as ferramentas de hacking utilizado para encontrar pontos fracos e tirar proveito deles estão normalmente disponíveis on-line. Este tipo de exploração é fácil o suficiente para realizar que até mesmo hackers inexperientes podem realizar travessuras. No entanto, nas mãos do hacker muito habilidoso, uma fraqueza no código da web pode revelar o acesso ao nível raiz dos servidores da web e, a partir daí, ataques a outros servidores em rede podem ser realizados.
Structured Query Language (SQL) é a linguagem quase universal de bancos de dados que permite o armazenamento, manipulação e recuperação de dados. Os bancos de dados que usam SQL incluem MS SQL Server, MySQL, Oracle, Access e Filemaker Pro e esses bancos de dados estão igualmente sujeitos a ataques de injeção de SQL.
formulários baseados na Web devem permitir algum acesso ao seu banco de dados para permitir a entrada de dados e uma resposta, portanto, esse tipo de ataque ignora firewalls e defesas de endpoint. Qualquer formulário da web, mesmo um simples formulário de logon ou caixa de pesquisa, pode fornecer acesso aos seus dados por meio de injeção SQL se codificado incorretamente.
como o SQL Injection funciona
Prospects, clientes, funcionários e parceiros de negócios podem ter o direito de armazenar ou recuperar informações do seu banco de dados. Seu site provavelmente permite que qualquer visitante do site envie e recupere dados. O acesso legítimo aos visitantes inclui pesquisa no site, formulários de inscrição, formulários de contato, formulários de logon e todos eles fornecem janelas ao seu banco de dados. Esses vários pontos de acesso são possivelmente incorporados em aplicativos ‘prontos para uso’ ou podem ser aplicativos personalizados configurados apenas para o seu site. Esses formulários e seu código de suporte provavelmente vieram de muitas fontes, foram adquiridos em momentos diferentes e possivelmente instalados por pessoas diferentes.
SQL injection é o uso desses campos disponíveis publicamente para obter entrada em seu banco de dados. Isso é feito inserindo comandos SQL em seus campos de formulário em vez dos dados esperados. Formulários codificados incorretamente permitirão que um hacker os use como um ponto de entrada para seu banco de dados, ponto em que os dados no banco de dados podem se tornar visíveis e o acesso a outros bancos de dados no mesmo servidor ou outros servidores na rede pode ser possível.
recursos do site da Web, tais como formulários de contato, páginas de início de sessão, a pedidos de suporte, funções de pesquisa, comentários campos, carrinhos de compras e até mesmo as funções que entregar dinâmica o conteúdo da página web, são todos suscetíveis ao ataque de injeção de SQL, porque o próprio campos apresentados para o visitante a usar DEVE permitir que pelo menos alguns comandos SQL para passar diretamente para o banco de dados.
risco de injeção de SQL
como os bancos de dados controlam muitas funções do site, quase todos os sites convidam a entrada dos visitantes e muitos formulários da web são vulneráveis, a injeção de SQL se tornou e por anos permaneceu a forma mais comum de Ferramenta de hacking de sites usada. Além disso, muitos criminosos agora estão usando a injeção SQL que novos pontos fracos de servidor, aplicativo e Código estão sendo descobertos quase diariamente.
nossos próprios registros indicam que a maioria (mais da metade) dos sites que nos pediram para fazer a varredura tinha riscos de injeção de SQL de níveis altos ou médios. Um alto nível de risco é aquele que é efetivamente uma porta destrancada e desprotegida. Um risco médio é aquele que, quando combinado com um ou mais outros fatores, pode significar problemas. Um número ainda maior de sites teve problemas de baixo risco. O que você precisa saber: a porcentagem de sites que têm pelo menos um grande risco está realmente aumentando.
embora a injeção de SQL tenha sido um problema conhecido há anos, existem vários fatores que fazem com que a taxa de risco aumente. Primeiro é que mais empresas estão oferecendo mais interação com os visitantes e essa tendência está aumentando dramaticamente. Em segundo lugar, à medida que mais hackers ganham habilidades em injeção de SQL, eles estão descobrindo mais aplicativos e serviços que são suscetíveis a ataques e estão desenvolvendo novos ataques a aplicativos antigos. O resultado é um aumento quase exponencial nas oportunidades de usar esse método de ataque.
seu risco de ser atacado com sucesso usando SQL injection é baseado em dois fatores: a natureza e o tamanho da sua empresa e a idade, o status das atualizações e patches em seus aplicativos e a habilidade e o número de sua equipe técnica. Tudo se resume a se você é um alvo interessante e se o seu servidor web, os aplicativos nele e o código do seu site são bem projetados, bem integrados e têm todos os patches e atualizações atuais.
seu site está em perigo imediato se sua empresa armazena dados de alto valor, se sua empresa ou entidade está operando em um campo de negócios altamente contestado, ou se seu site tem importância ou valor político ou social. Naturalmente, se você tem algo de valor monetário, então você é um alvo. Mas você também é um alvo se seu site é um líder de opinião em um ambiente contencioso. Fomos solicitados por blogueiros para obter ajuda porque o assunto coberto lá tinha desenhado ataques de injeção SQL.
ataques de injeção SQL agora estão sendo solicitados online. Um cliente chateado, concorrente, ou mesmo ex-cônjuge agora pode facilmente contratar um ‘script kiddie’ – ou pior, um hacker talentoso-para atacar um site. A chance do hacker ser pego é baixa. A chance de que a parte chateada possa causar danos ao seu site sem ser apontada como a parte responsável é alta.
tecnicamente, você corre o risco de injeção de SQL se tiver algum equipamento ou aplicativo que não tenha sido atualizado e corrigido rotineiramente, ou se tiver código em seu site que não tenha sido escrito corretamente. A idade do equipamento, as aplicações e o código é um indicador aproximado de risco. Outro é o número de servidores envolvidos, o número de aplicativos e o número de pontos de acesso ao site. Se você estiver usando servidores hospedados ou se estiver usando recursos técnicos terceirizados, uma revisão de terceiros sobre a segurança do seu site é importante. E mesmo a equipe interna pode ser tão pressionada por tempo e falta de recursos que atualizações e patches podem ser atrasados ou o código legado antigo é usado sem uma revisão adequada.
exemplo de injeção SQL
toda vez que um visitante do site insere dados em um formulário em seu site, uma consulta SQL é gerada e entregue ao seu banco de dados. No caso de um formulário de logon simples, o nome de usuário e a senha são apresentados ao banco de dados e, se válido, o banco de dados responde com uma resposta e o usuário tem acesso (ou não) permitido. Portanto, não importa o quão simples seja o formulário ou o processo da web, o acesso ao banco de dados é necessário e uma resposta é esperada.
usando SQL injection, um hacker tentará inserir um comandos SQL especificamente criados em um campo de formulário em vez das informações esperadas. A intenção é proteger uma resposta do banco de dados que ajudará o hacker a entender a construção do banco de dados, como nomes de tabelas. O próximo passo seria acessar e visualizar dados em tabelas importantes ou adicionar dados a tabelas, como adicionar novas contas ou nomes de usuário e senhas. A terceira etapa, aproximadamente, seria usar o acesso ao banco de dados para descobrir e alterar as configurações de segurança em um servidor que permitiria um acesso administrativo a hackers.
qualquer linguagem de script dinâmica, incluindo ASP, ASP.NET, PHP, JSP e CGI são vulneráveis a ataques. O único equipamento necessário é um navegador da web. Existem ferramentas amplamente disponíveis on-line que semi-automatizam o processo de busca de fraquezas, e existem muitos fóruns nos quais os hackers compartilham exploits e ajudam uns aos outros a superar obstáculos.
resultados de injeção SQL
como você pode imaginar, um hacker que obtém acesso administrativo ao seu servidor significa que você terá efetivamente perdido todos os dados desse servidor para o invasor. Pior ainda, há agora um beachhead atrás de seu firewall a partir do qual ataques a outros servidores e serviços agora podem ser feitos. Desta forma, o SQL injection pode fornecer acesso a todos os dados da empresa ou pessoais.
do ponto de vista de um hacker, uma parte componente do hack que é quase tão importante quanto o arrombamento é manter o sigilo. Disparar um’ alarme ‘ de algum tipo é a última coisa que eles querem fazer. Seu trabalho de infiltração leva tempo e muitas vezes o valor dos dados roubados cai se o roubo for descoberto (informações de valor em roubo de identidade ou roubo de cartão de crédito, por exemplo). Assim, os hacks de injeção SQL são frequentemente descobertos meses e, em alguns casos, anos após seu início.
Alternativamente, se o dano total é a intenção, então não há falta de coisas ruins que podem ser feitas em um banco de dados depois de ter obtido acesso a comandos em execução. Uma tabela inteira pode ser excluída permanentemente usando um único comando SQL. No entanto, um ataque de injeção SQL mais sofisticado pode envolver corrupção maciça de grandes bancos de dados e até destruição de cópias de backup.
defesa contra injeção SQL
como os sites exigem acesso constante ao banco de dados, os firewalls fornecem pouca ou nenhuma defesa contra ataques de injeção SQL. Seu site é público e os firewalls devem ser configurados para permitir que todos os visitantes do site acessem seu banco de dados, geralmente na porta 80/443.Os programas antivírus são igualmente ineficazes no bloqueio de ataques de injeção SQL. Eles são destinados a detectar e parar um tipo totalmente diferente de dados recebidos.
a defesa de injeção SQL mais comumente usada é composta por dois componentes. Primeiro, há atualização e correção de rotina de todos os servidores, serviços e aplicativos, o que obviamente tem muitas vantagens e é uma prática comum. Depois, há produção e uso de código de site bem escrito e bem testado que não permite comandos SQL inesperados.
essas duas defesas são, por definição, suficientes para interromper qualquer ataque de injeção SQL. Então, por que as vulnerabilidades e os riscos do site estão aumentando e por que os ataques bem-sucedidos ocorrem com mais frequência? As respostas são cada simples, e combinar em uma lista assustadora:
- O número de servidores, aplicações e volume de código em sites da web é crescente
- Esses servidores, aplicações e linguagens de código interagem uns com os outros, por vezes de forma imprevisível
- O número e a frequência de atualizações e patches está aumentando
- os departamentos de TI estão a fazer mais trabalho com menos funcionários e de algumas atividades, tais como atualizações de obter adiada
- É a rotatividade do pessoal e as demissões, por vezes, deixam buracos camuflados em segurança rotinas
- Automaticamente instalar todos os patches e atualizações que vem junto, muitas vezes, produz efeitos colaterais indesejados
- código Legado é, muitas vezes, re-usado quando os sites são atualizados, às vezes, mantendo o código escrito para velhos padrões em uso por muito tempo depois estava obsoleto
- O número de pessoas que tentam fazer hacks e o número de ferramentas disponíveis para simplificar hacking ambos estão indo até quase exponencialmente
Mais e mais empresas com enorme de fatores de risco e de grande web ‘pegadas’ estão vindo para concluir que a aplicação de patches tudo e a contratação de mais funcionários para assistir o trabalho do pessoal existente não é mais viável.
Web Site de Injeção de SQL Ferramenta de Scanner Solução
nova solução para A ataques de injeção de SQL (e todos os outros ataques baseados na web) é o foco limitado e valioso tempo para os graves riscos que estão presentes na realidade, em vez de usar uma abordagem shotgun e aplicar cada correção possível para cada servidor, cada aplicação e cada página de código se era necessário ou não. Esta nova abordagem é como ter um médico avaliar um paciente e proscrever o único medicamento que é necessário para produzir uma cura, em vez de ter o paciente ir diretamente para a farmácia para obter todos os medicamentos possíveis e levá-los todos de uma vez.
assim, uma maior segurança é realizada através do uso de ferramentas de teste de aplicativos da web, como beSECURE, como uma ferramenta de scanner de injeção SQL para examinar (digitalizar) um site usando uma lista de milhares de ataques conhecidos e, em seguida, relatar os relativamente poucos (geralmente menos de uma dúzia) problemas sérios.
a digitalização de sites funciona com base na detecção e no relato de riscos conhecidos. Hacking comum é uma atividade muito “pública”. As ferramentas são amplamente promovidas. As técnicas são amplamente disseminadas em fóruns públicos. Mesmo novos métodos se tornam públicos dentro de horas ou dias de seu primeiro uso, graças a grupos como SecuriTeam.com e outros que cuidam e depois alertam amplamente os outros.BeSECURE, o sistema automatizado de detecção de vulnerabilidades, é um serviço baseado na web que usa uma compilação de todos os riscos conhecidos em famílias e todas as famílias em um único banco de dados que levou muitos anos para compilar e muitas horas por dia para manter. Usando este banco de dados beSECURE pode avaliar qualquer site e produzir um relatório de riscos reais e presentes classificados de acordo com a sua importância relativa – muitas vezes dentro de horas e sem perturbar as atividades do site em curso.
Agora, você pode levar suas valiosas horas de TI e abordar diretamente riscos reais, como injeção de SQL, em vez de gastar centenas de horas instalando patches e atualizações, a maioria dos quais você não precisa ou que lidam com riscos tão pequenos que são insignificantes.
para mais informações sobre beSECURE utilize o formulário localizado nesta página ou contacte-nos.