CERT-FI haavoittuvuustiedote 140/2008
17.11.2008
Haavoittuvuus SSH-protokollassa
| |
|
|
| Kohde: |
- palvelimet ja palvelinsovellukset
- työasemat ja loppukäyttäjäsovellukset
- verkon aktiivilaitteet
|
Lisätietoja |
| Hyökkäystapa: |
- etäkäyttö
|
Lisätietoja |
| Hyväksikäyttö: |
- luottamuksellisen tiedon hankkiminen
|
Lisätietoja |
| Ratkaisu: |
- korjaava ohjelmistopäivitys
- ongelman rajoittaminen
|
Lisätietoja |
SSH, eli Secure Shell, on protokolla jonka avulla käyttäjät voivat muodostaa turvallisen, salatun yhteyden internetin yli. Sen avulla voidaan esimerkiksi suorittaa komentoja etäjärjestelmässä ja siirtää tiedostoja tietokoneelta tai palvelimelta toiselle. Protokollaa tukevia palvelin- ja asiakassovelluksia, eli server ja client -sovelluksia, on saatavilla useimmille käyttöjärjestelmille. SSH on korvannut käytännössä telnetin ja ftp:n jotka lähettävät muun muassa kirjautumistiedot eli tunnuksen ja salasanan selkokielisenä.
SSH-protokollasta on löytynyt suunnitteluvirheestä johtuva protokollatason haavoittuvuus. Protokolla määrittelee paketin pituuden 32-bittiä pitkässä kentässä. Kenttää käytetään määrittelemään kuinka paljon tietoa pakettia kohden odotetaan, joten kentän sisältämän tiedon salaus pitää purkaa ennenkuin loput paketista on vastaanotettu ja viestin eheyden tarkistuksessa käytettävä MAC-koodi (Message authentication code) voidaan tarkistaa.
Syöttämällä kohteelle lohkollinen salattua tietoa SSH-paketin ensimmäisenä osana, hyökkääjä voi saada SSH-palvelimen kohtelemaan tuloksena saatavaa selkokielistä tekstiä uuden paketin ensimmäisenä osana. Hyökkääjä voi sen jälkeen syöttää SSH-yhteyteen satunnaisia lohkoja salattua tietoa ja päätellä kuinka paljon tietoa tarvitsee lähettää ennenkuin palvelin päättelee koko paketin vastaanotetuksi ja lopettaa vastaanottamisen tuottamalla MAC-virheen. Virheilmoituksen laukaisemiseen tarvittava määrä tietoa paljastaa tällöin 32-bittisen paketin pituus -kentän sisällön. Lohkosalaimissa käytettyjen Cipher block-chaining (CBC) -tilan ominaisuuksien vuoksi tämän 32-bittisen kentän arvo paljastaa myös saman mittaisen osan lähetetystä paketista selkokielisenä. Lohkoja tarvitsee kuitenkin lähettää SSH-yhteyteen palvelimen toteutuksesta riippuen huomattavia määriä ennenkuin MAC-tarkistus käynnistyy.
HAAVOITTUVAT OHJELMISTOT:
- OpenSSH 4.7p1 sekä muut SSH-protokollaa käyttävät ohjelmistot
- SSH Tectia Client ja Server ja ConnectSecure 6.0.4 ja vanhemmat 6.x sarjassa
- SSH Tectia Client ja Server ja Connector 5.3.8 ja vanhemmat 5.3.x sarjassa
- SSH Tectia Client ja Server ja Connector 5.2.4 ja vanhemmat 5.x sarjassa
- SSH Tectia Client ja Server ja Connector 4.4.11 ja vanhemmat 4.x sarjassa
- SSH Tectia Server for Linux on IBM System z 6.0.4
- SSH Tectia Server for IBM z/OS 6.0.1 ja 6.0.0
- SSH Tectia Server for IBM z/OS 5.5.1 ja vanhemmat
- SSH Tectia Client 4.3.3-J (Japani) ja vanhemmat 4.x-J sarjassa
- SSH Tectia Client 4.3.10-K (Korea) ja vanhemmat 4.x-K sarjassa
RATKAISU- JA RAJOITUSMAHDOLLISUUDET:
Ongelman voi poistaa käyttämällä haluttua lohkosalainta CBC-tilan sijaan CTR-tilassa. Esimerkiksi OpenSSH-palvelimessa on toteutettu AES-salaus CTR-tilassa. Halutun algoritmin ja tilan käytön voi helpoiten varmistaa rajoittamalla tarjolla olevaa salausalgoritmien valikoimaa salauksen kättelyvaiheessa.
SSH Communication Securityn tuotteiden ja OpenSSH:n korjatuissa versioissa voidaan turvallisesti käyttää CBC-moodia.
LISÄTIETOA:
PÄIVITYSHISTORIA:
17.11.2008, kello 16.34: Julkaistu
18.11.2008, kello 17.30: Päivitetty SSH Communications Securityn tuotteiden osalta
18.3.2009, kello 17.16: Päivitetty OpenSSH:n osalta
| Sivua päivitetty 19.03.2009 |
|
 |
Tulostusversio |
|