Olá, aluno(a)! Nesta lição, aprofundaremos nossos estudos sobre a segurança de dados, focando no controle de acesso, este que é responsável por permitir ou negar o acesso dos usuários aos sistemas da empresa.
O controle de acesso garante que apenas pessoas autorizadas tenham acesso a propriedades, prédios, salas e outros lugares, ou seja, somente pessoas que possuem autorização entrarão no local, ou porque desempenham alguma função que lhes dá esse direito — um funcionário de uma empresa, por exemplo — ou porque são clientes, ou por outros motivos, um prestador de serviço que precisa realizar uma manutenção pode ter acesso de forma temporária, por exemplo.
Portanto, o objetivo desta lição é introduzir o estudo sobre o controle de acesso à segurança de dados, para que você veja o quanto esse controle é importante nos dias de hoje.
Nesse momento, te convido a lembrar de algum filme que você assistiu e que retratou o conceito de controle de acesso. Lembra daquele filme no qual uma porta foi desbloqueada por meio da digital ou por meio da íris ocular ou, ainda, pelo leitor facial, em cenários futuristas?
Nos filmes, parecia que aquilo era algo muito distante da tecnologia a que tínhamos acesso, não é mesmo? Mas, se olharmos ao nosso redor, veremos que os cenários vistos nos filmes estão cada dia mais próximos de nós! Esses controles de acesso nos dias de hoje fazem parte de alguns sistemas de segurança em empresas, por exemplo: indústrias químicas, empreendimentos modernos, condomínios, até mesmo residências fazem uso da biometria, por reconhecimento facial ou por voz.
Nem preciso te dizer que esse assunto é algo extremamente importante para sua formação, certo? Sendo assim, aprofundaremos nossos conhecimentos nele!
A quantidade de tentativas de invasões e de ataques bem-sucedidos às informações das empresas e privadas tem aumentado nos últimos anos, e o motivo é o aumento do número de pessoas usando dispositivos tecnológicos, seja para entretenimento, seja para uso em tarefas nas empresas, principalmente para atividades envolvendo finanças e dados sigilosos.
As pessoas representam o fator essencial para que a segurança dos dados de uma empresa seja bem-sucedida. Temos muitas tecnologias que podem ser utilizadas para proteger os dados e diminuir a possibilidade de ameaças e vulnerabilidades. Entretanto quem assegurará a proteção e, ao mesmo tempo, tirará proveito do que as tecnologias proporcionam serão os usuários.
Sabe por que é tão importante considerar o fator humano na segurança dos dados nas empresas? Primeiro, porque as empresas são comandadas por pessoas. Estas definem o nível de prioridade às informações das empresas. Segundo, os sistemas informatizados são desenvolvidos por pessoas. Terceiro, os sistemas informatizados são operacionalizados por pessoas. Quarto motivo, as pessoas mal-intencionadas transformarão as pessoas das empresas em alvos, pois elas representam uma porta de entrada para ataques e, por último, as políticas e regras das empresas são colocados em prática por pessoas.
Começaremos definindo o conceito de controle de acesso! Este é entendido como qualquer sistema ou equipamento que assegure, de alguma maneira, o acesso de qualquer pessoa não autorizada a locais específicos ou a informações que requerem mais segurança, por exemplo, na proteção de dados, na proteção de bens valiosos ou, até mesmo, de pessoas.
Na área da segurança de dados, o conjunto de processos ou serviços de identificação, autenticação, autorização e auditoria de usuários para entrada em um sistema forma um processo maior, chamado de processo de controle de acesso, e ele procura atingir alguns objetivos:
Estabelecer limites para os direitos de acesso dos usuários aos recursos do sistema, permitindo acesso somente ao que tiver sido previamente estipulado como permitido.
Permitir ou negar acesso ao usuário à utilização de um objeto, que pode ser uma funcionalidade, um arquivo ou um sistema.
Diante disso, como para alcançar esses objetivos? A resposta é simples: usando o controle de acesso a um SGBD que se baseia na concessão e revogação de privilégios (também chamados de autorizações). Todo controle de acesso é realizado quando o usuário acessa o Banco de Dados (BD) por meio das contas dos usuários. O DBA (Administrador do Banco de Dados) é o responsável por declarar as regras dentro do SGBD e por conceder ou remover privilégios, criar ou excluir usuários e atribuir um nível de segurança aos usuários do sistema, de acordo com a política da empresa (BARRETO et al., 2018).
A Figura 1 ilustra esse processo:
De acordo com Barreto et al. (2018), quando os privilégios são concedidos, as pessoas passam a ter autorização para modificar ou acessar determinados recursos do BD, por exemplo:
Autorização para consultar uma tabela.
Permissão para que um usuário se conecte ao BD.
Criação de tabelas no próprio escopo.
Fazer consultas nos registros de tabelas de outros escopos.
Utilizar procedimentos de outros escopos do BD.
*Entende-se o escopo como o objetivo o qual se pretende atingir.
Quando o DBA cria um usuário, ele não possui nenhum privilégio ainda, mas uma ampla variedade de privilégios que podem ser concedidos, são divididos em tipos diferentes: os privilégios de sistema e os privilégios de objeto. Vejamos, com mais detalhes, os tipos de privilégios, no Quadro 1:
Vamos a um exemplo para compreender melhor? Se uma conta não possui o privilégio CREATE TABLE, ela não poderá criar nenhuma relação no banco de dados. Se a conta não possui o privilégio SELECT, ela não será capaz de recuperar, por meio de consultas, dados desse banco.
Agora, falaremos sobre concessão e revogação de privilégios! Quando os usuários têm seus privilégios concedidos, eles podem receber o direito de os repassar para outros usuários e, caso esse repasse de privilégio tenha que ser retirado no futuro, ele é revogado. Esses privilégios de concessão e revogação são verificados pelo controle de acesso.
Para conceder ou remover privilégios em SGBDs, a linguagem SQL possui os comandos:
GRANT: garante definir privilégios.
REVOKE: para revogar (remover) o privilégio anteriormente definido.
Estes comandos incluem os privilégios de:
SELECT para a consulta/extração de dados.
INSERT para a inclusão de novos registros.
UPDATE para a atualização dos valores de campos.
DELETE para a exclusão de registros).
Vamos a um exemplo para compreender melhor? Se um usuário com privilégio somente de consulta (SELECT) tentar, em algum momento, incluir um registro utilizando o comando INSERT INTO, o servidor SQL informará uma mensagem de erro.
É válido lembrar que, para conceder privilégios a um usuário, é necessário que esse usuário seja criado, e o comando para isso é CREATE USER. Quem realiza esta tarefa é o DBA (Administrador de Banco de Dados).
Vamos a um exemplo para compreender melhor? Suponha que exista um banco de dados com uma tabela de Cadastro de Clientes chamada de “Clientes” e, com o intuito de atribuir privilégios de inclusão e exclusão a um usuário identificado como “USERWPA”, o comando SQL usado será o seguinte:
GRANT INSERT, DELETE ON CLIENTES TO USERWPA;
Caso fosse necessário revogar o privilégio de exclusão, o comando seria o seguinte:
REVOKE DELETE ON CLIENTES FROM USERWPA;
Veremos mais um exemplo de concessão de autorização, mas agora, apresentado na Figura 2. Temos os usuários e as setas que representam quem e para quem está sendo concedido o privilégio.
Os nomes na figura representam os usuários, e as setas representam quem e para quem está sendo concedido o privilégio. Pode-se observar que Lucas, Maria e Gabriel recebem privilégios do DBA. Pedro recebe privilégios de Lucas e Aline. Aline recebe privilégios tanto de Lucas como de Maria. Se algo acontecer, e o DBA tiver de revogar os privilégios de Lucas, Pedro e Aline, também perdem, automaticamente, os privilégios que receberam de Lucas, porém Aline continuará com acesso a tabela, por conta do privilégio recebido de Maria.
É importante saber que nem todos os sistemas de controle de acesso funcionam da mesma maneira, por isso conheceremos os tipos e as diferenças entre eles:
Discricionário (DAC – Discretionary Access Control): neste tipo de controle, quando um usuário cria um objeto, automaticamente, adquire todos os direitos sobre o mesmo. Baseia-se em conceder e revogar privilégios.
Mandatário (MAC – Mandatory Access Control): também chamado de obrigatório. A política de concessão de acesso é determinada pelo sistema, e não por elementos ligados aos recursos. Esse tipo de controle é utilizado em sistemas cujos dados são extremamente sensíveis, como militares e de governo.
Considerando o conteúdo estudado, acreditamos que tenha ficado claro que o DBA precisa estar atento a quais usuários são concedidos os privilégios de acesso ao banco de dados de uma empresa e o quanto é importante você estudar sobre controle de acesso, visto que a tecnologia, antes vista somente nos filmes, está cada dia mais presente no nosso dia a dia.
Para finalizar nossa lição, exemplificaremos a classificação dos controles de acesso. Imagine que em uma empresa haja vazamento de informações e, nessa empresa, temos a Luana que, mesmo sem saber, involuntariamente, pode ser a fonte de um vazamento. Luana é dona de um arquivo chamado Controle de Gastos, o qual ela não deu direito de leitura para ninguém.
Luana, porém, gosta de escutar músicas no formato MP3 e, recentemente, ela baixou uma música nova que, sem ela saber, está com o Cavalo de Tróia, um programa que rouba informações por baixo do pano e vem quando você baixa algo da internet, como músicas e vídeos. Quando Luana roda o programa de músicas MP3, por baixo do pano, o arquivo chamado Controle de Gastos é roubado, copiado e enviado por e-mail ao João, pessoa que está tentando roubar as informações.
Com o controle de acesso mandatário, esse problema é eliminado, pois Luana logaria-se em nível secreto e acessaria o arquivo Controle de Gastos, o qual terá, também, nível secreto. Ela pode rodar o programa de música MP3 com o Cavalo de Tróia que tentará copiar o arquivo e enviá-lo a João, mas não será possível obter sucesso nesse vazamento de dados, pois João terá o nível de segurança limitado, portanto, conforme as regras, ele não poderá ter acesso ao arquivo.
BARRETO, J. et al. Fundamentos de Segurança da Informação. Porto Alegre: Sagah, 2018.