Novo orodje ODGen odkrije 180 ničelnih dni v knjižnicah Node.js Data Intelligence PlatoBlockchain. Navpično iskanje. Ai.

Novo orodje ODGen odkrije 180 ničelnih dni v knjižnicah Node.js

Raziskovalci na univerzi Johns Hopkins so pred kratkim odkrili osupljivih 180 ranljivosti ničelnega dne v tisočih knjižnicah Node.js z uporabo novega orodja za analizo kode, ki so ga razvili posebej za ta namen, imenovanega ODGen.

Sedemdeset od teh pomanjkljivosti je od takrat prejelo skupne identifikatorje ranljivosti in izpostavljenosti (CVE). Vključujejo napake pri vstavljanju ukazov, ranljivosti pri prečkanju poti, težave z izvajanjem poljubne kode in ranljivosti skriptiranja med spletnimi mesti – nekatere od njih v široko uporabljenih aplikacijah.

V prispevku, objavljenem na Varnostnem simpoziju Usenix v začetku tega meseca, so raziskovalci Johnsa Hopkinsa – Song Li, Mingqing Kang, Jianwei Hou in Yinzhi Cao – opisali ODGen kot boljšo alternativo trenutni analizi kode in tako imenovani grafični poizvedbi. pristopi za iskanje ranljivosti Node.js.

Pristopi, ki temeljijo na analizi programov, so se izkazali za koristne pri odkrivanju posameznih vrst ranljivosti, kot so napake pri vstavljanju kode v JavaScript. Vendar jih ni mogoče preprosto razširiti, da bi odkrili vse vrste ranljivosti, ki bi lahko bile prisotne v platformi Node.js, so povedali raziskovalci. Podobno metode analize kode, ki temeljijo na grafih – kjer je koda najprej predstavljena kot graf in nato poizvedena za specifične napake kodiranja – dobro delujejo v okoljih, kot sta C++ in PHP. Vendar pristopi, ki temeljijo na grafih, niso tako učinkoviti pri rudarjenju ranljivosti JavaScripta zaradi obsežne uporabe dinamičnih funkcij v programskem jeziku, so opozorili.

'Nov' pristop za iskanje ranljivosti JavaScripta

Torej so raziskovalci namesto tega razvili tisto, kar so opisali »nova« in boljša metoda, imenovana Object Dependence Graph (ODG) ki se lahko uporabijo za odkrivanje ranljivosti Node.js. Izvedli so ODGen za ustvarjanje "ODG" za programe Node.js za odkrivanje ranljivosti, so povedali.

Cao, docent za računalništvo na univerzi Johns Hopkins in soavtor raziskovalnega poročila, uporablja nekaj analogij za opis analize kode na podlagi grafov na splošno in njihov predlagani graf objektivne odvisnosti. "Če obravnavamo ranljivost kot poseben vzorec - recimo zeleno vozlišče, povezano z rdečim vozliščem in nato črnim vozliščem - orodje za analizo kode, ki temelji na grafih, najprej pretvori programe v graf s številnimi vozlišči in robovi," pravi Cao. . "Nato orodje išče takšne vzorce v grafu, da poišče ranljivost."

Graf odvisnosti od objektov, ki so ga predlagali raziskovalci, izpopolnjuje ta pristop tako, da objekte JavaScript predstavlja kot vozlišča in doda funkcije — vključno z odvisnostmi med objekti — ki so specifične za programski jezik, nato pa poizveduje za napake. Cao opisuje, kako metoda deluje z uporabo zrn v peščici riža: Če so vsa zrna pred vrenjem videti enaka, vendar po vrenju prevzamejo dva različna odtenka – eden predstavlja dobra zrna, drugi pa slaba zrna – potem jih je lažje opaziti in izločiti. slaba zrna. "Abstraktna interpretacija je nekako podobna procesu vrenja, ki pretvori riž - to je programe - v različne barvne predmete", tako da je napake lažje opaziti, pravi Cao.

Raznolikost hroščev

Da bi ugotovili, ali njihov pristop deluje, so raziskovalci najprej testirali ODGen na vzorcu 330 predhodno prijavljenih ranljivosti v paketih Node.js v repozitoriju upravitelja paketov vozlišč (npm). Test je pokazal, da je skener pravilno prepoznal 302 od 330 ranljivosti. Podprti z razmeroma visoko stopnjo natančnosti so raziskovalci primerjali ODGen s približno 300,000 paketi Java v npm. Skener je poročal o skupno 2,964 potencialnih ranljivostih v paketih. Raziskovalci so jih preverili 264 – vsi so imeli v povprečju več kot 1,000 prenosov na teden – in lahko potrdili, da je 180 legitimnih ranljivosti. Triinštirideset jih je bilo na ravni aplikacije, 122 v paketih, ki jih uvažajo druge aplikacije ali koda, preostalih 15 pa v posrednih paketih.

Več (80) potrjenih ranljivosti, ki jih je odkril ODGen, so bili tokovi vbrizgavanja ukazov, ki napadalcem omogočajo izvajanje poljubne kode na ravni operacijskega sistema prek ranljive aplikacije. Trideset je bilo napak pri prehodu poti; 24 je omogočilo spreminjanje kode, 19 pa je vključevalo posebno vrsto napada z vbrizgavanjem ukazov, imenovanega onesnaženje prototipa.

Časovni žig:

Več od Temno branje