Takaoven avulla palvelintasi käyttää joku muu

Takaovet ovat ohjelmakoodia, joita kyberrikolliset ujuttavat www-palvelimille voidakseen etähallita niitä. Käytännössä takaovia piilotetaan palvelimille aina sivustomurtojen yhteydessä. Niiden tarkoituksena voi olla muun muassa arkaluontoisen tiedon hankkiminen tai bottiverkkojen ohjaaminen.

Kyberrikollinen hallitsee palvelinta takaoven kautta

Takaovet (backdoors, web shells) ovat piilotettua ohjelmakoodia, jotka lisätään www-palvelimelle laitonta etähallintaa varten. Toteutuskielenä voi olla mikä tahansa palvelimen tukema ohjelmointi- tai skriptauskieli. Tyypillisiä toteutuskieliä ovat PHP, ASP, Perl, Ruby, Python ja Unix-komentojonot.

Sivustoille murtautumisen yhteydessä hyökkääjä lisää takaoven, jotta hän pääsee lisäämään tai muokkaamaan haittakoodia tai ohjaamaan muita koneita etänä. Suomessa murrettuja sivustoja on viimeisen puolen vuoden aikana esiintynyt erityisesti Angler Exploit Kit -hyökkäysohjelmiston yhteydessä. Myös muuhun verkkorikollisuuteen liittyviä tietomurtoja ja takaovia on havaittu.

Takaoven avulla hyökkääjä voi ladata tietoja palvelimelta, suorittaa komentoja ja käyttää muita haavoittuvuuksia laajentaakseen käyttöoikeuksiaan palvelimella.

Tarkoituksena voi olla muun muassa käyttäjätunnusten ja muun arkaluontoisen tiedon hankkiminen, bottiverkon ohjaaminen tai liikenteen välittäminen sellaisille sisäverkon koneille, joilla ei ole suoraa internetyhteyttä. Takaoven avulla hyökkääjä voi myös ladata uusia haittaohjelmia palvelimelle luodakseen watering hole -sivuston kohdistettuja hyökkäyksiä varten.

Kohteena ovat päivittämättömät palvelimet

Takaovi asennetaan hyödyntämällä korjaamattomia haavoittuvuuksia web-sovelluksissa tai julkaisujärjestelmissä. Muun muassa lomakkeiden tai HTTP-parametrien puutteellisen syötteentarkistusten avulla palvelimella voidaan suorittaa koodia esimerkiksi SQL-injektiohyökkäyksillä tai hyödyntämällä Cross Site Scripting -haavoittuvuuksia. Myös huonosti suojattujen tiedostojen latausominaisuuden avulla palvelimelle voidaan ladata hyökkääjän koodia.

Myös heikkojen salasanojen tai vahingossa verkosta luettavien ja ylläpitotunnuksia sisältävien tiedostojen vuoksi palvelimelle voi päästä luvatta. Sivuston ylläpitäjä voi omilla toimillaan vaikuttaa siihen, hyödynnetäänkö hänen sivustoaan verkkorikollisuuteen.

10 ohjetta tietomurroilta ja takaovilta suojautumiseen

Tietomurroilta ja takaovilta voi suojautua seuraavilla keinoilla:

  1. Päivitä palvelinsovellukset ja käyttöjärjestelmä säännöllisesti, mahdollisuuksien mukaan automaattisesti.
  2. Poista ylimääräiset palvelinprosessit ja sovellukset käyttöjärjestelmästä (= käyttöjärjestelmän koventaminen).
  3. Poista julkaisujärjestelmästä ylimääräiset liitännäiset
    (= julkaisujärjestelmän koventaminen).
  4. Rajaa käyttöjärjestelmän ja palvelinsovellusten tiedostojen lukuoikeudet, ettei ylläpitäjätunnuksia tai salasanoja paljastu ulkopuolisille.
  5. Käytä vahvoja salasanoja. Tarkista, että järjestelmän salasanat tallennetaan turvallisesti tiivisteinä ja suolattuina.
  6. Tarkista käyttäjän antama syöte www-sivuilla mm. lomakkeissa ja tiedostoja palvelimelle ladattaessa.
  7. Rajaa pääsyä www-palvelimelta eteenpäin muualle verkkoon esimerkiksi DMZ:lla tai muulla verkon segmentoinnilla.
  8. Palomuuri kannattaa olla sekä palvelimella että verkon reunalla.
  9. Testaa verkkosivujasi penetraatiotestaustyökaluilla ja fuzzereilla.
  10. Lokita palvelimeen kohdistuva liikenne (access log) ja varmista, että lokitiedot säilyvät riittävän kauan.
Ylläpitäjille on tarkempia tietoja esimerkiksi ohjeessa Verkkopalvelun ohjelmistoalustan valinta ja palvelun turvallinen ylläpito.

Näin etsit takaovia palvelimeltasi

HUOM! Jos löydät takaovia palvelimeltasi, ota yhteyttä Kyberturvallisuuskeskukseen ja tee rikosilmoitus poliisille. Ota tiedostoista ja lokeista varmuuskopiot, sillä niistä on hyötyä tapauksen tutkinnassa. Poista takaovet palvelimeltasi.


Tietomurron ja takaovien tuntomerkkejä voi etsiä palvelimen tiedostoista sekä lokeista seuraavilla tavoilla:

  • Erikoisen nimiset tiedostot www-rootissa, public_html-hakemistossa tai näiden alihakemistoissa.
  • Tiedostot, joiden aikaleimat poikkeavat muista tiedostoista.
  • Tietyt avainsanat tiedostojen sisällössä, jotka voivat viitata obfuskoituun koodiin tai järjestelmäkomentoihin.
  • Poikkeava määrä liikennettä sivustolle.
  • Poikkeuksellisia merkintöjä palvelinlokissa tai IDS:n lokeissa, esimerkiksi
    • tiedostoja, joita haetaan vain tietyllä User Agentilla tai erikoisilla parametreilla
    • kirjautumisia poikkeuksellisista sijainneista
    • pyyntöjä, joiden osana on tiedostojärjestelmän polku tai komento.

Tässä apua etsintään:

  • Etsi takaoviin liittyviä avainsanoja (kuten eval, base64_decode, shell_exec, preg_match) palvelimeltasi esimerkiksi Linuxin grep-työkalulla. Vinkkejä etsintään on muun muassa sivulla Finding Vulnerabilities & Backdoor PHP Shell Script on a Server .
  • Etsi tekstipohjaisia tiedostoja, joiden entropia on korkea (yli 5,5) esimerkiksi Linuxin entropy-työkalulla. Korkea entropia www-palvelimen tekstitiedostoissa (.php, .sh, .asp, .py, jne) viittaa obfuskoituun koodiin.
    • Huomioi, että osa hyväntahtoisiin tarkoituksiin käytetyistä skripteistä on voitu tarkoituksella tiivistää (ns. minifioida), jolloin niiden entropia on korkea. Tällaiset skriptit on usein nimetty päätteellä .min.js.
  • Edellä mainituissa etsinnöissä NeoPI-työkalu (Linux ja Windows). NeoPI on ladattavissa githubista ja sen käytöstä on ohje Infosec Instituten sivuilla.

Lisätietoa:

Asiasanat: Tietoturva , Kyberturvallisuus , Tietomurto , Tietoturva nyt!

LinkedIn Print

Yhteystiedot

logo

Viestintävirasto

Kyberturvallisuuskeskus

PL 313, 00561 Helsinki


Mediayhteydenotot puhelimitse 0295 390 248