Haavoittuvuuksia PDF-lukijoiden varmenteiden tulkinnassa | Traficom

Haavoittuvuuksia PDF-lukijoiden varmenteiden tulkinnassa

25. helmikuuta 2019 klo 10.20

Useiden eri valmistajien PDF-lukijoiden varmenteiden tulkinnassa on ilmennyt haavoittuvuuksia. Haavoittuvuudet mahdollistavat digitaalisesti allekirjoitetun PDF-tiedoston sisällön muokkaamisen ilman, että sovellus varoittaa asiasta. Haavoittuvuuksia on paikattu päivityksin, mutta kaikista sovelluksista ei löydy kattavaa suojaa hyökkäystapoja vastaan.

PDF-tiedosto voidaan allekirjoittaa digitaalisesti tekijänsä toimesta, jotta dokumentin vastaanottaja voi todentaa tiedon tulevan muokkaamattomana oikeasta ja aidosta lähteestä. Tutkijaryhmä löysi kolme eri haavoittuvuutta PDF-tiedostojen varmenteiden käsittelyssä käyttäjäsovelluksissa. Haavoittuvuuksien kautta hyökkääjä kykenee muokkaamaan haltuunsa saaman PDF-tiedoston sisältöä mielivaltaisesti rikkomatta varmenneketjua ja dokumentin eheydestä ilmoittavia tietoja. Haavoittuvuus ei ole varsinaisessa varmenneketjussa tai varmenteiden toimintatavassa, vaan sovellusten toimintamallissa varmenteita tarkastaessa. Tutkijaryhmä on välittänyt tietonsa sovellusvalmistajille lokakuussa 2018, ja suurin osa sovelluksista on paikattu ainakin osittaisesti haavoittuvuuksia vastaan. Huomionarvoista on, että tätä kirjoittaessa vain Linux-ympäristössä ajettava Adobe Reader 9 on paikattu kaikkia kolmea haavoittuvuutta vastaan; muissa sovelluksissa on edelleen mahdollista hyötykäyttää vähintään yhtä haavoittuvuustyyppiä.

Haavoittuvuus ei koske selaimella tapahtuvaa PDF-tiedostojen avaamista, koska selaimet eivät lähtökohtaisesti tue PDF-tiedostojen varmenteiden käsittelyä lainkaan.

Korjaava toimenpide on päivittää käytössä oleva PDF-lukija tuoreimpaan versioonsa.

 

Haavoittuvuuksien CVE-tunnisteet:

  • CVE-2018-16042
  • CVE-2018-18688
  • CVE-2018-18689

Haavoittuvuuden kohde

Katso kattava listaus haavoittuvuuksista ja päivityksistä osoitteesta https://www.pdf-insecurity.org/signature/viewer.html.

Mistä on kysymys?

Sovellusten päivittäminen ajantasaisiin versioihin.

Työasemat ja loppukäyttäjäsovellukset

Työasemien ja tavallisten käyttäjien sovellusten haavoittuvuudet koskevat usein monia käyttäjiä. Kohteena voi olla esimerkiksi Windows-käyttöjärjestelmä tai tekstinkäsittelyohjelma. Ero palvelinsovellusten ja loppukäyttäjäsovellusten välillä on joskus häilyvä, esimerkiksi samaa käyttöjärjestelmää voidaan käyttää sekä palvelimessa että työasemassa.

Ilman käyttäjän toimia

Ilman käyttäjän toimia tapahtuva hyökkäys kohdistuu suoraan haavoittuvuuteen ilman että järjestelmän käyttäjältä vaaditaan mitään toimia hyökkäyksen onnistumiseksi. Käyttäjän ei esimerkiksi tarvitse selailla www-sivuja tai käynnistää ohjelmaa tietokoneessa, vaan hyökkäys onnistuu ilman käyttäjän apua.

Tietojen muokkaaminen

Järjestelmään talletettujen tietojen muokkaaminen ei välttämättä edellytä komentojen suorittamista, käyttövaltuuksien laajentamista tai järjestelmään kirjautumista. Esimerkiksi käyttämällä hyväksi www-palvelinohjelmiston haavoittuvuutta voi hyökkääjä luvatta muuttaa palvelimella näkyvien verkkosivujen sisältöä.

Haavoittuvuuden havainnollistava esimerkkikoodi

Proof of concept.

Korjaava ohjelmistopäivitys

Ohjelmisto- tai laitevalmistaja julkaisee tavallisesti pian uuden version tai osittaisen päivityksen ohjelmistoon tai käyttöjärjestelmään sen jälkeen kun haavoittuvuus on tullut julki. Päivitys voi olla saatavilla samalla kun haavoittuvuuskin julkaistaan, mutta usein sitä joudutaan odottelemaan jonkin aikaa.

Ei päivitystä

Haavoittuvuuden tultua julki ei korjausta siihen ole välttämättä heti saatavilla. Kohdejärjestelmät ovat alttiita haavoittuvuuden hyväksikäytölle jos niiden suojaamiseksi ei ryhdytä toimenpiteisiin.