none
Criptografia de objetos RRS feed

  • Pergunta

  • Olá amigos,

    Preciso cryptografar o código de algumas stored-procedures e functions. Porém, para minha decepção, encotrei vários links na rede sobre como burlar e decryptografar esses objetos.

    Existe uma maneira segura de proteger o código fonte dos objetos?

    Tytto
    quarta-feira, 20 de julho de 2011 17:35

Respostas

  • Tytto,

     

    Não sei a quais maneiras voce se refere, porem a nivel de procedure, voce pode cria-la com a opção WITH ENCRYPTION.

     

    Texto do books online dessa opção:

    ENCRYPTION

    Indicates that SQL Server will convert the original text of the CREATE PROCEDURE statement to an obfuscated format. The output of the obfuscation is not directly visible in any of the catalog views in SQL Server. Users that have no access to system tables or database files cannot retrieve the obfuscated text. However, the text will be available to privileged users that can either access system tables over the DAC port or directly access database files. Also, users that can attach a debugger to the server process can retrieve the decrypted procedure from memory at runtime. For more information about accessing system metadata, see Metadata Visibility Configuration.


    Fabrizzio A. Caputo
    Certificações: Oracle OCA 11g, MCITP SQL Server 2008 Implementation and Maintenance
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    • Marcado como Resposta Tytto sexta-feira, 22 de julho de 2011 13:16
    quarta-feira, 20 de julho de 2011 20:56
    Moderador
  • Boa Tarde,

    Infelizmente se você precisa realmente proteger sua regra, não coloque em stored procedure (a menos que você use CLR e não T-SQL).

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.wordpress.com


    Classifique as respostas. O seu feedback é imprescindível
    • Sugerido como Resposta Rui SantosModerator quarta-feira, 20 de julho de 2011 21:27
    • Marcado como Resposta Tytto sexta-feira, 22 de julho de 2011 13:16
    quarta-feira, 20 de julho de 2011 21:15
  • Obrigado pela resposta.

    É exatamente dessa forma que cryptografo... e também dessa forma pode-se reverter o código.

    Veja: http://www.devmedia.com.br/post-8173-Criptografia-de-objetos-no-SQL-Server.html

     

     


    Tytto
    • Marcado como Resposta Tytto sexta-feira, 22 de julho de 2011 13:16
    sexta-feira, 22 de julho de 2011 13:14
  • Pois é, mas já existem os objetos que estão em um sistema grande. Utilizar objetos de banco é uma realidade que não posso fugir.

    Vc tem mais alguma dica?


    Tytto
    • Marcado como Resposta Tytto sexta-feira, 22 de julho de 2011 13:16
    sexta-feira, 22 de julho de 2011 13:16

Todas as Respostas

  • Tytto,

     

    Não sei a quais maneiras voce se refere, porem a nivel de procedure, voce pode cria-la com a opção WITH ENCRYPTION.

     

    Texto do books online dessa opção:

    ENCRYPTION

    Indicates that SQL Server will convert the original text of the CREATE PROCEDURE statement to an obfuscated format. The output of the obfuscation is not directly visible in any of the catalog views in SQL Server. Users that have no access to system tables or database files cannot retrieve the obfuscated text. However, the text will be available to privileged users that can either access system tables over the DAC port or directly access database files. Also, users that can attach a debugger to the server process can retrieve the decrypted procedure from memory at runtime. For more information about accessing system metadata, see Metadata Visibility Configuration.


    Fabrizzio A. Caputo
    Certificações: Oracle OCA 11g, MCITP SQL Server 2008 Implementation and Maintenance
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    • Marcado como Resposta Tytto sexta-feira, 22 de julho de 2011 13:16
    quarta-feira, 20 de julho de 2011 20:56
    Moderador
  • Boa Tarde,

    Infelizmente se você precisa realmente proteger sua regra, não coloque em stored procedure (a menos que você use CLR e não T-SQL).

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.wordpress.com


    Classifique as respostas. O seu feedback é imprescindível
    • Sugerido como Resposta Rui SantosModerator quarta-feira, 20 de julho de 2011 21:27
    • Marcado como Resposta Tytto sexta-feira, 22 de julho de 2011 13:16
    quarta-feira, 20 de julho de 2011 21:15
  • Obrigado pela resposta.

    É exatamente dessa forma que cryptografo... e também dessa forma pode-se reverter o código.

    Veja: http://www.devmedia.com.br/post-8173-Criptografia-de-objetos-no-SQL-Server.html

     

     


    Tytto
    • Marcado como Resposta Tytto sexta-feira, 22 de julho de 2011 13:16
    sexta-feira, 22 de julho de 2011 13:14
  • Pois é, mas já existem os objetos que estão em um sistema grande. Utilizar objetos de banco é uma realidade que não posso fugir.

    Vc tem mais alguma dica?


    Tytto
    • Marcado como Resposta Tytto sexta-feira, 22 de julho de 2011 13:16
    sexta-feira, 22 de julho de 2011 13:16