Atvirojo kodo ekosistema yra šiuolaikinės programinės įrangos kūrimo kertinis akmuo, skatinantis inovacijas ir bendradarbiavimą. Tačiau pats jos atvirumas daro ją pažeidžiamą įvairioms kibernetinėms grėsmėms. Pasak „Comparitech“ ataskaita2023 m. buvo identifikuota daugiau nei 100 milijonų kenkėjiškų programų ir potencialiai nepageidaujamų programų (PUA) atmainų, o tai rodo, kad su kenkėjiškomis programomis susijusios atakos išlieka rimta kibernetine grėsme.
Naujos kenkėjiškų programų šeimos atvirojo kodo paketuose
Įdiegti kenkėjišką programinę įrangą – klastoti
Kaip jie dirba: Šio tipo kenkėjiška programa kišasi į atvirojo kodo paketų diegimo procesą. Ji įterpia kenkėjišką kodą diegimo metu, kuris gali būti vykdomas kiekvieną kartą, kai paketas naudojamas.
Išnaudoti pažeidžiamumai: Įdiekite klastojimą kenkėjiška programa išnaudoja vartotojų pasitikėjimą vieta atvirojo kodo saugyklose ir griežtų saugumo patikrinimų nebuvimas paketo diegimo proceso metu.
Apsaugos strategijos: Norint apsisaugoti nuo neteisėto kenkėjiškų programų diegimo, labai svarbu naudoti patikrintus ir pasirašytus paketus, įjungti dviejų veiksnių autentifikavimą saugyklų paskyroms ir reguliariai atlikti priklausomybių saugumo auditus.
Kenkėjiško kodo su klastojimu pavyzdys: npm paketas „colors“ (2022 m.)
Aprašymas:
„Colors“ paketas yra populiari npm biblioteka, naudojama spalvų efektams pridėti prie konsolės žurnalų. Jis plačiai naudojamas įvairiose „Node.js“ programose.
Kaip tai veikė:
2022 m. pradžioje pasirodė versija „Spalvų“ paketas buvo kenkėjiškai modifikuotas, įtraukiant begalinio ciklo scenarijų į pagrindinį failą. Šį pakeitimą atliko pats projekto prižiūrėtojas, kuris tariamai tai padarė protestuodamas prieš atvirojo kodo projektų naudojimą korporacijoms negavus tinkamos paramos ar aukų.
Poveikis:
Dėl šios modifikacijos sugedo bet kuri programa, naudojusi pažeistą „colors“ versiją, o tai sukėlė didelių sutrikimų daugelyje įmonių ir programinės įrangos sistemų, kurių veikla priklausė nuo šio paketo.
Išmoktos pamokos:
Šis incidentas pabrėžia pažeidžiamumus, būdingus pasitikėjimu pagrįstam atvirojo kodo paketų valdymo modeliui. Jis pabrėžia, kad prižiūrėtojai turi laikytis etikos principų. standardir kad naudotojai atliktų išsamias trečiųjų šalių priklausomybių peržiūras ir testus savo kūrimo aplinkose. „Spalvų“ atvejis taip pat pabrėžia atvirojo kodo kūrėjų rėmimo svarbą siekiant išvengti perdegimo ir neetiškų atsakomųjų veiksmų.
Pirmojo naudojimo galinės durys
Kaip jie dirba: Šios galinės durys suaktyvėja, kai atvirojo kodo paketas importuojamas ir pirmą kartą naudojamas. Jos gali siųsti sistemos informaciją į nuotolinį serverį arba atsisiųsti papildomų naudingųjų duomenų.
Išnaudoti pažeidžiamumai: Pirmojo naudojimo užpakalinės durys pasinaudoja nepatikrinto kodo vykdymu pirmą kartą naudojant paketą, dažnai apeidamos statinės analizės įrankius.
Apsaugos strategijos: Naujai importuotų paketų kodo peržiūra ir stebėjimas bei dinaminės analizės įrankių naudojimas neįprastam elgesiui aptikti yra labai svarbūs siekiant apsisaugoti nuo pirmojo naudojimo „backdoor“.
Pirmojo naudojimo užpakalinių durų pavyzdys: „Webmin“ užpakalinių durų incidentas (2019 m.)
Aprašymas:
„Webmin“ yra populiari žiniatinklio sąsaja, skirta „Unix“ sistemos administravimui. 2019 m. buvo nustatyta, kad programinė įranga buvo pažeista naudojant slaptas kuris kode buvo daugiau nei metus iki aptikimo.
Kaip tai veikė:
Užpakalinės durys buvo slapta įvestos į „Webmin GitHub“ saugyklą per pažeistą kūrimo serverį. Kenkėjiškas kodas buvo aktyvus tik tuo atveju, jei administratorius pakeitė slaptažodį naudodamas „Webmin“ sąsają. Suaktyvintas, jis leido nuotoliniu būdu vykdyti komandas su root teisėmis.
Poveikis:
Užpakalinės durys buvo pristatytos su „Webmin“ versijomis nuo 1.882 iki 1.921 ir galėjo paveikti daugiau nei tris milijonus svetainių ir serverių. Užpakalinės durys atvėrė sistemas nuotoliniams užpuolikams, kurie galėjo visiškai kontroliuoti serverį, o tai lėmė duomenų vagystes, serverio užgrobimą ir tolesnį tinklo pažeidimą.
Išmoktos pamokos:
Šis incidentas išryškina kritinį pažeidžiamumą, kuris gali atsirasti, kai pažeidžiami kūrimo procesai. Jis pabrėžia, kaip svarbu apsaugoti kūrimo serverius ir reguliariai atlikti programinės įrangos kūrimo gyvavimo ciklo saugumo auditus. „Webmin“ atvejis taip pat parodo, kad reikia kruopščiai patikrinti programinės įrangos atnaujinimus, net jei jie gaunami iš patikimų šaltinių.
Vykdymo laiko kompromituojantis kirminas
Kaip jie dirba: Šis kirminas snaudžia atvirojo kodo pakete ir aktyvuojasi vykdymo metu, potencialiai išplisdamas į kitus paketus ir sistemas.
Išnaudoti pažeidžiamumai: „Runtime-Compromise“ kirminai išnaudoja atvirojo kodo projektų tarpusavio ryšį, kai vienas pažeistas paketas gali paveikti kitus.
Apsaugos strategijos: Griežtų vykdymo laiko elgsenos stebėjimo ir anomalijų aptikimo sistemų įdiegimas gali padėti nustatyti ir sušvelninti tokias grėsmes.
P2PInfect vykdymo metu pažeisto viruso pavyzdys: surūdijęs save replikuojantis „peer-to-peer“ kirminas
Aprašymas:
P2PInfect yra „peer-to-peer“ (P2P) kirminas, kurį atrado 42-ojo padalinio debesų kompiuterijos tyrėjai.
Šis kirminas, parašytas „Rust“ – labai keičiamo dydžio ir debesijos technologijoms pritaikyta programavimo kalba, gali užkrėsti kelias platformas ir yra skirtas „Redis“ – populiariai atvirojo kodo duomenų bazių programai, plačiai naudojamai debesijos aplinkose.
Kaip tai veikia:
Pradinis išnaudojimas:
- „P2PInfect“ išnaudoja „Lua sandbox escape“ pažeidžiamumą, CVE-2022-0543, pažeidžiamuose „Redis“ egzemplioriuose.
- Ši pažeidžiamumas leidžia kirminui vykdyti savavališką kodą „Lua“ scenarijų aplinkoje.
Naudingojo krovinio pristatymas:
- Gavus pradinę prieigą, „P2PInfect“ pateikia pradinį paketą, kuris užmezga P2P ryšį su didesniu tinklu.
- Tada kirminas nuskaito papildomus kenkėjiškus dvejetainius failus, įskaitant operacinei sistemai būdingus scenarijus ir nuskaitymo programinę įrangą.
Dauginimas:
- Užkrėstas „Redis“ egzempliorius prisijungia prie P2P tinklo, suteikdamas prieigą prie kitų naudingųjų apkrovų būsimiems pažeistiems „Redis“ egzemplioriams.
- „P2PInfect“ taikosi į „Linux“ ir „Windows“ operacines sistemas, todėl yra lengviau pritaikomas ir galingesnis nei kiti kirminai.
poveikis:
42-ojo padalinio tyrėjai per pastarąsias dvi savaites nustatė daugiau nei 307 000 unikalių „Redis“ sistemų, kurios viešai bendrauja, iš kurių 934 gali būti pažeidžiamos šio P2P kirmino varianto.
„P2PInfect“ yra rimtos atakos, kurią grėsmės kūrėjai galėtų įvykdyti pasinaudodami šia pažeidžiamumu, pavyzdys.
Išmoktos pamokos:
Kūrėjai privalo peržiūrėti ir patikrinti savo paketus, nuolat atnaujinti priklausomybes ir būti atsargūs dėl paketų pavadinimų ir šaltinių.
Budrumas ir nuolatinė stebėsena yra būtini siekiant užkirsti kelią tokiems tiekimo grandinės išpuoliams.
Priklausomybės grandinės ataka
Kaip jie dirba: Užpuolikai pažeidžia vieną paketą priklausomybės grandinėje, o tai paveikia visus kitus nuo jo priklausančius paketus.
Išnaudoti pažeidžiamumai: Ši ataka išnaudoja pasitikėjimą paketų priklausomybėmis ir vieno pažeisto paketo kaskadinį efektą.
Apsaugos strategijos: Naudojant programinės įrangos sudėties analizės įrankį atvirojo kodo komponentams ir jų priklausomybėms sekti ir valdyti, galima apsisaugoti nuo priklausomybių grandinės atakų.
Priklausomybės grandinės atakos pavyzdys npm paketas „event-stream“ (2018 m.): tiekimo grandinės kompromisas
Aprašymas:
2018 m. populiarus npm paketas, vadinamas „įvykių srautas“ buvo sukompromituotas.
Ataka buvo susijusi su priklausomybių grandinės manipuliavimu, kuris paveikė nieko neįtariančius vartotojus.
Kaip tai veikė:
Pradinis kompromisas:
- Užpuolikas perėmė rečiau naudojamą priklausomybę, vadinamą „flatmap-stream“.
- Jie įterpė kenkėjišką kodą į „flatmap-stream“.
Dauginimas:
- Pažeistas „flatmap-stream“ buvo įtrauktas kaip priklausomybė į plačiai naudojamą paketą „event-stream“.
- Daugelis projektų netyčia įdiegė pažeistą „event-stream“ paketą.
Poveikis:
Užpuolikas gavo prieigą prie neskelbtinos informacijos iš nieko neįtariančių vartotojų.
Šis incidentas išryškino tiekimo grandinės atakų per priklausomybes riziką.
Išmoktos pamokos:
Kūrėjai privalo peržiūrėti ir patikrinti savo paketus, nuolat atnaujinti priklausomybes ir būti atsargūs dėl paketų pavadinimų ir šaltinių.
Budrumas ir nuolatinė stebėsena yra būtini siekiant užkirsti kelią tokiems tiekimo grandinės išpuoliams.
Apsaugokite savo atvirojo kodo projektus su „Xygeni“
Kaip aptarta, atvirojo kodo ekosistema yra dviašmenis kardas – nors ji skatina inovacijas, ji taip pat kelia didelę riziką jūsų programinei įrangai, pavyzdžiui, įdiegti klastojimą kenkėjiškos programos, pirmojo naudojimo užpakalinės durys ir priklausomybės grandinės atakos. Šių grėsmių pasekmės yra rimtos, todėl labai svarbu apsaugoti savo programinės įrangos tiekimo grandinę.
Ksigeni siūlo galingus sprendimus, skirtus apsaugoti jūsų atvirojo kodo projektus nuo šių besikeičiančių grėsmių. Mūsų įrankiai užtikrina jūsų priklausomybių saugumą, programinės įrangos atsparumą ir sklandų kūrimo procesą.
Padarykite protingesniuscisjonai su išsamia paketų analize
Atsižvelgiant į atvirojo kodo paketų sudėtingumą, labai svarbu priimti informacija pagrįstus sprendimus. „Xygeni“ Išsami paketo analizė suteikia jums galimybę greitai įvertinti atvirojo kodo komponentų saugumą. Naudodamiesi mūsų platforma galite užtikrintai pasirinkti saugius ir patikimus paketus, išvengdami nesaugių priklausomybių rizikos. Kurdami išmanius sprendimuscisiš anksto, kuriate stipresnes ir saugesnes programas, kurios atlaikys laiko išbandymą.
Proaktyviai apsisaugokite naudodami kenkėjiškų programų aptikimą realiuoju laiku
Nepakanka reaguoti į grėsmes po to, kai jos patenka į jūsų sistemą. Štai kodėl „Xygeni“ siūlo Kenkėjiškų programų aptikimas realiuoju laiku kad būtų galima aptikti tokias grėsmes kaip nulinės dienos kenkėjiška programa vos joms pasirodžius. Mūsų sistema nedelsdama blokuoja kenkėjišką kodą, neleisdama jam pasiekti jūsų kūrimo aplinkos. Greitai veikdami užtikrinate, kad jūsų projektai būtų saugūs nuo pat pradžių.
Apsaugokite savo tiekimo grandinę nuolat stebėdami
Sparčiai besikeičiančiame programinės įrangos kūrimo pasaulyje pokyčiai vyksta nuolat. „Xygeni“ Nuolatinis tiekimo grandinės stebėjimas atidžiai stebi kiekvieną atnaujinimą. Mūsų aktyvi apsauga aptinka ir blokuoja įtartinus jūsų priklausomybių pakeitimus, neleisdama pažeistiems paketams patekti į jūsų projektus. Naudodamiesi „Xygeni“, palaikote saugią ir patikimą tiekimo grandinę, apsaugodami savo programinę įrangą nuo galimų grėsmių.
Kontroliuokite savo saugumą su „Xygeni“
Kaip matėte, atvirojo kodo programinės įrangos rizika yra reali ir didėja. „Xygeni“ saugumo sprendimai suteikia jums įrankius, leidžiančius efektyviai valdyti šią riziką. Sutelkdami dėmesį į ankstyvą aptikimą, išsamią paketų analizę ir nuolatinį stebėjimą, galite apsaugoti savo programinę įrangą nuo kylančių grėsmių. Nepalikite savo atvirojo kodo projektų pažeidžiamų – šiandien patobulinkite savo saugumo strategiją su „Xygeni“ ir būkite ramūs žinodami, kad jūsų programinė įranga ir duomenys yra saugūs.
Pasiruošę apsaugoti savo atvirojo kodo projektus? Leiskite „Xygeni“ padėti jums išvengti grėsmių ir sukurti atsparią programinę įrangą, kuri gali susidoroti su viskuo, kas laukia ateityje.
Žiūrėkite mūsų vaizdo demonstraciją







