Kryptografia

SSL/TLS uhat

Keskitaso
25 min

TLS on hyvä protokolla mutta, kuten kaikkea kryptografiassa, sitä on tärkeää käyttää oikein. Käydään seuraavaksi muutamia uhkia tilanteisiin joissa sitä ei käytetä oikein.

BEAST (Browser Exploit Against SSL/TLS)

BEAST-hyökkäys kohdistuu SSL 3.0/TLS 1.0 -protokollan toteutukseen, erityisesti sen CBC-salaustilaan. Hyökkäyksen avulla rikolliset voivat paljastaa tietoja, kuten evästeitä, jotka lähetetään salatussa muodossa. Tämä mahdollistaa istuntokaappaukset ja muiden herkkien tietojen varastamisen. Hyökkäyksen torjumiseksi on suositeltavaa päivittää käyttöön uudemmat TLS-versiot, jotka korjaavat tämän heikkouden.

POODLE (Padding Oracle On Downgraded Legacy Encryption)

POODLE-hyökkäys paljastaa, että hyökkääjä voi pakottaa verkkoselaimen ja palvelimen käyttämään vanhentunutta SSL 3.0 -protokollaa, joka sisältää tiettyjä haavoittuvuuksia padding-käsittelyssä. Tämän jälkeen hyökkääjä voi purkaa salattuja tietoja, kuten evästeitä. Suojautuakseen POODLElta on tärkeää poistaa SSL 3.0 -tuki käytöstä sekä asiakas- että palvelinsovelluksissa.

Heartbleed

Heartbleed oli vakava haavoittuvuus OpenSSL-kirjastossa, joka mahdollisti muistialueiden, sisältäen yksityiset avaimet ja käyttäjätiedot, vuotamisen. Se ei ollut suoraan SSL/TLS-protokollan heikkous, vaan sen yleisesti käytetyn toteutuksen. Heartbleed osoitti, kuinka kriittistä on päivittää ohjelmistokomponentit ja seurata aktiivisesti tietoturvapäivityksiä.

Man-in-the-Middle (MitM) Hyökkäykset

MitM-hyökkäykset ovat yksi vakavimmista uhista SSL/TLS-yhteyksille. Tässä skenaariossa hyökkääjä pystyy salaa välittämään ja mahdollisesti muuttamaan tietoja kahden osapuolen välillä. Vaikka TLS sisältää mekanismeja hyökkäyksen estämiseksi, kuten avainten vaihdon aikana tapahtuva autentikointi, virheellinen toteutus voi silti jättää yhteyden haavoittuvaiseksi.

Downgrade Hyökkäykset

Downgrade-hyökkäyksessä hyökkääjä pakottaa kommunikoivat osapuolet käyttämään heikompaa salausprotokollaa tai -menetelmää, jolloin salauksen murtaminen on helpompaa. Tämä on mahdollista, jos järjestelmä sallii vanhempien, haavoittuvien protokollien käytön. Vahvempien protokollien, kuten TLS 1.2 ja 1.3, pakottaminen ja vanhempien protokollien käytöstä poistaminen auttavat torjumaan tätä uhkaa.

Jatkosalaisuuden Tärkeys

Jatkosalaisuus (Perfect Forward Secrecy, PFS) on menetelmä, joka estää salatun liikenteen purkamisen jälkikäteen, vaikka hyökkääjä saisi myöhemmin käsiinsä palvelimen yksityisen avaimen. Tämä saavutetaan käyttämällä jokaista sessiota varten uniikkia avainten vaihtomenetelmää, joka ei riipu palvelimen pitkäaikaisesta yksityisestä avaimesta. PFS:n käyttö on keskeistä TLS-yhteyksien pitkäaikaisen turvallisuuden kannalta.

Sertifikaattien väärinkäytökset

Väärin myönnetyt tai varastetut sertifikaatit voivat johtaa käyttäjien ohjaamiseen haitallisille sivustoille. Sertifikaattien validoinnin puutteet ja CA:n (Certificate Authority) luottamusongelmat ovat keskeisiä riskejä.

Salausavaimen paljastuminen

Jos hyökkääjä onnistuu saamaan käsiinsä salausavaimet, hän voi purkaa kaiken salatun liikenteen (jos ei ole jatkosalaisuutta). Avaimen varastaminen voi tapahtua monin eri tavoin, mukaan lukien palvelimen turvallisuusmurtumat.

Pakettien uudelleenlähetys ja manipulointi

Vaikka TLS suojaa datan eheyden, tietyissä olosuhteissa hyökkääjä voi yrittää uudelleenlähetystä tai manipuloida viestien järjestystä aiheuttaen häiriöitä kommunikaatiossa.

Kvanttitietokoneet

Kvanttilaskenta uhkaa TLS:n käyttämien salausalgoritmien pitkän aikavälin turvallisuutta. Erityisesti julkisen avaimen salausmenetelmät, kuten RSA ja ECC, voivat olla haavoittuvia kvanttihyökkäyksille.

Harjoitus

Tässä harjoituksessa löydämme kohteen, josssa on TLS-suojattu HTTPS palvelu. Tämä palvelu käyttää kuitenkin TLS-asetuksia, jotka eivät ei tue forward secrecyä ja mahdollistaa suojatun liikenteen purkamisen, jos palvelimen yksityinen avain paljastuu. Löydämme palvelusta kaksi eri tiedostoa.

Aloitetaan tehtävä käynnistämällä alla oleva labra. Voit toistaa vaiheet perässä.

Tehtävät

Flag

Löydä lippu (flag) labraympäristöstä ja syötä se alle.

  • /tls-traffic.pcap, joka sisältää suojattua HTTPS liikennettä, jota palvelu vastaanottaa.
  • /private.key, joka on purkamiseen vaadittu private avain.

Katso "Sisäverkon kohteet" -näkymästä kohteesi IP-osoite ja lataa vaikkapa wget-komennolla palvelimelta tls-traffic.pcap ja private.key.

Sitten avataan wireshark ohjelmisto (valikosta) ja Wiresharkin sisällä avataan äsken ladattu pcap tiedosto.

Tällä hetkellä näemme vain suojatun datan, joka ei ole luettavissa. Meidän täytyy siis käyttää äsken ladattua private avainta ja purkaa TLS-liikenne luettavaan muotoon. Valitaan Edit -> Preferences ja sieltä Protocols -> TLS. Valitaan RSA keys list edit.

Määritetään seuraavat asetukset ja annetaan privaatti avain tiedosto.

Kun nämä ovat valmiit, painetaan molemmissa asetuksissa OK. Wiresharkin pitäisi nyt purkaa TLS liikenne ja löydät lipun tästä liikenteestä.

Miten tämä haavoittuvuus voitaisiin korjata?

Estääkseen sen, että tallennettua SSL/TLS-liikennettä ei voida purkaa jälkikäteen, vaikka hyökkääjä saisi käsiinsä palvelimen yksityisen avaimen, on olennaista valita sellainen cipher suite, joka tukee jatkosalaisuutta (Perfect Forward Secrecy, PFS). Jatkosalaisuus varmistaa, että jokaiselle sessiolle luodaan ainutlaatuinen sessioavain, joka ei ole riippuvainen palvelimen pitkäaikaisesta yksityisestä avaimesta. Tämä tarkoittaa, että vaikka yksityinen avain vuotaisikin, aikaisemmin salattua liikennettä ei voida purkaa sen avulla.

Jotta voidaan varmistaa, että käytössä on jatkosalaisuus ja että yhteys on mahdollisimman turvallinen, on suositeltavaa käyttää modernia cipher suitea, joka käyttää elliptisiä käyriä (ECC) ja/tai Diffie-Hellman -menetelmää (DH tai ECDHE) avaimenvaihdossa. Esimerkiksi:

  • ECDHE-RSA-AES256-GCM-SHA384
  • ECDHE-ECDSA-AES256-GCM-SHA384
hakatemia pro

Valmis ryhtymään eettiseksi hakkeriksi?
Aloita jo tänään.

Hakatemian jäsenenä saat rajoittamattoman pääsyn Hakatemian moduuleihin, harjoituksiin ja työkaluihin, sekä pääset discord-kanavalle jossa voit pyytää apua sekä ohjaajilta että muilta Hakatemian jäseniltä.