Ivo Pereira Posted December 1, 2009 at 05:38 PM Report Share #298253 Posted December 1, 2009 at 05:38 PM 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 🙂 Link to comment Share on other sites More sharing options...
jpaulino Posted December 1, 2009 at 07:48 PM Report Share #298287 Posted December 1, 2009 at 07:48 PM Não entendi o que queres dizer com "tem acesso aos dados FTP lá escritos" Que dados são ? Link to comment Share on other sites More sharing options...
Ivo Pereira Posted December 1, 2009 at 10:38 PM Author Report Share #298330 Posted December 1, 2009 at 10:38 PM 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. Link to comment Share on other sites More sharing options...
Weasel Posted December 2, 2009 at 09:35 AM Report Share #298351 Posted December 2, 2009 at 09:35 AM Podes sempre colocar numa variável encriptado, e usar um código qualquer para desencriptar. Knowledge to the masses Link to comment Share on other sites More sharing options...
IceBrain Posted December 2, 2009 at 11:30 AM Report Share #298361 Posted December 2, 2009 at 11:30 AM 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. ❝The idea that I can be presented with a problem, set out to logically solve it with the tools at hand, and wind up with a program that could not be legally used because someone else followed the same logical steps some years ago and filed for a patent on it is horrifying.❞- John Carmack on software patents A list of command line apps Link to comment Share on other sites More sharing options...
Gooden Posted December 2, 2009 at 03:06 PM Report Share #298385 Posted December 2, 2009 at 03:06 PM 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 Link to comment Share on other sites More sharing options...
softklin Posted December 2, 2009 at 03:15 PM Report Share #298387 Posted December 2, 2009 at 03:15 PM 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. Nick antigo: softclean | Tens um projeto? | Wiki P@P Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post. Link to comment Share on other sites More sharing options...
Ivo Pereira Posted December 2, 2009 at 05:32 PM Author Report Share #298419 Posted December 2, 2009 at 05:32 PM 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 Link to comment Share on other sites More sharing options...
IceBrain Posted December 2, 2009 at 07:19 PM Report Share #298452 Posted December 2, 2009 at 07:19 PM 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. ❝The idea that I can be presented with a problem, set out to logically solve it with the tools at hand, and wind up with a program that could not be legally used because someone else followed the same logical steps some years ago and filed for a patent on it is horrifying.❞- John Carmack on software patents A list of command line apps Link to comment Share on other sites More sharing options...
softklin Posted December 2, 2009 at 08:05 PM Report Share #298460 Posted December 2, 2009 at 08:05 PM 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). Nick antigo: softclean | Tens um projeto? | Wiki P@P Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post. Link to comment Share on other sites More sharing options...
Ivo Pereira Posted December 2, 2009 at 10:30 PM Author Report Share #298502 Posted December 2, 2009 at 10:30 PM Hmm, talvez preferisse pela implementação de uma conta com permissões restritas, visto que não sei implementar um webservice de tal tipo. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now