HTTP:n alasajo ja yhdistetyn sisällön riskit
Ymmärrä, miten hyökkääjät hyödyntävät HTTP:hen palautumista ja miksi yhdistetty sisältö rikkoo tietoturvatakuut.
HTTP:n alasajo ja yhdistetyn sisällön riskit on ilmainen Cryptology Academy-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Cryptology Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Cryptology Academy-kurssilla on yhteensä 4 oppituntia.
HTTP Strict Transport Security
HTTP Strict Transport Security (HSTS) -otsake ohjeistaa selaimia muodostamaan yhteyden sivustoon vain HTTPS:n kautta määritetyn ajanjakson ajan. Kun selain on vastaanottanut otsakkeen, se kieltäytyy HTTP-yhteyksistä ja päivittää http://-URL-osoitteet automaattisesti muotoon https://.
Tyypillinen HSTS-otsake on: "Strict-Transport-Security: max-age=31536000; includeSubDomains; preload". max-age ilmoitetaan sekunteina (31536000 = 1 vuosi). Kun asetus on tallennettu välimuistiin, selain pakottaa HTTPS:n käyttöön vuoden ajan ilman palvelimen osallistumista.
HSTS:n max-age ja includeSubDomains
max-age-parametri määrittää sekunteina, kuinka kauan selain pakottaa käyttämään vain HTTPS-yhteyksiä. Tuotantosivustoille suositellaan vähintään vuoden arvoa (31536000).
includeSubDomains-direktiivi laajentaa HSTS:n koskemaan kaikkia alitoimialueita. Tämä estää hyökkäykset, joissa hyökkääjä palauttaa alitoimialueen yhteyden HTTP:hen ja käyttää sitä ilman Secure-lippua päätoimialueella asetettujen evästeiden varastamiseen.
HSTS-esilatausluettelo
Selainten mukana toimitetaan kiinteästi määritetty luettelo toimialueista, joissa käytetään aina vain HTTPS:ää, myös ensimmäisellä käyntikerralla. Luetteloa ylläpidetään osoitteessa hstspreload.org, ja se sisältää tuhansia merkittäviä verkkosivustoja.
Esilataus poistaa ensimmäisen käyntikerran haavoittuvuuden: ilman esilatausta ensimmäinen kävijä voitaisiin siepata ennen HSTS-otsakkeen vastaanottamista. Esiladatut sivustot käyttävät vain HTTPS:ää jo ensimmäisestä pyynnöstä lähtien HSTS-välimuistin tilasta riippumatta.
SSL-strippaus hyökkäyksenä
SSL-strippaus, jonka Moxie Marlinspike esitteli Black Hat 2009 -tapahtumassa, on MITM-hyökkäys, jossa HTTPS-yhteys palautetaan HTTP-yhteydeksi. Hyökkääjä sieppaa käyttäjän ensimmäisen HTTP-pyynnön, tekee HTTPS-pyynnöt oikealle palvelimelle käyttäjän puolesta ja välittää sisällön HTTP:n kautta käyttäjälle.
Uhri näkee sisällön normaalisti, mutta yhteys käyttää HTTP:tä. Kaikki syötetyt tunnistetiedot päätyvät hyökkääjälle. Ennen HSTS:ää hyökkäys oli erittäin tehokas, koska käyttäjät eivät huomanneet puuttuvaa lukkokuvaketta.
HSTS estää SSL-strippauksen
HSTS estää SSL-strippauksen, koska selain kieltäytyy muodostamasta HTTP-yhteyksiä HSTS:n piiriin kuuluville toimialueille. Vaikka hyökkääjä yrittäisi tarjota sivua HTTP:n kautta, selain yksinkertaisesti kieltäytyy yhteydestä ja näyttää virheen.
Selaimen HSTS-valvonta tapahtuu ennen verkkopyyntöä, joten hyökkääjä ei voi puuttua siihen. Ainoa jäljelle jäävä haavoittuvuus on ensimmäinen käyntikerta ennen HSTS:n vastaanottamista, ja esilataus poistaa sen.
Aktiivinen ja passiivinen sekasisältö
Sekasisältöä syntyy, kun HTTPS-sivu lataa resursseja HTTP:n kautta. Passiiviseen sekasisältöön kuuluvat HTTP:n kautta ladatut kuvat, äänet ja videot. Ne eivät voi suoraan muokata sivua, mutta ne voivat paljastaa käyttäjää koskevia tietoja HTTP-otsakkeiden avulla ja mahdollistaa seurannan.
Aktiiviseen sekasisältöön kuuluvat HTTP:n kautta ladatut komentosarjat, tyylisivut, iframe-kehykset ja XMLHttpRequests-pyynnöt. HTTP:n kautta ladattu komentosarja voi vaarantaa HTTPS-sivun tietoturvan täysin, koska sillä on täydet oikeudet DOM-rakenteeseen ja se voi lukea evästeitä sekä lomaketietoja.
Selainten sekasisältökomentosarjojen esto
Nykyaikaiset selaimet estävät aktiivisen sekasisällön (HTTP:n kautta ladatut komentosarjat, tyylisivut ja iframe-kehykset) oletusarvoisesti, kun ympäröivä sivu käyttää HTTPS:ää. Konsoliin näytetään virhe, eikä resurssia ladata.
Chrome 81 -versiosta (2020) lähtien selaimet ovat alkaneet päivittää passiivisen sekasisällön automaattisesti HTTPS:ään. Jos HTTPS-versio on olemassa, se ladataan. Muussa tapauksessa resurssi estetään.
Sekasisältö selaimen kehittäjätyökaluissa
Selaimen kehittäjäkonsoli näyttää sekasisältöä koskevat varoitukset ja virheet. Avatkaa Chromessa DevTools, siirtykää Console-välilehdelle ja suodattakaa tulokset hakusanalla "Mixed Content". Jokaisen estetyn resurssin yhteydessä näytetään päivitettävä suojaamaton URL-osoite.
DevToolsin Security-paneeli näyttää kattavan tietoturvayhteenvedon: varmenteen tiedot, yhteyden tiedot ja luettelon kaikista sivun suojaamattomista resursseista.
Upgrade-Insecure-Requests-CSP-direktiivi
Content Security Policy (CSP) -direktiivi "upgrade-insecure-requests" ohjeistaa selaimia päivittämään kaikki sivulta lähtevät HTTP-pyynnöt automaattisesti HTTPS-pyynnöiksi. Tämä käsittelee vanhan sisällön, jossa on kiinteästi määritettyjä HTTP-URL-osoitteita.
Toisin kuin sekasisällön estäminen, upgrade-insecure-requests yrittää hakea ensin HTTPS-version. Se on hyödyllinen siirryttäessä HTTP:stä HTTPS:ään silloin, kun kaikkien vanhan sisällön upotettujen URL-osoitteiden päivittäminen olisi epäkäytännöllistä.
Internet-palveluntarjoajien mainosten lisääminen HTTP-liikenteeseen
Ilman HTTPS:ää internet-palveluntarjoajat voivat lisätä sisältöä HTTP-vastauksiin. Useita internet-palveluntarjoajia on jäänyt kiinni mainosten lisäämisestä verkkosivuille, joilla ei alun perin ollut mainoksia, seurantapikselien lisäämisestä tai varoitussivujen lisäämisestä, kun käyttäjät lähestyvät datakattoaan.
Tällainen sisällön lisääminen on mahdotonta HTTPS-sivuilla, koska vastaus todennetaan ja salataan. Kaikki muutokset aiheuttaisivat TLS:n MAC-tarkistuksen epäonnistumisen, jolloin yhteysvirhe estäisi muokatun sisällön tarjoamisen.
Miksi ensimmäinen HTTP-käynti on edelleen riskialtis
Ennen kuin selain on nähnyt toimialueen HSTS-otsakkeen, ensimmäinen HTTP:n kautta tehtävä käynti on haavoittuva. Hyökkääjä voi siepata tämän ensimmäisen pyynnön ja toteuttaa SSL-strippauksen ilman selaimen varoituksia.
Tämä "luota ensimmäisellä käyttökerralla" -haavoittuvuus on syy HSTS-esilatausluettelon olemassaoloon. Sivuston lisääminen esilatausluetteloon varmistaa, että selaimet pakottavat toimialueen käyttämään HTTPS:ää jo ensimmäisestä pyynnöstä lähtien ja sulkevat ensimmäisen käynnin aikaikkunan kokonaan.
HSTS-tietovisa
Testatkaa ymmärrystänne HTTP Strict Transport Security -mekanismista.
Tärkeimmät asiat: HSTS ja sekasisältö
HSTS ohjeistaa selaimia pakottamaan toimialueen yhteydet käyttämään vain HTTPS:ää määritetyn ajan. Esilatausluettelo laajentaa suojan myös ensimmäisiin käyntikertoihin määrittämällä HSTS-käytännöt kiinteästi selaimiin.
SSL-strippaus (Moxie Marlinspike, 2009) palauttaa HTTPS-yhteyden HTTP-yhteydeksi, mutta HSTS estää sen. Selaimet estävät aktiivisen sekasisällön eli HTTP:n kautta ladatut komentosarjat HTTPS-sivuilla. upgrade-insecure-requests-CSP-direktiivi automatisoi vanhan sisällön siirtämisen HTTP:stä HTTPS:ään.
Opi Cryptology Academy tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 67
- Oppitunnit
- 261
Usein kysytyt kysymykset
Onko oppitunti ”HTTP:n alasajo ja yhdistetyn sisällön riskit” ilmainen?
Kyllä – oppitunnin ”HTTP:n alasajo ja yhdistetyn sisällön riskit” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Cryptology Academy-kurssin, päivitä CoddyKit PROhon. Cryptology Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”HTTP:n alasajo ja yhdistetyn sisällön riskit”?
Ymmärrä, miten hyökkääjät hyödyntävät HTTP:hen palautumista ja miksi yhdistetty sisältö rikkoo tietoturvatakuut. Harjoittelet Cryptology Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Cryptology Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Cryptology Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.
Kuinka kauan ”HTTP:n alasajo ja yhdistetyn sisällön riskit”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Cryptology Academy-oppitunnilla?
Kyllä. Jokainen Cryptology Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Lukkokuvake: mitä se todella tarkoittaa
- Miten verkkosivustot saavat SSL-varmenteet
- TLS-varoitukset ja mitä tehdä
- HTTP:n alasajo ja yhdistetyn sisällön riskit