vegyes tartalommal kapcsolatos problémák merülnek fel, amikor a webhelyek HTTPS-en keresztül szállítják oldalaikat, de lehetővé teszik az erőforrások egy részének egyszerű szöveges kézbesítését. Az aktív hálózati támadó nem tehet semmit a titkosított forgalom ellen, de a sima szöveggel való Messiás támadásokat eredményezhet, a legjobb esetben az adathalászattól a legrosszabb esetben a teljes böngésző kompromisszumáig. Egyetlen kitett szkript elegendő: a támadó eltérítheti a kapcsolatot, és tetszőleges támadási hasznos terheket fecskendezhet bele.
hajlamosak vagyunk sokat beszélni az SSL/TLS egyéb aspektusairól, de a vegyes tartalom vitathatatlanul a legegyszerűbb módja annak, hogy teljesen elrontsa a webhely titkosítását.
a Web nagyon korai napjaiban minden vegyes tartalom megengedett volt; a webböngészők arra számítottak, hogy a webhely üzemeltetői átgondolják a tartalom keverésének következményeit. Ez természetesen nem eredményezett nagy biztonságot. A telephelyek üzemeltetői mindent megtettek a munkájuk elvégzéséhez és a költségek csökkentéséhez. Csak az utóbbi években kezdtek figyelni a böngészőgyártók, és elkezdték korlátozni a vegyes tartalmakat.
vegyes tartalom a modern böngészőkben
manapság szinte az összes főbb böngésző két kategóriába sorolja a vegyes tartalmat: passzív a képek, videók és hangok számára; és aktív a veszélyesebb erőforrások, például a szkriptek számára. Általában alapértelmezés szerint engedélyezik a passzív vegyes tartalmat, de elutasítják az aktív tartalmat. Ez egyértelműen kompromisszum a web feltörése és az ésszerű biztonság között.
az Internet Explorer vezető szerepet tölt be a biztonságos vegyes tartalomkezelésben. Már az Internet Explorer 5-ben (a bejegyzés szerint) alapértelmezés szerint észlelték és megakadályozták a nem biztonságos tartalmat. A Chrome alapértelmezés szerint 2011-ben, a Firefox pedig 2013-ban kezdte meg a blokkolást. Az alapértelmezett Android böngésző és a Safari azonban továbbra is engedélyezi az összes vegyes tartalmat korlátozás nélkül (és szinte nem létező figyelmeztetésekkel).
itt vannak a legutóbbi tesztelésem eredményei arról, hogy milyen nem biztonságos tartalom engedélyezett alapértelmezés szerint:
böngésző | képek | CSS | szkriptek | XHR | WebSockets | keretek |
---|---|---|---|---|---|---|
Android böngésző 4.4.x | Igen | Igen | Igen | Igen | Igen | Igen |
Chrome 33 | Igen | nem | nem | Igen | Igen | nem |
Firefox 28 | Igen | nem | nem | nem | nem | nem |
Internet Explorer 11 | Igen | nem | nem | nem | nem | nem |
Safari 7 | Igen | Igen | Igen | Igen | Igen | Igen |
ezek többnyire várják, de van egy meglepetés a Chrome-ban, amely blokkolja az aktív oldaltartalmat, de továbbra is lehetővé teszi az egyszerű szöveges XMLHttpRequest és a WebSocket kapcsolatokat.
érdemes megemlíteni, hogy a táblázat nem mond el mindent. Például a böngészők általában nem ellenőrzik, hogy mit csinálnak a bővítményeik. Továbbá, bizonyos összetevők (pl. Flash vagy Java) önmagukban teljes környezetek, és kevés böngésző képes a biztonság érvényesítésére.
vegyes Tartalomkezelés tesztelése SSL Labs-ban
annak érdekében, hogy könnyebb legyen értékelni a probléma böngésző kezelését, nemrégiben kiterjesztettem az SSL Labs kliens tesztet a vegyes Tartalomkezelés vizsgálatára. Amikor meglátogatja az oldalt, a felhasználó böngészője tesztelésre kerül, és hasonló eredményeket fog kapni:
vegyes tartalom prevalenciája
anekdotálisan a vegyes tartalom nagyon gyakori. A Qualys-nál 2011-ben megvizsgáltuk ezt a problémát, valamint számos más alkalmazásszintű problémát, amelyek a webes alkalmazások titkosításának teljes törését eredményezik. 250 000 biztonságos webhely honlapját elemeztük az Alexa top 1 millió listáján, és megállapítottuk, hogy 22,41% – UK használt nem biztonságos tartalmat. Ha a képeket kizárják, a szám 18,71% – ra esik.
az Alexa top 100 000-ből kivont 18 526 webhely részletesebb tanulmányára 2013-ban került sor: veszélyes keverék: vegyes tartalmú webhelyek nagyszabású elemzése (Chen et al.). Minden oldalon 200 biztonságos oldalt elemeztek, összesen 481 656 oldalt. Eredményeik azt mutatják, hogy a webhelyek akár 43% – ának is vannak vegyes tartalmi problémái.
mérséklés
a legjobb védekezés a vegyes tartalmi problémák ellen, ha egyszerűen nincs ilyen típusú probléma a kódban. De ezt könnyen meg lehet mondani, mint megtenni; a vegyes tartalom sokféle módon kúszhat fel. Ha ez nem sikerül, két technológia hasznos lehet:
- a HTTP Strict Transport Security (HSTS) egy olyan mechanizmus, amely kikényszeríti a biztonságos erőforrás-visszakeresést, még a felhasználói hibák (a webhely 80-as porton történő elérésének megkísérlése) és a megvalósítási hibák (a fejlesztők nem biztonságos linket helyeznek el egy biztonságos oldalra) esetén is. A HSTS az egyik legjobb dolog, ami a közelmúltban történt a TLS-szel, de csak az Ön által irányított hostneveken működik.
- a Content Security Policy (CSP) a harmadik fél webhelyeiről történő nem biztonságos erőforrás-visszakeresés blokkolására használható. Azt is sok más hasznos funkciók kezelésére más alkalmazás biztonsági kérdések, például XSS.