Ohje Shellshock-haavoittuvuuden testaamiseen Ubuntu-käyttöjärjestelmillä

Oheinen ohje kuvaa miten käyttäjä voi testata onko oma Ubuntu-käyttöjärjestelmä haavoittuva ns. Shellshock-haavoittuvuudelle.

Keskiviikkona löydetty Bash-komentotulkkia koskeva haavoittuvuus on yleisesti tunnettu nimellä Shellshock. Haavoittuvuus mahdollistaa pahimmillaan mielivaltaisten komentojen ajamisen kohdetietokoneessa. Haavoittuvuudelta voi suojautua joko eristämällä haavoittuvat järjestelmät muusta internetistä esimerkiksi palomuurin avulla, tai päivittämällä Bash-komentotulkin sen uusimpaan versioon.

Alla on kuvalliset ohjeet, joiden avulla voi tarkistaa onko oma Ubuntu-käyttöjärjestelmä altis haavoittuvuudelle. Windows käyttäjiä haavoittuvuus ei koske, ellei käytä ns. CYGWIN-ympäristöä, jonka avulla Windowsiin saa Unixin kaltaisia toiminnallisuuksia. Kaikki Mac OS X -käyttöjärjestelmät ovat haavoittuvia, mutta tavallisesti niissä ei ole verkkoon avoimia palveluita, joita hyödyntämällä haavoittuvuutta voisi hyväksikäyttää.

Komentokehoitteen avaaminen Ubuntu-käyttöjärjestelmässä

Haavoittuvuuden voi testata Ubuntu-käyttöjärjestelmässä, ja muissakin Linux- ja Unix -pohjaisissa järjestelmissä, komentokehoitteen avulla. Käyttäjän tulee syöttää komentokehoitteeseen tietyllä tavalla muotoiltu komentorivi, joka testaa onko Bash-komentotulkki altis haavoittuvuudelle.

Komentokehoite avataan eri Ubuntu-versioissa hieman eri tavoilla. Alla on lueteltu yleisimpiä keinoja komentokehoitteen avaamiseen.

Tapa 1: CTRL+ALT+T

Paina CTRL ja ALT -näppäimet pohjaan samanaikaisesti ja paina vielä lisäksi T kirjainta. Yleensä tämä pikakomento avaa komentokehoitteen, mutta tietyissä Ubuntu-versioissa se on estetty.

Tapa 2: Ubuntu Classic -ikkunointiympäristö

Komentokehoite avataan kuvaruudun vasemman yläreunan sovellusvalikon avulla.

Englanninkielinen Ubuntu: Applications -> Accessories -> Terminal.

Suomenkielinen Ubuntu: Sovellukset -> Apuohjelmat -> Pääte.

Kuva 1: Komentokehoitteen avaaminen Ubuntu Classic -ympäristössä

 

Tapa 3: GNOME Shell -ikkunointiympäristö

Komentokehoite avataan kuvaruudun vasemman yläreunan "Activities"-valikon avulla

Englanninkielinen Ubuntu: Activities -> Applications -> Accessories -> Terminal.

 

 

Kuva 2: Komentokehoitteen avaaminen GNOME Shell -ympäristössä

 

Tapa 4: Ubuntu Unity -ikkunointiympäristö

Komentokehoite avataan klikkaamalla kuvaruudun vasemmasta yläreunasta "Ubuntu" -nappia, ja kirjoita avautuvaan valikkoon "terminal" Ubuntun englanninkielisessä versiossa tai "pääte" suomenkielisessä versiossa.

 

 

Kuva 3: Komentokehoiteen avaaminen Unity-valikon avulla

 

Haavoittuvuuden testaaminen

Shellshock-haavoittuvuudella tarkoitetaan itseasiassa useita eri haavoittuvuuksia. Alla on ohjeet, joiden avulla kaksi ensimmäisenä löydettyä haavoittuvuutta voi testata.

 

Haavoittuvuus 1 (CVE-2014-6271):

Kirjoita komentokehoitteeseen alla oleva rivi ja paina enter.

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.

Kuva 4: Kuvaruutukaappaus haavoittuvan järjestelmän komentokehoitteesta

 

Haavoittuvuus 2 (CVE-2014-7169):

Kirjoita komentokehoitteeseen

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. Ennen päivämäärää saattaa komentokehoitteeseen tulostua erilaisia herjauksia. Olennaista on, tulostuuko herjausten jälkeen päivämäärä komentokehoitteeseen.

Huomaa, että komento luo tai ylikirjoittaa tiedoston nimeltä echo kansioon /tmp/.

Kuva 5: Kuvaruutukaappaus haavoittuvan järjestelmän komentokehoitteesta. (Kuvakaappauksessa näkyvän järjestelmän päivämäärä on väärä johtuen testiympäristöstä.)

Päivittäminen

Tarvittaessa Bash-komentotulkki kannattaa päivittää komentokehoiteen kautta seuraavilla komennoilla

sudo apt-get update
sudo apt-get upgrade bash

Päivityksen jälkeen kannattaa testata, että Bash-komentotulkki on varmasti päivittynyt ylläolevien ohjeiden mukaisesti.

 

Lisätietoja aiheesta:

Varoitus 02/2014

Haavoittuvuus 106/2014

 

Päivityshistoria

  • 29.09.2014 klo 15:47
    Julkaistu

Jos tulee ongelmia yllä olevan kanssa, autamme mielellämme. Terveisin Valvonta