Tarkvara tarneahela strateegiad Parry sõltuvuse segadusrünnakute vastu

Tarkvara tarneahela strateegiad Parry sõltuvuse segadusrünnakute vastu

Tarkvara tarneahela strateegiad Parry sõltuvuse segaduse tekitamiseks ründavad PlatoBlockchaini andmeluure. Vertikaalne otsing. Ai.

"Mis on nime all? See, mida me nimetame roosiks mis tahes muu nimega, lõhnaks magusalt. Kui Shakespeare 2. aastal need sõnad (Romeo ja Julia, 2. vaatus, 1596. stseen) kirjutas, ütles ta, et nimi on lihtsalt kokkulepe. Sellel pole sisemist tähendust. Julia armastab Romeot selle eest, kes ta on, mitte tema nime pärast.

Kuid ilma seda teadmata kirjeldas Shakespeare ka sõltuvuse segaduse rünnakuid.

Sõltuvussegadus on see, kui koodis kasutatavad paketid ei ole teie omad. Neil on sama nimi, kuid tootmises ei tööta teie kood. Sama nimi, kuid üks pakend lõhnab roosi järele ja teine ​​… haiseb.

Hiljutised uuringuaruanded näitavad, et 41–49% organisatsioonidest on sõltuvuse segaduse rünnakute ohus. OX Security uus uuring näitab, et kui organisatsiooni ähvardab sõltuvussegaduse rünnak, on 73% selle varadest haavatavad. Uuring keskendus keskmise suurusega ja suurtele organisatsioonidele (1K+, 8K+, 80K+ töötajad) paljudes sektorites – rahandus, mängud, tehnoloogia ja meedia – ning leidis riski igas sektoris ja igas suuruses organisatsioonides. Uuringus leiti ka, et peaaegu kõik enam kui 1 miljardi kasutajaga rakendused kasutavad sõltuvusi, mis on sõltuvuse segaduse suhtes tundlikud.

Selle artikli eesmärk on aidata teil mõista sõltuvusega seotud segadust ja seda, kuidas seda vältida.

Kahekordne, kahekordne

Sõltuvused (nimetatakse ka pakettideks) on teie tarkvara ehitusplokid. Tavaliselt täidavad need tarkvaraosad, olenemata sellest, kas need on välja töötatud tervete kogukondade või ettevõtte sees, ühist ja vajalikku ülesannet.

Sõltuvuste installimiseks ja nende värskendamiseks kasutatakse sageli paketihaldureid. Nad skannivad avalikest ja eraregistritest paketi nime ja valivad kõrgeima versiooninumbri, kui kõik muud asjad on võrdsed. Ründajad kasutavad seda ära, paigutades avalikku registrisse sama nime, kuid kõrgema versiooniga näivpaketi.

Kui paketihaldur kohtab kahte identset paketti, millest üks on avalikus registris ja teine ​​​​privaatses registris, põhjustab see segadust - sellest ka nimi "sõltuvussegadus". Kuna need kaks paketti on identsed, valib haldur automaatselt kõrgema versiooniga paketi installimise - antud juhul ründaja pahatahtlik pakett.

See annab kaaperdajatele teie tarkvara tagaukse. Sellest hetkest alates saavad nad toime panna andmetega seotud rikkumisi, sooritada intellektuaalomandi vargusi ja muul viisil ohustada usaldusväärsuse tarkvara tarneahelat. Samuti võivad nad kehtestada nõuetele vastavuse rikkumisi, mis toovad kaasa ranged regulatiivsed karistused.

Vaev ja häda

Sõltuvussegaduse rünnakule on erinevaid lähenemisviise.

  • Nimevahed. Laadides üles ründetarkvara teegi avalikku registrisse – näiteks Pythoni paketiindeksisse (PyPI) või JavaScripti npm register - see on sarnaselt nimetatud usaldusväärsesse, sisemiselt kasutatavasse teeki, võivad süsteemid, mis jätavad nimeruumi/URL-i kontrolli vahele või ei sunni toomist privaatregistrist, õela koodi ekslikult sisse tõmmata. The hiljutine PyTorchi sõltuvuse segaduse juhtum on üks selline näide.
  • DNS-i võltsimine. Kasutades sellist tehnikat nagu DNS-i võltsimine, saab süsteeme suunata tõmbama sõltuvusi pahatahtlikest hoidlatest, kuvades samal ajal seaduslikke sisemisi URL-e/teid.
  • Skriptimine. Ehitamise/installi skriptide muutmisega või pidev integreerimine/pidev tarnimine (CI/CD) torujuhtme konfiguratsioonide puhul saab süsteeme meelitada tarkvarasõltuvusi alla laadima pahatahtlikust allikast, mitte kohalikust hoidlast.

Hästi ja hoolikalt tehtud asjad

Sõltuvuse segaduse eest kaitsmiseks rakendage need tavad.

  • Määrake poliitikad paketihalduris. Keelake paketihalduritel eelistada avalikku paketti privaatsele paketile.
  • Kaasake alati .npmrc-fail. Kui kasutate paketihaldurina populaarset NPM-i, lisage alati npmrc-fail, mis määrab, kust konkreetse organisatsiooni ulatuses pakette tuua.
  • Reserveerige paketi nimi avalikus registris. Teine viis sõltuvuse segaduse rünnakute eest kaitsmiseks on reserveerida paketi nimi avalikus registris, et kaaperdajad ei saaks seda kasutada ja seetõttu ei saaks paketihaldurit pahatahtlikku paketti installida.

Täielikuks kaitseks sõltuvuse segaduse rünnakute eest peaksid organisatsioonid alati kasutama organisatsiooni ulatused kõigi sisemiste pakettide jaoks, isegi kui avaldate oma siseregistris. Organisatsiooni ulatused peaksid olema registreeritud ka NPM-i avalikus registris, vältides seega kellelgi ulatuse kaaperdamist ja segadust ära kasutamast.

Pakettide nimed tuleks samuti avalikult registreerida. Kui organisatsioon kasutab populaarset PIP-i näiteks Pythoni sõltuvuste paketihaldurina, peaks ta looma sisemised paketid, millel on range järelliide, mis on äratuntav ja töötab kõigis projektides. Laadige sama nimega tühi pakett kohatäitena üles avalikku registrisse PyPI.

Teine põhjus paketinime reserveerimiseks avalikus registris on see, et kui keegi teine ​​selle reserveerib (pahatahtlikult või mitte), peavad arendajad muutma kõik privaatses registris olevad paketinimed selliseks, mis pole veel avalikus registris reserveeritud. See võib olla pikk ja tüütu protsess.

Oluline on märkida, et mitte kõik paketiregistrid ei võimalda kasutajatel paketinimesid reserveerida, seega leidke kindlasti selline, mis seda teeb.

Välju, karu jälitab

Sõltuvussegaduse rünnakud kujutavad endast tõsist ja otsest ohtu küberjulgeolekule organisatsioonidele kogu maailmas. Umbes pooled kõigist organisatsioonidest on ohus ja 73% nende organisatsioonide varadest on ohus. Selle kasvava ohu vastu võitlemiseks peavad organisatsioonid rakendama jõulisi ennetusmeetmeid ja võtma kasutusele küberturvalisuse parimad tavad.

Shakespeare'i roosid võisid juba sadu aastaid ennustada sõltuvussegaduse rünnakute ohtu, kuid teises Bardi tsitaadis võib olla tarkust nende eest kaitsmiseks: "Las iga silm peab enda eest läbirääkimisi ega usalda ühtegi agenti." (Palju kära eimillegi üle, 2. vaatus, 1. stseen)

Ajatempel:

Veel alates Tume lugemine