• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Sir Pereira

Confidencialidade de dados

11 mensagens neste tópico

Boas pessoal,

imaginem que tenho um programa que tem uma acção que interage com um FTP.

E, alguém, abrir com um hex editor (ou outro software qualquer que permita o mesmo), tem acesso aos dados FTP lá escritos.

Como posso ocultar esses dados, ou fazer a ligação de outra forma, de forma a que os dados não fiquem visíveis?

Abraço :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não entendi o que queres dizer com "tem acesso aos dados FTP lá escritos"

Que dados são ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não entendi o que queres dizer com "tem acesso aos dados FTP lá escritos"

Que dados são ?

Imagina o exemplo

        My.Computer.Network.UploadFile(My.Computer.FileSystem.SpecialDirectories.Temp & "\arquivo.txt", "ftp://www.host.com/arquivo.txt", "username_de_acesso", "password_de_acesso")

Os dados username_de_acesso e password_de_acesso, mesmo que escritos no código, podem ser visualizados por um editor Hex.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Podes sempre colocar numa variável encriptado, e usar um código qualquer para desencriptar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tudo isso é inútil, visto que basta correr um sniffer para apanhar os dados (FTP não é encriptado). Além disso, a solução do Weasel é quebrada usando um debugger e pondo um breakpoint mesmo antes da chamada à função de ligação FTP.

Na minha opinião, devias criar uma conta no FTP para cada utilizador, e definir permissões apropriadas.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tudo isso é inútil, visto que basta correr um sniffer para apanhar os dados (FTP não é encriptado). Além disso, a solução do Weasel é quebrada usando um debugger e pondo um breakpoint mesmo antes da chamada à função de ligação FTP.

Na minha opinião, devias criar uma conta no FTP para cada utilizador, e definir permissões apropriadas.

ora nem mais. é exactamente isso que devias fazer. até podias passar um encriptador pelo ficheiro exe. mas um sniffer resolve sempre =) e eu que o diga =D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Também podes ponderar usar género de um Webservice (se tiveres um website, basicamente é enviar dados por POST para uma dada página web, usas PHP ou outra tecnologia web para processar esses dados)

Para resolver o problema do sniffing, podes optar por utilizar um sistema de encriptação próprio, ou, solução mais cara, fazer usos de certificados digitais.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Hmm.

Isso das permissões por utilizador não me parece má ideia. Mas imaginem, por exemplo, se o utilizador conseguir esses dados de acesso, e entrar pelo FTP, não conseguem de alguma maneira colocar um shell no servidor, de modo a conseguir o acesso total ao servidor?

Corrijam-me se estiver errado.

Abraço

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Só se houver um bug grave no servidor FTP, ou se as permissões estiverem completamente erradas (por exemplo, se o servidor FTP também for servidor Web, má configuração poderia permitir o utilizador uploadar um ficheiro PHP com o código que quisesse).

O melhor é criar uma conta nova com tudo bloqueado, e depois permitir o mínimo possível para que o programa funcione. Ah, e usar FTP encriptado (SFTP ou FTPS) é sempre melhor, claro.

Também podes ponderar usar género de um Webservice (se tiveres um website, basicamente é enviar dados por POST para uma dada página web, usas PHP ou outra tecnologia web para processar esses dados)

Não concordo, um Webservice é mais generalista e portanto tem mais use-cases pouco testados, o que significa que é menos seguro. Um servidor FTP com boa reputação é mais recomendável, imho.

Para resolver o problema do sniffing, podes optar por utilizar um sistema de encriptação próprio, ou, solução mais cara, fazer usos de certificados digitais.

Podem-se usar certificados criados manualmente; a vantagem dos "oficiais" é autenticarem-te, mas neste caso (proteger do cliente) não é necessário.
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

São opiniões, não tenho conhecimentos de segurança em Webservices, mas penso que depende sempre da implementação de cada um. Embora o Sir Pereira não tenha dito para que seria exactamente, pareceu-me ser para fins de troca e armazenamento de dados, e na minha ideia, uma implementação de um webservice faria mais sentido, e deixava problemas de acesso e afins do lado do servidor.

Claro que uma implementação com um FTP é mais simples, mas expõe um bocado mais a implementação ao cliente, é o que eu penso (em termos de segurança).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Hmm, talvez preferisse pela implementação de uma conta com permissões restritas, visto que não sei implementar um webservice de tal tipo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora