TLS-protokollaversioiden tunnistaminen ja merkitys
TLS-protokollan (Transport Layer Security) eri versiot edustavat tietoturvan kehityskaarta. Kun analysoit TLS-skannauksen tai kättelyn (handshake) tuloksia, ensimmäinen askel on tunnistaa käytössä olevat protokollaversiot. Protokollaversio määrittää ne raamit, joiden puitteissa salausalgoritmeja ja avaintenvaihtomenetelmiä voidaan käyttää.
Työkalu tunnistaa syötetystä tekstistä protokollaversiot ja luokittelee ne niiden roolin mukaan:
- Neuvoteltu: Versio, josta asiakas ja palvelin ovat päässeet yhteisymmärrykseen ja jota käytetään yhteyden salaamiseen.
- Tarjottu: Versiot, joita asiakasohjelma on ilmoittanut tukevansa ClientHello-viestissään.
- Havaittu: Skannauksen aikana muuten havaitut protokollaversiot.
Jos syötetystä tekstistä ei tunnisteta yhtäkään protokollaversiota, työkalu ilmoittaa: "Toimitetusta tekstistä ei löytynyt protokollaversiota.".
TLS-salauspakettien rakenne ja komponentit
TLS-salauspaketti (cipher suite) on yhdistelmä kryptografisia algoritmeja, jotka määrittelevät, miten yhteys suojataan. Perinteisessä TLS 1.2 -salauspaketissa nimi paljastaa suoraan neljä eri osa-aluetta:
- Avaintenvaihtoalgoritmi (esim. ECDHE tai RSA): Määrittää, miten istuntoavaimet jaetaan osapuolten välillä.
- Autentikointialgoritmi (esim. ECDSA tai RSA): Varmistaa vastapuolen henkilöllisyyden.
- Symmetrinen salausalgoritmi (esim. AES-GCM tai ChaCha20-Poly1305): Vastaa varsinaisen datan salauksesta.
- Tietorakenne- tai tiivistealgoritmi (esim. SHA-256 tai SHA-384): Varmistaa tiedon eheyden (HMAC).
Työkalu tunnistaa yleiset IANA-nimet, OpenSSL-aliakset ja useat yleiset heksadesimaalisarjan tunnukset. Mikäli syötteestä ei löydy tunnistettavia salauspaketteja, näytetään ilmoitus: "Toimitetusta tekstistä ei löytynyt salauspakettia.". Jos salauspaketti on tuntematon eikä se sisälly sisäänrakennettuun tietokantaan, työkalu antaa arvion "Tuntematon" ja huomautuksen: "Tämä sviitti ei ole sisäänrakennetussa yhteisten sviittien kartassa. Tarkista nykyiset IANA-rekisteri- tai skannerin asiakirjat.".
Vanhentuneet ja turvattomat algoritmit TLS-yhteyksissä
Tietoturva-analyysissä on kriittistä tunnistaa vanhentuneet tai heikot kryptografiset algoritmit. Työkalu analysoi syötteen ja antaa havaituista heikkouksista tarkat löydökset:
| Algoritmi / Luokka | Arvio | Löydös / Selite |
|---|---|---|
| RC4 | Käytöstä poistettu | RC4 on vanhentunut, eikä siitä saa neuvotella. |
| DES | Käytöstä poistettu | DES ei ole turvallinen yleiseen TLS käyttöön. |
| 3DES | Käytöstä poistettu | 3DES:n lohkokoko on pieni, ja se on vanhentunut TLS:lle. |
| NULL | Käytöstä poistettu | NULL-salaus ei takaa luottamuksellisuutta. |
| EXPORT | Käytöstä poistettu | EXPORT-sarjat käyttävät tarkoituksella heikkoa kryptografiaa, ja ne ovat vanhentuneita. |
| Anonyymit sarjat | Käytöstä poistettu | Anonyymit sviitit eivät todenna vertaista, ja ne ovat alttiina sieppaukselle. |
| MD5 | Käytöstä poistettu | MD5 ei ole turvallinen yleiseen TLS käyttöön. |
| SHA-1 | Käytöstä poistettu | Tämä sarja käyttää SHA-1-koodia, joka on vanhentunut yleiseen TLS-käyttöön. |
| CBC-sarjat | Tarkista | CBC-sviitit ovat perinnöllisiä. Suosi AEAD-sarjaa, kuten AES-GCM tai ChaCha20-Poly1305. |
| Staattinen RSA | Tarkista | Staattinen RSA-avainten vaihto ei tarjoa eteenpäinsalaisuutta. |
| CCM-8 | Tarkista | CCM-8 käyttää lyhyempää todennustunnistetta ja tarvitsee protokollakohtaisen tarkistuksen. |
Nämä löydökset auttavat järjestelmänvalvojia ja tietoturva-asiantuntijoita karsimaan heikot salausmenetelmät palvelimen konfiguraatiosta.
Avaintenvaihto ja todennus TLS 1.3 -protokollassa
TLS 1.3 -protokolla muutti merkittävästi salauspakettien rakennetta ja toimintaperiaatetta. Toisin kuin aiemmissa versioissa, TLS 1.3 neuvottelee avainten vaihdon ja todennuksen erikseen salauspaketista.
Tämä tarkoittaa, että TLS 1.3 -salauspaketin nimen perusteella ei voida suoraan päätellä käytettävää avaintenvaihtomeenelmää (kuten ECDHE-käyrää) tai varmennetyyppiä (kuten RSA tai ECDSA). Työkalu tunnistaa tämän arkkitehtuurieron ja antaa TLS 1.3 -sarjoille huomautuksen: "TLS 1.3 neuvottelee avainten vaihdon ja todennuksen erikseen salauspaketista.". Tämän vuoksi pelkän salauspaketin nimen tarkastelu ei riitä kattamaan koko kättelyprosessin turvallisuusarviointia TLS 1.3 -yhteyksissä.
Eteenpäinsalaisuuden merkitys
Eteenpäinsalaisuus on tärkeä osa TLS-yhteyden suojausta. Jos salauspaketti käyttää staattista RSA-avaintenvaihtoa, eteenpäinsalaisuutta ei saavuteta. Työkalu tunnistaa tämän puutteen ja näyttää havainnon: "Staattinen RSA-avainten vaihto ei tarjoa eteenpäinsalaisuutta.".
Työkalun toimintaperiaate ja rajoitukset
Tämä työkalu on passiivinen tekstianalyysityökalu, mikä tarkoittaa, että se selittää vain sille toimitetun tekstin. Se ei suorita aktiivista verkkoliikennettä tai muodosta yhteyttä mihinkään palvelimeen.
Analyysin rajat ja virhetilanteet
- Syötteen pituus: Syötettävän tekstin on oltava alle 200 000 merkkiä. Jos raja ylittyy, työkalu näyttää virheilmoituksen: "Yhteenveto on epätavallisen suuri. Pidä se alle 200 000 merkin pituisena.".
- Tyhjä syöte: Jos analyysi käynnistetään ilman tekstiä, näytetään virheilmoitus: "Liitä ensin TLS-skannaus tai kättelyn yhteenveto.".
- Tunnistamaton teksti: Jos syötteestä ei tunnisteta yhtäkään TLS-versiota tai salauspakettia, työkalu antaa virheilmoituksen: "TLS-versiota tai salauspakettia ei tunnistettu. Liitä luettavat skanneri- tai kättelykentät.".
- Ei raakadataa: Työkalu ei pura raakoja binaaripaketteja tai PCAP-tiedostoja. Syötteen on oltava tekstimuotoista luettavaa skanneritulostetta tai kättelykenttiä.
Koska kyseessä on staattinen analyysi, työkalu ei voi varmistaa palvelimen todellista käyttäytymistä, tarkistaa varmenteiden voimassaoloa, mitata avainten todellista pituutta tai testata downgrade-hyökkäysten sietokykyä.
Tietosuoja ja tietojen käsittely
Kaikki työkalun suorittama analyysi tapahtuu paikallisesti käyttäjän verkkoselaimessa. Liittämäsi TLS-tietosi pysyvät selaimessasi. Tietoja ei lähetetä ulkoisille palvelimille, eikä niitä tallenneta.
Usein kysytyt kysymykset
Mitä TLS-tulostusmuotoja voin liittää?
Liitä tekstiä yleisistä TLS-skannereista, openssl s_client-skannereista, pakettianalyysitiivistelmistä tai lyhyestä ClientHello- tai ServerHello-muistiinpanosta. Tarkistin tunnistaa yleiset IANA-nimet, OpenSSL-aliakset ja useat yleiset heksadesimaalisarjan tunnukset; se ei pura raakapakettitavuja.
Miksi TLS 1.3-salauspaketti ei näytä RSA- tai ECDHE-koodia?
TLS 1.3-salauspaketin nimet kuvaavat tietueen salausta ja kättelyn tiivistettä. Avainten vaihto ja todennus neuvotellaan erikseen, joten niitä ei voida päätellä pelkän sarjan nimen perusteella.
Todistaako tämä tulos, että palvelin on turvallinen?
Ei. Se selittää vain liittämäsi tekstin. Se ei muodosta yhteyttä isäntään, tarkista varmennetta, mittaa avainten kokoa, testaa alemman tason toimintaa tai näytä kaikkia palvelimen hyväksymiä paketteja.
Mikä on SCSV ja miksi se näkyy tuloksissa?
SCSV (Signaling Cipher Suite Value) on merkinantoarvo, ei varsinainen salausohjelmisto. Se näkyy skannauksissa protokollan turvallisuussyistä (esimerkiksi estämässä tahattomia protokollan alennuksia eli downgrade-hyökkäyksiä) eikä se sisällä omaa salausta.