Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.
Prijevodi ove stranice:

Ovo je stara izmjena dokumenta!


Potencijalne prijetnje/ranjivosti u Javascript ekosustavu

Sažetak

Ključne riječi: SSL; TSL; komunikacija; sigurnost; napad

Uvod

Poglavlje 1

eslint-scope paketni napad

Eslint-scope napad se dogada kada kontrolu nad paketom preuzme zlonamjerni akter koji je postavio maliciozni kod unutar portinstalacijske skripte (postinstall lifecycle script). Prijetnja se ocituje u tome sto je potencijalna maliciozna skripta poslala podatke za prijavu u npm registar na udaljenu adresu. Najveci problem je sto nije lagano otkriti postojanje zlonamjerne skripte jer su cesto skrivene od korisnika. Postinstalacijske skripte se izvode u pozadini nakon instalacije kako bi osigurale spremnost koristenja paketa.

Primjer:

// package.json file

"name: "example-package",
"scripts": {
  "postinstall": "node malicious.js"
}

Kada bi korisnik odlucio instalirati

 npm example-package 

imao bi izvrsenu gornju postinstalacijsku skriptu u kojoj bi se moglo nalaziti bilo sto sto zlonamjerni korisnik zeli uciniti korisniku. Isto ponasanje sa postinstalacijskom skriptom moze se izvesti i s “preinstall” , “postinstall” , “preuninstall” i “postuninstall”.

Kako se obraniti

Ne postoji jednostavan nacin obrane od opisanog napada jer “lifecycle hooks” imaju vaznu ulogu u instaliranju paketa jer obavljaju ciscenje i pripremu paketa za koristenje te njihovo obustavljanje moze stvoriti probleme kod pokretanja paketa. Preporuceni pristupi za sprijecavanje problema 1.) Koristiti poznate pakete te provjeriti komentare korisnika 2.) Dobro prouciti ovisnosti (dependencies) i koristiti “lockfile” kako bi se sprijecilo automatsko instaliravanje novih paketa 3.) Iskljuciti pokretanje skripti prilikom instalacije.

npm install --ignore-scripts

ili

yarn add --ignore-scripts

Zakljucak

Eslint-scope paketni napad nije greska npm-a jer lifecycle skripte imaju vrlo korisne znacajke za upravljanje paketima. Problem je puno siri od samog npm-a jer postoji puno malih modula koji se dijele kako bi se Node.js aplikacije lakse koristile te dovodi tako i do vecih prijetnji. Vazno je da zajednica korisnika npm-a, poduzme mjere opreza za sprijecavanje napada. Jedan od prvih koraka bi trebao biti 2FA za sve npm racune koji sadrze pristup objavljivanja tj pisanja paketa. Na takav bi nacin umanjili moguci broj zlonamjernih korisnika. Npm poduzima mjere opreza, koje se ocituju u smanjenom “typosquatting” te nudi besplatne sigurnosne alate od kojih je najpoznatiji: npm audit.

Poglavlje 3

Zaključak

Literatura

racfor_wiki/javascript/potencijalne_prijetnje_ranjivosti_u_javascript_ekosustavu.1673594449.txt.gz · Zadnja izmjena: 2024/12/05 12:23 (vanjsko uređivanje)
Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0