Exportar (0) Imprimir
Expandir Todos

Imposição do Manuseamento MIME do Internet Explorer

noteNota
O componente do Microsoft Windows Server 2003 Configuração de Segurança Avançada do Internet Explorer (também conhecido como reforço de protecção do Microsoft Internet Explorer) reduz a vulnerabilidade de um servidor a ataques de conteúdo Web através da aplicação de definições de segurança do Internet Explorer mais restritivas, que desactivam scripts, componentes ActiveX e transferências de ficheiros para recursos na zona de segurança Internet. Consequentemente, muitos dos melhoramentos de segurança incluídos na última versão do Internet Explorer só serão notados no Windows Server 2003 Service Pack 1. Por exemplo, as novas funções do Internet Explorer, Barra de informações e Bloqueador de Janelas de Pop-up, só serão utilizadas se o site estiver numa zona cuja definição de segurança permite scripts. Se não estiver a utilizar a configuração de segurança avançada no servidor, estas funções agirão como no Windows XP Service Pack 2.

Qual a função da Imposição do Manuseamento MIME?

O Internet Explorer utiliza informações do tipo Extensões de Correio da Internet de Múltiplas Finalidades (MIME, Multipurpose Internet Mail Extensions) para decidir como lidar com ficheiros enviados por um servidor Web. Por exemplo, quando existe um pedido do Protocolo de Transferência de Hipertexto (HTTP, Hypertext Transfer Protocol) de ficheiros .jpg, quando são recebidos, normalmente serão apresentados ao utilizador numa janela do Internet Explorer. Se o Internet Explorer receber um ficheiro executável, normalmente solicitará ao utilizador uma decisão relativamente ao manuseamento do ficheiro.

O Internet Explorer no Windows Server 2003 com o Service Pack 1 seguirá regras mais restritas do que o Internet Explorer no Windows Server 2003. Esta regras destinam-se a proteger os utilizadores de transferências ou execuções acidentais de ficheiros perigosos devido a informações erróneas sobre MIME ou de extensão de nome de ficheiro.

A quem se aplica esta função?

É necessário que os programadores Web estejam cientes destas novas restrições para planear alterações ou soluções para qualquer impacto possível nos respectivos Web sites.

Os programadores de aplicações devem examinar esta funcionalidade para planear a adopção de alterações nas aplicações. Esta funcionalidade não está activada para processos externos ao Internet Explorer por predefinição, pelo que os programadores terão de registar as aplicações para tirar partido destas alterações.

Os utilizadores finais serão afectados por sites ou aplicações incompatíveis com estas regras mais restritas.

Que nova funcionalidade foi adicionada a esta função no Windows Server 2003 Service Pack 1?

Imposição do acordo de tipo de ficheiro de manuseamento MIME

Descrição detalhada

Quando os ficheiros são enviados ao cliente, o Internet Explorer utiliza as seguintes partes de informação para decidir como processar o ficheiro:

  • Extensão de nome de ficheiro, o ProgID e o CLSID correspondentes para a rotina de tratamento registada dessa extensão de nome de ficheiro.
  • Tipo de conteúdo do cabeçalho HTTP (tipo MIME), o ProgID e o CLSID correspondentes para a rotina de tratamento registada desse Conteúdo ou tipo MIME.
  • Disposição de conteúdo do cabeçalho de HTTP.
  • Resultados da intercepção MIME.

O Internet Explorer é mais restritivo do que era no Windows Server 2003 relativamente à execução de um ficheiro transferido que possa ser perigoso.

O Internet Explorer implementará a consistência entre o modo como um ficheiro é processado no browser e na shell do Windows. Quando o ficheiro for transferido para a cache, o Internet Explorer comparará o tipo MIME do ficheiro de cache com a extensão do ficheiro de cache. Se houver uma discordância entre o tipo MIME e a extensão de nome de ficheiro, o Internet Explorer tentará reconciliar essa discordância mudando o nome do ficheiro na cache.

Antes de um ficheiro ser carregado na respectiva rotina de tratamento MIME ou executado pela respectiva rotina de tratamento de extensões, o Internet Explorer comparará os CLSID da rotina de tratamento MIME e rotina de tratamento de extensões. Se continuar a haver um erro de correspondência entre as duas rotinas de tratamento, o Internet Explorer vai impor um aviso obrigatório para que o utilizador confirme se pretende carregar o ficheiro na rotina de tratamento MIME. Se a rotina de tratamento MIME rejeitar o ficheiro com erro de correspondência, o Internet Explorer mostrará uma caixa de diálogo de erros de transferência e não executará automaticamente o ficheiro na rotina de tratamento de extensões da shell do Windows mas a caixa de diálogo permitirá guardar o ficheiro.

Existe uma alteração relacionada, mas separada, para impedir a execução de ficheiros possivelmente danificados nas rotinas de tratamento de extensões da shell. O Internet Explorer mostrará a caixa de diálogo de erro de transferência para qualquer ficheiro que seja rejeitado pela respectiva rotina de tratamento MIME com o código de erro E_Cannot_Load_Data e não executará esse ficheiro na respectiva rotina de tratamento de extensões da shell, independentemente do tipo MIME ou da extensão de nome de ficheiro.

Estas alterações não afectam os casos em que é utilizado um cabeçalho de HTTP "Content-disposition=attachment" para o ficheiro. Nesses casos, o nome do ficheiro ou extensão sugerido pelo servidor é considerado final e o ficheiro pode ser executado independentemente da discordância de MIME/extensão se o utilizador optar por aceitar o aviso de transferência de ficheiros.

Porque é que esta alteração é importante?

Se as informações de tipo de ficheiro forem comunicadas indevidamente pelo servidor e se essas informações forem guardadas no computador, é possível que seja executado incorrectamente um ficheiro perigoso mais tarde. Por exemplo, o Internet Explorer poderá transferir um ficheiro que parece ser um ficheiro de texto. Se a rotina de tratamento MIME não conseguir carregar o ficheiro e tiver uma extensão de nome de ficheiro .doc, o ficheiro .doc poderá ser executado numa aplicação como o Microsoft Word sem avisar o utilizador. No Microsoft Word, o ficheiro poderá utilizar conteúdo activo como, por exemplo, uma macro, para executar um programa (como um vírus) no computador do utilizador.

O que funciona de maneira diferente?

O Internet Explorer vai tentar mudar o nome dos ficheiros transferidos na cache do Internet Explorer para obter tipos de conteúdo e extensões correspondentes, para impedir ficheiros que iludam o utilizador quanto ao respectivo tipo.

O Internet Explorer pedirá ao utilizador para transferir o ficheiro e deixará de executar ficheiros com o tipo MIME e extensão discordantes que sejam rejeitados pela rotina de tratamento MIME registada.

Além disso, o Internet Explorer não executará um ficheiro na respectiva rotina de tratamento da shell se o código de erro E_Cannot_Load_Data tiver sido reportado pela respectiva rotina de tratamento MIME.

Em vez de executar um ficheiro na rotina de tratamento da shell, o Internet Explorer mostra uma caixa de diálogo de erros e proporciona ao utilizador a opção de guardar o ficheiro.

Os programadores Web podem isolar aplicações não operacionais devido a este comportamento desactivando a funcionalidade, conforme é descrito na secção Definições, posteriormente neste documento.

Como posso resolver estes problemas?

Os programadores Web têm de alterar os servidores Web para alojar os ficheiros utilizando cabeçalhos de tipo de conteúdo e extensões de nome de ficheiro consistentes. Caso isto não seja possível, os programadores Web podem utilizar o cabeçalho de HTTP "Content-disposition=attachment" para enviar directamente o ficheiro para a respectiva rotina de tratamento de extensões, e não para a rotina de tratamento MIME. Note que as transferências de ficheiros com o cabeçalho "Content-disposition=attachment" pedirão ao utilizador para abrir ou guardar o ficheiro.

Se tiver desenvolvido uma rotina de tratamento MIME e contar intencionalmente com o Internet Explorer para executar os ficheiros rejeitados pela rotina de tratamento MIME, terá de fazer alterações na rotina de tratamento MIME para ajustar esta alteração. A alteração mais segura seria processar o ficheiro directamente na rotina de tratamento MIME, no modo nativo, em vez de rejeitar o ficheiro.

Em algumas situações, poderá não ser possível alterar o comportamento da rotina de tratamento MIME para processar os ficheiros transferidos no modo nativo. Nessas situações, existem algumas opções.

Pode optar por desenvolver uma rotina de tratamento MIME e uma rotina de tratamento de extensões de nome de ficheiro que façam parte do mesmo CLSID, o Internet Explorer aceitará a correspondência de CLSIDs e, desse modo, não pedirá ao utilizador para transferir o ficheiro ou bloquear a respectiva execução na rotina de tratamento de extensões.

Se não for necessário carregar a rotina de tratamento MIME e isso causar erros devido à discordância do tipo MIME e da extensão, o programador pode marcar a rotina de tratamento MIME para ser ignorada pelo Internet Explorer em caso de discordância do tipo MIME e da extensão. Por exemplo, se a rotina de tratamento MIME para um determinado tipo MIME do suporte tiver uma extensão discordante e tiver de ser executada directamente para ser reproduzida correctamente, o programador pode marcar o ProgID da rotina de tratamento MIME para ser ignorada em caso de discordância quando a extensão de nome de ficheiro do suporte pertencer a um ProgID diferente. Para isso, o programador define o seguinte valor no registo com a rotina de tratamento MIME a ignorar:

HKEY_CLASSES_ROOT\PROG_ID_OF_MIMEHANDLER_TO_IGNORE\"PreferExecuteOnMismatch"=DWORD:00000001

Se nenhuma destas soluções for viável, os programadores deverão notificar os utilizadores da incompatibilidade e explicar ao utilizador como guardar o ficheiro com erro de correspondência para o sistema de ficheiros e, em seguida, iniciá-lo manualmente.

Se o seu cenário for afectado por avisos de transferência de ficheiros indesejados devido a um erro de correspondência de MIME/extensão irreconciliável, pode registar o ProgID da rotina de tratamento MIME para ignorar todos os avisos de transferência, incluindo o novo aviso de discordância.

Antes de o fazer, deve confirmar que a rotina de tratamento MIME pode processar com segurança qualquer ficheiro nela delegado. Por exemplo, deve confirmar que a rotina de tratamento nunca permitiria que um atacante tivesse mais privilégios do que os permitidos pela zona do ficheiro de origem. Isso deve ser feito através da criação de modelos de ameaças, da análise do código relativamente a modos de falha seguros e de sobreposições de memória intermédia. Se determinar que a rotina de tratamento processa com segurança qualquer ficheiro nela delegado, pode registá-la para ignorar os avisos de transferência adicionando uma nova chave a uma das seguintes definições de registo:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\InternetSettings\Secure_Mime_Handlers 
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\InternetSettings\Secure_Mime_Handlers

A chave deve ser nomeada com o ProgID da rotina de tratamento MIME e ter um valor DWORD=00000001.

Elevação do tipo de ficheiro de intercepção MIME

Descrição detalhada

Um dos critérios secundários para determinar um tipo de ficheiro é o resultado da intercepção MIME. Ao examinar ou interceptar ("sniff") um ficheiro, o Internet Explorer pode reconhecer as assinaturas de bits de certos tipos de ficheiro. No Windows Server 2003 Service Pack 1, a intercepção MIME do Internet Explorer não promoverá ficheiros do tipo texto\simples para tipos de ficheiro mais perigosos na zona Sites Restritos. Por exemplo, os ficheiros recebidos como texto simples mas que incluam código HTML não serão promovidos para o tipo HTML, que poderia conter conteúdo activo.

Porque é que esta alteração é importante?

Esta alteração fornece aos utilizadores uma segurança adicional total contra conteúdo malicioso colocado num servidor Web amigável, em que o servidor serve ficheiros com o tipo de conteúdo de texto\simples para um ficheiro mas um atacante conseguiu carregar HTML com conteúdo activo para o ficheiro.

O que funciona de maneira diferente?

Os servidores Web que não incluam o cabeçalho de Tipo de Conteúdo correcto com os ficheiros e que utilizem extensões de nome de ficheiro que não sejam padrão para páginas HTML agora podem ver as páginas compostas como texto simples em vez de HTML.

Como posso resolver estes problemas?

Deve configurar os servidores para utilizar os cabeçalhos de tipo de conteúdo correctos ou pode nomear os ficheiros com a extensão de nome de ficheiro adequada para a aplicação que deve processar o ficheiro.

Quais as definições adicionadas ou alteradas no Windows Server 2003 Service Pack 1?

 

Nome da definição Localização Valor predefinido anterior Valor predefinido Valores possíveis

IExplore.exe

Explorer.exe

HKEY_LOCAL_MACHINE(ou Current User)\Software \Microsoft \Internet Explorer\Main \FeatureControl \FEATURE_MIME_HANDLING\

Nenhum

1

0 - Inactivo

1 - Activo

IExplore.exe

Explorer.exe

HKEY_LOCAL_MACHINE(ou Current User)\Software \Microsoft \Internet Explorer\Main \FeatureControl\FEATURE_MIME_SNIFFING\

Nenhum

1

0 - Inactivo

1 - Activo

Definições do comportamento de Intercepção MIME por zona

A nova restrição de intercepção MIME é controlada pela definição de segurança Abrir ficheiros com base no conteúdo e não na extensão, que pode ser activada ou desactivada para zonas de segurança individuais. A seguinte tabela fornece uma referência das predefinições por zona de segurança:

 

Zona de segurança "Abrir ficheiros com base no conteúdo e não na extensão" Predefinição de segurança

Zona de Sites Restritos

Desactivar

Zona da Internet

Activar

Zona Intranet

Activar

Zona de Sites Fidedignos

Activar

Necessito de alterar o código para funcionar com o Windows Server 2003 Service Pack 1?

Deve configurar os servidores Web para utilizar os cabeçalhos de tipo de conteúdo correctos. Também pode nomear os ficheiros com a extensão de nome de ficheiro adequada para a aplicação que deve processar o ficheiro.

Considera isto útil?
(1500 caracteres restantes)
Obrigado pelos seus comentários

Conteúdo da Comunidade

Mostrar:
© 2014 Microsoft