Cryptology Academy · Oppitunti

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.

Oppitunti 4/413 vaihetta

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.

Aloita maksutta

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

  1. Lukkokuvake: mitä se todella tarkoittaa
  2. Miten verkkosivustot saavat SSL-varmenteet
  3. TLS-varoitukset ja mitä tehdä
  4. HTTP:n alasajo ja yhdistetyn sisällön riskit
← Takaisin: Cryptology Academy