Þetta er fjórði þátturinn í röð af færslum um skaðlega íhluti, þar sem við kynnum Xygeni aðferð til að takast á við þessa ógn, sem hluta af umfjöllun okkar um Open Source Security.
Við sáum að of mikið traust á opnum hugbúnaðarþáttum af óvissum uppruna er nýtt af alls kyns illgjörnum aðilum til að valda óvæntri hegðun sem annað hvort keyrir í forritaravélum, CI/CD kerfum, eða fellt inn í hugbúnað fórnarlambsstofnunarinnar, þannig að hún berist áfram til viðskiptavina stofnunarinnar. Við greindum í Þáttur #2 árásirnar sem nota opinberar skrár til að dreifa spilliforritum og það sem við höfum lært eftir að hafa fylgst með því hvernig illvirkjarnir starfa, og í fyrri Þáttur #3 Skoðað var hvaða stjórntæki virka (og bregðast) gegn þessari ógn.
Nú er kominn tími til að skoða nálgun okkar á vandamálinu. Í þessum þætti kynnum við hvaða stefnu við fylgjum hjá Xygeni fyrir okkar... Snemmbúin viðvörun um spilliforrit (MEW) kerfi. Hvernig þetta fjölþrepa kerfi virkar í rauntíma þegar ný útgáfa af pakka er gefin út, hvernig sönnunargögn eru tekin úr mismunandi áttum, hvernig flokkun fer fram, hvaða flokkunarviðmiðum við fylgjum og hvers vegna handvirk greining er enn nauðsynleg til að staðfesta eðli illgjarnra pakkaframbjóðenda. Við munum einnig útskýra hvernig við erum að aðstoða NPM, GitHub, PyPI og aðra lykilinnviði í opnum hugbúnaðarvistkerfum við að draga úr dvalartíma spilliforrita.
The pipeline
Xygeni Malware Early Warning (MEW) vinnur stöðugt úr íhlutum, annað hvort pakka-tarkúlum fyrir bókasöfn og ramma fyrir studd forritunarkerfi eins og JavaScript/Node eða Python, Docker/OCI gámamyndum eða viðbætur og viðbætur fyrir verkfæri eins og IDE eða ... CI/CD kerfi. Slíkir íhlutir eru birtir í opinberum skrám með mismunandi stigum notendaeftirlits.
Eftirfarandi er skýringarmynd af því hvernig kerfið virkar:
The uppgötvandi ferlið fær straum af birtingaratburðum. Útgáfuatburður er stofnun nýrrar útgáfu af nýjum eða núverandi íhlut. Þar sem vinsælar skrár bjóða ekki upp á útgáfu-áskriftarkerfi fyrir neytendur sem hafa áhuga, er þetta oft gert með því að kanna skrána fyrir nýlega atburði. Frábært verkefni frá Öryggissjóði Bandaríkjanna, pakkastraumar, stuðningur vinsælar skrár eins og PyPI eða Maven Central og bjóða upp á sameinað viðmót byggt á straumum. Í MEW bættum við við nokkrum sérstökum útfærslum sem draga úr biðtíma, til dæmis með afriti af CouchDB gagnagrunninum sem NPM notar og er samstillt við opinbera skráargagnagrunninn.
Í Xygeni höfum við birgðir[1] allra íhluta (beint eða óbeint) sem hugbúnaður viðskiptavina okkar notar. Hnit íhluta viðskiptavina eru send reglulega til MEW til að forgangsraða greiningunum: íhlutir sem viðskiptavinir okkar nota eru unnir fyrr. Forgangsröðun byggist einnig á orðspori útgefanda og mikilvægi íhlutsins, þannig að íhlutir sem koma frá útgefendum með lágt orðspor eru einnig forgangsraðaðir.
The greiningartæki neyta síðan íhlutanna sem eru í biðröðinni. Þegar útgáfa af íhlut er valin til greiningar er tar-kassi hans sóttur úr skrásetningunni. Athugið að pakkaði, tvíundaríhluturinn er greindur: Flestir opnir íhlutir koma venjulega úr opnum hugbúnaðargeymslum, oft á github.com, sem er eingöngu notaður til að sýna samhengi, og spilliforritið er alltaf leitað að í tar-kistunni vegna þess að ógnandi aðilar ljúga kerfisbundið um heimildirnar sem þeir segjast hafa notað til að búa til tar-kistuna sem þeir gefa út.
Frá sjónarhóli notandans
Ég heyri þig hugsa: Hvernig get ég notið góðs af því að vita um illgjarn pakkaútgáfu snemma? Í þættinum „Líffærafræði illgjarnra pakka: Hverjar eru þróunin?“ Við sáum að heildardvalartíminn er á bilinu dagar, en fyrsta tilkynningin frá MEW til viðskiptavina sem nota viðkomandi íhlut er á bilinu mínútur. Með einföldum öryggisgrindum[2] Þú getur lokað á bygginguna (það eru tvö viðvörunarstig, annað alveg sjálfvirkt þegar vélin kemst að þeirri niðurstöðu að hugsanlegt spilliforrit sé til staðar og tilkynning síðar þegar öryggisteymi okkar staðfestir með handvirkri skoðun að spilliforrit séu til staðar). Að bíða þangað til skrásetningin staðfestir spilliforritið og fjarlægir það úr skrásetningunni er yfirleitt of seint vegna langs viðvörunartíma.
Fyrirtækið gæti notað öryggiskerfi sem kannar hvort íhlutur með hugsanlegri spilliforritun (á einhverju af tveimur viðvörunarstigum) eða, í gegnum API, vitað fljótt hvort einhver bein eða óbein ósjálfstæði í hugbúnaðarverkefni notar spilliforritið.
Hvernig MEW virkar: Innri upplýsingar
Kjarninn: Vél til að greina spilliforrit
Greiningartækið notar mismunandi skynjara til að fanga vísbendingar um misgjörðir. Skynjararnir sameina stöðugreiningu, getugreiningu og samhengisgreiningu.[3], eins og lýst er í fyrri færslu þessarar greinaröðar.
Hjá Xygeni höfum við verkfræðiteymi með langa reynslu af stöðugreiningu og þetta er aðalmunurinn frá öðrum lausnum gegn spilliforritum. Athugið að fyrir sum vistkerfi inniheldur pakkaða tarball-skráin annað hvort frumkóða (t.d. JavaScript- eða TypeScript-kóða fyrir NPM-pakka, Python-heimildir fyrir PyPI-pakka) eða þýddan kóða sem er nógu nálægt frumkóðanum fyrir stöðugreiningu (t.d. bætakóði í JAR-skrám fyrir Maven). Fyrir önnur vistkerfi, eins og ílátamyndir, eru tvíundaskrár algengar, þannig að ályktun um getu er sú tækni sem notuð er, ásamt hefðbundinni spilliforritagreiningu byggða á YARA-reglum og spilliforritaundirskriftum.
Vinsamlegast athugið að einföld tækni eins og reglulegar segðir eða undirskriftir henta ekki til að greina illgjarn hegðun. Ímyndið ykkur að greina niðurhalsforrit eða hugbúnað: Einhver kóði eða tvíundarskrá er staðsett í pakkanum eða sótt af utanaðkomandi léni, sem tengist ekki íhlutnum (gæti verið frá stór listi yfir lén keypt af ógnaraðilanum[4], Eða lögmætt lén til að komast hjá uppgötvun). Þessi kóði er síðan keyrður með einu af föllunum fyrir það. Hægt er að umbreyta kóðanum til að fela niðurhalsslóðina eða fallið sem notað er til að keyra niðurhalaða kóðann. Til að greina það þarf ítarlega gagnaflæðisgreiningu, með því að nota alla vélbúnað kyrrstæðrar greiningar eða sandkassakeyrsla (ef skilyrði fyrir illgjarnri hegðun eru í raun uppfyllt) gæti greint þetta í almennum tilfellum.
Ógnandi aðilar fylgja sömu aðferðum og sömu skynjarar voru hannaðir og innleiddir fyrir þá. Einnig eru nokkur forvinnsluskref, til dæmis til að fjarlægja dulda hegðun, sem oft eru nauðsynleg til að afhjúpa falda hegðun.
Að bæta við samhengi
Sumir mælitæki nota samhengisupplýsingar. Til dæmis er ósamræmi milli útgáfunnar í íhlutaskránni og merkisins/útgáfunnar í tengdri GitHub-geymslu sterk sönnun þess að hugsanlega hafi ólöglegur aðili fengið birtingarupplýsingar fyrir skrána en ekki fyrir GitHub-geymsluna. Árásir eins og sú sem hefur áhrif á söluaðila dulritunarveskis. Ledger væri auðvelt að greina þetta misræmi.
A illgirnisstig (MS) er reiknað út frá niðurstöðum mælinganna, byggt á styrk sönnunargagnanna sem aflað er. Ekki eru allar niðurstöður eins og framkvæmdaröðin skiptir máli.
Orðspor notenda og íhluta
Ekki eru allir opnir hugbúnaðarforritarar skapaðir jafnir!
Virtur forritari gæti orðið fyrir því að NPM-reikningur hans/hennar yrði stolinn (þetta gerist jafnvel hjá fólki sem er meðvitað um öryggi) og spilliforritum yrði birt með þeim reikningi. Augljóslega ætti orðspor að falla skyndilega og aðeins ná fyrri gæfu þegar stolni reikningurinn er endurheimtur og forritarinn lagar aðstæðurnar sem leiddu til yfirtöku reikningsins. Það er erfitt að afla sér orðspors en það getur tapast á augabragði.
Hjá MEW höfum við innleitt alhliða orðsporsstjórnunarkerfi til að umbuna jákvæðri hegðun og refsa fyrir grunsamlega starfsemi. Þetta kerfi byrjar með nýjum notendum í hlutlausri afstöðu og aðlagar orðspor þeirra út frá áframhaldandi starfsemi þeirra.
Orðspor notanda batnar með jákvæðum aðgerðum eins og að viðhalda virkum samfélagsmiðlareikningum, virkja fjölþátta auðkenningu, leggja reglulega sitt af mörkum til verkefna og undirrita. commitmeð staðfestanlegum lyklum. Aftur á móti versnar orðspor vegna fjandsamlegra aðgerða eins og að birta spilliforrit, nota einnota netföng og ekki undirrita. commits, eða sýna óvenjuleg mynstur í framlögum.
Meginmarkmið kerfisins okkar er að tryggja öruggt og traust umhverfi. Það nær þessu með því að aðlaga orðspor notenda á virkan hátt út frá ýmsum þáttum, en jafnframt að virða friðhelgi einkalífsins og takmarkanir mismunandi skráa.
Innri orðsporsstig er reiknað út fyrir notandann (með því að tengjast skrásetningunni og github reikningnum ef mögulegt er), ásamt illgirnisstiginu sem notað var við flokkun íhlutarins sem verið er að greina, og til að greina betur hverjir eru undir útgáfu íhlutarins.
Sönnunargögn um illgjarn hegðun fundust. Hvað svo? Handvirka endurskoðunarferlið
Núverandi flokkari setur greinda útgáfu íhlutarins í einn af flokkunum „staðfest illgjarn“, „líklega illgjarn“, „mikil áhætta“, „lítil áhætta“ eða „ekki illgjarn“ byggt á þröskuldum á einkunnum sem draga saman niðurstöður og orðspor notanda/íhluta. Flokkun í flokkana „mikil áhætta“ eða „líklega illgjarn“ kallar fram handvirka yfirferð og fyrstu tilkynningu. Flokkurinn „staðfest illgjarn“ er stilltur eftir handvirka yfirferð eða þegar sönnunargögn passa við sömu sönnunargögn fyrir fyrri útgáfu sem var staðfest illgjarn.
Þegar nægar vísbendingar eru um hugsanlega skaðlega hegðun er fyrsta viðvörun (sóttkvíarviðvörun) send til viðkomandi fyrirtækja. Eins og áður hefur komið fram gæti það lokað fyrir uppsetningu eða smíði hugbúnaðar sem er háður sóttkvíaríhlutnum.
Það skapar vandamál í innri MEW dashboard svo öryggisgreinendur geti hafið handvirka yfirferð fyrir íhlutinn. Teymið hefur sérhæfð verkfæri (sandkassi, afþýkjandi verkfæri, dreifingu fyrir rannsóknir á spilliforritum, skýrslugerðartól fyrir spilliforrit) til að meta fljótt eðli íhlutaútgáfunnar sem verið er að rannsaka. Flest spilliforritin („ansjósurnar“ eða ófullkomin illgjarn íhlutir) eru yfirfarin.
Niðurstaða endurskoðunarinnar lýkur með annað hvort öruggur, þannig að sjálfvirka greiningarvélin fann falskt jákvætt sem er notað sem endurgjöf til vélanámsflokkarans til að læra mynstrið; eða staðfest illgjarn, þannig að íhluturinn er á ábyrgan hátt tilkynntur sem illgjarn í opinberri skrá, eftir að tilkynningarferlinu hefur verið lokið. Önnur tilkynning er send til viðkomandi stofnana, sem aftur kunna að taka íhlutinn úr sóttkví eða loka fyrir hann í útgáfuuppfærsluferli þeirra eða í eldvegg íhluta sem notaður er í innri skrásetningunni.
Þessi stilling gerir okkur kleift að greina tugþúsundir nýrra útgáfa daglega og bera kennsl á þær tugir sem líklega eru illgjarnar, sem við skoðum síðan handvirkt. Munið frá fyrri þætti að einn af hverjum tíu þúsund er hlutfallið af illgjarnum íhlutum sem við sjáum núna í náttúrunni.
Skýrslugjöf til skráningarstofunnar
Við komumst að því að flestar opinberar skrár, einn af burðarásum opins hugbúnaðar, bjóða upp á frekar takmarkaða aðferðir til að tilkynna öryggisvandamál, sérstaklega um skaðleg íhluti. Við eigum í erfiðleikum með að bæta undirliggjandi skipulag tilkynningarferlisins. Venjulega fáum við í mesta lagi tölvupóst með endurgjöf frá öryggisteyminu í skránni sem staðfestir að íhluturinn hafi verið fjarlægður úr skránni.
Stundum er skrásetningin misnotuð, sem brýtur gegn notkunarskilmálum hennar, en veldur ekki skaðlegri hegðun í afhentum hugbúnaði. Þetta er einnig tilkynnt til skrásetningarinnar, en það er ekki tilkynnt stofnunum til að takmarka hávaðann.
Framtíðarvinna
Margar úrbætur eru nú í vinnslu. Fyrst og fremst a Opinber vefgátt fyrir heilsu stýrikerfisíhluta, sérstaklega varðandi sönnunargögn sem fundust fyrir hugsanlegri illgirni, er nú í þróun. Þetta er ætlað sem hóflegt framlag til opins hugbúnaðarsamfélagsins. Verið vakandi.
Önnur þróun sem er í gangi er bætt flokkari vélanámsMEW mun læra af fyrri flokkunum. Vigur niðurstaðna frá vélagreiningum, ásamt afleiddu illgirnisstigi og orðspori fyrir bæði íhlutinn og útgefandann („sönnunargögnin sem fundust“), er notað sem inntak í vélanámskerfi sem uppfærir flokkunarlíkanið. Úttaksbreytan er einfaldlega hvort skrásetningin staðfesti hvort íhluturinn væri illgjarn. Þetta er kallað „Véfréttin“ og mun hjálpa til við að undirbúa betur...cise-flokkun, hönnuð til að vera traust (hög endurheimt, þ.e. missa ekki af skaðlegum íhlutum) en með færri fölskum jákvæðum niðurstöðum (ekki tilkynna örugga íhluti sem skaðlega).
A gagnrýnistig verður bætt við forgangsröðunarviðmiðum, auk þess að tilheyra hópi viðskiptavina sem eru háðir og lágt orðspor útgefandans. Það er ljóst að verkefni með meiri áhrif og mikilvægi ættu að vera skoðuð fyrr til greiningar. Við munum ekki finna upp hjólið á ný hér og fylgja Gagnrýnistig opins hugbúnaðarverkefnis.
Stuðningur við fleiri vistkerfi er í þróun. Víðtæk tækni og verkfæri eins og PHP eða Jenkins viðbætur eru í vinnslu.
Við erum einnig að kanna hvort hægt sé að auðvelda handvirka endurskoðunarferlið með gervigreind til að hagræða greiningu á fáum flóknari skaðlegum íhlutum.
Í næsta og síðasta þætti þessarar seríu, „Að nýta sér opinn hugbúnað: Hvað má búast við frá illmennunum„Við munum einbeita okkur að nýjustu aðferðum andstæðinganna til að gera árásirnar laumulegri, erfiðari að greina, markvissari á tilteknar atvinnugreinar og arðbærari. Verða ransomware-árásir framkvæmdar með þessu farartæki? Hvernig nýta illmennin sér gervigreindartól til að afhenda flóknari spilliforrit? Eru vinsæl verkefni í hættu? Þetta er til að gefa lesendum hugmynd um þetta vopnakapphlaup og hvað má búast við til skamms tíma (seinni hluta ársins 2024) og meðallangs tíma (2025).
Við munum að lokum fjalla um nokkrar hugmyndir um hvaða smá skref samfélagið gæti tekið án þess að breyta of mikið opnum hugbúnaðarheimi. Til dæmis væri skilvirkari aðferð til að tilkynna spilliforrit til opinberra skráa og deila sönnunargögnum um hugsanlega skaðlega íhluti með skráunum og samfélaginu lítið skref í rétta átt í átt að markmiðinu um að loka dyrum fyrir ógnaraðilum.
Spilliforrit í opnum hugbúnaðaríhlutum ættu ekki að raska þeim gríðarlega ávinningi sem opinn hugbúnaður hefur fært samfélagi okkar.
- [1] Skanninn okkar greinir opna hugbúnaðaríhluti sem vísað er til í hugbúnaðarverkefnunum sem greind eru, þannig að allt uppfærða tengslagrafið er þekkt, að minnsta kosti fyrir verkefni sem eru skönnuð reglulega. Xygeni OSS býður upp á forritaskil (API) sem viðskiptavinir geta einnig notað við að setja áhugasaman íhlut á hvítlista, þar á meðal upplýsingar um veikleika og illgjarn sönnunargögn.
- [2] Öryggisrönd gæti eyðilagt bygginguna ef öryggisvandamál greinast. Öryggisniðurstöður eins og mikilvæg og aðgengileg veikleiki eða notkun á sóttkvíaríhluta gætu talist nógu alvarlegar til að eyðileggja bygginguna fyrir viðkomandi hugbúnað.
- [3]Öryggisgreinendur okkar keyra íhlutinn eða uppsetningarforskriftir hans í sandkassaumhverfi þegar þörf krefur. Hins vegar framkvæmir MEW ekki kraftmikla greiningu, fyrst og fremst vegna þess að illgjarn hegðun á sér ekki alltaf stað í markvissum árásum og vegna undankomuleiða sem ógnaraðilar nota til að komast hjá kraftmikilli greiningu.
- [4] Þessi tækni fékk nafnið Registered Domain Generation Algorithms eða RDGA, og nýir ógnaraðilar eins og svokallaðir Revolver kanína fjárfesti allt að 1 milljón dollara í 500 þúsund lénum, sem sýnir hversu arðbær netglæpaiðnaðurinn er.




