Proteger banco de dados

Disponível somente no TrabalhosFeitos
  • Páginas : 8 (1855 palavras )
  • Download(s) : 0
  • Publicado : 1 de abril de 2013
Ler documento completo
Amostra do texto
Protegendo sua base de dados Interbase ou Firebird

Receita de bolo para proteger meta-dados do seu banco de dados Interbase/Firebird dos olheiros de plantão. Este artigo tem particular importância à aqueles que desenvolvem softwares para terceiros, pois permitirá à estes que possam distribuir livremente seus softwares baseados em banco de dados Firebird sem preocupar-se com aquelas pessoas queaproveitam código de terceiros e promovem seus sistemas baseando-se nos códigos obtidos, isto é o que chamamos de pirataria indústrial.

Entendendo o Problema
O administrador de um servidor Interbase/FireBird, o tal “SYSDBA” tem privilégios especiais para acessar todos os objetos deste servidor, inclusive obter o código fonte de cada um deles, esse código fonte é chamado de script DML ouMetadados. O típico administrador de sistemas, recorre ao script meta-dados para muitas utilidades : alterar regras estabelecidas, criar novos objetos a partir de outro objeto, ver furos de segurança dentre muitas outras cosas. Esse é um ótimo recurso do Firebird, porém cria um problema para aqueles que desenvolvem programas para terceiros. Uma empresa pode investir muito tempo e esforço dedesenvolvimento usando o Firebird e quando for distribui-lo à seus clientes, estará distribuindo também o codigo fonte de seu banco de dados, então todo o "know-how" tecnológico por trás de sua base de dados podem ser recuperados por quem tiver acesso à ele. Imagine a situação de seu banco de dados cair na mão de seu concorrente, já pensou? Seu concorrente absorveria todo o seu "know-how", descobriria todosos segredos de sua base de dados, a saber : ! as triggers que harmoniosamente disparam procedimentos automaticamente, como por exemplo requisições de compra de material, cancelamento de débitos, etc...; ! as views que juntam tabelas diferentes produzindo uma visão única de um ou vários processos; ! as stored procedures que guardam procedimentos para serem executados no lado do servidor, aumentandoassustadoramente a velocidade em operações como calcular folha de pagamento, controlar níveis de estoque, etc... Diante dessa situação, surge a seguinte pergunta: Como proteger o código fonte (Metadados) dos objetos criados no Firebird ? Antes de partirmos para a resposta, entendamos primeiro a forma em que os objetos do Firebird são armazenados.

Os objetos do Firebird observados de um outroângulo
Quando voce cria um objeto no Firebird através de comandos SQL, o seu objeto é registrado em tabelas de sistema. Tabelas de Sistema são tabelas que ficam escondidas do usuário normal e só podem ser acessadas pelo administrador (SYSDBA). Essas tabelas possuem a tarefa de registrar todas as informações lógicas sobre o banco de dados e o relacionamento de cada objeto criado com os demaisobjetos. Analisada as informações nessas tabelas é então formado o nexo entre todas as atividades do sistema, o grau de parentesco dos dados, relacionamento de chaves, tipagem, permissões, etc.... Tome por exemplo o seguinte código de stored procedure: CREATE PROCEDURE "SP_VERSION" RETURNS( "VERSION" VARCHAR(30)) AS BEGIN VERSION='1.0BR'; SUSPEND; END As tabelas de sistema irão registrar esse objeto"stored procedure" na tabela RDB$PROCEDURES com informações relevantes tal como : nome, quantidade de parâmetros de entrada e saída, proprietário, permissões, dependências com outros objetos, etc... Além da tabela de sistema RDB$PROCEDURES que guardam as "stored procedures", temos também RDB$TRIGGERS guardando as "triggers" e RDB$RELATIONS guardando as "views". Essas 3 tabelas em si guardam o ovo deouro dos desenvolvedores, pois aquelas VIEWS com JOINS enormes, aquelas regras tão bem estruturadas com TRIGGERS, ou todos os procedimentos internos tão bem entesourados nas PROCEDURES são quase que todo o projeto do desenvolvedor, o resto foi apenas a criação de aplicativos com telas para acrescentar, acessar e processar tais objetos à partir da mesa do usuário.

Enfim, como proteger o...
tracking img