On 26-03-2015 14:28, Euler Taveira wrote:
> On 26-03-2015 11:43, Márcio A. Sepp wrote:
>> Procuro fazê-lo sim. Posso não estar respondendo o último email da
>> thread, pq o meu questionamento ou minha resposta está mais focada neste
>> ponto e não no rumo que acabou tomando o assunto.
>>
> Responda no contexto *sempre* e remova o texto desnecessário.
> 
>> Teve um caso de desenvolvimento de sistemas comerciais onde o fisco
>> "pegou" clientes utilizando o mesmo sistema, porém com comportamentos
>> bem distintos. Neste caso específico, a pessoa que foi implantar o
>> sistema alterou funções do sistema de modo a permitir um "caixa 2". Este
>> sistema era desenvolvido em Firebird e depois desse fato, a empresa
>> desenvolvedora optou por ocultar o código fonte dos procedimentos do
>> banco... 
>>
> ... uma opção que não informaram é que se as suas funções foram feitas
> em C, você pode "esconder" o código fonte.
> 
>> Pelo que vi Oracle implementa algo neste sentido tbm. Mas não sei se
>> é um anseio de outros usuários isso ou se eu estou divagando...
>>
> O "wrap" não previne que você consiga fazer uma engenharia reversa no
> código da PL; ele apenas torna a missão difícil.
> 
>> Observe que eu não estou me referindo a ocultar o código fonte de
>> procedures/functions/triggers... e não em "fechar" o código fonte do
>> postgresql. 
>>
> Isso se chama ofuscação do código. Bom, como se trata de um produto de
> código aberto, não vai ser tão difícil fazer um decompilador para o
> código ofuscado. Por essa e outras razões, tal funcionalidade está
> listada como "não será implementada" [1].
> 
> No seu caso, o ideal é proteger por contrato qualquer mudança no seu
> produto (como já foi dito pelo Dutra). Talvez algum módulo de auditoria
> em C para lhe proteger contra mudanças que visam burlar o seu sistema.
> 
> 
> [1] https://wiki.postgresql.org/wiki/Todo#Features_We_Do_Not_Want
> 

Não sei se ajuda, mas uma vez gerei um hash da definição de cada PL e no
procedimento de atualização de versão da estrutura do banco eu verificar
esse hash, se não batia não atualizava a versão e gerava um alerta. O
contexto era outro mas poderia ser feito um controle similar e vc
periodicamente executar em seus clientes.

Att,

-- 
   Fabrízio de Royes Mello         Timbira - http://www.timbira.com.br/
   PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a