આ સૌથી પ્રચલિત પ્રકારના સોફ્ટવેર સપ્લાય ચેઇન હુમલાઓ વિશેના લેખોની શ્રેણીનો પહેલો એપિસોડ છે: જે (ab) સોફ્ટવેર ઘટકોની જાહેર રજિસ્ટ્રીનો ઉપયોગ કરે છે, જેનો હેતુ ઓપન સોર્સ પ્રોજેક્ટ્સ અન્ય વપરાશકર્તાઓ સાથે શેર કરી શકાય તેવી કલાકૃતિઓ અપલોડ કરવા માટે. જ્યારે ખરાબ લોકો ત્યાં દૂષિત સોફ્ટવેર પ્રકાશિત કરે છે, માલવેર વિતરણ માટે રજિસ્ટ્રીનો ઉપયોગ કરીને, ત્યારે પીડિત સંસ્થાઓ ચેપગ્રસ્ત સોફ્ટવેર ઘટક ઇન્સ્ટોલ કરે છે અથવા ચલાવે છે ત્યારે આપણને સપ્લાય ચેઇન હુમલો થાય છે.
ચર્ચાને સરળ બનાવવા માટે આપણે વાત કરીશું સ softwareફ્ટવેર પેકેજો:, તૃતીય પક્ષો દ્વારા ઉત્પાદિત પેકેજ્ડ સ્વરૂપમાં ઘટકો. આમાં ફક્ત NPM અથવા કવિતા જેવા પેકેજ મેનેજરો દ્વારા ઉપયોગમાં લેવાતા ઘટકોનો જ સમાવેશ થતો નથી, પણ ઓપરેટિંગ સિસ્ટમના ઘટકો પુસ્તકાલયો અને એક્ઝિક્યુટેબલ બાઈનરી સહિત, કન્ટેનર છબીઓ, અને વર્ચ્યુઅલ મશીનો, અથવા ટૂલ એક્સટેન્શન વિકાસ, નિર્માણ અને જમાવટ સાધનો માટે. આપણે બધે દૂષિત પેકેજો જોયા છે. સાયબર ગુનેગારોને કોઈ વાંધો નથી: તેઓ આધુનિક સોફ્ટવેર ઇન્ફ્રાસ્ટ્રક્ચર દ્વારા પૂરા પાડવામાં આવતા વિકલ્પોથી ખુશ થાય છે અને રજિસ્ટ્રી અને તેમના હેતુને શ્રેષ્ઠ રીતે બંધબેસતા ટૂલનો ઉપયોગ કરે છે. તેથી કૃપા કરીને યાદ રાખો કે સોફ્ટવેર પેકેજો કન્ટેનર છબીઓ, બાઈનરી પેકેજો, ઓપન-સોર્સ રિપોઝીટરીઝ અને એક્સટેન્શન અથવા તમામ પ્રકારના પ્લગઇન્સ (IDEs, CI/CD સિસ્ટમો, બિલ્ડ ટૂલ્સ). બધા નિયમિતપણે હુમલા હેઠળ છે.
આ શ્રેણીમાં 5 એપિસોડ હશે:
- ઓપન સોર્સ પેકેજોમાં શું સમસ્યા છે? આ પોસ્ટનો વિષય આ છે. બધા પ્રકારના ગુનેગારો દૂષિત પેકેજો કેમ પ્રકાશિત કરી રહ્યા છે? મારે શા માટે ચિંતા કરવી જોઈએ?
- દૂષિત પેકેજોનું શરીરરચના: વલણો શું છે? આ એપિસોડમાં, અમે અમારા MEW સિસ્ટમ દ્વારા દરરોજ જે ખતરાનું નિરીક્ષણ કરી રહ્યા છીએ તેના પર ધ્યાન કેન્દ્રિત કરીએ છીએ. ટાઇપોસ્ક્વેટિંગ અથવા ડિપેન્ડન્સી મૂંઝવણનો ઉપયોગ કરીને મોટી સંખ્યામાં દૂષિત પેકેટોને કારણે મોટા પૃષ્ઠભૂમિ અવાજ સાથે, હુમલાઓની ઓછી ટકાવારી વધુ કપટી હોય છે અને વધુ જોખમ ઊભું કરે છે. તાજેતરના ભૂતકાળમાં OS સંબંધિત ખરાબ કલાકારોનું વર્તન કેવી રીતે બદલાયું છે? સંખ્યાઓ શું છે? ઉપયોગમાં લેવાતી યુક્તિઓ, તકનીકો અને પ્રક્રિયાઓ શું છે, અને હાનિકારક ક્રિયાઓ શું જોવા મળે છે?
- ઓપન સોર્સ દૂષિત પેકેજો સામે રક્ષણ: શું કામ કરે છે (નથી). મોટાભાગના સુરક્ષા-જાગૃત વ્યાવસાયિકો પાસે આ ખતરાને કેવી રીતે હેન્ડલ કરવો તે અંગે વિચારો હોય છે. અમે સુરક્ષા મેનેજરોને ખચકાટ વિના કહેતા સાંભળ્યા છે કે SCA ટૂલ્સ તમને પહેલાથી જ જણાવે છે કે પેકેજ વર્ઝન ક્યારે માલવેર છે. અથવા તેઓ જાણીતા, ખૂબ જ સમીક્ષા કરાયેલા સોફ્ટવેર ઘટકો પર આધાર રાખે છે, જ્યાં કોઈપણ માલવેરને તાત્કાલિક શોધી કાઢવામાં આવશે અને દૂર કરવામાં આવશે. તેઓ એ છે કે તેઓ આપમેળે નબળાઈ સુધારણા મેળવવા માટે ઓપન માઇનોર/પેચ વર્ઝનનો ઉપયોગ કરે છે, અને તે "પેચ વહેલા, પેચ વારંવાર" સિદ્ધાંતને અનુસરીને ઓપન સોર્સ ડિપેન્ડન્સી પર જોખમ ઘટાડવાનો યોગ્ય, ભલામણ કરેલ રસ્તો છે. આ એપિસોડમાં, આપણે સમીક્ષા કરીશું કે આ વિચારો શા માટે ખોટા છે, અને આવી ગેરસમજો આ હુમલાની પદ્ધતિની લોકપ્રિયતામાં અને સંગઠનો અનુભવી રહ્યા છે તે ભારે જોખમમાં કેવી રીતે ફાળો આપી રહી છે. આપણે શું કાર્ય કરે છે, અને તેમાં કયા પ્રયત્નો અને સંસાધનો શામેલ છે તે સાથે સમાપ્ત કરીશું.
- ઓપન સોર્સ દૂષિત પેકેજો: ઝાયજેની અભિગમ. આ એપિસોડમાં, અમે રજૂ કરીએ છીએ કે Xygeni પર અમારી માલવેર અર્લી વોર્નિંગ (MEW) સિસ્ટમ માટે અમે કઈ વ્યૂહરચનાનું પાલન કરીએ છીએ. જ્યારે નવું પેકેજ સંસ્કરણ પ્રકાશિત થાય છે ત્યારે આ મલ્ટી-સ્ટેજ સિસ્ટમ રીઅલ-ટાઇમમાં કેવી રીતે કાર્ય કરે છે, વિવિધ સ્ત્રોતોમાંથી પુરાવા કેવી રીતે મેળવવામાં આવે છે, ટ્રાયજ કેવી રીતે કરવામાં આવે છે, અમે કયા વર્ગીકરણ માપદંડોનું પાલન કરી રહ્યા છીએ, અને દૂષિત પેકેજ ઉમેદવારની પ્રકૃતિની પુષ્ટિ કરવા માટે હજુ સુધી કેટલાક મેન્યુઅલ વિશ્લેષણની જરૂર કેમ નથી? અમારી આંતરિક અને રજિસ્ટ્રી ટીમો તરફથી પ્રતિસાદ સિસ્ટમને ખોટા હકારાત્મકતાને ઓછામાં ઓછા સુધી એકત્રિત કરવા માટે ભૂતકાળના પુરાવાઓમાંથી શીખવામાં કેવી રીતે મદદ કરે છે. અમે અને અમે સમજાવીશું કે અમે NPM, GitHub, PyPI અને ઓપન-સોર્સ ઓપન સોર્સ ઇકોસિસ્ટમમાં અન્ય મુખ્ય ઇન્ફ્રાસ્ટ્રક્ચર્સને રહેવાનો સમય ઘટાડવામાં કેવી રીતે મદદ કરી રહ્યા છીએ..
- ઓપન સોર્સનો ઉપયોગ: ખરાબ લોકો પાસેથી શું અપેક્ષા રાખવી. આ શ્રેણીનો અંત વિરોધીઓ દ્વારા અપનાવવામાં આવતી નવી ક્રિયાઓ પર કેન્દ્રિત છે જે હુમલાઓને વધુ ગુપ્ત, શોધવામાં મુશ્કેલ, ચોક્કસ ઉદ્યોગો સામે વધુ લક્ષ્યાંકિત અને આ વર્ગના હુમલાઓમાંથી વધુ લાભ મેળવવા માટે કરવામાં આવી રહી છે. શું આ વાહનનો ઉપયોગ કરીને રેન્સમવેર હુમલાઓ કરવામાં આવશે? ખરાબ લોકો વધુ આધુનિક દૂષિત પેકેજો પહોંચાડવા માટે AI ટૂલ્સનો ઉપયોગ કેવી રીતે કરી રહ્યા છે? શું ટોચના લોકપ્રિય પ્રોજેક્ટ્સ જોખમમાં છે? આ વાચકોને આ શસ્ત્ર સ્પર્ધા વિશે અનુભૂતિ કરાવવા માટે છે, અને ટૂંકા ગાળા (2024 ના બીજા ભાગમાં) અને મધ્યમ ગાળા (2025) માં શું અપેક્ષા રાખવી. આપણે શીખીશું કે તાજેતરના હુમલાઓ કેવી રીતે XZ-Utils બેકડોર, અથવા જમીનની બહાર રહેતા લોકો પર હુમલો ઇલેક્ટ્રોન બનાવનાર માર્ચ 2024 માં થયેલા પરિણામો દર્શાવે છે કે આપણે વિરોધીઓ કેવી રીતે વિકસિત થાય છે તેના પર સતર્ક રહેવું જોઈએ.
ચાલો પહેલા એપિસોડ સાથે સ્ટેજ શરૂ કરીએ: દૂષિત ઓપન-સોર્સ ઓપન સોર્સ પેકેજો સાથે શું ચાલી રહ્યું છે?
ઓપન સોર્સ પેકેજોમાં શું સમસ્યા છે?
તાજેતરના વર્ષોમાં, તમામ પ્રકારના ખોટા કામ કરનારાઓએ દૂષિત વર્તન પહોંચાડવા માટે ઓપન-સોર્સ ઓપન સોર્સ સોફ્ટવેર રજિસ્ટ્રીનો ઉપયોગ કર્યો છે. આ પ્રવૃત્તિઓ ઓપન સોર્સ જેટલી જ જૂની છે, પરંતુ છેલ્લા ત્રણ વર્ષમાં તેમની આવર્તન વિસ્ફોટ થઈ ગઈ છે.
જાહેર રજિસ્ટ્રીમાં દૂષિત ઘટકો પ્રકાશિત કરવા (નિર્ભરતા-આધારિત હુમલાઓ) એ અસમપ્રમાણ ગેરિલા યુદ્ધ છે જેનો ઉપયોગ ધમકી આપનારાઓ માલવેરનું વિતરણ કરવા માટે કરે છે, જે સંગઠનો અજાણ્યા વિકાસકર્તાઓ તરફથી આવતા ઓપન-સોર્સ ઘટકોમાં મૂકેલા વિશ્વાસનો લાભ ઉઠાવે છે (યાદ રાખો) ડિપેન્ડન્સી xkcd કોમિક?). કારણ કે તમે પેકેજો પર વિશ્વાસ કરો છો અને પેકેજ સામગ્રી અને તેની નિર્ભરતાઓની મેન્યુઅલી સમીક્ષા કરવામાં વાંધો નથી, આ હુમલાઓ અસાધારણ રીતે અસરકારક છે. અને અસમપ્રમાણતા એટલા માટે આવે છે કારણ કે તે મોટાભાગે સ્વચાલિત થઈ શકે છે અને ખરાબ લોકોને પીડિત સાથે સીધી વાતચીત કરવાની જરૂર નથી. તેઓ ફક્ત પેકેજને જાહેર રજિસ્ટ્રીમાં અપલોડ કરે છે અને તેને છોડી દે છે.
દૂષિત પેકેજો ૨૦૨૨ માં ૬ ગણો વધારો થયો, અને 2023 માં 2.5x પરિબળ દ્વારા વૃદ્ધિ ચાલુ રહી. ગયા વર્ષે 245,000 દૂષિત પેકેજો જોવા મળ્યા હતા, જે પાછલા વર્ષોની કુલ સંખ્યા કરતા બમણાથી વધુ છે. આ ઘાતાંકીય વૃદ્ધિ છે! 2021 દરમિયાન સેંકડોમાં અને 2022 દરમિયાન હજારોમાં પુષ્ટિ થયેલ માલવેર તરીકે પેકેજ દૂર કરવાથી લઈને, 2023 દરમિયાન આપણે વધુ પૃષ્ઠભૂમિ "અવાજ" જોયો, જે આ વર્ષે સમાન ગતિ સાથે હતો. અને "ઓછામાં ઓછા પ્રતિકારના માર્ગ" ને અનુસરતા અસંસ્કારી સાયબર ગુનેગારોના કારણે તે પૃષ્ઠભૂમિમાં છુપાયેલા, હાઇ-પ્રોફાઇલ હુમલાઓનો એક લઘુમતી સામાન્ય મીડિયામાં પણ હેડલાઇન્સ પર પહોંચ્યો.
આ સમસ્યા આટલી મોટી કેમ છે? એક છે અતિરેક વિશ્વાસ સમગ્ર સાંકળમાં. ઓપન-સોર્સ સોફ્ટવેર તેના સોર્સ કોડ સાથે વિતરિત કરવામાં આવે છે, અને આપેલ લાઇસન્સ હેઠળ પ્રકાશિત થાય છે. હા, કોઈપણ સોર્સ કોડનું નિરીક્ષણ કરી શકે છે; પરંતુ, કોણ કરે છે? સોફ્ટવેરમાં કોઈ માલવેર નથી તેની તપાસ કર્યા પછી, કોણ સ્ત્રોતોમાંથી સોફ્ટવેર બનાવે છે? પેકેજ્ડ ઘટક (જેને પેકેજ) પેકેજ મેનેજર અથવા બિલ્ડ ટૂલ સુધી ડાઉનસ્ટ્રીમ મોકલવાથી ખાતરી થાય છે કે પેકેજ માલવેરથી ભરેલું નથી અને તે જે સોર્સ કોડમાંથી આવવું જોઈએ તેની સાથે સુસંગત છે?
ઈન્ફ્રાસ્ટ્રક્ચર આટલા સરળ હુમલાઓને કેમ મંજૂરી આપે છે?
પેકેજ રજિસ્ટ્રીઝ ખુલ્લા હોય છે, ઘણીવાર પ્રકાશકની ઓળખની ન્યૂનતમ ચકાસણીની જરૂર પડે છે. "કોઈપણ વ્યક્તિ અહીં પોતાનું સોફ્ટવેર પ્રકાશિત કરી શકે છે!" હુમલાખોરો માટેનો નિયમ ઓછો છે: તેઓ ડિસ્પોઝેબલ ઇમેઇલ સરનામાં અને ડિસ્પોઝેબલ GitHubgithub એકાઉન્ટ્સનો ઉપયોગ કરીને ટૂંકા, ફિશિંગ જેવા અભિયાનોમાં સેંકડો દૂષિત પેકેજો બનાવે છે. ફક્ત લક્ષિત લોકો માટે ઉચ્ચ સુસંસ્કૃતતાની જરૂર છે: અમે ઘણા સ્ટાર્સ સાથે વિશ્વસનીય GitHub સ્ત્રોત ભંડાર બનાવતા પણ જોયું અને commitબહુવિધ નકલી યોગદાન આપનારાઓ અને લોકપ્રિયતા અને જાળવણીના અન્ય માપદંડો તરફથી પ્રાપ્ત માહિતી. મેળવવી નકલી યોગદાનથી સ્ટારગેઝર્સ અને પ્રતિષ્ઠા ઓટોમેટ કરવું મુશ્કેલ નથી. અમે તમામ પ્રકારના ઓપન સોફ્ટવેર ઇન્ફ્રાસ્ટ્રક્ચર પર દુરુપયોગ જોયા, ફક્ત માલવેર જ નહીં, જેમ કે ચા પ્રોટોકોલ ઘટના.
પેકેજ મેનેજરો સુરક્ષા માટે નહીં, પણ ઉપયોગમાં સરળતા માટે ડિઝાઇન કરવામાં આવ્યા હતા.. તેઓ પ્રી- અને પોસ્ટ-ઇન્સ્ટોલ પોસ્ટ-ઇન્સ્ટોલ સ્ક્રિપ્ટો ચલાવી શકે છે (કેટલીકવાર લાઇબ્રેરી માટે નેટિવ કોડ કમ્પાઇલ કરવો જરૂરી છે). ઉપરાંત, પેકેજ મેનેજરો બહુવિધ સ્ત્રોતોમાંથી પેકેજો ઇન્સ્ટોલ કરો, અને ક્યારેક ડિફોલ્ટ રીતે જાહેર રજિસ્ટ્રીનો ઉપયોગ કરવો પડે છે. તેઓએ પ્રકાશન વિનંતીમાં મેટાડેટા અને પેકેજમાં જ મેટાડેટા વચ્ચે મેળ ખાતો નથી તેની તપાસ કરી નથી.
નિર્ભરતાઓ નેસ્ટેડ હોય છે અને ગ્રાફ બનાવે છે. નોડ (જાવાસ્ક્રિપ્ટ) જેવી ચોક્કસ ઇકોસિસ્ટમમાં, નાના-દાણાવાળા નિર્ભરતાઓ સેંકડો અથવા હજારોમાં એકઠા થાય છે. એક વાત એ છે કે મારા સોફ્ટવેર પ્રોજેક્ટ્સ દ્વારા જાહેર કરાયેલ સીધી નિર્ભરતાઓ પર કડક નિયંત્રણ રાખવું જોઈએ, પરંતુ સંક્રમિત અવલંબન નિયંત્રિત કરવા મુશ્કેલ છે. ઓપન સોર્સ "મારા મિત્રોના મિત્રો મારા મિત્રો છે" ને અનુસરે છે. જંગલી દૂર પૂર્વમાં ભાઈચારો સામાન્ય છે! ધમકી આપનારાઓ આ જાણે છે અને અસ્પષ્ટ નિર્ભરતાઓમાં દૂષિત વર્તનને ઊંડાણપૂર્વક છુપાવે છે જે ઘણીવાર અજાણ હોય છે. આ કેસ હતો ઇવેન્ટ-સ્ટ્રીમ ઘટનાને લક્ષ્ય બનાવીને કોપે વોલેટ.
ઓપન-સોર્સ સોફ્ટવેર તેની શરૂઆતથી જ આ રીતે કામ કરતું હતું. તેમાં બહુ ફેરફાર થશે નહીં. કેટલીક પેકેજ રજિસ્ટ્રીઓ શ્રેષ્ઠ રીતે બે-પરિબળ પ્રમાણીકરણની માંગ કરે છે, અને ઘણીવાર ફક્ત સૌથી લોકપ્રિય પેકેજો માટે. કેટલીક રજિસ્ટ્રીઓ સ્કોપ્સ પ્રદાન કરે છે, જે ચકાસાયેલ સંસ્થાની માલિકીની નેમસ્પેસ છે, પરંતુ દુ:ખદ રીતે અન્ય લોકો તેને (PyPI) સમર્થન આપતા નથી અથવા તેને વૈકલ્પિક (NPM) બનાવતા નથી. એ નોંધવું રસપ્રદ છે કે એક પણ સરળ સ્ક્રીનીંગ યોજના (ગ્રુપ ID સાથે મેળ ખાતા DNS અથવા GitHub રિપોઝીટરી/સંસ્થાના નિયંત્રણ પર આધારિત) અને બનાવવા PGP સહીઓ ફરજિયાત ચેકસમ સિવાયના તમામ આર્ટિફેક્ટ્સ માટે મોટાભાગના "અવાજ", ટાઇપોસ્ક્વેટિંગ જેવા દૂષિત પેકેજો દૂર કરે છે અને મોટા ભાગનાને મર્યાદિત કરે છે નિર્ભરતા મૂંઝવણ. અત્યાધુનિક હુમલાઓ શક્ય છે પણ ઘણા મુશ્કેલ છે, જેમ કે ફક્ત થોડા જ com.github.codingandcoding: મેવન-કમ્પાઇલર-પ્લગઇન મેવેન સેન્ટ્રલ માટે જાણીતું છે. અને બધી મેવેન રજિસ્ટ્રીઓ સમાન પ્રથાઓનું પાલન કરતી નથી!
પેકેજ મેનેજરો પર સુરક્ષા નિયંત્રણો બોજ બની શકે છે પરંતુ ડિપેન્ડન્સી હુમલાઓને અવરોધતા નથી. મલ્ટિ-ફેક્ટર ઓથેન્ટિકેશનની સમસ્યા એ છે કે ઓટોમેશન માટે, ઓટોમેશન સ્ક્રિપ્ટ્સમાંથી બનેલા APIapi કૉલ્સમાં ઉપયોગમાં લેવાતા એકાઉન્ટ્સ માટે એક્સેસ ટોકન્સ અથવા APIapi કી જેવા ડેરિવેટેડ ઓળખપત્રો જનરેટ કરવામાં આવે છે, જેમાં કોઈ બેકિંગ ઇન્ટરેક્ટિવ વપરાશકર્તા બીજું પરિબળ પ્રદાન કરતું નથી. પાસવર્ડ લીકથી વપરાશકર્તા એકાઉન્ટ્સને સુરક્ષિત રાખવા માટે MFA સારું છે, પરંતુ જનરેટ કરેલા એક્સેસ ટોકન્સ અથવા APIapi કી સક્રિય હોય ત્યારે સુરક્ષિત રાખવાની જરૂર છે, નહીં તો તેમના માલિક વિરોધીઓ દ્વારા ઢોંગ કરવામાં આવશે. પેકેજ-આધારિત સપ્લાય ચેઇન ઝુંબેશનો મોટો ભાગ લીક થયેલી કી/ટોકનથી શરૂ થાય છે. ફક્ત આવી ઘટનાઓ યાદ રાખો ખાતાવહી, 3CX, અને ઘણા બધા, જ્યાં સપ્લાય ચેઇન હુમલો શરૂ કરવા માટે પ્રારંભિક ઘૂસણખોરીમાં બિન-ઇન્ટરેક્ટિવ ઓળખપત્રો પ્રથમ વખત બહાર કાઢવામાં આવ્યા હતા.
આ ધમકીનો જવાબ પૂરતો મજબૂત નહોતો. ત્રીજા એપિસોડમાં, આપણે શું કામ કર્યું અને શું ખરાબ રીતે નિષ્ફળ ગયું તેના પર ધ્યાન કેન્દ્રિત કરીશું. ઉદ્યોગે સામૂહિક રીતે કામ કરવાની જરૂર છે standardવૈશ્વિક પુરવઠા શૃંખલાઓ માટેના જોખમોને ઘટાડવા માટે પ્રક્રિયાઓ, શિક્ષણ અને સાધનો. આ એવી સમસ્યા નથી જે કોઈ એક સંસ્થા પોતાના દમ પર ઉકેલી શકે.
આ વિભાગનો અંત લાવવા માટે, મહત્વપૂર્ણ ગેરસમજ: આપણે વાત કરી રહ્યા છીએ દૂષિત પેકેજો, નહીં નબળા નબળાઈઓ. નબળાઈઓ ડિઝાઇન અથવા કોડિંગ ભૂલોમાંથી આવે છે, જે આકસ્મિક રીતે રજૂ થાય છે, ખરાબ ઇરાદા વિના. નબળાઈઓનો ઉપયોગ થઈ શકે છે, પરંતુ ઘણી બધી નથી. દૂષિત પેકેજો હંમેશા ઇરાદાપૂર્વક હોય છે, અને જો તે અમલમાં મૂકવામાં આવે તો 100% શોષણક્ષમતા હોય છે. કોઈ તુલનાત્મક જોખમ નથી! તેથી નબળાઈઓ શોધવા અને ઘટાડવા માટે કેટલા પ્રયત્નો કરવામાં આવે છે અને દૂષિત ઘટકો માટે સમાન પગલાંનો અભાવ છે તે જોવું વિરોધાભાસી છે..
"અમે સુરક્ષાને ગંભીરતાથી લઈએ છીએ"

ચાલો રિવાજની કલ્પના કરીએ Acme કોર્પોરેશન. WileCoyote.com માટે મુખ્ય પ્રદાતા, Acme, તેના મોટાભાગના સોફ્ટવેર તૃતીય પક્ષો પાસેથી આવે છે, જેમાં 80% થી વધુ ઓપન-સોર્સ સોર્સ પ્રોજેક્ટ્સમાંથી આવે છે. તેઓ આંતરિક ઉપયોગ માટે સોફ્ટવેરનું ઉત્પાદન કરે છે, પરંતુ તેઓ તેમના ભાગીદારો, પ્રદાતાઓ અને ગ્રાહકો / અંતિમ-વપરાશકર્તાઓ માટે સોફ્ટવેર પણ પ્રદાન કરે છે. Acme પાસે Go, JavaScript, Java, C# અને Python માં લખાયેલ સોફ્ટવેર છે, અને તે તેના મોટાભાગના સોફ્ટવેરને Kuberneteskubernetes ક્લસ્ટરો હેઠળ ક્લાઉડ પર ચલાવે છે. Acme ડોકર હબ અને અન્ય રજિસ્ટ્રીમાંથી લેવામાં આવેલી બેઝ છબીઓમાંથી તેની કસ્ટમ છબીઓ બનાવે છે. અને તેઓ જાહેર રજિસ્ટ્રીમાં પણ કેટલીક લાઇબ્રેરીઓ, પેકેજો અને કન્ટેનર છબીઓ શેર કરે છે.
Acme સુરક્ષાને ગંભીરતાથી લે છે. તેઓ આ સમસ્યાથી વાકેફ છે open source security, અને તે જે જોખમ વહન કરે છે. બધા ડેવલપર્સ, સિસ્ટમ મેનેજર્સ અને DevOpsdevops એન્જિનિયર્સ તે સુંદર નાની ક્રિપ્ટો કીનો ઉપયોગ સેકન્ડ-ફેક્ટર ઓથેન્ટિકેશન તરીકે કરે છે. બધા commitકોડ રિપોઝીટરી પર સહી થયેલ છે, ફરજિયાત કોડ સમીક્ષાઓ સાથે શાખા સુરક્ષા સક્ષમ છે, CI/CD લૉક કરેલા, ગુપ્ત તિજોરીમાં સંગ્રહિત રહસ્યો, અને આંતરિક રજિસ્ટ્રી સાથે બાહ્ય રજિસ્ટ્રીને આંશિક રીતે પ્રતિબિંબિત કરે છે જ્યાં ફક્ત માન્ય, સફેદ-સૂચિબદ્ધ ઘટકો સંગ્રહિત થાય છે. Acme દ્વારા બનાવેલ સોફ્ટવેર આ રજિસ્ટ્રીમાંથી તૃતીય-પક્ષ નિર્ભરતા લે તે જરૂરી છે.
કદાચ મોટાભાગની સંસ્થાઓ આ પ્રોફાઇલમાં ફિટ થશે. પ્રિય વાચક, જો તમે હજી અહીં છો, તો તમારું ચોક્કસપણે ફિટ થશે, ખરું ને?
પછી એક દુર્ભાગ્યપૂર્ણ દિવસે, એક મહત્વપૂર્ણ ફ્રન્ટએન્ડ ડેવલપર Acme દોડ પર npm acme-cute-lib ઇન્સ્ટોલ કરો, ભૂલી ગયા છીએ કે @acme/cute-lib એ યોગ્ય સ્કોપ્ડ ડિપેન્ડન્સી હતી. ચોક્કસ ભૂલ મહત્વપૂર્ણ નથી, જ્યારે કોઈ વ્યક્તિ સોફ્ટવેર જીવનચક્ર પર સંપૂર્ણ નિયંત્રણ ધારે છે ત્યારે પણ ઘણી વસ્તુઓ ખોટી થઈ શકે છે. અમારા ડેવલપરને ખબર નહોતી કે એક APT જૂથ Acme ને લક્ષ્ય બનાવી રહ્યું છે અને તે નામ હેઠળ એક દૂષિત ઘટક પ્રકાશિત કરી રહ્યું છે, ચાલાકીપૂર્વક જેથી દૂષિત વર્તન ફક્ત ત્યારે જ સક્રિય થાય છે જ્યારે સોફ્ટવેર Acme કમ્પ્યુટર્સ પર ઇન્સ્ટોલ થાય છે. પેકેજ તેના પ્રકાશન પછી અઠવાડિયા સુધી શોધી શકાયું ન હતું.
એક ઇન્સ્ટોલેશન સ્ક્રિપ્ટ ચલાવવામાં આવે છે જે ઓળખપત્રો શોધે છે (અમારા ડેવલપરના લેપટોપમાં ઘણા રસદાર એક્સેસ ટોકન્સ હતા), આંતરિક સોફ્ટવેર રિપોઝીટરીઝ અને ઉપરોક્ત આંતરિક રિપોઝીટરી, જે અલબત્ત ફક્ત VPN દ્વારા જ ઍક્સેસિબલ છે, ઍક્સેસ કરવાની મંજૂરી આપે છે. દૂષિત કોડ હાલના VPN કનેક્શનનો ઉપયોગ કરવામાં અને આંતરિક રજિસ્ટ્રીમાં બીજા-તબક્કાના દૂષિત ઘટકને પ્રકાશિત કરવામાં સફળ રહ્યો, જે Acme દ્વારા વિતરિત મોટાભાગના સોફ્ટવેર દ્વારા શેર કરાયેલ સામાન્ય ઉપયોગિતાઓ લાઇબ્રેરીને અસર કરે છે.
અઠવાડિયા પછી, Acme ના પ્રકાશિત ટૂલ્સનો ઉપયોગ કરતી અન્ય સંસ્થાઓએ તેમના નેટવર્ક પર વિચિત્ર ટ્રાફિક જોવાનું શરૂ કર્યું, જેમાં Acme ના પ્રોટોકોલનો ઉપયોગ કરીને ટ્રાફિક થતો હતો પરંતુ Acme ડોમેન જેવા હોસ્ટ તરફ નિર્દેશિત થતો હતો. ટ્રાફિક એન્ક્રિપ્ટેડ હતો પરંતુ સિસ્ટમ મોનિટરિંગ ટૂલ્સે અણધારી ફાઇલો અને સિસ્ટમ કમાન્ડ જેવી દેખાતી પ્રક્રિયાઓના અમલીકરણની ઍક્સેસ શોધી કાઢી પરંતુ જે ડાઉનલોડ કરેલા એક્ઝિક્યુટેબલ ચલાવે છે.
બાકીનો ઇતિહાસ છે: Acme એ પહેલા ઇનકાર કર્યો હતો કે આવી વર્તણૂક તેમના માટે દોષિત હતી અને તમામ સુરક્ષા પગલાં અમલમાં હતા. સાયબરસેક મીડિયાએ પૂછવાનું શરૂ કર્યું કે શોધાયેલ વર્તણૂકનો સ્ત્રોત Acme ના ઘટકોમાંથી કેમ ઉદ્ભવ્યો, અને સુરક્ષા વિશ્લેષણમાં પોસ્ટ કરવામાં આવ્યું કે તે ઘટકો સ્ટીલ્થી માલવેરથી કેટલા સંકુચિત હતા, Acme ને ઘટના ઓળખવી પડી અને ઘટના પ્રતિભાવ પેઢીને બોલાવવી પડી. એક નકારાત્મક માર્કેટિંગ ઝુંબેશ જેણે એક સેકન્ડમાં મહેનતથી મેળવેલા વિશ્વાસને નબળી પાડી દીધી. “Acme, di થી એક npm ઇન્સ્ટોલ દૂર હતુંsaster"આ એક સામાન્ય હેડલાઇન હતી. ત્યારબાદ મુકદ્દમા અને રદ કરાયેલા કરારો થયા.
શું તમને ભૂતકાળની જાણીતી ઘટનાઓ સાથે સામ્યતા દેખાય છે? Acme બે તબક્કામાં સપ્લાય ચેઇન ઘટનામાં ફસાઈ ગયું, જેમાં મિશ્રણનો ઉપયોગ કરવામાં આવ્યો નિર્ભરતા મૂંઝવણ/ટાઇપોસ્ક્વેટિંગ એવા હુમલાઓ કે જેમણે ડેવલપર વર્કસ્ટેશનનો ઉપયોગ કરીને તૃતીય પક્ષો દ્વારા ઉપયોગમાં લેવાતા સોફ્ટવેરમાં આવતા ઘટકોને ચેપ લગાડ્યો. આને કેવી રીતે અટકાવી શકાય અથવા ઘટાડી શકાય?
ઝેરી પેકેજો શા માટે આટલા લોકપ્રિય છે?
આ કાલ્પનિક ઘટના દર્શાવે છે કે ઓપન-સોર્સ સુરક્ષા માટે વાજબી અભિગમ હોવા છતાં, સંગઠનોને ઓપન-સોર્સ ઘટકોમાં માલવેરનો શિકાર ન બનવા માટે ચોક્કસ પગલાં લેવાની જરૂર છે. યોજનાકીય રીતે, ધમકી આપનાર વ્યક્તિ આ કરી શકે છે:
- એક નવું પેકેજ બનાવો (જાણીતા ટાઇપોસ્ક્વેટિંગ અથવા ડિપેન્ડન્સી કન્ફ્યુઝન એવન્યુને અનુસરીને, આ ખરાબ લોકો દ્વારા વોલ્યુમમાં સૌથી વધુ પસાર થતો રસ્તો છે);
- હાલના કોડને સંક્રમિત કરવાનો પ્રયાસ કરો, કાં તો તેને સોર્સ કોડમાં દાખલ કરીને, તેને ફાળો આપનાર તરીકે છુપાવવાનો પ્રયાસ કરીને pull request, અથવા સોશિયલ એન્જિનિયરિંગનો ઉપયોગ કરીને જાળવણીકાર બનવા માટે (જેમ કે "જાઓ ટેન" એ XZ બેકડોરમાં કર્યું હતું અથવા જમણું9ctrl GitHub વપરાશકર્તાએ કર્યું ઇવેન્ટ-સ્ટ્રીમ 2018 ના પાનખરમાં બનેલી ઘટના), અથવા ઓપન સોર્સ રિપોઝીટરી ઓળખપત્રો મેળવીને અને જાળવણીકર્તાનો ઢોંગ કરીને;
- પેકેજના નિર્માણ દરમિયાન માલવેર દાખલ કરો, કાં તો દૂષિત બિલ્ડ સ્ક્રિપ્ટ ચલાવીને, અથવા મેન-ઇન-ધ-મિડલ ઇન્ટરસેપ્ટ્સ સાથે પેકેજ ડાઉનલોડ્સમાં દખલ કરવી (સદભાગ્યે, મોટાભાગની રજિસ્ટ્રીમાં TLS હવે હંમેશા જરૂરી છે).
- પેકેજ્ડ ઘટકને સીધા રજિસ્ટ્રીમાં ઇન્જેક્ટ કરો, સામાન્ય રીતે રજિસ્ટ્રી ઓળખપત્રો કેપ્ચર કરીને (Acme's જેવા ઘણા અત્યાધુનિક હુમલાઓ માટે પસંદગીનો વિકલ્પ, જ્યાં પ્રથમ તબક્કામાં ચેડા થયેલા વર્કસ્ટેશનમાં આંતરિક રજિસ્ટ્રી ઍક્સેસ ટોકન હતું, દા.ત. સામાન્ય રીતે .env or ~/.m2/settings.xml: ખરાબ કૃત્યોને ખબર છે કે રહસ્યો ક્યાં શોધવું). રજિસ્ટ્રીમાં રહેલી નબળાઈઓનો પણ ઉપયોગ કરવામાં આવ્યો.
માલવેરથી રજિસ્ટ્રીઓને ઝેર આપવું એ ડિપેન્ડન્સી હુમલાઓનો આધાર છે. સૂર્ય હેઠળ કંઈ નવું નથી: તેનો વ્યાપ વધ્યો, પરંતુ પાંચ વર્ષ પહેલા જેવી જ તકનીકો આજે પણ કામ કરે છે.

સોર્સ: બેકસ્ટેબરનો છરી સંગ્રહ.
દૂષિત પેકેજ ઇન્સ્ટોલેશન દરમિયાન, સોફ્ટવેર બિલ્ડ દરમિયાન અથવા રનટાઇમ પર કાર્ય કરી શકે છે. અને આ વર્તન માહિતી એક્સફિલ્ટ્રેશનથી લઈને બીજા તબક્કાના પ્રયાસ માટે રહસ્યો કાઢવા, સોર્સ કોડ એક્સટ્રેક્શન, વધારાના માલવેર છોડવા સુધીનો છે. આગામી એપિસોડમાં, આપણે દૂષિત પેકેજોનું વિશ્લેષણ કરીશું અને તે કેવી રીતે પ્રકાશિત થાય છે.
વધુ વાંચન
આગામી એપિસોડ દૂષિત પેકેજોનું શરીરરચના: વલણો શું છે? અમે દરરોજ, અમારી માલવેર અર્લી વોર્નિંગ સિસ્ટમ દ્વારા વાસ્તવિક કેસોનું નિરીક્ષણ કરી રહ્યા છીએ તેના પર ધ્યાન કેન્દ્રિત કરીશું. અમે સમીક્ષા કરીશું કે કયા પ્રકારના માલવેર જોવા મળ્યા હતા, અને કઈ યુક્તિઓ, તકનીકો અને પ્રક્રિયાઓ સૌથી વધુ પસંદ કરવામાં આવી છે. અમે અસ્પષ્ટતા અને સંભવિત સમીક્ષકોથી તેઓ કેવી રીતે છુપાવવાનો પ્રયાસ કરે છે, શોધ ટાળવા માટે ચોરી કરવાની તકનીકો અને ટેલિમેટ્રી અને લેટરલ મૂવમેન્ટ સાથે તેઓ કેવી રીતે વિકસિત થઈ રહ્યા છે તેની તપાસ કરીશું. કૃપા કરીને જોડાયેલા રહો!
સંદર્ભ
- બેકસ્ટેબરનો છરી સંગ્રહ: ઓપન સોર્સ સોફ્ટવેર સપ્લાય ચેઇન હુમલાઓની સમીક્ષા. એમ. ઓહ્મ વગેરે, મે 2020.
- ઓપન સોર્સ માલવેર પ્રોટેક્શન. ઝાયજેની તરફથી શ્વેતપત્ર.
- Software Supply Chain Security ભૂતકાળનું અવલોકન: 2024 ને વધુ સુરક્ષિત બનાવવું. ઝાયજેની તરફથી રિપોર્ટ.







