Exporteren (0) Afdrukken
Alles uitvouwen

Afdwingen van MIME-afhandeling in Internet Explorer

noteOpmerking
Met het onderdeel Verbeterde beveiliging van Internet Explorer in Microsoft Windows Server 2003 (ook wel extra beveiliging van Microsoft Internet Explorer genoemd) wordt een server beter beschermd tegen aanvallen via webinhoud. Hiertoe worden in Internet Explorer strengere beveiligingsinstellingen gehanteerd voor scripts, ActiveX-onderdelen en het downloaden van bestanden voor bronnen die zich in de internetbeveiligingszone bevinden. Als gevolg hiervan lopen vele van de verbeteringen op beveiligingsgebied in de nieuwste release van Internet Explorer in Windows Server 2003 Service Pack 1 minder in het oog. Zo worden de nieuwe informatiebalk in Internet Explorer en pop-upblokkering alleen gebruikt als de site zich bevindt in een zone waarvoor de beveiligingsinstelling het gebruik van scripts toestaat. Als u de verbeterde beveiligingsconfiguratie niet gebruikt op uw server, functioneren deze voorzieningen net als in Windows XP Service Pack 2.

Wat is het nut van afgedwongen MIME-afhandeling?

In Internet Explorer wordt aan de hand van MIME-informatie (Multipurpose Internet Mail Extensions) bepaald hoe bestanden die door een webserver zijn verzonden, worden afgehandeld. Als via een HTTP-verzoek (Hypertext Transfer Protocol) bijvoorbeeld JPG-bestanden worden opgevraagd, worden deze bij ontvangst op het systeem van de gebruiker in de regel weergegeven in een Internet Explorer-venster. Als Internet Explorer een uitvoerbaar bestand ontvangt, verschijnt er doorgaans een venster waarin de gebruiker wordt gevraagd wat er met het bestand moet gebeuren.

Voor de versie van Internet Explorer die deel uitmaakt van Windows Server 2003 met Service Pack 1 gelden strengere regels dan voor de versie van Internet Explorer in Windows Server 2003. Deze regels zijn erop gericht te voorkomen dat de gebruiker per ongeluk een gevaarlijk bestand downloadt of uitvoert vanwege misleidende MIME-informatie of een misleidende bestandsnaamextensie.

Op wie is deze functie van toepassing?

Webontwikkelaars moeten bij het plannen van wijzigingen of alternatieve oplossingen rekening houden met de gevolgen die deze nieuwe beperkingen kunnen hebben voor hun website.

Ontwikkelaars van toepassingen moeten rekening houden met deze nieuwe functie wanneer ze wijzigingen willen doorvoeren in hun toepassingen. Deze functie is standaard niet ingeschakeld voor processen die niets met Internet Explorer te maken hebben en ontwikkelaars moeten hun toepassingen registreren om van deze wijzigingen te kunnen profiteren.

Eindgebruikers merken iets van deze veranderingen bij het bezoeken van sites of het gebruiken van toepassingen die niet compatibel zijn met deze strengere regels.

Welke nieuwe functionaliteit is aan deze functie toegevoegd in Windows Server 2003 Service Pack 1?

Bestandstype moet overeenkomen voor MIME-afhandeling

Gedetailleerde beschrijving

Wanneer bestanden naar de client worden gestuurd door de server, wordt in Internet Explorer aan de hand van de volgende informatie bepaald hoe het bestand in kwestie moet worden afgehandeld:

  • Bestandsnaamextensie, de corresponderende ProgID en CLSID voor de geregistreerde afhandelingsroutine voor de bewuste bestandsnaamextensie.
  • Type inhoud op basis van de HTTP-header (MIME-type), de corresponderende ProgID en CLSID voor de geregistreerde afhandelingsroutine voor de inhoud of het MIME-type in kwestie.
  • Ordening van de inhoud op basis van de HTTP-header.
  • Resultaten van de MIME-sniff.

In Internet Explorer is het moeilijker gedownloade, potentieel gevaarlijke bestanden uit te voeren dan in Windows Server 2003.

In Internet Explorer wordt de manier waarop een bestand wordt afgehandeld in de browser afgestemd op de manier waarop het bestand wordt afgehandeld in de Windows-shell. Terwijl het bestand wordt gedownload in de cache, wordt het MIME-type van het bestand in de cache vergeleken met de extensie van het bestand in de cache. Als MIME-type en bestandsnaamextensie niet overeenkomen, wordt geprobeerd deze in overeenstemming met elkaar te brengen door de naam van het bestand in de cache te wijzigen.

Voordat een bestand wordt geladen in de bijbehorende MIME-afhandelingsroutine of wordt uitgevoerd door de bijbehorende afhandelingsroutine voor extensies, worden de CLSID's van de MIME-afhandelingsroutine en de afhandelingsroutine voor extensies met elkaar vergeleken. Als er nog steeds een verschil tussen de twee afhandelingsroutines bestaat, wordt er een venster weergegeven waarin de gebruiker kan bevestigen dat het bestand moet worden geladen in de MIME-afhandelingsroutine. Als het bestand door de MIME-afhandelingsroutine wordt geweigerd, verschijnt er een dialoogvenster met de melding dat er een fout is opgetreden tijdens het downloaden en wordt het bestand niet automatisch uitgevoerd. U kunt het bestand wel opslaan via het dialoogvenster.

Een andere, maar verwante wijziging voorkomt dat mogelijk beschadigde bestanden worden uitgevoerd door de bijbehorende afhandelingsroutine voor extensies van de shell. In Internet Explorer wordt het dialoogvenster met de melding dat er een downloadfout is opgetreden, weergegeven voor elk bestand dat door de bijbehorende MIME-afhandelingsroutine wordt geweigerd met de foutcode E_Cannot_Load_Data en wordt het bestand niet uitgevoerd in de afhandelingsroutine voor extensies van de shell, ongeacht het MIME-type of de bestandsnaamextensie.

Deze wijzigingen hebben geen betrekking op gevallen waarin de HTTP-header "Content-disposition=attachment" wordt gebruikt voor het bestand. In die gevallen wordt de bestandsnaam of -extensie die door de server wordt voorgesteld, beschouwd als definitief en kan het bestand worden uitgevoerd als de gebruiker aangeeft dat het bestand mag worden gedownload, ongeacht het verschil tussen MIME-type en extensie.

Wat is het belang van deze wijziging?

Als de server onjuiste informatie over het bestandstype verstrekt en deze informatie op de computer wordt opgeslagen, kan het zijn dat er later een gevaarlijk bestand wordt uitgevoerd terwijl dat niet zou moeten. Zo kan in Internet Explorer een bestand worden gedownload dat een tekstbestand lijkt te zijn. Als het bestand door de bijbehorende MIME-afhandelingsroutine niet kan worden geladen en de bestandsnaamextensie .doc heeft, is het mogelijk dat het DOC-bestand wordt uitgevoerd in een toepassing als Microsoft Word, zonder dat de gebruiker wordt gevraagd of dit wel mag. Het is mogelijk dat in Microsoft Word via actieve inhoud in het bestand, zoals een macro, een programma (bijvoorbeeld een virus) wordt gestart op de computer van de gebruiker.

Wat werkt er anders?

In Internet Explorer wordt nu geprobeerd de naam van gedownloade bestanden in de cache van Internet Explorer zo te wijzigen dat de inhoud en de extensie overeenkomen, ter bescherming tegen bestanden met een misleidend bestandstype.

Er verschijnt een venster met de vraag of de gebruiker het bestand wil downloaden en bestanden waarvan MIME-type en extensie niet overeenkomen, worden geweigerd door de geregistreerde MIME-afhandelingsroutine.

Bovendien wordt een bestand niet uitgevoerd in de bijbehorende afhandelingsroutine van de shell van Internet Explorer als de foutcode E_Cannot_Load_Data is gemeld door de MIME-afhandelingsroutine.

Een dergelijk bestand wordt niet door de afhandelingsroutine van de shell uitgevoerd. In plaats daarvan verschijnt in Internet Explorer een foutbericht, waarin de gebruiker kan aangeven het bestand te willen opslaan.

Webontwikkelaars kunnen niet-werkende toepassingen vanwege dit gedrag isoleren door de functionaliteit uit te schakelen, zoals wordt besproken in het gedeelte Instellingen verderop in dit document.

Hoe los ik dit op?

Webontwikkelaars moeten hun webservers zo aanpassen dat hostbestanden worden gebruikt en ervoor zorgen dat consistente headerinformatie over het type inhoud en consistente bestandsnaamextensies worden gebruikt. Als dit niet mogelijk is, kunnen webontwikkelaars de HTTP-header "Content-disposition=attachment" gebruiken om het bestand rechtstreeks naar de bijbehorende afhandelingsroutine voor extensies te sturen, in plaats van naar de MIME-afhandelingsroutine. Wanneer bestanden met de header "Content-disposition=attachment" worden gedownload, verschijnt er een venster waarin de gebruiker kan aangeven of het bestand moet worden geopend of opgeslagen.

Als u een MIME-afhandelingsroutine hebt ontwikkeld en daarbij vertrouwt op Internet Explorer voor het uitvoeren van bestanden die door de MIME-afhandelingsroutine worden geweigerd, moet u de MIME-afhandelingsroutine aanpassen. Het is het veiligst om het bestand rechtstreeks via de ingebouwde MIME-afhandelingsroutine af te handelen in plaats van het bestand te weigeren.

In bepaalde gevallen is het misschien niet mogelijk het gedrag van de MIME-afhandelingsroutine zo te wijzigen dat gedownloade bestanden via de ingebouwde functionaliteit worden afgehandeld. In dergelijke gevallen kunt u het volgende doen.

U kunt een MIME-afhandelingsroutine en een afhandelingsroutine voor bestandsnaamextensies ontwikkelen die beide deel uitmaken van dezelfde CLSID. Internet Explorer accepteert de overeenkomende CLSID en vraagt de gebruiker dus niet of deze het bestand wil downloaden, of voorkomt niet dat het bestand wordt uitgevoerd in de afhandelingsroutine voor extensies.

Als de MIME-afhandelingsroutine niet hoeft te worden geladen en fouten veroorzaakt omdat MIME-type en extensie niet overeenkomen, kan de ontwikkelaar aangeven dat de MIME-afhandelingsroutine moet worden genegeerd door Internet Explorer wanneer MIME-type en extensie niet overeenkomen. Als de MIME-afhandelingsroutine constateert dat het MIME-type van bepaalde media niet overeenkomt met de extensie en de betrokken media alleen goed kunnen worden afgespeeld als deze rechtstreeks worden uitgevoerd, kan de ontwikkelaar aangeven dat de ProgID van de bijbehorende MIME-afhandelingsroutine moet worden genegeerd als MIME-type en extensie niet overeenkomen wanneer de extensie van het mediabestand bij een andere ProgID hoort. Hiertoe kan de ontwikkelaar voor de MIME-afhandelingsroutine die moet worden genegeerd de volgende waarde opgeven in het register:

HKEY_CLASSES_ROOT\PROG_ID_OF_MIMEHANDLER_TO_IGNORE\"PreferExecuteOnMismatch"=DWORD:00000001

Als geen van deze oplossingen werkbaar is, doen ontwikkelaars er goed aan de gebruikers van de incompatibiliteit op de hoogte te stellen en uit te leggen hoe bestanden waarvan MIME-type en extensie niet overeenkomen toch handmatig kunnen worden opgeslagen en uitgevoerd.

Als er in uw geval ongewenste downloadprompts verschijnen voor bestanden waarvan het MIME-type niet in overeenstemming kan worden gebracht met de extensie, kunt u de ProgID voor de MIME-afhandelingsroutine zo registreren dat alle downloadprompts met inbegrip van de nieuwe prompt bij niet-overeenkomende MIME-typen en extensies worden genegeerd.

Voordat u dit doet, moet u nagaan of uw MIME-afhandelingsroutine op een veilige manier kan omgaan met de bestanden die eraan worden toegewezen. Zo moet u er bijvoorbeeld zeker van zijn dat uw afhandelingsroutine een aanvaller nooit of te nimmer de gelegenheid geeft meer bevoegdheden te verwerven dan op grond van de zone van het oorspronkelijke bestand is toegestaan. U doet dit door de risico's in kaart te brengen en de programmacode te controleren op veilige foutmodi en bufferoverschrijdingsfouten. Als u vaststelt dat uw MIME-afhandelingsroutine de aangeboden bestanden op een veilige manier kan afhandelen, kunt u de afhandelingsroutine zo registreren dat downloadprompts worden omzeild door een nieuwe sleutel toe te voegen aan een van de volgende registerinstellingen:

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

U moet de ProgID van de MIME-afhandelingsroutine gebruiken als naam voor de sleutel en de waarde DWORD=00000001 opgeven.

Omzetting van bestandstypen bij MIME-sniffing

Gedetailleerde beschrijving

Een alternatieve methode voor het bepalen van het bestandstype is het resultaat van de MIME-sniff. Door een bestand te onderzoeken (of 'eraan te ruiken', de letterlijke vertaling van 'sniff') kunnen in Internet Explorer de bithandtekeningen van bepaalde bestandstypen worden herkend. Bij Windows Server 2003 Service Pack 1 worden bij MIME-sniffing in Internet Explorer tekstbestanden of bestanden zonder opmaak niet omgezet in gevaarlijker bestandstypen in de zone Websites met beperkte toegang. Zo worden bestanden die worden ontvangen als bestanden zonder opmaak maar ook HTML-code bevatten, niet omgezet in het type HTML, dat actieve inhoud kan bevatten.

Wat is het belang van deze wijziging?

Dankzij deze wijziging beschikken gebruikers over een aanvullend middel om zich te wapenen tegen schadelijke inhoud die afkomstig is van een bevriende webserver die bestanden serveert met het inhoudstype text\plain, als een aanvaller erin is geslaagd HTML-code met actieve inhoud in een bestand op te nemen.

Wat werkt er anders?

Het is mogelijk dat webservers die bij bestanden niet de juiste headerinformatie over het inhoudstype meesturen en gebruikmaken van afwijkende bestandsnaamextensies voor HTML-pagina's, nu worden weergegeven als tekst zonder opmaak en niet als HTML.

Hoe los ik dit op?

Configureer webservers zo dat de juiste headerinformatie voor het inhoudstype wordt gebruikt. U kunt bestanden ook de juiste bestandsnaamextensie geven voor de toepassing die de bestanden moet afhandelen.

Welke instellingen zijn toegevoegd of gewijzigd in Windows Server 2003 Service Pack 1?

 

Naam van instelling Locatie Vorige standaardwaarde Standaardwaarde Mogelijke waarden

IExplore.exe

Explorer.exe

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

Geen

1

0 - Uit

1 - Aan

IExplore.exe

Explorer.exe

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

Geen

1

0 - Uit

1 - Aan

Instellingen per zone voor MIME-sniffing

De nieuwe beperking voor MIME-sniffing wordt bestuurd via de beveiligingsinstelling Bestanden openen gebaseerd op de inhoud, niet op de bestandsextensie. Deze instelling kan worden ingeschakeld of uitgeschakeld voor afzonderlijke beveiligingszones. De volgende tabel bevat een overzicht van de standaardinstellingen per beveiligingszone:

 

Beveiligingszone 'Bestanden openen gebaseerd op de inhoud, niet op de bestandsextensie' Standaardbeveiligingsinstelling

Zone Websites met beperkte toegang

Uitschakelen

Internet-zone

Inschakelen

Intranet-zone

Inschakelen

Zone Vertrouwde websites

Inschakelen

Moet ik mijn programmacode wijzigen als ik Windows Server 2003 Service Pack 1 wil gebruiken?

U moet uw webservers zo configureren dat de juiste headers voor het inhoudstype worden gebruikt. U kunt aan de bestanden ook de juiste bestandsnaamextensie toewijzen voor de toepassing die de bestanden moet afhandelen.

Vindt u dit nuttig?
(1500 tekens resterend)
Bedankt voor uw feedback

Community-inhoud

Weergeven:
© 2014 Microsoft