Suponha que você esteja trocando dados com um computador em uma porta < 1024 e saiba que o computador está executando alguma variante do unix. Então você sabe que o serviço que está sendo executado nessa porta é aprovado pelo administrador do sistema: ele está sendo executado como root ou pelo menos teve que ser iniciado como root.
No mundo amplo e selvagem da Internet, isso não importa. A maioria dos servidores é administrada pelas mesmas pessoas que os serviços executados nelas; você não confiaria mais nas raízes do que os outros usuários.
Com máquinas multiusuário, especialmente em uma rede local, isso pode ser importante. Por exemplo, nos dias anteriores à criptografia civil, um método popular de executar comandos shell em outra máquina era rsh
( r emote sh ell); você poderia usar a autenticação por senha, ou você poderia autenticar apenas provando que você era o usuário X na máquina A (com a máquina B sabendo que o X @ A poderia logar como X @ B sem senha). Como provar isso? O cliente rsh
é a raiz setuid e usa um número de porta < 1024, portanto, o servidor sabe que o cliente com o qual está falando é confiável e não vai saber qual usuário em A está invocando-o. Da mesma forma, o NFS foi projetado para ser transparente em relação a usuários e permissões, portanto, uma configuração comum era a de que rede local, cada máquina usava o mesmo banco de dados de usuário e o usuário N em A. Os sistemas de arquivos de montagem do servidor B obteriam as permissões do usuário N em B. Novamente, o fato de o cliente NFS ser proveniente de um número de porta < em A vetou o cliente NFS, que deve certificar-se de que, se ele transmitir uma solicitação do usuário N, essa solicitação será realmente do usuário N.
Usuários não autorizados que não conseguem executar servidores em portas baixas são outro benefício, mas não o principal. Nos dias de hoje, o spoofing era uma novidade e os usuários que executavam spoofs eram rapidamente reprimidos por administradores vigilantes de qualquer maneira.