Qual é o risco de abrir a porta de rede?

1

O que alguém pode fazer se eu escrever um programa para abrir uma porta TCP e executar, digamos, um servidor de eco? Alguém pode acessar dados no meu sistema? ou algum outro risco de abrir o porto?

    
por anupsth 16.05.2012 / 10:44

2 respostas

9

Depende de quão bem o programa está escrito e sob quais credenciais seu programa de servidor é executado. Por exemplo, digamos que você aloque um buffer de comprimento fixo para ler do soquete e, em seguida, leia mais do que o tamanho alocado, talvez seja possível criar solicitações do servidor que excedam o buffer na pilha e sobrescreva o endereço de retorno. Nesse ponto, o hacker poderia re-apontar o endereço de retorno para estar no buffer (ultrapassado), que poderia conter o código real. Então, se o seu programa do servidor for executado como root / administrator, você está permitindo que o código seja executado nesse contexto.

    
por 16.05.2012 / 10:55
0

Se o seu programa é vulnerável, um hacker poderia possivelmente executar código em seu sistema com privilégios de seu programa. Ou talvez ele pudesse organizar um ataque de DoS (seu programa consumiria toda a CPU ou memória ou espaço em disco e tudo pararia de funcionar e cairia :-)).

No passado, também era possível encontrar um bug na pilha TCP / IP do SO e explorá-lo. Assim, mesmo que o seu programa fosse perfeito, havia uma chance de entrar em problemas com uma porta aberta. No entanto, eu não ouvi falar de tais bugs por um tempo agora.

    
por 16.05.2012 / 11:09