Avarinis pataisymas dėl liūdnai pagarsėjusio Java bibliotekos Log4j pažeidžiamumo nėra patikimas. „Apache Software Foundation“ išleidžia naują versiją, kad kartą ir visiems laikams ištaisytų pažeidžiamumą.
Pažeidžiamumas nepaprastai populiarioje „Java“ bibliotekoje drebina pasaulinę IT aplinką. Apskaičiuota, kad biblioteka egzistuoja daugelyje įmonių aplinkų.
Log4j daugiausia naudojamas registravimui. Programose esančius įvykius galima registruoti pastabomis. Pagalvokite apie prisijungimo duomenų atspausdinimą po bandymo prisijungti. Arba, jei žiniatinklio programa naudojama Java kalba, naršyklės, prie kurios vartotojas bando prisijungti, pavadinimas.
Pastarieji pavyzdžiai yra dažni. Abiem atvejais išorinis vartotojas daro įtaką žurnalui, kurį išveda Log4j. Galima ta įtaka piktnaudžiauti. Bet kurios Log4j versijos žurnalai nuo 13 m. rugsėjo 2013 d. iki 5 m. gruodžio 2021 d. gali nurodyti Java programoms paleisti kodą iš nuotolinio serverio vietiniame įrenginyje.
Nuo 2013 m. „Log4j“ apdoroja API: JNDI arba „Java“ pavadinimo ir katalogo sąsają. JNDI pridėjimas leidžia Java programai paleisti kodą iš nuotolinio serverio vietiniame įrenginyje. Programuotojai pateikia nurodymus programoje pridėdami vieną išsamios informacijos apie nuotolinį serverį eilutę.
Problema ta, kad ne tik programuotojai gali pridėti taisyklę prie programų. Tarkime, Log4j registruoja prisijungimo bandymų naudotojų vardus. Kai kas nors įveda pirmiau minėtą eilutę vartotojo vardo lauke, Log4j paleidžia eilutę, o Java programa interpretuoja komandą paleisti kodą nurodytame serveryje. Tas pats pasakytina ir apie atvejus, kai „Log4j“ registruoja HTTPS užklausą. Jei pakeisite naršyklės pavadinimą į eilutę, „Log4j“ paleidžia eilutę, netiesiogiai nurodydama paleisti kodą, kaip pageidaujama.
Avarinis pleistras taip pat gali būti nesaugus
Gruodžio 9 dieną pažeidžiamumas išaiškėjo dideliu mastu. „Apache Software Foundation“, „Log4j“ kūrėjas, išleido avarinį pataisą (2.15), kad ištaisytų pažeidžiamumą. Nuo tada programinės įrangos pardavėjai buvo svarbiausias prioritetas apdoroti 2.15 versiją ir pateikti pataisą organizacijoms.
Tačiau saugumo organizacija „LunaSec“ teigia, kad pleistras nėra visiškai nepralaidus vandeniui. Išlieka galimybė koreguoti nustatymą ir vykdyti registruojamas JNDI komandas.
Atkreipkite dėmesį: atitinkamą nustatymą reikia reguliuoti rankiniu būdu, kad nepakeisti 2.15 variantai būtų tikrai saugūs. Nepaisant to, Luna Sec rekomenduoja tiekėjams ir organizacijoms atnaujinti į Log4j 2.16. 2.16 paskelbė „Apache Software Foundation“, atsakydamas į „LunaSec“. Naujoji versija visiškai pašalina pažeidžiamą nustatymą, todėl neįmanoma sukurti piktnaudžiavimo sąlygų.