Existem dois lados dessa questão. A primeira é por que esse recurso existe, e a segunda é por que a GUI (ou o prompt de comando) não facilita a visualização e o gerenciamento do recurso.
Existe porque é útil. Várias outras plataformas suportam vários fluxos de dados por arquivo. No Mac, eles eram chamados de garfos , por exemplo. Estou razoavelmente certo de que coisas semelhantes existiam no mundo do mainframe, mas não consigo identificar exemplos explícitos hoje.
No Windows moderno, é usado para armazenar atributos extras para um arquivo. Você pode perceber que a caixa Propriedades disponível no Windows Explorer possui uma guia Resumo que, no modo de exibição Simples (no Windows XP, sua milhagem será diferente nos outros tipos), inclui vários campos úteis, como título, assunto, autor e assim por diante. Esses dados são armazenados em um fluxo alternativo, em vez de criar algum tipo de banco de dados de carro lateral para armazenar tudo o que seria separado do arquivo com muita facilidade.
Um fluxo alternativo também é usado para conter o marcador que diz que o arquivo veio de uma fonte de rede não confiável aplicada pelo Internet Explorer e Firefox em downloads.
A pergunta difícil é por que não existe uma interface de usuário melhor para perceber que os fluxos existem e por que é possível colocar conteúdo executável neles e, pior ainda, executá-lo mais tarde. Se houver um bug e um risco de segurança aqui, é isso.
Editar:
Inspirado em um comentário para outra resposta, eis uma maneira de descobrir se sua proteção antivírus e / ou anti-malware está ciente de fluxos alternativos.
Obtenha uma cópia do arquivo de teste EICAR . São 68 bytes de texto ASCII que também são um executável x86 válido. Embora completamente inofensivo, o setor de antivírus concordou em ser detectado como se fosse um vírus real. Os criadores pensaram que testar o software antivírus com um vírus real seria como testar o alarme de incêndio, acendendo a lixeira em chamas ...
O arquivo EICAR é:
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
Salve-o com a extensão .COM
e ele será executado (a menos que seu AV esteja prestando atenção) e imprima uma saudação.
Seria informativo salvá-lo em um fluxo de dados alternativo e executar uma verificação ...