Bash-komentotulkin Shellshock-haavoittuvuus mahdollistaa laajan hyväksikäytön

Bash-komentotulkki on Linux/Unix-järjestelmissä käytetty, käyttöjärjestelmän ohjaamiseen tarkoitettu ohjelmisto, joka ottaa vastaan ja suorittaa tekstipohjaisia komentoja. Se on ollut osa Linux/Unix-järjestelmiä jo vuosikymmeniä. Myös Unixiin pohjautuva Apple OS X-käyttöjärjestelmä sisältää Bash-komentotulkin. Viestintäviraston Kyberturvallisuuskeskus suosittelee kaikkia Bash-komentotulkin sisältävien laitteiden ylläpitäjiä ja käyttäjiä päivittämään ohjelmiston viimeisimpään versioon.

Haavoittuvuuden hyväksikäyttö voi mahdollistaa palvelimen tai käyttöjärjestelmän täydellisen haltuunoton etäyhteydellä. Haavoittuvuuden aktiivista hyväksikäyttöä on jo havaittu maailmalla ja Suomessa.

Varoituksen kohderyhmä

  • Palvelinten ylläpitäjät
  • Loppukäyttäjät

Mitä koskee

  • Käyttöjärjestelmät, joissa on Bash-komentotulkki, mm.
  • Linux / Unix
  • OS X
  • Osa verkon aktiivilaitteista, joissa sulautettu Linux-käyttöjärjestelmä
  • IBM z/OS-keskustietokonejärjestelmät
  • Windows-järjestelmät, joissa ajetaan Cygwin-rajapintaa.

Mahdolliset vaikutukset

  • Hyökkääjän on mahdollista suorittaa haluamiaan komentoja palvelimella verkon kautta lähetettävillä komentokäskyillä palvelinohjelmiston käyttövaltuuksilla
  • Mahdollistaa takaovien ja haittaohjelmien asentamisen palvelimelle
  • Mahdollistaa luottamuksellisten tietojen vuotamisen
  • Seurauksena palvelin tai käyttöjärjestelmä on mahdollista ottaa osittain tai täysin haltuun

Palvelimen tai käyttöjärjestelmän täydellisen hallinnan kautta voidaan esimerkiksi:

  • Valjastaa palvelin osaksi haitallista toimintaa
  • Palvelimen tietoihin voidaan murtautua
  • Palvelimen resursseja voidaan hyödyntää mm. palvelunestohyökkäykseen
  • Palvelimen tietoja voidaan tuhota

Hyväksikäyttöhavainnot

  • Haavoittuvuuteen on julkisesti saatavilla hyväksikäyttömenetelmä (esimerkkikomentoja)
  • HAVARO:ssa on havaittu haavoittuvien palvelimien skannaamista

Ratkaisu- ja rajoitusmahdollisuudet

  • Päivitä Bash-komentotulkki viimeisimpään versioon valmistajan ohjeiden mukaisesti

Lisätietoa

Haavoittuvuus on Bash-komentotulkin vanhassa versiossa ja se on ollut olemassa arvioiden mukaan noin 25 vuotta. Kaikki nykykäytössä olevat Bash-komentotulkkia käyttävät alustat ovat mahdollisesti haavoittuvia, viimeisintä päivitettyä versiota lukuun ottamatta. Haavoittuvuus liittyy Bash-komentotulkin tapaan käsitellä ympäristömuuttujia, joka mahdollistaa tietyllä tavalla muotoillun muuttujan sisältämien komentojen ajamisen hyväksikäytettävän palvelun käyttövaltuuksilla. Hyväksikäytölle alttiita palveluita voivat olla mm. www-palvelut, joissa on dynaamista sisältöä käsittelevää ohjelmakoodia.

Bash-komentotulkin viimeisin versio suojaa nyt havaituilta hyväksikäyttömenetelmältä, joten käyttäjiä ja ylläpitäjiä kehotetaan välittömästi päivittämään komentotulkin tuoreimpaan ohjelmistoversioon. Haavoittuvuuteen (tunniste CVE-2014-6271) on 25.9.2014 julkaistu ensimmäinen korjaus, joka korjauksen lisäksi luo uuden haavoittuvuuden (tunniste CVE-2014-7169). 26.9.2014 julkaistu korjaus korjaa sekä alkuperäisen haavoittuvuuden että väliaikaisen korjauksen luoman uuden haavoittuvuuden.

Työasemakäyttäjiä tämän tyyppisiltä haavoittuvuuksilta suojaa usein se, että työasemassa ei ole julkiseen verkkoon näkyviä, verkkoa kuuntelevia palveluita, jotka mahdollistaisivat haitallisen sisällön syöttämisen työaseman komentotulkille. Haavoittuvuus saattaa kuitenkin koskea myös joitakin sellaisia työasemissa ajettavia asiakasohjelmistoja, jotka mahdollistavat Bash-ympäristömuuttujien asettamisen verkosta tulevan syötteen perusteella. Tästä syystä korjaava päivitys on syytä asentaa viipymättä myös työasemiin.

Haavoittuvuuden CVE-2014-6271 todentaminen

Järjestelmän ylläpitäjä voi todentaa haavoittuvuuden järjestelmässään ajamalla komentotulkissa seuraavan komennon:

x='() { :;}; echo HAAVOITTUVA' bash -c :

Mikäli komento palauttaa tekstin HAAVOITTUVA, on järjestelmässä haavoittuvuus.

Mikäli komento ei palauta mitään, tai palauttaa vastineen

bash: warning: x: ignoring function definition attempt

bash: error importing function definition for `x'

Ei järjestelmä ole haavoittuva.

Haavoittuvuuden CVE-2014-7169 todentaminen

Järjestelmän ylläpitäjä voi todentaa haavoittuvuuden järjestelmässään ajamalla komentotulkissa seuraavan komennon:

cd /tmp; rm -f /tmp/echo; env 'x=() { (a)=>\' bash -c "echo date"; cat /tmp/echo

Mikäli komento palauttaa vastineen, jonka lopussa on komennon suoritusajanhetki, kuten esimerkiksi La 27 Syy 2014 20:15:37 EEST, on järjestelmässä haavoittuvuus. Huom! Komento luo tai ylikirjoittaa tiedoston nimeltä echo kansioon /tmp/.

Mikäli komento palauttaa vastineessa rivin date, ei järjestelmä ole haavoittuva.

Lisätietoja tapauksesta saa ottamalla yhteyttä osoitteeseen cert@ficora.fi.

Lisätietoa haavoittuvuudesta


Päivityshistoria

Asiasanat: Internet , Tietoturva , Bottiverkko , CERT , Haittaohjelma , NCSC-FI , Palvelunestohyökkäys , Tietomurto , Verkkolaite , Varoitukset


Liitteet:

LinkedIn Print

Yhteystiedot

logo

Viestintävirasto

Kyberturvallisuuskeskus

PL 313, 00181 Helsinki


Mediayhteydenotot puhelimitse 0295 390 248