• Čet. tra 30th, 2026

Oblak Znanja

informatička edukacija i vijesti

Tri četvrtine zakrpa ranjivosti ovisnosti dovode do kvarova, nalazi izvješća

ByTomšić Damjan

stu 25, 2024

Novo izvješće otkriva da zakrpe za ranjivosti softverskih ovisnosti uzrokuju kvarove u čak 75% slučajeva. Posebno, manja ažuriranja uzrokuju probleme u 94% slučajeva, dok nadogradnje verzija dovode do kvarova u 95% slučajeva.

Problemi s ovisnostima u razvoju softvera

Softverske ovisnosti, vanjski kod ili biblioteke potrebne za ispravno funkcioniranje aplikacija, često su izazovne za upravljanje tijekom razvoja. U 24% slučajeva, ispravljanje ranjivosti zahtijeva ažuriranje glavne verzije ovisnosti, što može dodatno zakomplicirati razvojni proces.

Prema Izvješću o upravljanju ovisnostima za 2024. iz tvrtke Endor Labs, jednostavno ažuriranje na sigurniju verziju ovisnosti često je složenije nego što se čini.

“Naizgled najjednostavnije rješenje je nadogradnja na neranjivu verziju ovisnosti. Međutim, ono što zvuči jednostavno može uzrokovati probleme s kompatibilnošću i regresije koje kvare aplikaciju tijekom razvoja,” istaknuli su autori izvješća.

Analiza podataka za bolju praksu

Endor Labs istraživači su analizirali podatke o ranjivostima iz unutarnjih i vanjskih izvora kako bi procijenili trendove u upravljanju ovisnostima. Ovo izvješće pruža uvid u ključne izazove i ističe potrebu za boljim strategijama u održavanju sigurnosti i stabilnosti aplikacija.

Ranjivosti ovisnosti (eng. dependency) se ne prijavljuju ili ne krpaju dovoljno brzo

zvješće također otkriva nekoliko ključnih problema s prijavljivanjem i zakrpavanjem ranjivosti u softverskim ovisnostima. Čak 69% sigurnosnih savjeta objavljuje se na platformama poput CVE-a, blogova ili GitHuba tek nakon što je zakrpa već dostupna. Medijan kašnjenja između dostupnosti zakrpe i objave sigurnosnog savjeta iznosi 25 dana.

Ovi čimbenici znatno povećavaju vremenski okvir tijekom kojeg napadači mogu iskoristiti ranjive sustave putem softverskih ovisnosti.

Unatoč olakšavanju programiranja, sve popularnije biblioteke umjetne inteligencije pogoršavaju postojeće probleme upravljanja ranjivosti ovisnosti. Točnije, izvješćivanje o ranjivostima u knjižnicama umjetne inteligencije nedosljedno je, s brojevima koji variraju za čak 10% između javnih savjetodavnih baza podataka, pokazalo je izvješće.

Fantomske ovisnosti — skrivene, nedeklarisane biblioteke u kodu aplikacije — također su češće u softverskim projektima AI i ML, prema autorima izvješća. AI projekti obično se pišu u Pythonu, jeziku ozloglašenom po fantomskim ovisnostima jer dopušta dinamičke ili neizravne instalacije paketa koje zaobilaze datoteke manifesta.

Fantomske ovisnosti činile su samo značajan dio otiska ovisnosti za 27% tvrtki čiji su podaci analizirani za ovo izvješće. Ali unutar te skupine, više od 56% je izjavilo da su ranjivosti knjižnice u njihovim fantomskim ovisnostima.

Stručnjaci za sigurnost zatrpani su nevažnim upozorenjima o ranjivosti

Četvrtina savjeta sadrži ili netočne ili nepotpune podatke, prema izvješću, što može dovesti do lažno pozitivnih i lažno negativnih rezultata.

Gotovo polovica onih u javnim bazama podataka ranjivosti u thr Go, Maven, NuGet, PyPI, RubyGems i npm ekosustavima također ne sadrži nikakve informacije o ranjivostima na razini koda, poput imena zahvaćenih funkcija ili obveza popravka. Zapravo, samo 2% sadrži bilo kakve informacije o zahvaćenim funkcijama.

Identificiranje veza između aplikacija i ranjivosti unutar njihovih ovisnosti tehnički je zahtjevno. Međutim, ove su informacije ključne za sigurnosne stručnjake kako bi znali predstavljaju li ranjivosti rizik za njihove aplikacije.

Bez toga ne mogu brzo filtrirati nevažne ranjivosti, što mnogi od njih jesu. Tim Endor Labsa otkrio je da se više od 90,5% ranjivosti ovisnosti o otvorenom kodu u Javi, Pythonu, Rustu, Gou, C#, .NET-u, Kotlinu i Scali zapravo ne može iskoristiti na funkcionalnoj razini — što znači da nemaju barem put poziva od aplikacije do ranjive funkcije u toj knjižnici.

Darren Meyer, istraživački inženjer u Endor Labsu, rekao je da se organizacije “utapaju u upozorenjima o ranjivostima, od kojih mnoga ne predstavljaju relevantan rizik.”

“Istraživanje upozorenja skupo je za sigurnosne timove (i softverske timove), a pokušaj da se sve popravi još je skuplji”, dodao je.

Prednosti ažuriranja 20 najboljih Python komponenti

Ažuriranje ovisnosti na verzije koje nisu ranjive ima značajan utjecaj na broj relevantnih ranjivosti. Na primjer, ažuriranje 20 najboljih komponenti Pythona uklanja više od 75% svih pronađenih ranjivosti, uključujući 60% za Javu i 44% za npm.

Nadalje, filtriranje ranjivosti ovisnosti koje nisu dostupne — ne može im se pristupiti i iskoristiti — i koje imaju EPSS ocjenu manju od 1% može značajno smanjiti broj koji stručnjaci za sigurnost moraju nadzirati. Kombinirajući ih s filtrima za ranjivosti za koje nema dostupnog popravka i nisu prisutni u testnom kodu ostavlja samo 4% Java i JavaScript ranjivosti i manje od 1% Python ranjivosti, smanjujući troškove sanacije.

Autori izvješća napisali su: “Kada se kombinira s podacima analize dostupnosti na razini funkcije i drugim strategijama određivanja opsega temeljenim na kontekstu, određivanje prioriteta EPSS-a često je toliko učinkovito da dodatne strategije određivanja prioriteta s većim naporom (kao što je provođenje vježbi bodovanja okoliša i vremena CVSS za određivanje ozbiljnosti) u vašem okruženju) često nisu potrebni.

“Ovo štedi troškove analize ranjivosti za vašu organizaciju.”

Web izvor

By Tomšić Damjan

Pozdrav, ja sam Damjan Tomšić, osnivatelj i urednik informatičko edukativnog bloga Oblak Znanja. Za Vas ću se potruditi da dobijete edukativne članke, savjete i recenzije vezane uz osnovno i napredno korištenje računala i interneta. Kontak: Google+, Gmail.