ይህ በክፍል ውስጥ ሦስተኛው ክፍል ነው ተከታታይ መጣጥፎች ስለ በጣም የተለመዱ የሶፍትዌር አቅርቦት ሰንሰለት ጥቃቶች፡- የህዝብ መዝገብ ቤትን አላግባብ የሚጠቀሙ ክፍት ምንጭ የሶፍትዌር ክፍሎች። በቀደመው ክፍል "ከተተነተነ በኋላ"የተንኮል አዘል ፓኬጆች አወቃቀር፡ አዝማሚያዎች ምንድን ናቸው?"መጥፎ ተዋናዮች ተንኮል አዘል ባህሪን ወደ አዲስ ወይም ነባር የታተሙ ክፍሎች እንዴት እንደሚያስገባ፣ የእሳት አደጋ መከላከያ ጃኬቶቻችንን ለመልበስ እና በዚህ መንገድ የሚቀርቡ ተንኮል አዘል ሶፍትዌሮችን እንዴት በተሳካ ሁኔታ ማገድ እንደምንችል ለመመርመር ወይም በአማራጭ፣ የተሳሳተ አካሄድ ስለወሰድን ከባድ የሳይበር ክስተትን ለመቋቋም ዝግጁ ነን።"
አብዛኛዎቹ የደህንነት እውቀት ያላቸው ባለሙያዎች ይህንን ስጋት እንዴት መቋቋም እንደሚችሉ ሀሳብ አላቸው። የደህንነት አስተዳዳሪዎች ያለምንም ማመንታት እንዲህ ሲሉ ሰምተናል SCA መሳሪያዎች የጥቅል ስሪት ማልዌር መቼ እንደሆነ አስቀድመው ይነግሩዎታል። ወይም ደግሞ ማንኛውም ማልዌር በፍጥነት የሚታወቅበት እና የሚወገድበት በሚታወቁ እና በከፍተኛ ደረጃ በተገመገሙ የሶፍትዌር ክፍሎች ላይ የተመሰረቱ መሆናቸውን ያሳያል። የተጋላጭነት ጥገናዎችን በራስ-ሰር ለማግኘት ክፍት ጥቃቅን/ጥገና ስሪቶችን ይጠቀማሉ፣ እና ይህ በክፍት ምንጭ ጥገኝነቶች ላይ ያለውን አደጋ ለመቀነስ ትክክለኛው እና የሚመከር መንገድ ነው፣ የሚከተለውን በመከተል “ቀደም ብሎ ይጠግኑ፣ ብዙ ጊዜ ይጠግኑ”መርህ ፡፡
በዚህ ክፍል፣ እነዚህ ሀሳቦች ለምን የተሳሳቱ እንደሆኑ እና እንደዚህ ያሉ የተሳሳቱ አመለካከቶች ለዚህ የጥቃት ዘዴ ተወዳጅነት እና ድርጅቶች እያጋጠሟቸው ላለው ከፍተኛ አደጋ አስተዋጽኦ እያደረጉ እንደሆነ እንገመግማለን። የሚሰራውን እና የተሳተፈውን ጥረት እና ግብዓቶች እንጨርሳለን።
የተለመዱ የተሳሳቱ አመለካከቶች
በሶፍትዌር ደህንነት ጉዞአችን ወቅት፣ የጥቃት ቴክኒኮች እየተሻሻሉ ሲሄዱ እና ከደህንነት ጠንቃቃ ሰዎች የተውጣጡ የተለያዩ ሀሳቦችን አይተናል። ድርጅቶች ብዙውን ጊዜ ከዚህ ስጋት ጋር ምን እንደሚሰራ በተሳሳተ መንገድ ይረዱታል፣ ስለዚህ በመጀመሪያ የማይሰራውን እንመረምራለን፣ በሚከተለው ዝርዝር ውስጥ ተጠቃሎ፣ ሙሉ በሙሉ ሳይሆን፣ የተሳሳቱ አመለካከቶችን እንመረምራለን።
የተሳሳተ ግንዛቤ #1፡ SCA መሳሪያዎች ተንኮል አዘል ክፍሎችን አስቀድመው ሪፖርት ያደርጋሉ
በእርግጥም! ግን እውነታው ከተከሰተ በኋላ… ኤለመንቱ በሶፍትዌር ግንባታ ውስጥ ጥቅም ላይ ከዋለ እና መጥፎ ተዋናዮች ቀድሞውኑ በገንቢ ወይም በገንቢ ውስጥ ቦታ ካገኙ ምናልባት በጣም ዘግይቶ ሊሆን ይችላል መቼ ነው? CI/CD አስተናጋጅ። ምስጢሮች ተፈትተው፣ ተጨማሪ ማልዌር ወርደው ተጭነው ሊሆን ይችላል፣ እና ምናልባት ጠላት ወደ ጎን ተንቀሳቅሶ ወደ ሌላ ቦታ መድረስ ችሏል።
የሶፍትዌር ቅንብር ትንተና (SCA) መሳሪያዎች ሊታወቁ የሚችሉ ተጋላጭነቶችን ለመለየት የተነደፉ ናቸው። ዘመናዊ መሳሪያዎች የምልክት-ጫጫታ ጥምርታን በመጨመር፣ ተጋላጭነቱ በእርግጥ ሊደረስበት የሚችል ወይም ሊበዘበዝ የሚችል መሆኑን በመለየት ጥሩ ስራ ይሰራሉ። ነገር ግን በአዲሱ ማልዌር ላይ ምንም ፋይዳ የላቸውም። ተንኮል አዘል አካልን እንደ ዜሮ-ቀን ተጋላጭነት ያስቡት፡ ተንኮል አዘል ባህሪው ሲታወቅ ብቻ፣ ክፍሉ ለይዞታ መዝገብ ሪፖርት ይደረጋል፣ ይህም በደህንነት ቡድን ግምገማ ከተደረገ በኋላ ተንኮል አዘል እንደሆነ ተረጋግጦ ከመዝገቡ ይወገዳል። [1].
በዚያን ጊዜ ዓለም (ጨምሮ) SCAs) ክፍሉን (ወይም የአንድ ነባር አካል አንዳንድ ስሪቶችን) መጫን ወይም መጠቀም ጥሩ ነገር እንዳልሆነ ያውቃል። ነገር ግን ይህ የሚሆነው ክፍሉ ከመዝገቡ ላይ በማይገኝበት ጊዜ ነው።በሶስተኛ ወገን ክፍሎች ወይም በመዝገቡ ተንኮል አዘል ተብለው የተመደቡ ክፍሎች ላይ እንኳን ተጋላጭነቶች እንዳሉብኝ ማወቅ ጥሩ ነው፣ ግን በሚያሳዝን ሁኔታ SCA ወይም የተለመዱ የኦዲት መሳሪያዎች በዚህ አውድ ውስጥ አይረዱም። ካልሆነ በስተቀር SCA/ኦዲት መሳሪያ አንድ አካል በድርጅትዎ ውስጥ ጥቅም ላይ ከመዋሉ በፊት ተንኮል አዘል መሆኑን አስቀድሞ ማወቅ ይችላል.
ያስታውሱ፣ በተንኮል አዘል ክፍት ምንጭ ክፍሎች ላይ የሚቀርብ ማንኛውም መፍትሔ እነሱን ማግኘት አለበት በመብረር ላይ, ክፍሉ በመዝገብ ቤት ውስጥ በሚታተምበት ጊዜ እና ክፍሉ (ስሪት) በድርጅትዎ ውስጥ ለመጀመሪያ ጊዜ ጥቅም ላይ በሚውልበት ጊዜ መካከል። እና ያ ደግሞ ጊዜያዊ ክፍሎችን ያካትታል።
የተሳሳተ ግንዛቤ #2፡ በግንባታ ጊዜ የመጫኛ ስክሪፕቶችን መቆጣጠር ከክፍት ምንጭ ክፍሎች የሚመጡ ተንኮል አዘል ባህሪያትን ይከላከላል
የተለያዩ የጥቅል አስተዳዳሪዎች ስክሪፕቶችን የማስኬድ ችሎታ ይሰጣሉ (በክፍሉ ታርቦል ውስጥ ተካትቷል) [2]), እንደ አስፈላጊ የሆኑ ነገሮችን በተለያዩ መድረኮች ላይ ማጠናቀር፣ ኮድ ማመንጨት ወይም ሙከራዎችን ማስኬድ ባሉ ሕጋዊ ምክንያቶች፣ እና ሁላችንም ተንኮል አዘል ስክሪፕቶች በታርቦል ውስጥ ከተካተቱ ወይም አጥቂው ጥሩውን ሳይሆን ተንኮል አዘል ስክሪፕት እንዲሰራ ማድረግ ከቻለ በመጥፎ ተዋናዮች ሊበደሉ እንደሚችሉ ሁላችንም ማወቅ አለብን።
ይህንን በማወቅ፣ የጥቅል አስተዳዳሪውን ስክሪፕቶችን ችላ እንዲል ማዋቀር እንችላለን። ለምሳሌ፣ በNPM -አይመልከቱ-ስክሪፕቶች ባንዲራ (ወይም የውቅር ባህሪ በ ውስጥ .npmrc ፋይል) በመጫን ጊዜ ስክሪፕቶቹን ይዘላል። ይህ ስክሪፕቶችን ማስኬድ በብዙ ሥነ-ምህዳሮች ውስጥ የተለመደ ስለሆነ አንዳንድ ችግሮችን ሊያስከትል ይችላል፡ አንዳንድ የጥቅል አስተዳዳሪዎች የስክሪፕት አፈፃፀምን እንኳን ማሰናከል እንኳን አይፈቅዱም (ፍንጭ፡ ፕሮምፕል “የትኛዎቹ የጥቅል አስተዳዳሪዎች የጭነት ስክሪፕቶችን አፈጻጸም ማሰናከል አይፈቅዱም?"በሚወዱት AI ውስጥ")። ግን ይህ በአጠቃላይ አይከላከልም (የመዝለል ማሰናከል ውቅር በሁሉም ቦታ መሆኑን ማስፈጸም አለብን)።
እና ተንኮል አዘል ባህሪው በመጫኛ ስክሪፕቶች ውስጥ ሳይሆን በሂደት ላይ በሚሰራው ሶፍትዌር ውስጥ ሲገኝ፣ ይህ አማራጭ ብቻውን አይጠብቀንም።
የተሳሳተ ግንዛቤ #3፡ የስሪት ፒን ማድረግ ተንኮል አዘል አካላት እንዳይጫኑ ይከላከላል
ቀደም ብሎ እና ብዙ ጊዜ በፕላስተር መካከል ልዩነት አለ ክፍት ስሪቶች (የጥቅል አስተዳዳሪው ለደህንነት ጥገናዎች ሲገኙ አዳዲስ ዝመናዎችን በራስ-ሰር እንዲጭን መፍቀድ) እና የስሪት ፒንንግ (በቋሚ ስሪት ላይ ለሶፍትዌር ሁሉንም ቀጥተኛ እና ጊዜያዊ ጥገኝነቶች አሉት)። የደህንነት መርሆዎቹ ግትር እና አንዳንድ ጊዜ እርስ በርስ የሚጋጩ ናቸው፣ ልክ እንደ “ቀደም ብሎ መጠገን፣ ብዙ ጊዜ መጠገን” እና "ማሻሻያ ቀላል ተደርጎ መታየት የለበትም". አንዳንድ የጥቅል አስተዳዳሪዎች በአገልጋይ ክልሎች አውቶማቲክ ዝማኔዎችን ያደርጋሉ የሚመከር መንገድ። እንዲሁም ተንኮል አዘል ዝማኔዎችን መቀበል ከፈለጉ በጣም ጥሩ ነው! አዎ፣ ተጋላጭነቶችን በተቻለ ፍጥነት የሚዘጉ የደህንነት ጥገናዎችን ለመቀበል ክፍሎች መዘመን አለባቸው፣ ነገር ግን ... የጥቅል አስተዳዳሪው ይህንን በራስ-ሰር እንዲያደርግ በፍጹም አይፍቀዱለት።
የተሳሳተ ግንዛቤ #4፡ የታመኑ ክፍሎችን መጠቀም ደህንነቱ የተጠበቀ ነው። ማንኛውም ተንኮል አዘል ስሪት ወዲያውኑ ተገኝቷል፣ ይፋ ይደረጋል እና ይወገዳል።
አንድ አካል ለምን እምነት የሚጣልበት ነው? ምናልባትም በጣም ተወዳጅ ስለሆነ፣ ብዙ ተጋላጭነቶችን የሚሹ፣ ለጥገና ብዙ አስተዋፅዖ አበርካቾች ያሉት፣ ሁሉንም ነገር በትጋት የሚገመግሙ በርካታ ዋና ዋና ባለሙያዎች ስላሉት ሊሆን ይችላል። pull requestsእውነታው ግን በጣም የተለየ ነው። አንዳንድ አስፈላጊ ክፍሎች በአንድ ያልተከፈለ ገንቢ ይጠበቃሉ። በስፋት ጥቅም ላይ የዋሉ ማዕቀፎች ጥቂት መደበኛ አስተዋፅዖ አበርካቾችቁጥር በፍጥነት እየቀነሰ በመምጣቱ commits በአንድ አስተናጋጅ (ታዋቂ ፕሮጀክቶች የተወሰነ ተነሳሽነት የሚያከናውኑ ረጅም አስተዋፅዖ አበርካቾች አሏቸው commit እና በፍጹም አትመለስም)። እና አንድ አስተናጋጅ ያላቸው ታዋቂ ፕሮጀክቶች በብዛት ይገኛሉ።
ራስህን እንዲህ ስትል አስብ «ኦህ፣ የጸደይ ቡት / አንጉላር / ሪአክት / ፓይቶርክ / ኦፊሴላዊ የዶከር ምስሎችን እየተጠቀምን ነው፣ ስለዚህ የምትናገረው አደጋ በጣም ዝቅተኛ ነው።» ምናልባት ያ እውነት ሊሆን ይችላል፣ እኛ የደህንነት አቅራቢዎች ሁልጊዜ የምንፈራ እና አከራካሪ ስጋትን ለመቀነስ በልማት ቡድኖች ውስጥ ጣልቃ የምንገባ ከሆነ ከንቱ ነገር ነው። ወደ አደጋ ተቀባይነት አንቀጽ (በሚቀጥለው ክፍል) ለመዝለል እና ሁሉም ነገር ተጠናቅቋል። በሚያሳዝን ሁኔታ፣ በጣም ተወዳጅ የሆኑት ክፍሎች ለመጥፎ ተዋናዮች ኢላማዎች ናቸው፣ እና ለምሳሌ፣ ታዋቂው የፒቶርክ ቤተ መጻሕፍት ጥቃት ደረሰበት በፊት.
"በፍጥነት ተገኝቷል፣ ይፋ ተደርጓል እና ተወግዷል።" አዲስ ተንኮል አዘል አካል ከሕዝብ መዝገብ ላይ እስኪወገድ ድረስ ቀናት ይወስዳል። መዝገቦች የክፍል ስሪትን ለማስወገድ ጥንቃቄ ያደርጋሉ፣ ለበጎ። የእኛ ልምድ አንድ ጊዜ ከእኛ ወገን ሪፖርት ከተደረገ በኋላ፣ መዝገቡ የተጎዳውን ስሪት ለማስወገድ አማካይ ጊዜ 39 ሰዓታት ነው፣ ከአንድ ቀን ተኩል በላይ። ከመወገዱ በፊት በመዝገቡ ውስጥ የመጀመሪያውን ሪፖርት ካደረግን ከአንድ ሳምንት በኋላ የሚቆዩ ተንኮል አዘል ክፍሎች አሉ። እና በአንዳንድ ሁኔታዎች፣ ክፍሉ የሚወገደው ተጎጂ ወይም የአደጋ ምላሽ ሰጪ ኩባንያ ክፍሉን የሚያካትት ክስተት ሪፖርት ካደረገ በኋላ ብቻ ነው።
በተንኮል አዘል ክፍሎች ላይ የማይሰራው ምንድን ነው?
ማንኛውም የተለየ አካሄድ በክፉ ይከሽፋል። ይህ እርግጠኛ ነው፣ ከዚህ ስጋት ጋር ተያይዞ ለሚመጣው አደጋ ውጤታማ የመከላከያ እርምጃዎችን እየሰጡ አይደለም።
ባህላዊ SCA መሳሪያዎች ስለታወቁ ማልዌር ይነግሩዎታል ነገር ግን ትልቅ የመጋለጥ መስኮት አላቸው። ተንኮል አዘል ክፍሎችን በግዳጅ በማገድ ማልዌርን በንቃት ካላወቁ በስተቀር፣ ይህንን ስጋት አይቋቋሙም።
የመጫኛ ስክሪፕቶችን ማሰናከል ሊረዳ ይችላል ነገር ግን አንድ አካል መጫን በሚያስፈልግበት ቦታ ሁሉ መተግበር አለበት። ልክ እንደ ስሪት ፒንኒንግ፣ ስሪቶች ከአስተማማኝ የመጀመሪያ ሁኔታ ለዘላለም ሊሰኩ እንደማይችሉ ሁሉ።
ታዋቂ አካላት በቂ ትኩረት ስለሚያገኙ እና ምንም አይነት ጉዳት እንዳይደርስባቸው ወዲያውኑ ሳይታወቅ በአቅርቦት ሰንሰለት ጥቃት ውስጥ ያልተፈለገ ባህሪ እንዳያገኙ ማድረግ እንደማይቻል መገመት ሞኝነት እና አደገኛ ነው። በጫፍ ላይ መኖር አትፈልግም፣ አይደል?
በዚህ ነጥብ ላይ ካቆምክ፣ የአደጋ ተቀባይነት ማድረግ የምትችለው ብቸኛው ነገር ይህ ነው፡ ይህ ዴ ነውcisበስጋት ሞዴልዎ/አደጋ ግምገማዎ ውስጥ መመዘገብ ያለበት ክስ፣ ይህም አደጋውን ለመቀበል ምክንያት እና ሊያስከትል የሚችለውን አንድምታ ጨምሮ። ለአስተዳደር እና ለሌሎች ተዛማጅ አካላት በማስተላለፍ ግንዛቤን ያሳድጉ። ተከላካይነት ተንኮል አዘል አካል ሲጫን ወይም በሶፍትዌርዎ ውስጥ ሲካተት ሊታቀድ ይችላል፣ ነገር ግን ይህ ከባድ ነው ምክንያቱም አጥቂዎች የሚከተሏቸው ብዙ መንገዶች ስላሏቸው። ተንኮል አዘል አካልን በመጠቀም ላይ የተመሰረተ የአቅርቦት ሰንሰለት ጥቃት ዝርዝር ሁኔታውን በይፋ ይፋ ማድረግን በእጅጉ ይለውጠዋል፣ ይህም ምናልባት በድርጅትዎ የቁጥጥር ማዕቀፍ መሠረት ግዴታ ነው። እንዲሁም ሊመልሱት ይችላሉ። የማካካሻ መቆጣጠሪያዎች or የዝውውር አደጋ ለምሳሌ ከኢንሹራንስ ጋር።
ሆኖም ግን፣ ስጋቱን የሚያስተካክሉ ቁጥጥሮች አሉ እና በአደጋ ተቀባይነት ካልረኩ ግምት ውስጥ መግባት አለባቸው። እባክዎ ያንብቡ።
ተንኮል አዘል ክፍሎችን በመጠቀም የሚሰነዘሩ ጥቃቶችን ለመከላከል ምን ይሰራል?
ጠንካራ የስሪት አያያዝ
የተቆጣጠሩ እና በመረጃ ላይ የተመሰረቱ የስሪት እብጠቶችን በመጠቀም የስሪት መሰካት ዋናው መንገድ ተንኮል አዘል ዌር ሳይቀበሉ ተጋላጭነቶችን የማስወገድ አስፈላጊነትን ማመጣጠን ነው። ነገር ግን የተሳሳተ ግንዛቤ #3፡ የስሪት መሰካት ብቻውን ከአዳዲስ ስሪቶች የሚመጡ ተንኮል አዘል ኮዶችን ለማገድ በቂ አይደለም፣ ምክንያቱም ወደፊት በማንኛውም ቀጥተኛ ወይም ቀጥተኛ ያልሆነ ጥገኝነት ስሪቶችን ማዘመን ያስፈልግዎታል። በዚያን ጊዜ ሁሉም የተሻሻሉ ስሪቶች ተንኮል አዘል ዌር እንደሌላቸው በቂ ማስረጃ ያስፈልግዎታል።
ቅድመ ማስጠንቀቂያ
የተንኮል አዘል አካላትን ችግር ለመፍታት አንዱ አቀራረብ የቅድመ ማስጠንቀቂያ ስርዓት ነው (እዚህ የተሰየመው እንደ የማልዌር ቅድመ ማስጠንቀቂያ ወይም MEW)፣ አዲስ የታተሙ ስሪቶች (ለአዳዲስ ወይም ለነባር ክፍሎች) በፍተሻ ሞተር የሚተነተኑበት፣ በቂ ማስረጃ ሲገኝ አዲሱን ስሪት እንደ ተንኮል አዘል ሊሆን እንደሚችል ሊመድበው ይችላል።
አውቶሜሽን እዚህ ላይ አስፈላጊ ነው፣ ምክንያቱም ሁሉንም አዳዲስ ክፍሎች በአሁኑ የህትመት ፍጥነት በእጅ መገምገም አይቻልም። ስለዚህ የፍተሻ ሞተሩ የተለያዩ ቴክኒኮችን ማዋሃድ አለበት፣ ምናልባትም የማይንቀሳቀስ፣ ተለዋዋጭ እና የአቅም ትንተና፣ የተጠቃሚ ዝና እና በክፍል ሜታዳታ እና በታርቦል ይዘቶች መካከል ካለው ልዩነት የሚመጡ ማስረጃዎችን ወይም ክፍሉ ከሚመጣበት ታርቦል እና በምንጭ ማከማቻ መካከል ያሉ።
አሉ ነው ጨለማ ዞን በማተሚያ ጊዜ እና ሞተሩ የክፍሉን ይዘቶች በሚተነትንበት ጊዜ መካከል፣ ነገር ግን ከጥቂት ደቂቃዎች በላይ መብለጥ የለበትም። እቅዱ ሊሻሻል ይችላል፣ ለምሳሌ አዲስ ክፍሎች እንዲጫኑ እና በሶፍትዌሩ ግንባታ ውስጥ ጥቅም ላይ እንዲውሉ ከመፍቀዳቸው በፊት እስኪተነተኑ ድረስ በመጠበቅ። pipelineዎች፣ ወይም አስፈላጊ በሚሆንበት ጊዜ በፍላጎት ይተነትኗቸው። በተሰጠው ስሪት ላይ ያለ አካል የማይለወጥ ነው። [3]ስለዚህ አንድ ጊዜ ብቻ መተንተን ያስፈልገዋል።
ሙሉ አውቶሜሽን ማድረግ አይቻልም፣ እና ተንኮል አዘል ሊሆኑ የሚችሉ ክፍሎችን የደህንነት ግምገማ ያስፈልጋል። ከዲጂታል ፓናሲያ ደጋፊዎች ተጠንቀቁ፦ የAI እና የማሽን ለርኒንግ የተጠረጠረ አካል ተንኮል አዘል ዌር እንዳለበት ለማረጋገጥ የመጨረሻውን ቃል ለመቀበል በቂ አይደሉም። በእርግጥ የማሽን ለርኒንግ በፍተሻ ሞተሩ ውስጥ ከተያዘው ጥሬ ማስረጃ የግብዓት ክፍሉን በመመደብ ረገድ ቁልፍ ሚና ይጫወታል፣ ነገር ግን ክፍሉ "ከተገለለ" በኋላ የመጨረሻው ቃል በተንኮል አዘል ክፍሎች ልምድ ባለው የደህንነት ቡድን በእጅ ግምገማ ላይ ይሆናል። ይህ ማንኛውንም ሊሆኑ የሚችሉ ማልዌር ያረጋግጣል ወይም እንደ ደህንነቱ የተጠበቀ አድርጎ እንደገና ይመደባል። እና የጊዜ ገደቡ በሰዓታት ክልል ውስጥ ነው።
መዝገቡ ስለ ተንኮል አዘል ስሪት/ክፍሉ ሪፖርት ያደርጋል፤ ከዚያም መዝገቡ ለማረጋገጥ ግምገማውን ያካሂዳል እና ይፋዊ ይፋ ማድረግ እና ከመዝገቡ መወገድን ይቀጥላል። አንዳንድ መዝገቦች የደህንነት መያዣ ፓኬጅ ይይዛሉ። እዚህ ያለው የጊዜ ገደብ ከታተመበት ቀን ጀምሮ ባሉት ቀናት ወይም ሳምንታት ውስጥ ነው፣ ይህም 'መኖር'ወይም'የተጋላጭነት መስኮት'ለአብዛኛዎቹ ተንኮል አዘል ክፍሎች።
የአንድ አካል ስሪት ተንኮል አዘል መሆኑን ማወቅ ይቻላል?
ስለዚህ ለቅድመ ማስጠንቀቂያ፣ ለዚህ ጥያቄ አጥጋቢ መልስ መስጠት አለብን፡- ቤተ-መጽሐፍት ወይም ፓኬጅ ተንኮል-አዘል መሆኑን እንዴት አውቃለሁ? የተንኮል ባህሪን በቂ ማስረጃ እንዴት መሰብሰብ እችላለሁ? ተቃዋሚዎች እንዳይታወቅ ለማድረግ ብዙ ብልሃትን ስለሚጠቀሙ ሊሆን ይችላል፣ ግን አስቸጋሪ ነው። የተለያዩ አቀራረቦች አሉ፣ እያንዳንዳቸው ጥቅሞች እና ጉዳቶች አሏቸው።
የማይንቀሳቀስ ትንተና ሁሉንም የማስፈጸሚያ መንገዶችን መመርመር ይችላል፣ አጥቂዎች ክፍሉን ሳያሄዱ የሚጠቀሙባቸውን ቴክኒኮች መፈተሽ፣ እና እንደ ዲ-ኦብፉሴሽን ወይም ዲፊሲቴሽን ያሉ ቅድመ-ሂደት ተግባራትን ማከናወን ይችላል። አጥቂዎች ክፋታቸውን ለመደበቅ ሲሞክሩ፣ የማደብዘዝ ሙከራዎች በእርግጥ የማልዌር ማስረጃዎች ናቸው (ነገር ግን ህጋዊ አካላት የአእምሯዊ ንብረትን ለመጠበቅ ኮድን እንደሚደብቁ ልብ ይበሉ፣ ይህም ከ"" ጋር ይቃረናልክፍት ምንጭ")። ጠንካራ የሆነ የደበዘዘ ጥቃት ያላቸው በጣም የተራቀቁ ጥቃቶች ጥቂቶች ብቻ ሳንድቦክሲንግ ያስፈልጋቸዋል፣ ነገር ግን እንዲህ ዓይነቱ ጠንካራ የደበዘዘ ጥቃት የተንኮል ምልክት ነው። እባክዎ ባህላዊ መሆኑን ልብ ይበሉ። SAST መሳሪያዎቹ የተነደፉት ላልተጠበቁ ተጋላጭነቶች ነው፣ እንደ የኋላ በሮች ላሉ ተንኮል አዘል ዓላማዎች አይደለም።
ተለዋዋጭ ትንተና ክፍሉን ያሂዳል እና የሩጫ ጊዜውን በመሳሪያነት ይመረምራል፣ በተለይም በአሸዋ የተሞላ አካባቢ በማቅረብ። በተወሰኑ ሁኔታዎች ውስጥ የሚቀሰቀሱ ተንኮል አዘል ባህሪያት ሳይታወቁ ሊተላለፉ ይችላሉ፡ እባክዎ ማልዌር እንደ ማምለጫ ቴክኒኮችን ሊጠቀም እንደሚችል ልብ ይበሉ ምናባዊነት/የሳንድቦክስ ኢቫሽን በምርመራ ላይ በማይሆንበት ጊዜ ብቻ ለማግበር፣ እና እንዲሁም ለማንኛውም የማይንቀሳቀስ ትንታኔ ሞተር የተንኮል እንቅስቃሴ ምልክት።
የችሎታ ትንተና ክፍሉ ምን እንደሚያደርግ ያጤናል፡- የት እንደሚገናኝ፣ የትኞቹ ፋይሎች እንደሚደርሱበት፣ የትኞቹ ትዕዛዞች ወይም ፕሮግራሞች እንደሚሄዱ፣ ተርሚናል ወይም መሳሪያ I/O እንዳከናወነ ወይም የትኞቹ የስርዓት ጥሪዎች እንደተጠሩ ያጤናል። ይህ የባህሪ አሻራ ቀረጻ በተለያዩ ስሪቶች (ለነባር አካል) ሊወዳደር ይችላል፣ ስለዚህ ያልተጠበቀ ባህሪ ሲገኝ፣ ያ ማስረጃ በአዲሱ ስሪት ውስጥ ሊገባ የሚችል ተንኮል አዘል እንቅስቃሴ ጥርጣሬን ሊፈጥር ይችላል። ይህ አካሄድ የደህንነት ተንታኞች ሊከሰቱ የሚችሉ ተንኮል አዘል ዌር ሲገጥማቸው የሚከተሏቸውን የመለየት ደረጃዎች ይከተላል፡- ፍተሻን በመጠቀም ሕብረቁምፊዎች ወይም ተመሳሳይ መሳሪያዎች። ይህ አካሄድ ምንም አይነት የማስነሻ ሁኔታዎችን ሳይለይ ተንኮል አዘል ባህሪን የሚለይ ሲሆን የምንጭ ኮድ በማይገኝበት ጊዜም ይሰራል።
የአውድ ትንተና ክፍሉ እንዴት እንደታተመ እና በማን እንደታተመ መረጃ ይሰበስባል። የመጥፎ ተዋናዮች ዘመቻዎች ብዙውን ጊዜ ጥብቅ የማጣሪያ ሂደት የማይገዛ አዲስ የተጠቃሚ መለያ(ዎች) ይጠቀማሉ። ያለፈውን እንቅስቃሴ መከታተል ስለ ተጠቃሚው ግንዛቤ ሊሰጥ ይችላል፣ በአብዛኛው ሊከሰት የሚችል ስምምነትን ሊያመለክቱ የሚችሉ ያልተለመዱ ነገሮችን በተመለከተ። ዝና ለማግኘት በጣም ከባድ እና ለማጣት በጣም ቀላል ነው! ያለፈ እንቅስቃሴ የሌለው ተጠቃሚ ገለልተኛ ነው፣ ነገር ግን ካርማ ተንኮለኛውን ያሳድዳል። የህትመት ምስክርነታቸው የተሰረቀባቸው ጠላፊዎች ወይም መደበኛ ተጠቃሚዎች በጥንቃቄ መከታተል አለባቸው።
ሌላው ዐውደ-ጽሑፍ መረጃ የታርቦልን አካል ለመፍጠር ጥቅም ላይ ይውላል ተብሎ በሚታሰበው የምንጭ ማከማቻ እና የታርቦሉን ይዘት መካከል ያለው ማንኛውም ልዩነት ነው። እንዲሁም በሕዝብ መዝገብ ቤት ውስጥ የታተሙትን የክፍሉን ስሪቶች የሚዛመዱ መለያዎችን ወይም መልቀቂያዎችን በመነሻ ማከማቻ ውስጥ መፍጠር ያሉ ጥሩ ልምዶችን መከተል ነው። የምንጭ ማከማቻው በተወሰነ ጊዜ commit ከተለቀቀ ጋር መለያ ተሰጥቶታል፣ እና በድንገት አንድ ስሪት እሱን መከተል አልቻለም፣ ይህ ብቻውን ክፍሉ ሊበከል እንደሚችል የሚያሳይ ጠንካራ ማስረጃ ነው፡ መጥፎው ተዋናይ ክፍሉን ለማተም የተጠቀመበትን መለያ አበላሽቶ ሊሆን ይችላል፣ ነገር ግን በምንጭ ኮድ ማከማቻ ውስጥ የመፃፍ ፈቃድ የለውም)። ብዙ ጥቃቶች እነዚህን ህጎች በመጠቀም በመደበኛነት ይገለጣሉ፡ ለምሳሌ፣ የሌጀር ጥቃት በእነዚህ መስመሮች በቀላሉ ሊታወቅ ይችላል። ስለዚህ የአውድ ትንተና በህትመት ሂደት ውስጥ እንደዚህ ያሉ ያልተለመዱ ነገሮችን ይለያል።
የጥገኝነት ፋየርዎል
የተለየ አካሄድ በሶፍትዌርዎ ውስጥ ጥቅም ላይ የዋሉ ሁሉም የጥገኝነት ግራፎች አጠቃላይ የነጭ ክፍሎች ዝርዝር መኖር ነው፣ ስለዚህ በማንኛውም ግንባታ ውስጥ pipeline በድርጅትዎ ውስጥ ያሂዱ የጸደቁ የክፍል ስሪቶች ብቻ ሊጫኑ እና ጥቅም ላይ ሊውሉ ይችላሉ።ፋየርዎል"የሚተገበረው ለተፈቀዱት የክፍሎች ስሪቶች ታርቦሎች በሚቀርቡበት ውስጣዊ መዝገብ (የተሸጎጡ ወይም የተወከሉ) በመጠቀም ነው። ማንኛውንም አዲስ ስሪት በተመጣጣኝ ደህንነቱ የተጠበቀ አድርጎ ለመመደብ የሚያስችል ቴክኖሎጂ ከሌለዎት በስተቀር ማንኛውም የነጭ ዝርዝር እንደማይሰራ እባክዎ ልብ ይበሉ፣ ስለዚህ ወደ ነጭ ዝርዝር ሊታከል ይችላል።
እባክዎን የቅድመ ማስጠንቀቂያ (አዲሱ እትም ከታተመ በኋላ በተቻለ ፍጥነት ፈጣን ምርመራ) ግንባታውን የሚነካውን ክፍል ለማገድ ያንን መረጃ በንቃት ለመጠቀም ከተወሰነ መንገድ ጋር መዋሃድ እንዳለበት ልብ ይበሉ። pipelineዎች ወይም የገንቢዎች ማሽኖች [4]"ይህንን" ብለን እንጠራዋለንየጥገኝነት ፋየርዎል": አውቶማቲክ ግንባታዎችን ከተንኮል አዘል ፓኬጆች ለመጠበቅ የሚያስችል የኳራንቲን ዘዴ። የውስጥ ፓኬጆች እና የምስል መዝገቦች ድርጅቶችን ከውጭ ክፋት ለመከላከል ጥሩ ናቸው፣ ነገር ግን ኳራንቲን ውጤታማ ለማድረግ በቂ ጠንካራ ማስረጃ ያስፈልጋል።
የሩጫ ጊዜ ሳንድቦክሲንግ
በህትመት ጊዜ ለይቶ ለማወቅ አማራጭ አቀራረብ በሂደት ላይ ያለውን ባህሪ መተንተን ነው። ሀሳቡ ከሶፍትዌሩ የሚጠበቀውን ባህሪ መያዝ እና የተገኙትን ያልተለመዱ ነገሮችን መለየት (ወይም ማገድ) ነው። ይህ የተግባር መስመር የክትትል ወይም የማገጃ ጊዜን የማስኬጃ ጊዜን የመጠቀም ችግር አለበት፣ እና ከተንኮል አዘል ክፍል ተባይ መከላከያ ዘዴዎች ጋር የሚጨመር ተስፋ ሰጪ ሀሳብ ነው።
ሁሉን አቀፍ ስትራቴጂ ማዘጋጀት
የሚመከረው ስትራቴጂ በሶፍትዌር ልማት ሂደት ውስጥ የተለያዩ ቴክኒኮችን ማዋሃድ፣ የሚመጡ ተንኮል አዘል ክፍሎችን ለማገድ የስሪት ዝመናዎችን መቆጣጠር አለበት። አስፈላጊ ለሆኑ ተጋላጭነቶች ጥገና ለማግኘት ስሪቶችን በማዘመን ራስ-ሰር ኢንፌክሽንን ለማስወገድ የስሪት ፒን ማድረግን ማስተናገድ አለብን፤ በስሪት ዝመናዎች ወቅት ቀጥተኛ እና ቀጥተኛ ያልሆኑ ጥገኝነቶችን ፈጣን እና ቀልጣፋ ግምገማ ማድረግ በማልዌር ያልተያዙ መሆናቸውን የሚያሳይ በቂ ማስረጃ እንዲኖር ማድረግ። በሚታወቁ ተንኮል አዘል ክፍሎች ላይ የተመሰረቱ የሶፍትዌር ግንባታዎች መታገድ አለባቸው። እና ሁሉም መተግበር አለባቸው።
በተቻለ መጠን የስሪት ፒንንግን ይጠቀሙ፣ ምክንያቱም ግንባታዎች የበለጠ እንዲባዙ ስለሚያደርግ። በተቆጣጠሩ፣ በእጅ በጸደቁ የስሪት እብጠቶች የስሪት መሰካት, እና በረዳት ቴክኖሎጂ እገዛዝማኔው ማልዌርን ያመጣል ወይም ሶፍትዌሩን ይሰብራል ወይ የሚለውን መገምገም አለበት፣ እና ተጋላጭነቶችን ለማስተካከል ዝመናን ከማልዌር ኢንፌክሽን ጋር በማስተካከል ማስታረቅ አለበት። Tooling እዚህ ላይ ሊረዳ የሚችለው (1) የትኞቹ ተጋላጭነቶች በእርግጥ አስፈላጊ እንደሆኑ (ሊደረስባቸው የሚችሉ እና ሊበዘበዙ የሚችሉ፣ በአጥቂዎች የመታለል ከፍተኛ አደጋ)፣ (2) ከአሁኑ የክፍሎች አጠቃቀም ጋር የሚጣጣሙ እና ሶፍትዌሩን የማያበላሹ የታለሙትን የታለሙ ስሪቶች በመምረጥ፣ (3) ተንኮል አዘል ባህሪ የሌላቸው የታለሙ የታለሙ ስሪቶችን በመምረጥ እና (4) በቀጥታ እና በተዘዋዋሪ ጥገኝነቶች ላይ የስሪት ዝመናን በፍጥነት በማሳየት፣ በፍጥነት ሊጸድቁ የሚችሉ የማብራሪያ ፋይሎች ላይ ለውጦችን በመጠቆም ነው። ደረጃ (3) ስለ ተንኮል አዘል ክፍሎች በተቻለ መጠን ለህትመት ጊዜያቸው ቅርብ በሆነ ጊዜ ላይ የተወሰነ መረጃ ይፈልጋል።
ይህ የጥገኝነት ማዘመን ሂደት መሆን አለበት ተፈጻሚ ና ተረጋግጧል በሁሉም ቦታ። ሂደቱ መመዝገብ አለበት፣ እና ሁሉም የሚሳተፉ አካላት ስልጠና ሊሰጣቸው ይገባል፣ ምክንያቱም ብዙውን ጊዜ የልማት እና የሶፍትዌር ግንባታ/ማሰማራት ወደ ውጭ ስለሚደረግ። CI/CD pipelineዎች በዚሁ መሰረት ሊሻሻሉ ይገባል፣ ስለዚህ አውቶሜሽን ተንኮል አዘል ቀጥተኛ ያልሆነ ጥገኝነት ወደ ግንባታው እንዲገባ አይፈቅድም፡ guardrails በተንኮል አዘል ዌር ውስጥ ሊኖር የሚችል በቂ ማስረጃ ካለ ግንባታውን ማገድ የሚመከር መንገድ ነው።
ድርጅትዎ የተፈቀደውን የክፍል ስሪቶችን ለመያዝ እንደ የደህንነት ወኪል የሚያገለግል ውስጣዊ መዝገብ ካለው፣ የተጠየቀውን ክፍል ወደ አበል ዝርዝር ከማከልዎ በፊት ለማጣራት በተንኮል አዘል ክፍሎች (ከሌሎች መስፈርቶች በተጨማሪ) ላይ መረጃ ማግኘት አለብዎት።
ክፍት ምንጭ ሶፍትዌርን ደህንነቱ በተጠበቀ ሁኔታ መጠቀም ቀላል አይደለም፣ እና የማልዌር ሁኔታው ሙሉ በሙሉ ግምት ውስጥ መግባት አለበት፣ በተመሳሳይ መልኩ ተጋላጭነትን ለመቆጣጠር ጥረት ይደረጋል።
አንድ የመጨረሻ ማስታወሻ የመነሻ ምንጭበሶፍትዌር ማረጋገጫዎች መልክ፣ በክፍለ-ጊዜው በሚገነባበት ጊዜ የሚፈጠሩ፣ ቅርሱን (የክፍል ታርቦል) ከምንጮቹ እና ከፈጠረው የግንባታ ሂደት ጋር ለመከታተል በሚደረገው ጥረት ውስጥ ሌላ ቁልፍ ክፍል ነው። በምንጭ ቅጽበታዊ ገጽ እይታ + የግንባታ አካባቢ እና በተያያዘው የሶፍትዌር ቅርስ (በታመነ የግንባታ ስርዓት የተፈረመ) መካከል ያለው ይህ አገናኝ ክፍሉ ተንኮል አዘል ባህሪ እንደሌለው ብቻ ሳይሆን መጥፎ ሰዎች ተንኮል አዘል ዌርን እንዳይወጉ ከባድ ያደርገዋል። እና የክፍት ምንጭ ክፍሎችን ለመጠቀም የመነሻ ማረጋገጫ የተለመደ መስፈርት ማድረግ ረጅም ጊዜ የሚወስድ ሲሆን ብቻ ነው። በቅርቡ ወደ NPM ታክሏልእነዚያን የታመኑ የግንባታ እና የማሰማሪያ ስርዓቶችን እንዳይበላሹ ማድረግ ወይም በግንባታው ውስጥ ማንኛውንም ማበላሸት መለየትን ማስቻል ከዚህ ልጥፍ ወሰን ውጭ የተለየ ታሪክ ነው።
ተጨማሪ ንባብ
የሚቀጥለው ክፍል ክፍት ምንጭ ተንኮል አዘል ፓኬጆች፡ የXygeni አቀራረብ በXygeni የምንከተለውን ስትራቴጂ ለኛ እናቀርባለን የማልዌር ቅድመ ማስጠንቀቂያ (MEW) ስርዓት። በሕዝብ ፓኬጅ እና በምስል መዝገቦች ውስጥ አዳዲስ የጥቅል ስሪቶች ይቃኛሉ እና ማስረጃዎች የሚገኙት የማይለዋወጥ፣ ተለዋዋጭ፣ ችሎታዎች እና አውዳዊ ትንተና ጥምረት በመጠቀም ነው። ማስረጃው ከተጠቃሚ ዝና እና በምንጭ ኮድ ማከማቻዎች ውስጥ ከተደረጉ ለውጦች ታሪክ ጋር ተዳምሮ አንድን አካል ወደ ከፍተኛ አደጋ እና ምናልባትም ተንኮል አዘል ምድቦች ሙሉ በሙሉ በራስ-ሰር እንዲመደብ ያስችለዋል። ስርዓቱ የተሳሳቱ አወንታዊዎችን በትንሹ ለመቀነስ ከፓኬጆች ከተሰበሰበው ካለፉት ማስረጃዎች ይማራል።
የተመዘገቡ ድርጅቶች ተንኮል አዘል ስሪት ሲመደብ በቀጥታም ሆነ በተዘዋዋሪ የሚጠቀሙባቸውን ክፍሎች በተመለከተ የማስጠንቀቂያ ማሳወቂያ ይደርሳቸዋል። ከዚያም ተንታኞቻችን በእጅ የሚደረግ ትንተና ያደርጋሉ፣ ይህም ምደባውን ያረጋግጣል ወይም ውድቅ ያደርገዋል። ለተረጋገጠ ማልዌር፣ የሕዝብ መዝገብ ቤቱ የራሱን ትንተና እንዲያከናውን እና በተለምዶ ተንኮል አዘል ስሪትን እንዲያስወግድ ወይም በጥያቄ ውስጥ ያለውን የተጠቃሚ መለያ ማገድ ወይም ማስወገድ ያሉ ተጨማሪ እርምጃዎችን እንዲወስድ ማሳወቂያ ይደርሳቸዋል።
አዲስ የታተመ ተንኮል አዘል አካል ተንኮል አዘል ዌር እስኪረጋገጥ እና ከመዝገቡ እስኪወገድ ድረስ ንቁ ሆኖ የሚቆይበትን ጊዜ ለመቀነስ NPM፣ PyPI፣ GitHub እና ሌሎች በክፍት ምንጭ ሥነ-ምህዳር ውስጥ ቁልፍ መሠረተ ልማቶችን እንዴት እየረዳን እንደሆነ እናብራራለን። እንዲሁም ድርጅቶች ከክፍት ምንጭ ክፍሎች ጋር የተያያዙ የሶፍትዌር አቅርቦት ሰንሰለት ጥቃቶችን ለመከላከል ከ MEW ስርዓት እንዴት የተሻለ ጥበቃ ሊኖራቸው እንደሚችል እናብራራለን።
- [1] ያም ሆነ ይህ፣ የክፍሉ ተጠቃሚዎች የክፍሉ ታርቦል በሆነ ቦታ የተሸጎጠ ወይም የተመዘገበ መሆኑን ማረጋገጥ አለባቸው፣ ለምሳሌ በውስጣዊ መዝገብ ውስጥ፣ ስለዚህ በሽታው እንዲጠፋ።
- [2] የታሸገው ክፍል ይዘቱን እና ሜታዳታውን፣ የምንጭ ወይም የተጠናቀረ ኮድን፣ የመጫኛ ስክሪፕቶችን እና እንደ የሙከራ ስብስቦች ያሉ ተጨማሪ እቃዎችን በማሸጊያ ቅርጸት እና በተለምዶ በተጨመቀ መልኩ የሚያስታውቅ አንጸባራቂ ያካትታል። ይህ "የክፍል ታርቦል" ይባላል።
- [3] ተንኮል አዘል ተዋናዩ በመዝገቡ ውስጥ በመጣሱ ምክንያት የታተመውን ክፍል መቀየር ቢችልም፣ አንድ ተራ የክሪፕቶግራፊክ ዲጅስት ትንታኔው ከተጠናቀቀ በኋላ በታርቦል ውስጥ ማንኛውንም ለውጥ ሊያገኝ ይችላል።
- [4] አንዳንድ ተንኮል አዘል ክፍሎች በመጫኛ ጊዜ እንደሚሰሩ ያስታውሱ፣ ስለዚህ ሳያውቁት “npm install X”ን ከ X ተንኮል አዘል አካል ጋር የሚያሄዱ የገንቢ ኖዶችን ሊጎዳ ይችላል።




