Por: Conor Reynolds

“A primeira coisa que olho ao interagir com qualquer aplicativo da Web é qual entrada o aplicativo aceitará.”

Os ataques SQL são antigos, mas isso não os impediu de abrir sistemas abertos que empresas como Sony e TalkTalk consideravam seguras.

O SQL, ou Structured Query Language, é amplamente utilizado por programadores em aplicativos e, mais especificamente, no design e gerenciamento de bancos de dados.

A vantagem de usar o SQL é que ele permite que o usuário acesse registros ou dados em lotes com apenas um único comando.

Usando consultas SQL, o usuário também não precisa especificar como os dados devem ser recuperados; como se deve ser feito através de um índice ou não.

Infelizmente, como geralmente acontece, essas vantagens também são vulnerabilidades que os agentes de ameaças podem utilizar para suas próprias necessidades …

Ataques SQL: primeiro, emita seu comando 

Uma grande quantidade de sites e aplicativos online armazena informações em bancos de dados SQL.

Quando usuários ou desenvolvedores se envolvem com esses bancos de dados, eles usam comandos SQL para recuperar dados ou executar comandos do sistema operacional.

Um ataque SQL induz o sistema a fornecer informações de hackers, porque elas o emitiram com um comando SQL. O principal problema aqui é que os hackers geralmente não precisam de acesso ao sistema para tentar uma consulta SQL, pois isso pode ser feito a partir de uma página de login ou via URL.

Christopher Fielder, estrategista de segurança cibernética da Fidelis Cybersecurity, disse à Computer Business Review: “As injeções de SQL são um dos defensores de vetores de ataque mais experimentados e verdadeiros que os defensores devem estar cientes, não apenas devido à sua relativa simplicidade em muitos casos, mas também devido à devastadora efeitos que tal ataque poderia ter dentro de uma empresa.

“Dependendo do conjunto de dados que o invasor está tentando manipular, uma injeção SQL bem-sucedida é capaz de expor informações corporativas integrais, permitir que os invasores tenham acesso adicional a um ambiente, até modificar ou excluir dados críticos da empresa que possam causar sérios impactos financeiros. “

Como funciona 

Essencialmente, um ataque SQL permite que um hacker injete código malicioso em um comando SQL que altera sua função pretendida. Às vezes, eles simplesmente expandem a função para solicitar dados confidenciais, como senhas ou login em credenciais.

Em uma página de login em uma página da Web, um ataque SQL pode ser tão simples quanto SELECT * FROM users WHERE name = ‘tom’ e password = ‘tom’.

Algo assim pode ignorar a segurança e retornar todas as senhas e fazer login nas credenciais dos funcionários de uma empresa com o nome Tom.

Scott Caveza, gerente de engenharia de pesquisa da Tenable nos disse: “O que muitos desenvolvedores geralmente não consideram é como aceitar essa entrada do usuário de maneira segura. Na pressa de desenvolver um aplicativo, eles podem ignorar o fato de que nenhuma validação de entrada é usada ou que pode haver suporte de biblioteca para ajudar a higienizar essa entrada do usuário.

“Como pesquisador, a primeira coisa que olho ao interagir com qualquer aplicativo da Web é qual entrada o aplicativo aceitará.”

Ataques SQL sistemas legados

Daniel Goldberg, especialista em pesquisa de segurança cibernética do Guardicore Labs, nos disse que os ataques SQL deveriam ser coisa do passado, pois a infraestrutura moderna e as soluções técnicas os eliminaram do jogo.

São apenas as empresas que trabalham com o antigo sistema legado que estão em risco. Como ele disse: “Os sistemas simplesmente não deveriam mais ficar vulneráveis ​​a ataques de injeção de SQL. Se uma organização ainda está sucumbindo aos ataques de injeção de SQL em 2019, sua infraestrutura está irremediavelmente desatualizada e insegura e os negócios estão em apuros. ”

Infra-estrutura e sistemas modernos devem ter imunidade a SQL incorporada, pois esses sistemas usam validação de entrada nativa e consultas parametrizadas.

No entanto, muito poucas empresas podem dizer que ainda não possuem alguma forma de software ou estrutura de sistema antiga em sua pilha de tecnologias.

Rick Holland, CISO da Digital Shadows, destaca que: “As empresas devem manter seus aplicativos herdados e confiar em aplicativos de terceiros para realizar negócios.

“Esses aplicativos da Web legados, dispositivos SSL VPN e plug-ins do Word Press são frequentemente usados ​​e abusados ​​pelo SQLi”.

As vulnerabilidades críticas do SQL em aplicativos da Web fornecem aos hackers outro vetor para atacar um banco de dados onde eles podem alterar, excluir ou remover dados confidenciais.

Os aplicativos da Web podem ser abertos a esse tipo de ataque porque os desenvolvedores geralmente os projetam para serem acessíveis pela Internet. Caixas de logins, portais corporativos ou e-mails também estão sujeitos a sondagens intensas por agentes de ameaças que procuram uma vulnerabilidade SQL.

SQL Attacks Defense

A melhor defesa contra ataques SQL é entender seus sistemas e infraestrutura por dentro e por fora, especialmente se sua empresa opera uma mistura de sistemas modernos e legados.

Uma das maneiras mais simples de reduzir o risco é parar de usar consultas dinâmicas; isso geralmente não é uma opção, pois as consultas dinâmicas às vezes são parte integrante de como um banco de dados SQL é executado. Se possível, as organizações devem ter verificações de segurança, como validação de entrada, ou podem criar uma lista de permissões de comandos de entrada.

Boris Cipot, engenheiro de segurança sênior da Synopsys, nos disse que: “O uso de instruções parametrizadas é o melhor mecanismo pelo qual proteger contra o SQLi. Não permita ou evite, na medida do possível, consultas dinâmicas. O princípio do menor privilégio garante que os usuários não possam obter acesso não autorizado a dados confidenciais. Verifique também se os patches foram aplicados e se o software está atualizado. Isso diz respeito não apenas à tecnologia SQL, mas também ao software ao qual ela se conecta. ”

As empresas devem garantir que controles adequados sejam estabelecidos para controlar quais consultas SQL podem ter efeito. Somente as consultas necessárias para funções de negócios devem ter permissão para funcionar, enquanto todas as outras devem ser bloqueadas.

Como observa Fidelis, “os servidores de engodo [também] podem ser gerados para ajudar a atrair os invasores a céu aberto e detê-los antes que eles possam executar os ataques pretendidos”.

No final do dia, os ataques SQL são notícias antigas, mas isso não reduz a ameaça que representam. De fato, sua natureza simplista e alto retorno de valor os tornam uma ferramenta essencial no kit de um hacker, e muitas vezes são a primeira coisa que os atores de ameaças aprendem e brincam.

As organizações precisam garantir que sejam vacinadas contra elas: só porque uma doença não é mais considerada uma ameaça não significa que um lapso nos exames de saúde não dará a oportunidade de infectar novamente.

Fonte: CBRONLINE