Et halua ei-toivotun vierailijan kulkevan palvelimesi tiedostojärjestelmän läpi, mutta hyökkääjät ovat löytäneet tavan tehdä tämä. Mitä voit tehdä?
Kun käyttäjät vierailevat verkkosivustollasi, he luottavat siihen, että heidän tietonsa ovat turvassa ja että he ja muut käyttäjät eivät pääse käsiksi tiedostoihin tai kansioihin, joita heillä ei ole valtuuksia nähdä. Jos verkkosivustosi on kuitenkin alttiina hakemistojen läpikäynnille, hyökkääjät voivat hyödyntää tätä heikkoutta siirtyäkseen hakemistosta toiseen ja tarkastellakseen arkaluonteisia tiedostoja, joita pitäisi rajoittaa.
Nämä hyökkäykset hyödyntävät verkkosivustosi tiedostojärjestelmän haavoittuvuutta ja voivat paljastaa tärkeitä tietoja, mikä johtaa vakaviin tietoturvariskeihin. Tässä artikkelissa tutkimme, mitä hakemistojen läpikulkuhyökkäykset ovat, miksi ne ovat niin vaarallisia ja kuinka voit suojata verkkosivustoasi niiltä.
Mikä on hakemiston läpikäynti?
Hakemiston läpikulku tunnetaan myös polun läpikulkuna tai hakemistokiipeilynä. Se on haavoittuvuus verkkosivustoissa, joissa hyökkääjä voi käyttää tai lukea tiedostoja verkkopalvelimen juurihakemiston ulkopuolella, jossa sovellusta käytetään, manipuloimalla verkkosovelluksen syötettä.
Kun hakemiston läpikulkuhyökkäys suoritetaan, hyökkääjät voivat lukea ja joskus jopa tehdä muutoksia rajoitettuihin tiedostoihin ja hakemistoihin verkkosovelluspalvelimella. He saattavat päästä käsiksi palvelimella oleviin luottamuksellisiin tiedostoihin, kuten tietokannan määritystiedostoihin, lähdekooditiedostoihin, salasanatiedostoihin ja lokitiedostoihin.
Hakemisto Traversal ja CIA Triad
Hakemiston läpikulku vaarantaa kaikki kolme osa-aluetta mitä kutsutaan CIA-kolmioksi. CIA-kolmio, joka on laajalti tunnustettu tietoturvamalli, tarkoittaa Confidentiality, Integrity ja Availability.
Luottamuksellisuus
Hakemiston läpikulkuhyökkäykset rikkovat luottamuksellisuutta, koska rajoitetut ja arkaluontoiset tiedostot, jotka sisältävät tietoja järjestelmästä ja muista käyttäjistä, tulevat hyökkääjän ulottuville. Kaikki tiedot, jotka eivät kuulu käyttäjälle, on pidettävä salassa, eivätkä ne saa olla luvattomien henkilöiden saatavilla. Esimerkiksi hyökkääjä, joka pääsee käsiksi käyttäjien tietokantaan ja heidän henkilökohtaisiin tunnistetietoihinsa (PII), rikkoo järjestelmän ja käyttäjän tietojen luottamuksellisuutta.
Rehellisyys
On tärkeää huomata, että hakemiston läpikäynti ei välttämättä rajoitu vain siihen, että kyberhyökkääjät voivat lukea ja käyttää verkkopalvelimesi tiedostoja. Jos palvelimesi tiedostojärjestelmän käyttöoikeuksia ei ole määritetty oikein, hakkeri saattaa pystyä muokkaamaan niitä tai poista tärkeitä tiedostoja tai hakemistoja palvelimelta, mikä vaarantaa siinä olevien tietojen eheyden palvelin. Hyökkääjä voi esimerkiksi pystyä muokkaamaan asetustiedostoa myöntääkseen itselleen järjestelmänvalvojan käyttöoikeudet palvelimeen tai poistaakseen järjestelmätiedostoja.
Saatavuus
Hyökkääjä voi käyttää hakemiston läpikulkuhyökkäystä monin tavoin vaarantaakseen palvelimesi saatavuuden. Yksi esimerkki on kriittisten tiedostojen poistaminen palvelimelta, mikä häiritsee palvelimen toimintaa tai aiheuttaa sen, että verkkosovellus lakkaa vastaamasta. Toinen esimerkki on, että hyökkääjä lisää oikeuksia ja ylikuormittaa palvelimen pyynnöillä, jotka aiheuttavat sen kaatumisen.
Miten hakemiston läpikulkuhyökkäys toimii?
Hakemiston läpikulkuhyökkäys voi tapahtua eri tavoin. Kun hyökkääjät epäilevät, että verkkosivusto on alttiina hakemistojen läpikäyntihyökkäyksille, he alkavat laatia haitallisia pyyntöjä lähettääkseen kyseiselle verkkosovellukselle.
Jotkut verkkosivustot näyttävät tiedostoja URL-parametrin kautta. Otetaan esimerkiksi tämä verkkosivuston URL-osoite: https://www.website.com/download_file.php? tiedostonimi=tiedosto.pdf. Tämä tarkoittaa, että verkkosovellus kutsuu "file.pdf"-tiedostoa palvelimelta käyttämällä suhteellista URL-polkua. Tässä tapauksessa sovellus lukee polulta: www/var/documents/file.pdf.
Yksinkertainen esimerkki hakemiston läpikulkuhyökkäyksestä on dotdotslash-hakemiston läpikulkuhyökkäys. UNIX- ja Windows-järjestelmissä ../ symboleja käytetään palaamaan yhden hakemiston taaksepäin. Hyökkääjä voi korvata asiakirjan nimen nimellä ../../../../../etc/passwd. URL-osoite näyttää sitten tältä: https://www.website.com/download_file.php? tiedostonimi=../../../../../etc/passwd
Hyökkääjä voi käyttää tätä hyötykuormaa verkkosovelluksessa kulkeakseen useita hakemistoja taaksepäin yrittääkseen noutaa /etc/passwd-tiedoston palvelimen tiedostojärjestelmästä.
Unix-pohjaisissa järjestelmissä /etc/passwd-tiedosto on pelkkä tekstitiedosto, joka sisältää tietoja järjestelmän paikalliset käyttäjätilit, kuten käyttäjänimet, käyttäjätunnukset, kotihakemistot ja komentotulkki mieltymykset. Tämän tiedoston käyttö voi olla hyödyllistä hyökkääjille, koska se voi tarjota tietoja mahdollisista käyttäjätileistä ja järjestelmän haavoittuvuuksista.
Muita hakemiston läpikulkuhyökkäysten muotoja ovat URL-koodaus, kaksoiskoodaus ja nollatavuhyökkäykset.
Miksi hakemiston läpikulkuhyökkäykset ovat niin vaarallisia?
Hakemiston läpikulkuhyökkäyksiä pidetään erittäin vaarallisina, koska ne eivät juuri koskaan ole itsenäisiä hyökkäyksiä. Hakemiston läpikulun haavoittuvuus voi hyödynnettynä johtaa useisiin muihin haavoittuvuuksiin. Joitakin näistä haavoittuvuuksista ovat:
Tietojen paljastaminen
Tietojen paljastaminen tapahtuu, kun hyökkääjä pääsee käsiksi arkaluontoisiin tietoihin, joita hänellä ei ole valtuuksia nähdä. Hakemiston läpikäyntihyökkäykset voivat johtaa tietojen paljastamisen haavoittuvuuksiin, koska niiden avulla hyökkääjät voivat käyttää tiedostoja ja hakemistoja verkkosovelluksen aiotun laajuuden ulkopuolella. Käyttämällä hakemiston läpikulkuhyötykuormia ja haitallisia pyyntöjä hyökkääjät voivat kiivetä hakemistohierarkiaa ylöspäin päästäkseen mahdollisesti käsiksi palvelimen arkaluonteisiin tiedostoihin ja hakemistoihin. Tätä haavoittuvuutta voidaan hyödyntää arkaluontoisten tietojen, kuten salasanojen tai käyttäjätietojen, poimimiseen.
Paikallinen tiedostojen sisällyttäminen
Hakemiston läpikulku voi myös johtaa paikallisiin tiedostojen sisällyttämiseen (LFI) hyökkäyksiin. LFI on verkkosovellusten haavoittuvuus, jonka avulla hyökkääjä voi sisällyttää ja suorittaa tiedostoja, jotka on tallennettu samalle palvelimelle kuin verkkosovellus LFI: ssä. hyökkääjä voi käyttää verkkosovelluksen syöttöparametreja määrittääkseen paikallisen tiedostopolun, jonka verkkosovellus sitten sisällyttää ilman asianmukaista validointi. Näin hyökkääjä voi suorittaa mielivaltaisen koodin, tarkastella arkaluonteisia tietoja tai manipuloida sovelluksen toimintaa.
Kuinka voit estää hakemiston läpikulkuhyökkäyksen?
Ensinnäkin tarkista käyttäjän syöte ennen sen käsittelemistä varmistaaksesi, että se sisältää vain odotetut merkit eikä erikoismerkkejä tai polkuerottimia. Toinen suositus on käyttää suodattimia ja sallittujen luetteloon lisättyjä arvoja vertaillaksesi käyttäjän syötteitä ja estääksesi epäilyttävät arvot. Mutta kokenut hakkeri voi kiertää kaikki nämä menetelmät.
Paras tapa estää hakemiston läpikäyntihyökkäyksiä on välttää käyttäjien antamasta syötettä tiedostojärjestelmään kokonaan.
Suhtaudu ennakoivasti turvallisuuteen
Kyberekosysteemissä on paljon haavoittuvuuksia. Suojataksesi omaisuutesi haavoittuvuuksilta sinun tulee suorittaa säännöllisesti turvallisuusarviointeja ja penetraatiotestaus mahdollisten heikkouksien tunnistamiseksi ja niiden korjaamiseksi, ennen kuin ne voivat hyödyntää niitä hyökkääjät.
Pysy myös ajan tasalla ohjelmistojen ja järjestelmien uusimmista tietoturvakorjauksista ja -päivityksistä, sillä monet haavoittuvuudet voidaan korjata näillä päivityksillä. Ottamalla ennakoivan lähestymistavan kyberturvallisuuteen voit auttaa varmistamaan, että organisaatiosi omaisuus on suojattu haavoittuvuuksilta ja suojassa kyberuhkilta.