[OT] - Bloqueio de acesso - Minha idéia funciona ?
Estou a meses trabalhando em uma ferramenta que irá permitir que o usuário alimente uma base de dados remota em um dos servidores aqui da empresa. Ponderando a necessidade de agilidade e flexibilidade tanto na maneira de ´injeção´ e ´cruzamento´ destas informações resolvi desenvolver uma espécie de ´Client´ autenticado através de um login e senha.
Agora vou tentar explanar um pouco do funcionamento desta engenhoca que estou a meses martelando e gostaria de receber de vocês sugestões:
- possuo em um endereço na web um script em php onde recebo o mac-address + o uniqueID da bios do terminal onde está sendo executado o sistema passo estas informações via GET em um pacote criptografado em base64 que re-criptografei por mais algumas vezes gerando um emaranhado de digitos que aparentemente ficaria ´indigerivel´ para um usuario leigo.
- ao receber este pacote de dados, o script em php desmonta isso e vai ate uma base de dados de liberação de terminais, verificando se este terminal está apto ou não a acessar o sistema.
- em caso afirmativo, o mesmo script ´cospe´ outro emaranhado de digitos onde contem os dados de acesso a minha base de dados mysql tais como usuario, hostserver, senha e o nome da base.
- o software em questao desmonta este balaio de informações e utiliza estes dados para se conectar a base de dados que será alimentada.
Submeti o trafego todo a um monitoramento através de um sniffer e analisei os pacotes que são transmitidos e não encontrei nenhum sinal da senha do mysql passando em plain-text. (fiz uma analise bem superficial, e não localizei nada além do login e nome do servidor, nem sinal da senha.. acredito que ela seja passada de forma obscura pelo componente que acessa o mysql ou existe algum engine proprio do protocolo do mysql para que isso seja feito de forma segura).
Depois de compilado o tal software, passo ele por um packer. Sei que packers de compressão são facilmente detectados por sistemas como o PeiD e reversores deste empacotamento tambem são de facil acesso na internet. Possibilitando posteriormente a essa engenharia reversa, acesso ao PE do sistema com qualquer editor de HEXA e quem sabe num seguinte passo a quebra ou quem sabe um ´CRACKEIO´ do meu software.
Vocês devem estar me achando meio maluco ou até mesmo neurótico com a questão de segurança... e sinceramente lhes afirmo que isto está de fato me tirando o sono.
O grande motivo disso tudo é não possuir uma chave SSL para implementar no servidor. por isso estou fazendo essa salada de bytes.
Alguém de vocês conseguiria me dizer se é possivel rastrearem e interpretarem minha tal ´chave´ de criptografia interna ?... se sim.. qual a melhor maneira de evitar que isso aconteça.
Sei perfeitamente que não ser crackeado é uma utopia evidente, mais estou me esforçando para tentar minimizar esta possibilidade.
Me perdoem pelo texto extenso, mais acredito que foi necessário para explicar como minha cabeça anda funcionando.
Um grandioso abraço a todos que tiveram a paciência de acompanhar este texto até aqui.
Saudações Delphianas,
A.Brum
Agora vou tentar explanar um pouco do funcionamento desta engenhoca que estou a meses martelando e gostaria de receber de vocês sugestões:
- possuo em um endereço na web um script em php onde recebo o mac-address + o uniqueID da bios do terminal onde está sendo executado o sistema passo estas informações via GET em um pacote criptografado em base64 que re-criptografei por mais algumas vezes gerando um emaranhado de digitos que aparentemente ficaria ´indigerivel´ para um usuario leigo.
- ao receber este pacote de dados, o script em php desmonta isso e vai ate uma base de dados de liberação de terminais, verificando se este terminal está apto ou não a acessar o sistema.
- em caso afirmativo, o mesmo script ´cospe´ outro emaranhado de digitos onde contem os dados de acesso a minha base de dados mysql tais como usuario, hostserver, senha e o nome da base.
- o software em questao desmonta este balaio de informações e utiliza estes dados para se conectar a base de dados que será alimentada.
Submeti o trafego todo a um monitoramento através de um sniffer e analisei os pacotes que são transmitidos e não encontrei nenhum sinal da senha do mysql passando em plain-text. (fiz uma analise bem superficial, e não localizei nada além do login e nome do servidor, nem sinal da senha.. acredito que ela seja passada de forma obscura pelo componente que acessa o mysql ou existe algum engine proprio do protocolo do mysql para que isso seja feito de forma segura).
Depois de compilado o tal software, passo ele por um packer. Sei que packers de compressão são facilmente detectados por sistemas como o PeiD e reversores deste empacotamento tambem são de facil acesso na internet. Possibilitando posteriormente a essa engenharia reversa, acesso ao PE do sistema com qualquer editor de HEXA e quem sabe num seguinte passo a quebra ou quem sabe um ´CRACKEIO´ do meu software.
Vocês devem estar me achando meio maluco ou até mesmo neurótico com a questão de segurança... e sinceramente lhes afirmo que isto está de fato me tirando o sono.
O grande motivo disso tudo é não possuir uma chave SSL para implementar no servidor. por isso estou fazendo essa salada de bytes.
Alguém de vocês conseguiria me dizer se é possivel rastrearem e interpretarem minha tal ´chave´ de criptografia interna ?... se sim.. qual a melhor maneira de evitar que isso aconteça.
Sei perfeitamente que não ser crackeado é uma utopia evidente, mais estou me esforçando para tentar minimizar esta possibilidade.
Me perdoem pelo texto extenso, mais acredito que foi necessário para explicar como minha cabeça anda funcionando.
Um grandioso abraço a todos que tiveram a paciência de acompanhar este texto até aqui.
Saudações Delphianas,
A.Brum
Campsoft
Curtidas 0
Respostas
Renato Ribeiro
29/09/2008
kd a sequencia deste post?
GOSTEI 0