Blandede innholdsproblemer oppstår når nettsteder leverer sidene sine OVER HTTPS, men tillater at noen av ressursene leveres i ren tekst. Den aktive nettverksangreperen kan ikke gjøre noe med den krypterte trafikken, men å rote med ren tekst kan resultere i angrep som spenner fra phishing i beste fall til full nettleser kompromiss i verste fall. Et enkelt eksponert skript er tilstrekkelig: angriperen kan kapre forbindelsen og injisere vilkårlig angrepslast i den.
Vi har en tendens til å snakke mye om ANDRE aspekter AV SSL/TLS, men blandet innhold er uten tvil den enkleste måten å fullstendig ødelegge nettstedkrypteringen din.
i De tidlige Dagene av Nettet var alt blandet innhold tillatt; nettlesere forventet at nettstedoperatører skulle tenke gjennom konsekvensene av å blande innhold. Det resulterte selvfølgelig ikke med stor sikkerhet. Områdeoperatører gjorde alt de trengte for å få jobben gjort og redusere kostnadene. Bare de siste årene har nettleserleverandører begynt å ta hensyn og begynne å begrense blandet innhold.
Blandet innhold i moderne nettlesere
i Dag har nesten alle de store nettleserne en tendens til å bryte blandet innhold i to kategorier: passiv for bilder, videoer og lyd; og aktivfor farligere ressurser, for eksempel skript. De har en tendens til å tillate passivt blandet innhold som standard, men avviser aktivt innhold. Dette er helt klart et kompromiss mellom å bryte Nettet og rimelig sikkerhet.
Internet Explorer har vært ledende innen sikker håndtering av blandet innhold. Så Tidlig Som Internet Explorer 5 (ifølge dette innlegget) hadde de deteksjon og forebygging av usikkert innhold som standard. Chrome begynte å blokkere som standard i 2011, Og Firefox i 2013. Standard Android-nettleser og Safari tillater imidlertid fortsatt alt blandet innhold uten begrensninger (og med nesten ikke-eksisterende advarsler).
her er resultatene av min siste testing av hvilket usikkert innhold som er tillatt som standard:
Nettleser | Bilder | CSS | Skript | XHR | WebSockets | Rammer |
---|---|---|---|---|---|---|
Android nettleser 4.4.x | Ja | Ja | Ja | Ja | Ja | Ja |
Krom 33 | Ja | Nei | Nei | Ja | Ja | Nei |
Firefox 28 | Ja | Nei | Nei | Nei | Nei | Nei |
Internet Explorer 11 | Ja | Nei | Nei | Nei | Nei | Nei |
Safari 7 | Ja | Ja | Ja | Ja | Ja | Ja |
De er for det meste som forventet, men Det er en overraskelse Med Chrome, som blokkerer aktivt sideinnhold, men tillater fortsatt ren Tekst XMLHttpRequest og WebSocket-tilkoblinger.
det er verdt å nevne at tabellen ikke forteller oss alt. For eksempel har nettlesere en tendens til ikke å kontrollere hva deres plugins gjør. Flash eller Java) er fulle miljøer i seg selv, og det er lite nettlesere kan gjøre for å håndheve sikkerheten.
Testing for håndtering av blandet innhold I SSL Labs
for å gjøre det enklere å evaluere nettleserhåndtering av dette problemet, utvidet jeg NYLIG SSL Labs Client Test for å undersøke håndtering av blandet innhold. Når du besøker siden, blir brukerens nettleser testet, og du får resultater som ligner på disse:
blandet innhold prevalens
Anekdotisk er blandet innhold svært vanlig. På Qualys undersøkte Vi dette problemet i 2011, sammen med flere andre problemer på applikasjonsnivå som resulterer i full brudd på kryptering i webapplikasjoner. Vi analyserte hjemmesidene til rundt 250.000 sikre nettsteder fra Alexa top 1 million-listen, og fastslått at 22.41% av dem brukte usikkert innhold. Hvis bilder ekskluderes, faller tallet til 18,71%.
En mer detaljert studie av 18 526 nettsteder hentet fra Alexa top 100 000 fant sted i 2013: En Farlig Blanding: Storskala analyse av nettsteder med blandet innhold (Chen Et al.). For hvert nettsted ble opptil 200 sikre sider analysert, med totalt 481 656 sider. Deres resultater indikerer at opptil 43% av nettsteder har blandet innhold problemer.
Begrensning
det beste forsvaret mot problemer med blandet innhold er rett og slett ikke å ha denne typen problem i koden din. Men det er lett sagt enn gjort; det er mange måter som blandet innhold kan krype opp. Når det mislykkes, er det to teknologier som kan komme til nytte:
- HTTP Strict Transport Security (HSTS) er en mekanisme som håndhever sikker ressurshenting, selv i møte med brukerfeil (forsøk på å få tilgang til nettstedet ditt på port 80) og implementeringsfeil (utviklerne plasserer en usikker lenke til en sikker side). HSTS er en av de beste tingene SOM skjedde MED TLS nylig, men det fungerer bare på vertsnavnene du kontrollerer.
- RETNINGSLINJER For Innholdssikkerhet (CSP) kan brukes til å blokkere usikker ressurshenting fra tredjeparts webområder. Den har også mange andre nyttige funksjoner for å løse andre sikkerhetsproblemer, FOR EKSEMPEL XSS.