ጉግል በእድገት ወቅት ተንኮል-አዘል ለውጦችን ለመከላከል SLSAን ያቀርባል

ጎግል የ SLSA (የአቅርቦት ሰንሰለት ደረጃዎች ለሶፍትዌር አርቲፊክስ) ማዕቀፍ አስተዋውቋል፣ ይህም የልማት መሠረተ ልማትን ኮድ በመጻፍ፣ በመሞከር፣ በመገጣጠም እና ምርትን በማከፋፈል ደረጃ ላይ ከሚደርሱ ጥቃቶች የመከላከል ልምድን ጠቅለል አድርጎ ያሳያል።

የእድገት ሂደቶች ከጊዜ ወደ ጊዜ ውስብስብ እና በሶስተኛ ወገን መሳሪያዎች ላይ ጥገኛ እየሆኑ መጥተዋል, ይህም በመጨረሻው ምርት ላይ ያሉ ድክመቶችን ከመለየት እና ከመጠቀም ጋር የተያያዙ ጥቃቶችን ለማራመድ ምቹ ሁኔታዎችን ይፈጥራል, ነገር ግን የእድገቱን ሂደት በራሱ ለማበላሸት (የአቅርቦት ሰንሰለት ጥቃቶች, አብዛኛውን ጊዜ የታለመ ነው). ኮድን በመጻፍ ሂደት ውስጥ ተንኮል አዘል ለውጦችን ማስተዋወቅ, የተከፋፈሉ ክፍሎችን እና ጥገኛዎችን መተካት).

ማዕቀፉ በኮድ ልማት ፣በመሰብሰብ ፣በምርመራ እና በምርቱ ስርጭት ደረጃ ላይ ጎጂ ለውጦችን ከማድረግ ስጋት ጋር የተዛመዱ 8 የጥቃት ዓይነቶችን ግምት ውስጥ ያስገባል።

ጉግል በእድገት ወቅት ተንኮል-አዘል ለውጦችን ለመከላከል SLSAን ያቀርባል

  • ሀ. የጀርባ በሮች ወይም የተደበቁ ስህተቶችን ወደ ተጋላጭነት የሚያመሩ የምንጭ ኮድ ለውጦችን ጨምሮ።

    የጥቃቱ ምሳሌ፡- “አስመሳይ አድራጊ” - ከተጋላጭነት ጋር የተያያዙ ጥገናዎችን ወደ ሊኑክስ ከርነል ለማስተዋወቅ የሚደረግ ሙከራ።

    የተጠቆመ የደህንነት ዘዴ፡ በሁለት ገንቢዎች የእያንዳንዱ ለውጥ ገለልተኛ ግምገማ።

  • ለ. የምንጭ ኮድ መቆጣጠሪያ መድረክን መጣስ.

    የጥቃቱ ምሳሌ፡ የገንቢ የይለፍ ቃሎች ከወጡ በኋላ የጂት ማከማቻ ፒኤችፒ ፕሮጀክት ከበስተጀርባ ጋር ተንኮል አዘል ድርጊቶችን በመርፌ።

    የተጠቆመ የጥበቃ ዘዴ፡ የኮድ አስተዳደር መድረክን ደህንነት መጨመር (በPHP ጉዳይ ላይ ጥቃቱ የተፈፀመው በትንሹ ጥቅም ላይ በዋለ HTTPS በይነገጽ ሲሆን ይህም የኤስኤስኤች ቁልፍን ሳያረጋግጡ የይለፍ ቃል ተጠቅመው ሲገቡ ለውጦችን እንዲልኩ አስችሏል. የማይታመን MD5 የይለፍ ቃሎችን ለመጥለፍ ጥቅም ላይ መዋሉ)።

  • ሐ. ኮድ ወደ ግንባታ ወይም ቀጣይነት ያለው ውህደት ስርዓት በማስተላለፍ ደረጃ ላይ ለውጦችን ማድረግ (ከማከማቻው ውስጥ ካለው ኮድ ጋር የማይዛመድ ኮድ ተገንብቷል)።

    የጥቃቱ ምሳሌ፡ በመሠረተ ልማት ግንባታው ላይ ለውጦችን በማድረግ የኋለኛውን በር ወደ ዌብሚን ማስገባት፣ በዚህም ምክንያት በማጠራቀሚያው ውስጥ ካሉ ፋይሎች የሚለያዩ የኮድ ፋይሎችን መጠቀም።

    የታቀደው የጥበቃ ዘዴ፡ አቋሙን ማረጋገጥ እና በስብሰባ አገልጋዩ ላይ ያለውን የኮዱን ምንጭ መለየት።

  • መ. የመሰብሰቢያ መድረክ ስምምነት.

    የጥቃቱ ምሳሌ፡- የሶላር ዊንድስ ጥቃት፣በዚህም ወቅት የኋለኛውን በር በሶላር ዊንድስ ኦሪዮን ምርት ላይ መትከል በስብሰባው ደረጃ የተረጋገጠ ነው።

    የታቀደው የመከላከያ ዘዴ: ለስብሰባው መድረክ የላቀ የደህንነት እርምጃዎችን መተግበር.

  • ኢ ዝቅተኛ ጥራት ባለው ጥገኞች አማካኝነት ተንኮል አዘል ኮድ ማስተዋወቅ።

    የጥቃቱ ምሳሌ፡ የኋለኛውን በር ወደ ታዋቂው የክስተት-ዥረት ቤተ-መጽሐፍት መግቢያ ምንም ጉዳት የሌለው ጥገኝነት በመጨመር እና ተንኮል-አዘል ኮድን በማካተት የዚህ ጥገኝነት ማሻሻያ በአንዱ ማሻሻያ ውስጥ (ተንኮል-አዘል ለውጡ በgit ማከማቻ ውስጥ አልተንጸባረቀም ነበር ፣ ግን ነበር በተጠናቀቀው የኤም.ኤን.ፒ. ፓኬጅ ውስጥ ብቻ ይገኛል).

    የተጠቆመ የጥበቃ ዘዴ፡ የ SLSA መስፈርቶችን በሁሉም ጥገኞች ላይ በተደጋጋሚ ይተግብሩ (በክስተት-ዥረት ጊዜ ቼኩ ከዋናው የጊት ማከማቻ ይዘት ጋር የማይዛመድ ኮድ መገጣጠምን ያሳያል)።

  • ረ. በሲአይ/ሲዲ ስርዓት ውስጥ ያልተፈጠሩ ቅርሶችን መጫን።

    የጥቃት ምሳሌ፡ አጥቂዎች በደንበኛ ቀጣይነት ባለው የውህደት ስርዓት አካባቢ የተከማቸውን መረጃ እንዲያወጡ የሚያስችል ተንኮል አዘል ኮድ ወደ CodeCov ስክሪፕት ማከል።

    የታቀደው የጥበቃ ዘዴ፡ የቅርሶችን ምንጭ እና ታማኝነት መቆጣጠር (በ CodeCov ሁኔታ ከ codecov.io ድህረ ገጽ የተላከው የ Bash Uploader ስክሪፕት ከፕሮጀክት ማከማቻው ውስጥ ካለው ኮድ ጋር እንደማይዛመድ ሊታወቅ ይችላል)።

  • G. የጥቅል ማከማቻ መጣስ።

    የጥቃቱ ምሳሌ፡ ተመራማሪዎች ተንኮል አዘል ፓኬጆችን በእነሱ በኩል ለማሰራጨት አንዳንድ ታዋቂ የጥቅል ማከማቻዎችን መስተዋቶች ማሰማራት ችለዋል።

    የተጠቆመ የጥበቃ ዘዴ፡- የተከፋፈሉት ቅርሶች ከታወጁት የምንጭ ኮዶች መዘጋጀታቸውን ማረጋገጥ።

  • ሸ. ተጠቃሚው የተሳሳተ ጥቅል እንዲጭን ግራ መጋባት።

    የጥቃቱ ምሳሌ፡- ከታዋቂ አፕሊኬሽኖች ጋር በጽሁፍ ተመሳሳይ የሆኑ (ለምሳሌ ከቡና-ስክሪፕት ይልቅ ኮፊ-ስክሪፕት) በትየባ (NPM፣ RubyGems፣ PyPI) ፓኬጆችን ወደ ማከማቻዎች ለማስቀመጥ።

የተጠቆሙትን ማስፈራሪያዎች ለማገድ፣ SLSA የውሳኔ ሃሳቦችን ያቀርባል፣ እንዲሁም የኦዲት ዲበ ዳታ መፍጠርን በራስ ሰር የሚሰሩ መሳሪያዎችን ያቀርባል። SLSA የተለመዱ የጥቃት ዘዴዎችን ያጠቃልላል እና የደህንነት ንብርብሮችን ጽንሰ-ሀሳብ ያስተዋውቃል። በእድገት ውስጥ ጥቅም ላይ የሚውሉትን ቅርሶች ትክክለኛነት ለማረጋገጥ እያንዳንዱ ደረጃ የተወሰኑ የመሠረተ ልማት መስፈርቶችን ያስገድዳል። የሚደገፈው የ SLSA ደረጃ ከፍ ባለ መጠን ብዙ ጥበቃዎች ሲተገበሩ እና መሠረተ ልማቱ ከጋራ ጥቃቶች በተሻለ ሁኔታ ይጠበቃል።

  • SLSA 1 የግንባታ ሂደቱ ሙሉ በሙሉ በራስ ሰር እንዲሰራ እና ቅርሶች እንዴት እንደሚገነቡ ሜታዳታ ("ፕሮቬንሽን") ይጠይቃል፣ ስለምንጮች፣ ጥገኞች እና የግንባታ ሂደቱ መረጃን ጨምሮ (ለኦዲት ሜታዳታ ጄኔሬተር ምሳሌ ለ GitHub Actions ቀርቧል)። SLSA 1 ከተንኮል አዘል ማሻሻያዎች የሚከላከሉ አካላትን አያካትትም፣ ይልቁንም በቀላሉ ኮድን በመለየት ለተጋላጭነት አስተዳደር እና ለአደጋ ትንተና ሜታዳታ ያቀርባል።
  • SLSA 2 - የተረጋገጠ ሜታዳታ የሚያመነጩ የስሪት ቁጥጥር እና የመሰብሰቢያ አገልግሎቶችን በመጠየቅ የመጀመሪያውን ደረጃ ያራዝመዋል። የ SLSA 2 አጠቃቀም የኮዱን አመጣጥ ለመፈለግ እና የታመኑ የግንባታ አገልግሎቶችን በተመለከተ በኮዱ ላይ ያልተፈቀዱ ለውጦችን ይከላከላል።
  • SLSA 3 - የምንጭ ኮድ እና የግንባታ መድረክ ኮዱን ኦዲት የማድረግ ችሎታን የሚያረጋግጡ እና የቀረበውን የሜታዳታ ትክክለኛነት የሚያረጋግጡ መስፈርቶችን የሚያሟሉ መሆናቸውን ያረጋግጣል። ኦዲተሮች ከመመዘኛዎቹ መስፈርቶች አንጻር መድረኮችን ማረጋገጥ እንደሚችሉ ይታሰባል።
  • SLSA 4 ከፍተኛው ደረጃ ነው፣ ያለፉትን ደረጃዎች በሚከተሉት መስፈርቶች የሚያሟላ ነው።
    • በሁለት የተለያዩ ገንቢዎች የሁሉም ለውጦች አስገዳጅ ግምገማ።
    • ሁሉም የግንባታ ደረጃዎች፣ ኮድ እና ጥገኞች ሙሉ በሙሉ መታወጅ አለባቸው፣ ሁሉም ጥገኞች ተለይተው መውጣት እና መረጋገጥ አለባቸው፣ እና የግንባታ ሂደቱ ከመስመር ውጭ መከናወን አለበት።
    • ሊደገም የሚችል የግንባታ ሂደትን በመጠቀም የግንባታ ሂደቱን እራስዎ እንዲደግሙ እና ፈጻሚው ከቀረበው የምንጭ ኮድ መገንባቱን ያረጋግጡ።

    ጉግል በእድገት ወቅት ተንኮል-አዘል ለውጦችን ለመከላከል SLSAን ያቀርባል


    ምንጭ: opennet.ru

አስተያየት ያክሉ