Autor Tópico: Criptografar Corpo do Fonte  (Lida 6263 vezes)

Reação Web

  • Intermediário
  • ***
  • Mensagens: 164
Re:Criptografar Corpo do Fonte
« Responder #30 Online: Fevereiro 06, 2012, 12:58:17 pm »
Boa Tarde Cleyton Euler,
Isso eu já fasso, mas os dados ficam no banco de dados e não em um txt que acho mais viável, o problema é que se a pessoa abrir o código fonte do control_login por exemplo e apagar as linhas que fazem a validação, a pessoa consegue utilizar o sistema normalmente, até mesmo com a licença expirada!
O mesmo vai acontecer se criar uma rotina para ler o txt, basta a pessoa somente comentar, não precisa nem apagar, as linhas que fazem a validação e pronto, a pessoa tem acesso ao sistema!

Agora, se o código em PHP estiver criptografado, fica mais complicado da pessoa descriptografar primeiro o arquivo e depois procurar pelas linhas de validação, ou seja, a criptografia seria um passo que somente um usuário muito avançado conseguiria quebrar e alguém desse nível iria cobrar um preço bem alto, coisa que duvido muito que o pessoal pague!

Reação Web

  • Intermediário
  • ***
  • Mensagens: 164
Re:Criptografar Corpo do Fonte
« Responder #31 Online: Fevereiro 06, 2012, 12:59:04 pm »
Alguém saberia me dizer o que torna o código gerado pelo scriptcase tão complicado de se criptografar, a ponto de somente o Zend Conseguir essa tal façanha?

Haroldo

  • Expert
  • *****
  • Mensagens: 6264
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Criptografar Corpo do Fonte
« Responder #32 Online: Fevereiro 06, 2012, 01:15:11 pm »
o código gerado pelo sc além de complexo possui muitos erros internos, um ofuscador, embaralha o código e de forma interpretativa desembaralha na execução através do eval, o Zend, é instalado no servidor junto com o php, e o código criptografado pelo zend é gravado em um arquivo, o que o zend faz ao executar esse arquivo é trazê-lo exatamente como o original, os ofuscadores, como usam o eval não consegue isso porque ele interpreta a decodificação durante a execução, e se tiver erro o eval não vai funcionar.
 
Alguém saberia me dizer o que torna o código gerado pelo scriptcase tão complicado de se criptografar, a ponto de somente o Zend Conseguir essa tal façanha?


Cleyton Euler

  • Expert
  • *****
  • Mensagens: 1149
    • Associação de Usuários Scriptcase
    • Email
Re:Criptografar Corpo do Fonte
« Responder #33 Online: Fevereiro 06, 2012, 01:38:36 pm »
Boa Tarde Cleyton Euler,
Isso eu já fasso, mas os dados ficam no banco de dados e não em um txt que acho mais viável, o problema é que se a pessoa abrir o código fonte do control_login por exemplo e apagar as linhas que fazem a validação, a pessoa consegue utilizar o sistema normalmente, até mesmo com a licença expirada!
O mesmo vai acontecer se criar uma rotina para ler o txt, basta a pessoa somente comentar, não precisa nem apagar, as linhas que fazem a validação e pronto, a pessoa tem acesso ao sistema!

Agora, se o código em PHP estiver criptografado, fica mais complicado da pessoa descriptografar primeiro o arquivo e depois procurar pelas linhas de validação, ou seja, a criptografia seria um passo que somente um usuário muito avançado conseguiria quebrar e alguém desse nível iria cobrar um preço bem alto, coisa que duvido muito que o pessoal pague!

Então, o que eu disse é vc fazer essa validação fora do controle de login do sc, de forma que vc consiga ofusca o código do script que faz essa validação. Estou dizendo isso considerando que no seu caso não há a possibilidade de ter essa validação em bd posto que seu cliente não tem acesso a Internet.

Vamos supor que sua aplicação de menu executa uma verificação no onLoad. Licença em dia, tudo bem, continua execução. Licença expirada, chama um script que pede o arquivo txt para validar. Se o cliente não tiver um arquivo, tem que entrar em contato com vc para envio. Aqui vc pode ofuscar o script que faz a validação, visto que é feito de forma "convencional" e o arquivo txt que vc manda tem os dados de validação criptografados.
Associação de Usuários Scriptcase
http://www.auscriptcase.com.br

Consultoria Scriptcase Versão 5
http://www.infinitusweb.com.br

saulobborges

  • Expert
  • *****
  • Mensagens: 1392
    • SGi Sistemas
    • Email
Re:Criptografar Corpo do Fonte
« Responder #34 Online: Fevereiro 06, 2012, 01:42:04 pm »
o código gerado pelo sc além de complexo possui muitos erros internos, um ofuscador, embaralha o código e de forma interpretativa desembaralha na execução através do eval, o Zend, é instalado no servidor junto com o php, e o código criptografado pelo zend é gravado em um arquivo, o que o zend faz ao executar esse arquivo é trazê-lo exatamente como o original, os ofuscadores, como usam o eval não consegue isso porque ele interpreta a decodificação durante a execução, e se tiver erro o eval não vai funcionar.
 
Alguém saberia me dizer o que torna o código gerado pelo scriptcase tão complicado de se criptografar, a ponto de somente o Zend Conseguir essa tal façanha?


Perfeita consideração Haroldo. Acho que a dica do Cleyton deveria ser estudada!

Haroldo

  • Expert
  • *****
  • Mensagens: 6264
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Criptografar Corpo do Fonte
« Responder #35 Online: Fevereiro 06, 2012, 01:42:38 pm »
O que ele diz é que um técnico pode abrir o fonte desse login e  burlar esse código que valida esse arquivo.

Boa Tarde Cleyton Euler,
Isso eu já fasso, mas os dados ficam no banco de dados e não em um txt que acho mais viável, o problema é que se a pessoa abrir o código fonte do control_login por exemplo e apagar as linhas que fazem a validação, a pessoa consegue utilizar o sistema normalmente, até mesmo com a licença expirada!
O mesmo vai acontecer se criar uma rotina para ler o txt, basta a pessoa somente comentar, não precisa nem apagar, as linhas que fazem a validação e pronto, a pessoa tem acesso ao sistema!

Agora, se o código em PHP estiver criptografado, fica mais complicado da pessoa descriptografar primeiro o arquivo e depois procurar pelas linhas de validação, ou seja, a criptografia seria um passo que somente um usuário muito avançado conseguiria quebrar e alguém desse nível iria cobrar um preço bem alto, coisa que duvido muito que o pessoal pague!

Então, o que eu disse é vc fazer essa validação fora do controle de login do sc, de forma que vc consiga ofusca o código do script que faz essa validação. Estou dizendo isso considerando que no seu caso não há a possibilidade de ter essa validação em bd posto que seu cliente não tem acesso a Internet.

Vamos supor que sua aplicação de menu executa uma verificação no onLoad. Licença em dia, tudo bem, continua execução. Licença expirada, chama um script que pede o arquivo txt para validar. Se o cliente não tiver um arquivo, tem que entrar em contato com vc para envio. Aqui vc pode ofuscar o script que faz a validação, visto que é feito de forma "convencional" e o arquivo txt que vc manda tem os dados de validação criptografados.

Cleyton Euler

  • Expert
  • *****
  • Mensagens: 1149
    • Associação de Usuários Scriptcase
    • Email
Re:Criptografar Corpo do Fonte
« Responder #36 Online: Fevereiro 06, 2012, 01:49:30 pm »
O que ele diz é que um técnico pode abrir o fonte desse login e  burlar esse código que valida esse arquivo.

Boa Tarde Cleyton Euler,
Isso eu já fasso, mas os dados ficam no banco de dados e não em um txt que acho mais viável, o problema é que se a pessoa abrir o código fonte do control_login por exemplo e apagar as linhas que fazem a validação, a pessoa consegue utilizar o sistema normalmente, até mesmo com a licença expirada!
O mesmo vai acontecer se criar uma rotina para ler o txt, basta a pessoa somente comentar, não precisa nem apagar, as linhas que fazem a validação e pronto, a pessoa tem acesso ao sistema!

Agora, se o código em PHP estiver criptografado, fica mais complicado da pessoa descriptografar primeiro o arquivo e depois procurar pelas linhas de validação, ou seja, a criptografia seria um passo que somente um usuário muito avançado conseguiria quebrar e alguém desse nível iria cobrar um preço bem alto, coisa que duvido muito que o pessoal pague!

Então, o que eu disse é vc fazer essa validação fora do controle de login do sc, de forma que vc consiga ofusca o código do script que faz essa validação. Estou dizendo isso considerando que no seu caso não há a possibilidade de ter essa validação em bd posto que seu cliente não tem acesso a Internet.

Vamos supor que sua aplicação de menu executa uma verificação no onLoad. Licença em dia, tudo bem, continua execução. Licença expirada, chama um script que pede o arquivo txt para validar. Se o cliente não tiver um arquivo, tem que entrar em contato com vc para envio. Aqui vc pode ofuscar o script que faz a validação, visto que é feito de forma "convencional" e o arquivo txt que vc manda tem os dados de validação criptografados.

Então, visto que ele já conseguiu aplicar um ofuscador com sucesso no código, o técnico veria algo incompreensível nesse controle de validação.

Pelo que percebi o problema está em conseguir usar um ofuscador no controle de login nativo do SC. Deste modo, minha idéia é fazer isso na unha e aplicar o ofuscador combinado com o txt criptografado. Talvez funcione.
Associação de Usuários Scriptcase
http://www.auscriptcase.com.br

Consultoria Scriptcase Versão 5
http://www.infinitusweb.com.br

Reação Web

  • Intermediário
  • ***
  • Mensagens: 164
Re:Criptografar Corpo do Fonte
« Responder #37 Online: Fevereiro 06, 2012, 04:06:25 pm »
Isso seria uma boa sugestão para o SC6, deixar alguma ferramenta para criptografar algo no arquivo fonte, na questão de segurança!
Cleyton, vou dar uma estudada aqui em uma possibilidade de colocar esse arquivo criptografado e ver se funciona e posto o resultado aqui, mas pensando de forma que eu queira burlar um sistema, eu poderia mais uma vez abrir os fontes do menu e remover a associação a esse arquivo criptografado que valida o sistema.
Posso estar pensando ou interpretando errado o que você disse, mas um exemplo:

A aplicação Menu chama um arquivo criptografado, se ele não existir ou se ele não validar a maquina, ele te redireciona para o control_login certo? (Pode ser algo até mais elaborado, atualizando o banco de dados como autorizar = 0).
Mas e se eu remover esse script que associa a esse arquivo criptografado na aplicação menu?
E se eu remover todas as linhas de comando que chamam esse arquivo criptografado?
O problema não é ter um arquivo criptografado, o problema é alguém conseguir remover a(s) linha(s) de comando que chama esse arquivo!
Se pelo menos eu consegui-se fazer o control_login criptografado, já ajudava, pois o próprio scriptcase não deixa acessar as demais aplicações se você não estiver logado!

saulobborges

  • Expert
  • *****
  • Mensagens: 1392
    • SGi Sistemas
    • Email
Re:Criptografar Corpo do Fonte
« Responder #38 Online: Fevereiro 06, 2012, 04:22:27 pm »
Isso seria uma boa sugestão para o SC6, deixar alguma ferramenta para criptografar algo no arquivo fonte, na questão de segurança!
Cleyton, vou dar uma estudada aqui em uma possibilidade de colocar esse arquivo criptografado e ver se funciona e posto o resultado aqui, mas pensando de forma que eu queira burlar um sistema, eu poderia mais uma vez abrir os fontes do menu e remover a associação a esse arquivo criptografado que valida o sistema.
Posso estar pensando ou interpretando errado o que você disse, mas um exemplo:

A aplicação Menu chama um arquivo criptografado, se ele não existir ou se ele não validar a maquina, ele te redireciona para o control_login certo? (Pode ser algo até mais elaborado, atualizando o banco de dados como autorizar = 0).
Mas e se eu remover esse script que associa a esse arquivo criptografado na aplicação menu?
E se eu remover todas as linhas de comando que chamam esse arquivo criptografado?
O problema não é ter um arquivo criptografado, o problema é alguém conseguir remover a(s) linha(s) de comando que chama esse arquivo!
Se pelo menos eu consegui-se fazer o control_login criptografado, já ajudava, pois o próprio scriptcase não deixa acessar as demais aplicações se você não estiver logado!

Então amigo tudo isso deve ser considerado, mais pense no seguinte, você criptografou o control_login, o que o control login faz? Ele habilita e/ou desativa aplicações de acordo com o login/grupo e direciona para o menu ou outra aplicação qualquer que você definir.
Um cara que tem gabarito pra mexer no código pode criar manualmente um control_login picareta e fazer essas validações e pronto, sua segurança estará comprometida mais uma vez.

A grande questão é, quanto vale a pena investir em um sistema tão seguro a ponto de impedir qualquer pessoa com conhecimento de mexer nele, nossas aplicações não tem um apelo comercial tão grande a ponto de alguém querer perder tempo com isso (as minhas pelo menos não tem) trabalhamos com pequenas corporações e acho que essa implementação seria interessante para casos onde a aplicação term um nível de procura etremamente alto, tipo se você realmente desenvolver a galinha dos ovos de ouro, fora isso não acho que alguém vai ter saco de mexer no código do sc.
Fora que a validação pode ser implementada em todas as aplicações, não precisa ser só no control_login, duvido que alguém se atreveria a mexer em 5 apps do SC pra descobrir onde você travou o sistemas.

Um abraço!

Reação Web

  • Intermediário
  • ***
  • Mensagens: 164
Re:Criptografar Corpo do Fonte
« Responder #39 Online: Fevereiro 06, 2012, 04:32:48 pm »
ta certo saulo, minhas aplicações são para empresa pequenas também, nada muito grande, mas pensando em caso alguém queira roubar o sistema.
Já vi que criptografar os fontes só se for com o zend (inviável)!
O mais certo é mandar uma aplicação limitada ao cliente que quiser testar os 30 dias ou se quiser testar o full tem de ter acesso a web.

Esse tópico foi muito esclarecedor creio que não só para a minha empresa, mas para muitos que possam a vir no futuro procurar uma solução desse tipo!

Cleyton Euler

  • Expert
  • *****
  • Mensagens: 1149
    • Associação de Usuários Scriptcase
    • Email
Re:Criptografar Corpo do Fonte
« Responder #40 Online: Fevereiro 06, 2012, 05:13:24 pm »
Tenha em mente que mesmo com as limitações, tudo que vc fizer para dificultar já é válido. Se alguém quiser mesmo roubar o sistema, será difícil impedir. Mesmo em sistemas monstros a galera qdo quer consegue burlar a segurança. Então o que fizer para dificultar já ajuda. rsrsrs.
Associação de Usuários Scriptcase
http://www.auscriptcase.com.br

Consultoria Scriptcase Versão 5
http://www.infinitusweb.com.br