Conheça a definição deste termo e o que pode ser feito para evitar problemas de segurança
Quem entende sobre tecnologia da informação sabe que há várias siglas, termos e definições, mesmo que não atue diretamente com ela. Ainda assim, é importante saber o que é SQL, dada a sua importância para a área.
Mesmo quem não possui qualquer tipo de conhecimento sobre TI já realizou ações na internet que demandaram o funcionamento da SQL, determinante para o funcionamento de sites e demais serviços online.
Vamos entender do que se trata essa sigla tão famosa, onde ela é utilizada e quais são os riscos em potencial que podem ser decorrentes de falhas na SQL.
O que é SQL?
A sigla significa “Structured Query Language” ou, em tradução livre, Linguagem de Consulta Estruturada. Ela é uma linguagem de domínio específico usada na programação e desenvolvida para gerenciar dados ou processar fluxos em bancos de dados relacionais.
Esse é um dos termos de TI mais conhecidos, e é importante não confundí-lo com a definição de marketing de SQL, que significa “Sales Qualified Lead” ou “lead qualificado para vendas”.
A linguagem, utilizada para o acesso de bancos de dados, é padronizada e inclusive reconhecida pela International Organization for Standardization (ISO) desde 1987.
A manipulação de cada Sistema de Gerenciamento de Banco de Dados Relacionais (SGBDR, ou RDSMS na sigla em inglês) é feita através da linguagem SQL por meio do uso de comandos. Os principais são os seguintes, sempre relacionados aos bancos de dados:
- Select: extrai os dados;
- Update: atualiza os dados;
- Delete: exclui os dados;
- Insert info: insere novos dados;
- Create database: cria um novo banco de dados;
- Alter database: modifica o banco de dados;
- Create table: cria uma nova tabela;
- Alter table: modifica uma tabela;
- Drop table: apaga uma tabela;
- Create index: cria um índice;
- Drop index: apaga um índice.
O desenvolvimento da SQL partiu do início da década de 1970, por Raymond Boyce e Donald Chamberlin, ambos colaboradores da IBM. Ela foi lançada em 1979 pela Relational Software Inc., empresa que hoje em dia é chamada de Oracle Corporation.
Quem utiliza a SQL?
O aprendizado sobre o que é SQL pode ter ficado um pouco confuso para quem não domina o assunto, já que são termos técnicos e bem específicos, embora sejam necessários para determinadas áreas.
Desenvolvedores back-end, administradores de bancos de dados, analistas de dados e cientistas de dados são alguns dos profissionais que precisam entender exatamente o que é SQL e aplicar tais conhecimentos nas atividades de seu dia a dia.
Hoje em dia, porém, o uso da SQL não é tão intenso quanto foi no passado, já que surgiu uma alternativa chamada de NoSQL, cujo conceito se baseia no fato que dados que não estão tabelados em uma base de dados relacional podem não precisar da SQL como linguagem de consulta.
Outro ponto importante é que a SQL não é infinitamente escalável, ou seja, sob esse princípio, ela é utilizada para sistemas de bancos de dados tradicionais, enquanto outros métodos são usados para sistemas maiores.
Portanto, em linhas gerais, pode-se dizer que os maiores usos da SQL se concentram em sistemas de bancos de dados mais simples, ao passo que os complexos ficam a cargo da NoSQL.
A SQL é sujeita a falhas?
Sim. Os riscos de cibersegurança estão presentes em praticamente todas as linguagens, tecnologias e sistemas, e não é diferente com a SQL.
Um dos maiores riscos envolvidos é o SQL Injection (ou injeção de SQL), técnica ofensiva que manipula o código de linguagem de consulta estruturada e, assim, interfere na troca de informações entre programas e bancos de dados relacionais.
Os ataques com injeção SQL permitem que se obtenha qualquer dado contido em um banco de dados do computador servidor. De acordo com a versão utilizada nesse banco, é possível até mesmo inserir novos comandos e ter total acesso à máquina.
Inclusive, há casos famosos de interceptações causadas por meio desse tipo de ataque, como o “deface” na página inicial do Google, que deixou de apresentar o tradicional conjunto de logo e barra de pesquisas e passou a mostrar uma imagem de anime e uma frase.
Na ocasião, a Google retirou o buscador do ar por algum tempo, assim como o Maps e o Translate. O autor do ataque, identificado como Kuroi’SH, foi entrevistado e confirmou o ataque por injeção SQL.
Por mais irônico que possa parecer, até mesmo a base de dados aberta MySQL sofreu uma injeção SQL, o que mostra que nem mesmo grandes entendedores do assunto estão imunes a isso.
Como evitar as SQL Injections?
Depois de saber o que é SQL e como as injeções podem ser prejudiciais, é possível recorrer a algumas alternativas para evitar ser a próxima vítima:
- Seja desconfiado. Recorra à validação de dados em todos os campos de entrada de um site. Além disso, filtre os dados por contexto: campos para telefone devem permitir apenas os caracteres necessários, assim como aqueles para endereços de e-mail, entre outros.
- Mantenha as atualizações em dia. Como vulnerabilidades a injeções SQL são descobertas com o passar do tempo, são lançadas atualizações constantes. O ideal é que elas sejam aplicadas sempre que possível, de modo a aumentar os níveis de segurança.
- Elimine o que não é necessário. Caso haja alguma funcionalidade no banco de dados que não seja estritamente necessária, remova-a. Afinal de contas, essa pode ser a porta de entrada para um eventual ataque.
- Delegue privilégios adequadamente. Não se conecte ao banco de dados por meio de uma conta com privilégios de administrador, a menos que isso seja estritamente necessário. Contas de acesso limitado são as melhores alternativas, além de limitarem o que um hacker pode fazer caso haja alguma interceptação.
Quem conhece as principais certificações do mercado de tecnologia sabe que existe a Advanced PL/SQL Developer Certified Professional, da Oracle, que é uma das principais na área e pode ajudar os profissionais a se capacitarem ainda mais no desempenho de suas funções.
O ideal é revisar a situação do SQL da sua empresa junto aos desenvolvedores ou responsáveis pela manutenção do site e analisar se há brechas, as quais devem ser fechadas para evitar maiores prejuízos.
Agora que você já entendeu o que é SQL e sua importância, proceda com a revisão o mais rápido possível. Assim, quando for realizada uma auditoria de contas na empresa, não será encontrada uma despesa inesperada com manutenções nos bancos de dados, o que evitará grandes problemas.