የሶፍትዌር ልማት በሶፍትዌር አቅርቦት ሰንሰለት የህይወት ዑደት ውስጥ እየገፋ ሲሄድ፣ የጥቅል ደረጃው እንደ ወሳኝ መጋጠሚያ ሆኖ ብቅ ይላል፣ የምንጭ ኮድን ለስርጭት ወደተዘጋጁ ተፈጻሚ ቅርሶች ይለውጣል። ሆኖም ግን፣ ይህ ወሳኝ ደረጃ ከተጋላጭነት ነፃ አይደለም፣ ይህም የሶፍትዌር ታማኝነትን እና ደህንነትን ለማዳከም ለሚፈልጉ ተንኮል አዘል ተዋናዮች ዋና ኢላማ ያደርገዋል። ይህ የብሎግ ልጥፍ በዚህ ደረጃ ሊከሰቱ የሚችሉ የተለመዱ ስጋቶችን በጥልቀት ይመረምራል እና እነሱን ለመቀነስ ውጤታማ ስልቶችን ይዘረዝራል። ይህ ይዘት የብሎግ ተከታታዮቻችንን ማሰስ እንደ ቀጣይ ሆኖ ያገለግላል። software supply chain security በመላ SDLC.
በሶፍትዌር ልማት የህይወት ዑደት ውስጥ የጥቅል ደረጃ
የሶፍትዌር አቅርቦት ሰንሰለት የህይወት ዑደት የጥቅል ደረጃ ለተጠቃሚዎች ለማሰራጨት ሶፍትዌርን የማሸግ እና የማዘጋጀት ሂደትን ያካትታል። ይህ ደረጃ የመጫኛ ፓኬጆችን መፍጠር፣ ጥገኛዎችን ማስተዳደር እና ለሶፍትዌሩ ሜታዳታ ማመንጨትን ያካትታል።
የግንባታ ታማኝነት ስጋቶች አጥቂዎች በማሸጊያ ሂደቱ ወቅት በሶፍትዌሩ ላይ ያልተፈቀዱ ለውጦችን እንዲያስተዋውቁ የሚያስችሏቸው ተጋላጭነቶች ናቸው። እነዚህ ስጋቶች እንደ የጥቅል መዝገብን ማበላሸት፣ በማሸጊያ መሳሪያዎች ውስጥ ያሉ ተጋላጭነቶችን መጠቀም ወይም የሶስተኛ ወገን ጥገኝነቶችን ማዛባት ባሉ የተለያዩ ዘዴዎች ሊገቡ ይችላሉ።
በዘመናዊ ሶፍትዌሮች ውስጥ በክፍት ምንጭ ክፍሎች ላይ ያለው ሙሉ ጥገኝነት ይህንን ደረጃ በጣም ተደጋጋሚ ያደርገዋል SSCA ዒላማ። በታዋቂ ክፍት ምንጭ አካል ውስጥ ስውር ማልዌርን ማስተዋወቅ ለብዙ የሳይበር ወንጀለኞች ህልም ነው። ለዚህም ነው ከሚከተሉት በላይ በ2023 245,000 ተንኮል አዘል ፓኬጆች ተገኝተዋል.
ምሳሌዎች Software Supply Chain Security በፓኬጅ ደረጃ ላይ ያሉ ስጋቶች

የተጎዳ ፓኬጅ ይጠቀሙ
ይህ የሚያመለክተው በጠላት የተዛባ ወይም የተሻሻለ የሶፍትዌር ፓኬጅን የማሰማራት ወይም የመጠቀም ተግባርን ነው።
ይህ ፓኬጁ ከኦፊሴላዊው የጥቅል መዝገብ ቤት ከወጣ በኋላ ሊከሰት ይችላል፣ በቀጥታ ወደ ተጠቃሚው ስርዓት በመድረስ ወይም ተጠቃሚው ተንኮል አዘል ፓኬጅ እንዲያወርድ ወይም እንዲጭን በሚያታልሉ የማህበራዊ ምህንድስና ስልቶች። የዚህ ቬክተር ምሳሌ የሚከተለው ነው ብሮውዘርፋይ የፊደል አጻጻፍ ጥቃት።
አንድ አጥቂ፣ የሊኑክስ እና የማክ ስርዓቶችን ለማበላሸት ሲፈልግ፣ Browserify የተባለ ታዋቂ የNode.js ቤተ-መጽሐፍት የልማት ሂደት ውስጥ ዘልቆ ገባ። አጥቂው ተንኮል አዘል ኮድ በNPM ጥቅል መዝገብ ቤት በኩል ለማሰራጨት በማሰብ በፕሮጀክቱ ምንጭ ኮድ ውስጥ አስገብቷል። የተበከለው የBrowserify ጥቅል ወደ NPM ከተሰቀለ በኋላ፣ ያልጠረጠሩ ገንቢዎች ህጋዊ ስሪት እንደሆነ በማመን አውርደው ይጭኑታል። በጥቅሉ ውስጥ የተካተተው ተንኮል አዘል ኮድ በጸጥታ ይሰራል፣ ይህም በበሽታው የተለከፉትን ስርዓቶች ትክክለኛነት ይጎዳል። ይህ ለአጥቂው የውሂብ ስርቆት፣ የስርዓት አለመረጋጋት ወይም የርቀት መዳረሻን ሊያስከትል ይችላል።
የስምምነት ፓኬጅ መዝገብ ቤት
የተጎዳ የጥቅል መዝገብ ማለት ያልተፈቀደ የመዝገብ ቤቱን የአስተዳደር በይነገጽ ወይም መሠረተ ልማት መዳረሻ ባገኘ ጠላት ሰርጎ የገባ የሶፍትዌር ማከማቻ ነው።
ይህ ተቃዋሚው ህጋዊ የሆኑ የሶፍትዌር ፓኬጆችን በተንኮል አዘል ፓኬጆች እንዲቀይር ወይም እንዲተካ ያስችለዋል፣ ከዚያም ያለምንም ጥርጥር ለተጫኑ ተጠቃሚዎች ሊሰራጭ ይችላል። የዚህ ዓይነቱ ስጋት ምሳሌ በፓኬጅ መስተዋቶች ላይ ጥቃት፡ አንድ ተመራማሪ፣ ክፍት ምንጭ ሶፍትዌርን ለማስተዋወቅ በማሰብ፣ ማቨን ሴንትራል፣ ኤንፒኤም እና ሩቢጌምስን ጨምሮ በርካታ ታዋቂ የጥቅል መዝገቦችን አደጋ ላይ ጥሏል። ተመራማሪው እነዚህን መዝገቦች በማግኘት፣ የመጀመሪያዎቹን ማከማቻዎች መስተዋቶች እና ቅጂዎችን መፍጠር ችሏል፣ ይህም ገንቢዎች ፓኬጆችን ለማውረድ ምቹ አማራጭ ሰጥቷል።
ይሁን እንጂ፣ እነዚህ መስተዋቶች አንድ አደገኛ ዓላማ ነበራቸው። የተጠለፉት መስተዋቶች ተመራማሪው ተንኮል አዘል ፓኬጆችን ለማሰራጨት እንደ ማስተላለፊያ ሆነው አገልግለዋል። እነዚህ ፓኬጆች በዋና ዋና መዝገቦች ሳይታወቁ ትክክለኛዎቹን ተክተዋል፣ እና ያልተጠረጠሩ ገንቢዎች ሳያውቁ አውርደው ጭነዋል። አንዴ ከተጫኑ በኋላ፣ እነዚህ ተንኮል አዘል ፓኬጆች የክፍያ ጭነታቸውን ለቀቁ፣ የዘፈቀደ ኮድ መፈጸም፣ ሚስጥራዊ መረጃዎችን መስረቅ ወይም ስራዎችን ማስተጓጎል።
የተሻሻለውን ጥቅል ስቀል
አንድ ጠላት የተሻሻለ ፓኬጅ ወደ ማከማቻ ወይም የስርጭት ቻናል ይሰቅላል፤ ይህም ተንኮል አዘል ኮድ ወይም የክፍያ ጭነቶችን የያዘ ነው። ይህ የጥቅሉን የምንጭ ኮድ፣ ማሸጊያ ወይም ሜታዳታ በማሻሻል ሊከናወን ይችላል።
የዚህ ዓይነቱ ስጋት በጣም ከሚታወቁት ውስጥ አንዱ ነበር የኮድኮቭ ጥቃት በ2021. ታዋቂ የሆነ ቀጣይነት ያለው ውህደት እና ቀጣይነት ያለው አቅርቦት የሆነውን CodeCov በመጠቀም የሶፍትዌር ፕሮጀክቶችን ለማጥቃት የሚፈልግ አጥቂ (CI/CD) መሳሪያ፣ የተለቀቀውን የማረጋገጫ መረጃ ተጠቅሟል፣ ወደ ፕሮጀክቱ የGoogle Cloud Storage (GCS) ባልዲ ያልተፈቀደ መዳረሻ ለማግኘት። አጥቂው የGCS ባልዲውን መድረስ እንደጀመረ፣ የተሻሻለ የኮድኮቭ ጥቅል ስሪት የሆነ ተንኮል አዘል ቅርስ ሰቅለዋል፣ ይህም በCodeCov አገልግሎት በኩል ለተጠቃሚዎች ተሰራጭቷል። በራስ-ሰር የማዘመኛ ባህሪ ላይ የተመሰረቱ ያልተጠረጠሩ ገንቢዎች፣ ተንኮል አዘል ፓኬጁን አውርደው ይጭኑታል፣ ህጋዊ እንደሆነ በማመን። አንዴ ከተጫነ በኋላ፣ ተንኮል አዘል ኮዱ በጸጥታ ይሰራል፣ ይህም በበሽታው የተለከፉትን ስርዓቶች ትክክለኛነት ይጎዳል። ይህ ወደ የውሂብ ስርቆት፣ የስርዓት አለመረጋጋት ወይም ለአጥቂው የርቀት መዳረሻ እንኳን ሊያመራ ይችላል።
በፓኬጅ መዝገቦች ላይ የሚፈጸሙ ጥቃቶች በጣም የተለመዱ ከመሆናቸው የተነሳ አንዳንድ የጥቃት ቅጦች ስም አግኝተዋል፦
In የታይፖስኳቲንግመጥፎው ተዋናይ ወደ መዝገቡ ውስጥ ጥቂት የፊደል ስህተቶች ወይም ተመሳሳይ ስሞችን ከትክክለኛ፣ ታዋቂ ከሆኑ ስሞች ጋር ይሰቅላል፣ ገንቢዎች የታሰበውን የጥቅል ስም በተንኮል አዘል ፊደል ይጽፋሉ ብለው ተስፋ በማድረግ። ብዙውን ጊዜ ተንኮል አዘል ፓኬጁ ሳይታወቅ እንደ ትክክለኛ ፓኬጅ ሆኖ ይታያል፣ ይህም በኮከብ እይታ የመመታት እድልን ይጨምራል።
የጥገኝነት ግራ መጋባት አንዳንድ የጥቅል አስተዳዳሪዎች የተጠየቁትን ፓኬጆች ከብዙ መዝገቦች የሚፈቱበትን መንገድ ይጠቀማል። አንድ ድርጅት በውስጣዊ መዝገብ ቤት ውስጥ የታተሙ ውስጣዊ ክፍሎችን ሲጠቀም፣ እውነታውን የሚያውቅ አጥቂ በሕዝብ መዝገብ ቤት ውስጥ ተመሳሳይ ስም ያለው ተንኮል አዘል አካል ሊያትም ይችላል። ለውስጣዊው ክፍል ጥቅም ላይ የዋለው ስም ካልተገደበ፣ አንዳንድ የጥቅል አስተዳዳሪዎች ከውስጣዊው ይልቅ ተንኮል አዘል ክፍሉን ያመጣሉ።
ጋር የትሮያን ፓኬጆችየሳይበር ወንጀለኛ ተንኮል አዘል ዌርን ከጠቃሚ ትክክለኛ ኮድ ጋር ይደብቃል። ይህ በእውነተኛው ደራሲ ወይም ፓኬጁን ለማቆየት እራሱን በሚያቀርብ አስተዋጽዖ አበርካች ጥቅም ላይ ሊውል ይችላል። ይህ ደግሞ በመባል ይታወቃል። የፓኬጅ ጠለፋአጥቂዎች እንደ የጎራ መውሰጃ የድሮውን የአስተናጋጅ ኢሜይል እንደገና የፈጠረው እና የአስተዳዳሪ መለያውን ለመቆጣጠር የይለፍ ቃል መልሶ ማግኛ ያከናወነው አጥቂ የተተወ ጊዜ ያለፈበት ጎራ ተወሰደ።
የመጨረሻ ማሳሰቢያዎች
ድርጅቶች አውቶሜሽንን እና ቀጣይነት ያለው አቅርቦትን ቅድሚያ የሚሰጡ የሶፍትዌር ልማት ዘዴዎችን እየተጠቀሙ ሲሄዱ፣ የሶፍትዌር ፓኬጅ ደረጃን የማስጠበቅ አስፈላጊነት ከዚህ የበለጠ ወሳኝ ሆኖ አያውቅም። በዚህ ወሳኝ ምዕራፍ ውስጥ ጠንካራ የደህንነት እርምጃዎችን በመተግበር፣ ድርጅቶች የሶፍትዌራቸውን ታማኝነት እና ደህንነት አደጋ ላይ ሊጥሉ ለሚችሉ ተንኮል አዘል ጥቃቶች የመሸነፍን አደጋ በእጅጉ ሊቀንሱ ይችላሉ።
በዚህ የብሎግ ልጥፍ ውስጥ የተገለጹት ስልቶች ከቀረቡት ምሳሌዎች ጋር፣ የጥቅል ደረጃው በሶፍትዌር አቅርቦት ሰንሰለት ውስጥ ተጋላጭ የሆነ ነጥብ እንደሚወክል ግልጽ ማሳሰቢያ ሆነው ያገለግላሉ። ድርጅቶች እነዚህን ስጋቶች ማክበር እና ሶፍትዌሮቻቸውን ከጥቃት ለመጠበቅ አስፈላጊውን የደህንነት እርምጃዎችን መተግበር አለባቸው። ይህን በማድረግ፣ ለተጠቃሚዎቻቸው እና ለደንበኞቻቸው የሶፍትዌራቸውን ታማኝነት፣ ደህንነት እና አስተማማኝነት ማረጋገጥ ይችላሉ።
ደህንነቱ የተጠበቀ የሶፍትዌር ሥነ-ምህዳር ለማግኘት ጉዞአችንን ይቀላቀሉ
በነገው ዓለም ውስጥ አንድ እርምጃ ወደፊት የመቆየት እድሉን እንዳያመልጥዎት software supply chain securityዛሬውኑ ለብሎጋችን ይመዝገቡ እና የቅርብ ጊዜ ግንዛቤዎቻችንን ከተቀበሉት የመጀመሪያዎቹ መካከል ይሁኑ፣ ይህም ድርጅትዎ በዝግመተ ለውጥ ስጋት ውስጥ ሆኖ ጠንካራ እና ደህንነቱ የተጠበቀ ሆኖ እንዲቀጥል ያረጋግጣል። አንድ ላይ ሆነን ለሁሉም ሰው የበለጠ ጠንካራ እና ደህንነቱ የተጠበቀ የሶፍትዌር ሥነ-ምህዳር መገንባት እንችላለን።
አስታውሱ, software supply chain security ቀጣይነት ያለው ጉዞ እንጂ መድረሻ አይደለም። ድርጅቶች አዳዲስ ስጋቶችን ለመፍታት የደህንነት ልምዶችን በተከታታይ በመገምገም እና በማስተካከል የሶፍትዌር አቅርቦት ሰንሰለታቸውን መጠበቅ እና ለተጠቃሚዎቻቸው የታመነ ሶፍትዌር ማቅረብ ይችላሉ።
የቪዲዮ ማሳያችንን ይመልከቱ







