Ohjelmiston toimitusketjustrategiat Parryn riippuvuuden hämmennyshyökkäysten varalta

Ohjelmiston toimitusketjustrategiat Parryn riippuvuuden hämmennyshyökkäysten varalta

Ohjelmiston toimitusketjustrategiat Parryn riippuvuuden hämmennykseen hyökkäävät PlatoBlockchain-tietoälykkyyteen. Pystysuuntainen haku. Ai.

"Mitä nimessä on? Se, jota kutsumme ruusuksi millä tahansa muulla nimellä, tuoksuisi makealta." Kun Shakespeare kirjoitti nämä sanat (Romeo ja Julia, näytös 2, kohtaus 2) vuonna 1596, hän sanoi, että nimi on vain sopimus. Sillä ei ole sisäistä merkitystä. Julia rakastaa Romeota sellaisena kuin hän on, ei nimensä vuoksi.

Mutta tietämättään Shakespeare kuvaili myös riippuvuuden hämmennyshyökkäykset.

Riippuvuussekaannusta ilmenee, kun koodissasi käyttämäsi paketit eivät ole sinun. Niillä on sama nimi, mutta se ei ole sinun koodisi, joka on käynnissä tuotannossa. Sama nimi, mutta yksi pakkaus haisee ruusulle ja toinen… haisee.

Viimeaikaiset tutkimusraportit arvioivat, että 41–49 prosenttia organisaatioista on vaarassa joutua riippuvuushäiriöihin. OX Securityn uusi tutkimus osoittaa, että kun organisaatio on vaarassa joutua riippuvuushäiriöhyökkäykseen, 73 % sen varoista on haavoittuvia. Tutkimus keskittyi keskisuuriin ja suuriin organisaatioihin (1K+, 8K+, 80K+ työntekijät) useilla aloilla – rahoitus, pelit, teknologia ja media – ja havaitsivat riskin kaikilla aloilla kaikenkokoisissa organisaatioissa. Tutkimuksessa havaittiin myös, että lähes kaikki sovellukset, joissa on yli miljardi käyttäjää, käyttävät riippuvuuksia, jotka ovat alttiina riippuvuussekaannukselle.

Tämän artikkelin tarkoituksena on auttaa sinua ymmärtämään riippuvuussekaannusta ja kuinka estää se.

Tupla, tupla

Riippuvuudet (kutsutaan myös paketeiksi) ovat ohjelmistosi rakennuspalikoita. Tyypillisesti nämä ohjelmistot, olivatpa ne sitten kokonaisten yhteisöjen tai yrityksen kehittämiä, suorittavat yhteisen ja tarpeellisen tehtävän.

Paketinhallintaohjelmia käytetään usein asentamaan riippuvuuksia ja pitämään ne ajan tasalla. He skannaavat julkisista ja yksityisistä rekistereistä paketin nimen ja valitsevat suurimman versionumeron, jos kaikki muut asiat ovat samat. Hyökkääjät hyödyntävät tätä asettamalla "dummy"-paketin julkiseen rekisteriin samalla nimellä, mutta korkeammalla versiolla.

Kun paketinhallinta törmää kahteen identtiseen pakettiin, toisen julkisessa rekisterissä ja toisen yksityisessä rekisterissä, se aiheuttaa sekaannusta – tästä johtuu nimi "riippuvuussekaannus". Koska kaksi pakettia ovat identtisiä, johtaja valitsee automaattisesti asentaako paketin, jossa on uudempi versio - tässä tapauksessa hyökkääjän haitallinen paketti.

Tämä antaa kaappaajille takaoven ohjelmistoosi. Tästä eteenpäin he voivat suorittaa tietomurtoja, suorittaa immateriaaliomaisuuden varkauksia ja muuten vaarantaa ohjelmistojen toimitusketjun. Ne voivat myös ottaa käyttöön vaatimustenmukaisuusrikkomuksia, jotka johtavat vakaviin sääntelyyn liittyviin seuraamuksiin.

Työtä ja vaivaa

On olemassa erilaisia ​​​​lähestymistapoja riippuvuuden hämmennyshyökkäykseen.

  • Nimivälit. Lataamalla haittaohjelmien kirjasto julkiseen rekisteriin – kuten Python Package Index (PyPI) tai JavaScriptin npm-rekisteri - tuo on nimetty samalla tavalla luotettuun, sisäisesti käytettävään kirjastoon, järjestelmät, jotka jättävät pois nimitilan/URL-osoitteen tarkistuksen tai eivät pakota hakemista yksityisestä rekisteristä, voivat vahingossa vetää sisään haitallisen koodin. The äskettäinen PyTorch-riippuvuushäiriötapaus on yksi sellainen esimerkki.
  • DNS-huijaus. Käyttämällä DNS-huijauksen kaltaista tekniikkaa järjestelmiä voidaan ohjata poistamaan riippuvuuksia haitallisista tietovarastoista ja näyttämään samalla laillisilta sisäisiltä URL-osoitteilta/poluilta näyttäviä.
  • Komentosarja. Muokkaamalla rakentaa/asenna komentosarjoja tai jatkuva integrointi/jatkuva toimitus (CI/CD) putkikokoonpanoissa järjestelmiä voidaan huijata lataamaan ohjelmistoriippuvuuksia haitallisesta lähteestä paikallisen arkiston sijaan.

Hyvin ja huolellisesti tehtyjä asioita

Suojellaksesi riippuvuussekaannuksia ottamalla käyttöön nämä käytännöt.

  • Aseta käytännöt paketinhallinnassa. Estä pakettien hallinnoijia priorisoimasta julkista pakettia yksityiseen pakettiin nähden.
  • Sisällytä aina .npmrc-tiedosto. Jos käytät suosittua NPM:ää paketinhallinnana, sisällytä aina .npmrc-tiedosto, joka määrittää, mistä paketit haetaan tietyn organisaation piirissä.
  • Varaa paketin nimi julkisessa rekisterissä. Toinen tapa suojautua riippuvuushyökkäyksiä vastaan ​​on varata paketin nimi julkiseen rekisteriin, jotta kaappaajat eivät voi käyttää sitä eivätkä siksi voi "huijata" paketinhallintaa asentamaan haitallista pakettia.

Suojatakseen täysin riippuvuuden hämmennyshyökkäyksiä, organisaatioiden tulee aina käyttää organisaation laajuudet kaikille sisäisille paketeille, vaikka julkaiset sisäisessä rekisterissäsi. Organisaation laajuudet tulee myös rekisteröidä NPM:n julkiseen rekisteriin, jotta kukaan ei kaappaa laajuutta ja hyödyntää sekaannusta.

Pakettien nimet tulee myös rekisteröidä julkisesti. Jos organisaatio käyttää suosittua PIP:tä esimerkiksi Python-riippuvuuksien paketinhallinnana, sen tulisi luoda sisäisiä paketteja, joissa on tiukka jälkiliite, joka on tunnistettavissa ja toimii kaikissa projekteissa. Lataa tyhjä samanniminen paketti julkiseen PyPI-rekisteriin paikkamerkkinä.

Toinen syy varata paketin nimi julkisessa rekisterissä on se, että jos joku muu varaa sen (haitallisesti tai ei), kehittäjien on vaihdettava kaikki yksityisen rekisterin paketinimet sellaisiksi, joita ei ole vielä varattu julkisessa rekisterissä. Tämä voi olla pitkä ja työläs prosessi.

On tärkeää huomata, että kaikki pakettirekisterit eivät salli käyttäjien varata pakettien nimiä, joten varmista, että löydät sellaisen, joka tekee sen.

Poistu, karhun takaa

Riippuvuushäiriöhyökkäykset muodostavat vakavan ja välittömän kyberturvallisuusuhan organisaatioille maailmanlaajuisesti. Noin puolet kaikista organisaatioista on vaarassa, ja 73 prosenttia näiden organisaatioiden omaisuudesta on alttiina. Tämän kasvavan uhan torjumiseksi organisaatioiden on toteutettava tehokkaita ennaltaehkäiseviä toimenpiteitä ja omaksuttava kyberturvallisuuden parhaat käytännöt.

Shakespearen ruusut ovat saattaneet ennakoida riippuvuussekaannushyökkäysten riskiä satoja vuosia, mutta toisessa Bardin lainauksessa saattaa olla viisautta suojautua niitä vastaan: "Anna jokaisen silmän neuvotella itsestään äläkä luota agenttiin." (Paljon melua tyhjästä, näytös 2, kohtaus 1)

Aikaleima:

Lisää aiheesta Pimeää luettavaa