Innehållssnuffande
Innehållssniffning , även känd som sniffning av mediatyp eller MIME-sniffning , är metoden att inspektera innehållet i en byteström för att försöka härleda filformatet för data i den. Innehållssniffning används i allmänhet för att kompensera för en brist på korrekt metadata som annars skulle krävas för att filen ska kunna tolkas korrekt. Tekniker för att sniffa innehåll tenderar att använda en blandning av tekniker som förlitar sig på redundansen som finns i de flesta filformat: leta efter filsignaturer och magiska siffror och heuristik inklusive sökning efter välkända representativa delsträngar, användning av bytefrekvens och n -gram -tabeller och Bayesiansk slutledning .
Multipurpose Internet Mail Extensions (MIME) sniffning användes och används fortfarande av vissa webbläsare , inklusive Microsofts Internet Explorer , i ett försök att hjälpa webbplatser som inte korrekt signalerar MIME-typen av webbinnehållsvisning. Men att göra detta öppnar upp för en allvarlig säkerhetsrisk , där webbläsaren, genom att förväxla MIME-sniffningsalgoritmen, kan manipuleras till att tolka data på ett sätt som gör att en angripare kan utföra operationer som inte förväntas av vare sig webbplatsoperatören eller användare, till exempel cross-site scripting . Dessutom, genom att få webbplatser som inte korrekt tilldelar MIME-typer till innehåll att se ut att fungera korrekt i dessa webbläsare, misslyckas den med att uppmuntra korrekt märkning av material, vilket i sin tur gör att innehållssnuffning är nödvändigt för att dessa webbplatser ska fungera, vilket skapar en ond cirkel av inkompatibilitet med webbstandarder och bästa metoder för säkerhet.
Det finns en specifikation för sniffning av mediatyp i HTML5 , som försöker balansera säkerhetskraven med behovet av omvänd kompatibilitet med webbinnehåll med saknade eller felaktiga MIME-typdata. Den försöker tillhandahålla en exakt specifikation som kan användas över implementeringar för att implementera en enda väldefinierad och deterministisk uppsättning beteenden.
UNIX- filkommandot kan ses som ett program för att sniffa innehåll.
Charset sniffa
Många webbläsare använder en mer begränsad form av sniffning av innehåll för att försöka bestämma teckenkodningen för textfiler för vilka MIME-typen redan är känd. Denna teknik är känd som teckenuppsättningssniffning eller kodtabellssniffning och kan, för vissa kodningar, användas för att kringgå säkerhetsbegränsningar också. Till exempel Internet Explorer 7 luras att köra JScript och kringgå dess policy genom att tillåta webbläsaren att gissa att en HTML -fil var kodad i UTF-7 . Denna bugg förvärras av funktionen hos UTF-7-kodningen som tillåter flera kodningar av samma text och, specifikt, alternativa representationer av ASCII -tecken.
De flesta kodningar tillåter inte undvikande presentationer av ASCII-tecken, så teckenuppsättningssnuffning är generellt sett mindre farligt, eftersom tecken utanför ASCII-repertoaren är svårare att kringgå på grund av den historiska olyckan med den ASCII-centrerade karaktären hos skript- och märkningsspråk. säkerhetsgränser och feltolkningar av teckenuppsättningar tenderar att ge resultat som inte är värre än visningen av mojibake .
Se även
externa länkar
- MIME Sniffing Standard
- L. Masinter (27 mars 2011). "Internetmediatyper och webben" . IETF . Hämtad 2012-07-14 .
- A. Barth, I. Hickson (24 januari 2011). "Media Type Sniffing" . IETF . Hämtad 2012-07-14 .
- David Risney. "Mimsnuffande" . Hämtad 2012-07-14 .