Você está correto re: UDP. Você terá que implementar seu próprio protocolo (usando um HMAC para garantir a autenticidade, etc) para evitar falsificação de protocolos baseados em UDP.
A previsão do número de sequência TCP foi um ataque viável no passado. Alguns sistemas operacionais fizeram escolhas muito ruins no número de sequência inicial que permitia esses ataques. A conexão do invasor é unidirecional, já que a máquina com o verdadeiro endereço de origem dos pacotes falsificados estará recebendo o fluxo sendo enviado pelo host sendo atacado, mas se você não precisar de nada, o host remoto pode estar enviando (ou seja, você está realizando um ataque que envolve escrever apenas para o host remoto), então a falta de um canal de recepção de volta do host remoto é irrelevante.
Um artigo interessante com alguns gráficos de fase muito parciais da análise do número de sequência inicial do TCP está disponível aqui: link Infelizmente, são os dados da era Windows 2000 e Linux 2.2. (Existem algumas fotos legais!)
Não estou ciente, acima de tudo, de quaisquer artigos atuais que examinem a geração do número de seqüência inicial do TCP do sistema operacional moderno, mas eles provavelmente estão por aí. A tendência na indústria estava se movendo em direção a algoritmos mais strongs, e meu sentimento é que, embora existam provavelmente alguns dispositivos incorporados lá fora, prontos para atacar a maioria dos sistemas operacionais estão usando algoritmos que têm aleatoriedade suficiente para evitar uma previsão de número de sequência. ataques de ser viável.
Se o invasor puder interceptar seu fluxo de TCP, toda a aleatoriedade nos números de sequência inicial do mundo não o ajudará. Criptografe seu tráfego (envolva-o em SSL, IPSEC, etc) e você também resolveu esse problema. (Então você pode se preocupar com a distribuição de chaves, a autenticação do host, etc ... Não se preocupe - há mais problemas de onde eles vieram. Nós vamos fazer mais e nunca acabar ... > smile <)