I. Introdução
Com o surgimento dos sistemas
computacionais as empresas passaram a confiar seus dados à área de tecnologia
da informação. Ela se tornou responsável pela proteção e garantia da
consistência dos dados.
Como essas informações ficam
armazenadas no banco de dados, ele é o ponto de partida para iniciar uma
auditoria ou conferência, nos dados recebidos e enviados pelas aplicações e
sistemas corporativos.
A. Metodologias para auditoria em bases
de dados
Uma das funções da auditoria é
monitorar quando e como o dado foi inserido, a fim de prevenir e detectar
problemas no cumprimento das regras de negócio. Pode-se definir tabelas para
armazenar logs com informações a respeito da utilização das bases de dados.
Isso vai crescer à medida que o banco for sendo utilizado e os auditores
poderão definir quais tabelas, colunas, etc, valem a pena ser revisados, de
acordo com as necessidades da empresa. As metodologias para auditar bases de
dados podem ser desenvolvidas pela própria empresa. De acordo com suas
características, elas se dividem em dois grupos: tradicional e exclusão de
riscos.
Metodologia tradicional
Com o auxílio de uma lista de
conferência (checklist) o auditor obtém informações a respeito da política de
bancos de dados, no que diz respeito aos usuários de acesso, permissões,
autorizações etc, permitindo a identificação de falhas. Exemplo de itens que
podem fazer parte de um checklist de auditoria:
As responsabilidades de
administração das bases de dados estão definidas e documentadas?
São utilizados dispositivos de
segurança e procedimentos de autorização de acesso aos dados da base?
Existe um controle sobre as mudanças
realizadas na base de dados?
O desempenho do banco de dados é analisado?
O sistema é monitorado?
As atividades são armazenadas em log
para análise?
O processo de instalação e
configuração do Sistema Gerenciador de
Banco de Dados (SGBD) foi feito de acordo com as normas de segurança
conhecidas?
Existem procedimentos de backup e
restore das bases de dados?
Enfim, o checklist deve conter
questões relacionadas às atividades que devem ser desempenhadas para garantir a
segurança e consistência dos dados. É uma conferência dos procedimentos que
estão ou não sendo feitos.
Exclusão de riscos
Essa metodologia tem a característica principal de
identificar os riscos que correm uma base de dados, a fim de eliminá-los ou
diminuí-los. Consiste em identificar o objetivo do controle e definir técnicas
para que seja alcançado. Por exemplo, no caso de o objetivo ser a preservação
da confiabilidade dos dados, as técnicas para alcançar esse objetivo poderiam
ser descritas com base no estabelecimento de perfis de tipos de usuários e
privilégios necessários para controlar o acesso as bases de dados.
Cada objetivo pode ter várias formas
de ser alcançados, ou seja, podemos definir várias técnicas para alcançar um
objetivo. Essas técnicas podem ser preventivas ou corretivas.
A partir dos objetivos identificados
e das técnicas descritas para cada um, é possível verificar se realmente
funcionam através das provas de cumprimento. Dependendo do resultado, pode ser necessária
a comprovação de outros pontos através de outras provas, como a prova
substantiva.
Todos os responsáveis e envolvidos
das áreas afetadas pela avaliação de riscos devem conhecer o resultado e
conclusões das provas, do resultado da auditoria. O auditor é o responsável por
documentar as situações, os riscos e os problemas que identificou nos processos
descritos.
B.
Ciclo de vida de uma base de dados
O ciclo de vida de uma base de dados
compreende toda a parte de análise até sua implementação. Vejamos algumas
dessas fases:
Estudo prévio e planejamento
Esta fase é importante e necessita
de um estudo tecnológico de viabilidade onde se contemplem distintas
alternativas para alcançar os objetivos do projeto acompanhados de uma análise
de custo-benefício para cada uma das opções. Deve-se levar em conta a
alternativa de não se levar a frente o projeto, assim como a diferença entre
comprar um produto já existente no mercado, com suas características e soluções
prontas ou desenvolver uma nova aplicação.
O auditor deve comprovar que a
direção da empresa possui informações de estudos de viabilidade e que é ela
quem decide desenvolver ou não o projeto. Apenas o conhecimento dos técnicos
não é suficiente para se levar um projeto à frente. Precisa ter respaldo da
Diretoria ou corre o risco de fracassar.
O COBIT (Control Objectives for
Information and related Technology), um conjunto de informações e ferramentas
para práticas de gestão, apresenta a importância da gestão de riscos,
informando que é fundamental o plano-diretor e que o auditor é o responsável
por verificar se ele está sendo seguido dentro dos procedimentos de gestão
aprovados na organização.
Outras atividades que devem ser
documentadas são as dos administradores de dados e dos administradores das
bases de dados. Podem até ser feitas pela mesma pessoa, mas devem ser divididas
por funções e novos controles alternativos devem ser desenvolvidos.
As bases de dados e seleção da equipe
As bases de dados são construídas a
partir de diagramas e informações coletadas dos futuros usuários dos sistemas
que vão manipular os dados. Tudo deve ser documentado de acordo com os padrões
definidos pela empresa. Os auditores verificam que muitas vezes, essas
atividades são deixadas para depois, gerando um custo maior do que se tivessem
sido feitas realmente na fase inicial do projeto. Para identificar isso, ele
deve conhecer os padrões da empresa no que diz respeito à documentação e
comprovar se foram corretamente utilizados. Como já sabemos, uma documentação
de banco de dados deve conter no mínimo um modelo lógico e físico, e desejável
que contenha o conceitual também.
O COBIT sugere que a área de
tecnologia tenha bastante cuidado para escolher os softwares e a equipe que vai
administrar os bancos de dados. Eles devem conhecer as ferramentas e estas, por
sua vez, precisam atender às expectativas técnicas desenhadas nos modelos de
dados. Aqui vemos outra importância da modelagem.
Os diagramas e o conteúdo das bases de
dados
O auditor vai analisar se a situação
atual das bases de dados está de acordo com o que foi apresentado nos
diagramas: definições de dados, estruturas, relacionamentos, restrições e
armazenamento. Todos os tipos de objetos serão avaliados: tabelas, índices,
visões...
Os dados cadastrados pelos usuários
também vão ser auditados, a fim de verificar se o banco de dados os trata e
armazena da forma como foi especificado. É uma forma de conferir, também, o
papel dos usuários na manutenção da consistência e integridade dos dados.
Manutenção
Essa fase confirma que houve um bom
desenvolvimento do que já foi definido para as bases de dados, que os técnicos
estão prontos para construí-las e os usuários prontos para usá-las de maneira
adequada.
Aqui são definidos os comportamentos
que cada um deve ter para manter as bases de dados íntegras e seguras.
Revisão pós-implantação
Por falta de tempo ou recursos, algumas empresas não
estabelecem um plano de revisão após a implantação de bases de dados. Seria
interessante se pudessem verificar se obtiveram os resultados esperados, se as
necessidades dos usuários foram satisfeitas ou se os custos-benefícios
coincidiram com as previsões.
C.
A auditoria
Antes de iniciar, o auditor deve
conhecer o SGBD em uso para que possa identificar como podem ser mantidas a
integridade, segurança e controle dos dados inseridos nas bases. Deve também
estudar o negócio da aplicação, entender o papel de cada objeto do banco de
dados e sua utilidade no contexto.
Alguns softwares de auditoria podem
ser usados para facilitar o trabalho do auditor. Eles extraem dados das bases,
mostram o caminho das transações, etc. Outros sistemas monitoram e otimizam as
bases de dados, facilitando a resolução de problemas principalmente de
performance.
D. Conclusão
O ponto-chave para construir bases de dados íntegras e
seguras é correlacionar as informações de usuários, analistas de sistemas,
programadores, administradores de dados e administradores de bancos de dados, de
forma a documentar o desenvolvimento para todas as partes envolvidas. A equipe
deve ser treinada para usar os softwares escolhidos e deve compreender as
regras de negócio que serão responsabilidade do SGBD ou da aplicação. Os erros
dos usuários devem ser previstos e testados. O gerenciamento de riscos é
importante para identificar falhas em todas as atividades ligadas aos bancos de
dados.
II. Referências
[1]http://www.das.ufsc.br/~wangham/segurancaBD/ListaVerificacaoBancoDados.pdf - em 23/05/2009.
[2]http://www.scribd.com/doc/280066/Auditoria-base-de-datos -
em 26/05/2009.
[3]
http://www.inf.ufsc.br/erbd2008/artigos/17.pdf - em 26/05/2009.