ዶስፉስኬሽን ምንድን ነው? ገንቢዎች ለምን ትኩረት መስጠት አለባቸው?
ፈጣን የማስፈራሪያ ቅጽበታዊ ገጽ እይታ ይኸውና፡ ትንሽ የመገልገያ ዝማኔ የሚመስል የህዝብ ግንኙነት ግንኙነትን መገምገም ያስቡበት። በውስጡ የተቀበረ አንድ አስተዋጽዖ አበርካች ምንም ጉዳት የሌለው የረዳት ስክሪፕት አክሏል። ነገር ግን ሲዋሃድ፣ በCI ወቅት ይሰራል pipeline እና ሁሉንም ማህደረ ትውስታ በጸጥታ የሚወስድ ዑደት ያስነሳል፣ ይህም ግንባታውን ያበላሻል።
ዶስፉስኬሽን የኮድ መደበቂያ ዘዴዎችን በመጠቀም የተደበቀ የውስጥ አገልግሎት መከልከል (DoS) ጥቃት አይነት ነው። እንደ ማለቂያ የሌላቸው ዑደቶች ወይም የማስታወስ ችሎታ ማበጥ ያሉ አፈጻጸሞችን ለመስበር የተነደፈውን አመክንዮ ከእውነተኛ ባህሪው የሚደብቁ ስልቶች ጋር ያጣምራል፣ ይህም በግምገማዎች ወይም በኦዲቶች ወቅት ለመለየት አስቸጋሪ ያደርገዋል። ይህ ውጫዊ ተወዳጅነት አይደለም፤ በኮድዎ ውስጥ አስቀድሞ እየተሰራ ነው፣ የግንባታዎን ወይም የምርትዎን ሂደት ለማበላሸት እየጠበቀ ነው።
ለምን ይጨነቃሉ? አገልጋዮችዎን በትራፊክ የሚያጥለቀልቁ ባህላዊ የአገልግሎት ጥቃቶችን መከልከል ዓይነቶች በተለየ፣ ዶስፉስኬሽን በግልጽ ይታያል፣ ብዙውን ጊዜ የኮድ ግምገማ ወይም የጥቅል ኦዲቶችን ያስተላልፋል። በእርስዎ ውስጥ የተጋገረ የሎጂክ ቦምብ ነው። pipeline.
እውነተኛ ምሳሌ፡- An የኤንፒኤም ጥቅል የተደበቀ ማለቂያ የሌለው ዑደት ይዟል። ጭነቶችን በጥሩ ሁኔታ ያልፋል፣ ነገር ግን መተግበሪያዎ እስኪበላሽ ድረስ በምርት ውስጥ ማህደረ ትውስታን ያሳድጋል። ይህ በድብቅ ዘዴዎች የሚመራው ዶስፉሴሽን በጣም ጎጂ ከሆኑ የአገልግሎት ጥቃቶች የመከልከል ዓይነቶች አንዱ ስውር ስሪት እንዴት እንደሚሆን ያሳያል።
የተለመደው DoS ከ Dosfuscation ጋር ሲነጻጸር፡ በአደጋ ላይ ያሉ እውነተኛ ልዩነቶች
ዶስፉስኬሽን የአገልግሎት መከልከል ጥቃቶች ንዑስ ዓይነት ነው። ከባህላዊ የአገልግሎት ጥቃቶች መከልከል ዓይነቶች የሚለየው በውስጥ በኔትወርክ ትራፊክ ሳይሆን በተደበቀ ኮድ አማካኝነት በመፈጸም ነው።
ይህንን በዓይነ ሕሊናህ ተመልከት፡ በጂትሆብ ውስጥ የህዝብ ግንኙነት (PR) አጽድቀሃል። ሙከራዎች ያልፋሉ፣ ግንባታው ይጀምራል፣ ከዚያም ሯጭህ ይቆማል። ጊዜውን የሚያባክን የጂትሆብ እርምጃዎች ስራ እያረምክ ነው። በአነስተኛ ጥገኝነት ውስጥ የተወሰደ የክፍያ ጭነት በድህረ-ጫኝ ስክሪፕት ውስጥ ማለቂያ የሌለው ዑደት አስተዋውቋል።
ገንቢዎች አገልግሎትን ስለማገድ ሲያስቡ፣ ብዙውን ጊዜ ከውጭ የሚመጣ ሁኔታን ያስባሉ፣ ለምሳሌ እንደ ኤፒአይ የሚደፉ የተንኮል ጥያቄዎች መንጋ ወይም የቦኔትስ የመተላለፊያ ይዘትን የሚያሟጥጥ። እነዚህ የተለመዱ የአገልግሎት ጥቃቶችን የመከልከል ዓይነቶች ናቸው፣ እና አብዛኞቻችን ለእነሱ ዝግጁ ነን። WAFs በቦታው አሉን፣ የፍጥነት ገደቦችን እንተገብራለን እና ጉዳቱን ሊቋቋም የሚችል ሊሰፋ የሚችል መሠረተ ልማት እንገነባለን።
ይሁን እንጂ ዶስፉስኬሽን ከውጭ የሚመጣ አይደለም። በቀጥታ ወደ ኮድ ቤዝዎ ይገባል። በጥገኛዎች ውስጥ ተደብቆ በ CI ውስጥ ሾልኮ ይገባል pipelineዎች፣ እና ነገሮችን እስኪፈነዳ ድረስ እስኪፈጸም ድረስ ይጠብቃል። ምንም አይነት የፋየርዎል ማስተካከያ ወይም DDoS ቅነሳ በኔትወርኩ ላይ ፈጽሞ ስለማይጓዝ ያቆመዋል፤ ቀድሞውኑም ወደ ቤቱ ነው።
ይህ ዶስፉሴሽንን በተለይ ስውር የሆነ የአገልግሎት መከልከል አይነት ያደርገዋል። በኔትወርክ ድምፅ ራሱን አያሳውቅም። ከውስጥ፣ በግንባታ ጊዜ፣ በማስኬድ ጊዜ ወይም የተወሰነ የሎጂክ ቅርንጫፍ ሲመታ ይገድላል። እና በኮድ ውስጥ የተቀረጸ በመሆኑ፣ በጥልቀት ካልፈለጉ በስተቀር አይይዙትም።
ለዛ ነው የDevSecOps ቡድኖች ከፔሪሜትር መከላከያዎች በላይ ማሰብ ያስፈልጋል። የመተግበሪያ-ንብርብር ደህንነትም እንዲሁ አስፈላጊ ነው። ብቸኛው ትኩረትዎ መጥፎ ትራፊክ እንዳይኖር ማድረግ ከሆነ፣ ቀድሞውኑ በማከማቻዎ ውስጥ ያለውን የክፍያ ጫና ያጣሉ።
አጥቂዎች በኮድ ውስጥ የDoS ሎጂክን ለመደበቅ እንዴት ድብቅነትን እንደሚጠቀሙ
የስራ ፍሰት ስራ ከሚጠበቀው በላይ ረዘም ያለ ጊዜ ሲወስድ ወይም የባሰ ደግሞ ሳይጠናቀቅ ሲቀር ይህንን በተግባር ላይ ሊያዩት ይችላሉ። አንድ ምሳሌ በDocker ኮንቴይነር ውስጥ ሙከራዎችን የሚያካሂድ ቡድንን ያካትታል GitHub እርምጃዎችበሶስተኛ ወገን ሞጁል በኩል ትንሽ የጃቫስክሪፕት የሙከራ ረዳት ተጨምሯል። የኖድ ሂደቱን ምላሽ የማይሰጥ የሚያደርገውን ማለቂያ የሌለው የማህደረ ትውስታ ምደባ ዑደት ለመደበቅ ተደብቆ ነበር።
የተደበቁ የDoS ክፍያዎች ብዙውን ጊዜ በCI የስራ ፍሰቶች ውስጥ ሳይስተዋል ያልፋሉ። ለምሳሌ፣ የGitHub እርምጃዎች pipeline በተከተተ ማለቂያ በሌለው ዑደት ምክንያት ስራውን በድንገት የሚያንጠልጥለው ምንም ጉዳት የሌለው የሚመስል ስክሪፕት ሊያሄድ ይችላል።
ይህንን እውን ለማድረግ፣ በዕለት ተዕለት ኮድ ውስጥ የተወሰደ የክፍያ መጠን ምን ሊመስል እንደሚችል እነሆ።
የጃቫስክሪፕት ምሳሌ፡ የተደበቀ ኢንፊኒት ሉፕ

ይህ በተደበቀ ሎጂክ አማካኝነት ማህደረ ትውስታን ያለገደብ ይሞላል፣ በመጨረሻም መተግበሪያውን ያሰናክላል።
የፓይዘን ምሳሌ፡ የተደበቀ የሲፒዩ ሆግ
import base64
exec(base64.b64decode("d2hpbGUgVHJ1ZToKICBhcCA9IFtdCiAgZm9yIGkgaW4gcmFuZ2UoMTAwMDAwMDApOgogICAgYXAucHVzaChzdHIoaSkp"))
ይህ የቤዝ64-ኢንኮድ ዑደት ማለቂያ በሌለው ሁኔታ ይሰራል፣ መጀመሪያ ላይ አጠራጣሪ መስሎ ሳይታይ ማህደረ ትውስታን ያዳክማል።
የክፍያ ጭነቶች የሚደበቁበት ቦታ፡- እውነተኛ የዓለም የዶሱሴሽን ሁኔታ
የተወሰዱ የክፍያ ጭነቶች ብዙውን ጊዜ በግልጽ በሚታይ፣ በሶስተኛ ወገን ፓኬጆች ውስጥ፣ ክፍት ምንጭ ውስጥ ይደበቃሉ pull requestsወይም ውስጣዊ ስክሪፕቶች ያለ ምርመራ እንደገና ጥቅም ላይ ውለዋል። አጥቂዎች ሳይስተዋሉ በማለፍ የልማት ፍጥነት እና አውቶሜሽን ላይ ይተማመናሉ፣ የሎጂክ ቦምቦችን በጥልቀት በእርስዎ ውስጥ ይካተታሉ። pipeline.
እውነተኛው ዓለም ሁኔታ ይህ እንዴት እንደሚከሰት ለመረዳት ይረዳል፡
የCI የስራ ፍሰትዎን ለማስኬድ የጂትሃብ እርምጃዎችን እየተጠቀሙ ነው። የእርስዎ .github/workflows/build.yml የፕሮጀክት ጥገኝነቶችን ይጭናል። ከእነዚህ ውስጥ አንዱ በቀጥታ በእርስዎ ሳይሆን በጥገኝነት ጥገኝነት የተጫነ ጊዜያዊ የnpm ጥቅል ነው። እንደ ሕብረቁምፊ ማኔጅመንት ባሉ ቀላል ነገሮች ላይ እንደሚረዳ ይናገራል።
ነገር ግን በጥቅሉ ውስጥ፣ በድብቅ ቴክኒኮች የተደበቀ፣ የሎጂክ ቦምብ አለ። በ ድህረ-ጭነት ስክሪፕት፣ ወይም በሙከራዎችዎ ውስጥ የሩጫ ጊዜ ማስመጣት። እስኪፈጸም ድረስ እንደ እንቅልፍ ይቆያል፣ ምንም ማስጠንቀቂያዎች የሉም፣ ምንም የኦዲት ባንዲራዎች የሉም።
በድንገት፣ የእርስዎ CI ሯጭ ይበላሻል። ሲፒዩ እና ማህደረ ትውስታ ጨምረዋል። ስራው ጊዜው አልፎበታል። ግንባታዎ ወይም ማሰማራቱ አልተሳካም።
ይህ መላምት ብቻ አይደለም። እንደዚህ አይነት ክስተቶች በዱር ውስጥ ታይተዋል። እነዚህ ክስተቶች በመሳሪያ ሰንሰለትዎ ላይ ያለውን እምነት እንዴት እንደሚጠቀም፣ አውቶማቲክ የስራ ፍሰቶችን፣ ፈጣን ውህደቶችን እና ቀጥተኛ ያልሆኑ ጥገኝነቶችን እንዴት እንደሚጠቀም ያሳያሉ።
እነዚህ የክፍያ ጭነቶች በተለምዶ የት ይደበቃሉ?
- የሶስተኛ ወገን ፓኬጆች፡ በተለይም ከ npm፣ PyPI ወይም Maven።
- ክፍት ምንጭ PRዎች፡ እንደ ጠቃሚ ዝማኔዎች በተሸፈነ ተንኮል የተሞላ አመክንዮ።
- ውስጣዊ ስክሪፕቶች፡ ተገቢ ማረጋገጫ ወይም ግምገማ ሳይኖር እንደገና ጥቅም ላይ የዋሉ ቁርጥራጮች።
አጥቂዎች ምርመራን ለማዘግየት ድብቅነትን ይጠቀማሉ፣ የቀረውን ለማድረግ ደግሞ ጥልቀት የሌላቸውን የኮድ ግምገማዎች እና በራስ-ሰር የሚደረጉ የጥገኝነት ዝማኔዎችን ይጠቀማሉ።
በኮድዎ እና ጥገኝነቶችዎ ውስጥ ዶስፉሴሽንን እንዴት ማግኘት እንደሚቻል
እንግዳ የሆነ አመክንዮ ለማግኘት የማይንቀሳቀስ ትንታኔን ይጠቀሙ
የሚከተሉትን መሳሪያዎች ይጠቀሙ፡-
- እንደ የተዘበራረቀ የቁጥጥር ፍሰት ወይም የክር መልሶ ግንባታ ያሉ የመደበቅ ቴክኒኮችን ያግኙ።
- ለቀላል ሞጁሎች በጣም ውስብስብ የሆነውን አመክንዮ ምልክት አድርግ።
- የአገልግሎት ጥቃቶችን የመከልከል ዓይነቶችን የሚመስሉ የተግባር ወይም የስክሪፕት ቅጦችን ያድምቁ።
ከስሪት በላይ በሆኑ ፍተሻዎች ጥገኛነቶችን ይቃኙ
የስሪት ቁጥሮችን በመፈተሽ አያቁሙ፡
- ትክክለኛውን ኮድ ውስጥ ይመልከቱ።
- የቅርብ ጊዜ የጥቅል ዝማኔዎችን ለመገምገም ቅድሚያ ይስጡ።
- የተመሰጠሩ ሕብረቁምፊዎችን፣ የተደበቁ ሎጂክዎችን ወይም የዶስፉስኬሽን ማርከሮችን ይፈልጉ።
በእጅ አጠራጣሪ ግምገማ Pull Requests
ይመልከቱ ለ፡
- በቀላል ዝመናዎች ውስጥ ከመጠን በላይ ውስብስብ ለውጦች።
- በአዲሱ ኮድ ውስጥ ግልጽ ያልሆነ ወይም የማይነበብ አመክንዮ።
- የህዝብ ግንኙነት ባለሙያዎች (PRs) የታወቁ የድብቅ ቴክኒኮችን ያስተዋውቃሉ።
ዶስፉስኬሽን ሁሉም ሰው "ትንሽ ለውጥ ነው" ብሎ ሲያስብ ይከሰታል።
ዶፉሴኬሽን እንዳይጎዳ እንዴት መከላከል ይቻላል? CI/CD
እንደ GitHub Actions፣ GitLab CI ወይም CircleCI ባሉ የCI አካባቢዎች፣ መከላከል ማለት የተደበቁ የክፍያ ጭነቶችን ቀደም ብለው የሚለዩ እና የሚያግዱ መቆጣጠሪያዎችን ማዋቀር ነው። ለምሳሌ፣ የሼል ስክሪፕቶችን ወይም ጭነቶችን የያዙ ሁሉም የስራ ፍሰቶች የህዝብ ግንኙነት ግምገማዎችን ያስገድዱ hooksእና ክትትል .yml pipeline ያልተረጋገጡ የሶስተኛ ወገን እርምጃዎች ውቅሮች።
CI/CD የዶስፉስኬሽን መጫወቻ ቦታ ነው። እንዴት እንደሚቆለፍ እነሆ፡
- በእያንዳንዱ የህዝብ ግንኙነት እና ግንባታ ላይ የማይንቀሳቀሱ ስካነሮችን ያክሉ።
- ከታመኑ እና ከተረጋገጡ ምንጮች ብቻ ፓኬጆችን ይጠቀሙ።
- የግንባታ ሀብት አጠቃቀምን ይከታተሉ፤ ስፒሎች የተደበቀ አመክንዮ ሊያመለክቱ ይችላሉ።
- እያንዳንዱን ጥገኝነት ከተፈተሸው ጋር ያዛምዱ SBOM.
- ያለ ማስረጃ የተለመዱ የማደብዘዝ ዘዴዎችን መጠቀምን ይከለክላል።
ከእንግዲህ “መጫንና ተስፋ ማድረግ” አይኖርም። መከላከል ማለት መኖር ማለት ነው guardrails በስራ ፍሰትዎ ውስጥ የተገነባ። ዶስፉሴሽንን ቀደም ብሎ መያዝ በጣም የሚረብሹ የአገልግሎት ጥቃቶችን መከልከልን ይከላከላል።
የዚጄኒ ሚና፡- ዶሱሴኬሽንን ከመምጣቱ በፊት መያዝ
ዚጌኒ የDevSecOps ቡድኖች በደህንነት መረጃዎ ውስጥ በማካተት የመድሃኒት መጠን ከመውሰዱ በፊት እንዲቆሙ ያግዛቸዋል የልማት የስራ ፍሰትየድብቅ ቴክኒኮችን በመለየት እና በፖሊሲ ላይ የተመሰረቱ ተግባራዊ በማድረግ ላይ ያተኩራል። guardrails በድብቅ የአገልግሎት ውድቅ የሚያደርጉ ጥቃቶች ወደ ምርት እንዳይደርሱ የሚከላከሉ።
በህዝብ ግንኙነት ግምገማዎች ውስጥ
የXygeni ኮድን ለመቃኘት የተለያዩ ምልክቶችን ለመለየት የሚከተሉትን ያካትታል፦
- አጠቃቀም ኢቫል ወይም ተመሳሳይ ተለዋዋጭ የማስፈጸሚያ ዘዴዎች።
- ሎጂክን ለመደበቅ የታሰቡ ቤዝ64 ወይም ሄክስ-ኢንኮድ የተደረገባቸው ሕብረቁምፊዎች።
- እንደ ተፈጥሯዊ ያልሆኑ ዑደቶች ወይም የተጠላለፉ የሎጂክ ቅርንጫፎች ያሉ አጠራጣሪ የቁጥጥር ፍሰት።
እነዚህ ቅጦች በዚህ ጊዜ ውስጥ የእውነተኛ ጊዜ ማንቂያዎችን ያስጀምራሉ pull request ግምገማዎች፣ በአንደኛ ወገን ወይም በሶስተኛ ወገን ኮድ ውስጥ ይሁኑ፣ የደህንነት ገምጋሚዎች የመድሃኒት መጠንን ቀደም ብለው እንዲያውቁ ያግዛሉ።
የጥገኝነት ትንተና ወቅት
Xygeni የጥቅል ሜታዳታ ብቻ ሳይሆን የአዳዲስ ወይም የዘመኑ ጥገኝነቶችን ትክክለኛ ምንጭ ይተነትናል። በረዳት ተግባራት ወይም በድህረ-ጭነት ስክሪፕቶች ውስጥ የተካተቱ የተደበቀ አመክንዮዎችን ያገኛል፣ ከፍተኛ ተጋላጭነት ያላቸውን ፓኬጆች ላይ ህጋዊ ሆነው ቢታዩም እንኳ ይጠቁማል።
በግንባታ ጊዜ ውስጥ CI/CD Pipelines
Xygeni በባህሪ ውስጥ ያልተለመዱ ነገሮችን ለመለየት የCI ስራዎችን ይከታተላል። አንድ ግንባታ በድንገት ያልተለመደ ሲፒዩ ወይም ማህደረ ትውስታን የሚወስድ ከሆነ፣ Xygeni በቅርቡ ከተጀመረው የተለየ ኮድ ወይም ፓኬጆች ጋር ያለውን ጭማሪ ይከታተላል። የተደበቁ የDoS ክፍያዎችን ከማስተጓጎላቸው በፊት ለመያዝ የሩጫ ጊዜ ባህሪን ከማይንቀሳቀሱ ግኝቶች ጋር በራስ-ሰር ያዛምዳል።
እንደ የፖሊሲ ማስፈጸሚያ ንብርብር
እንደሚከተሉት ያሉ አደገኛ ቅጦችን በቀጥታ ለማገድ Xygeniን ማዋቀር ይችላሉ፦
- የቤዝ64-ኢንኮድ ኮድ ወይም የያዙ ጥገኝነቶችን መከልከል ኢቫል
- ከተጫነ በኋላ ለሚደረጉ ሁሉም ስክሪፕቶች በእጅ ማጽደቅን ይጠይቃል
- በPRs ወይም CI ስራዎች ውስጥ ለተደበቀ የቁጥጥር ፍሰት ዜሮ-መቻቻል ደንቦችን ማስፈጸም
በ Xygeni አማካኝነት ደህንነት በንቃት ይሠራል። የመድሃኒት አጠቃቀምን የሚመለከቱ የድብቅ ቴክኒኮችን አይነት ለቡድኖች ታይነት፣ ቅድመ ማስጠንቀቂያዎች እና የፖሊሲ ደረጃ ተፈጻሚነት ይሰጣል። Xygeniን በእያንዳንዱ ደረጃ፣ የህዝብ ግንኙነት ግንኙነቶች፣ የጥገኝነት ቅኝቶች እና የCI የስራ ጊዜ ውስጥ በማካተት፣ አደጋው ከሞተ በኋላ ከመሆኑ በፊት ይይዘዎታል።
ስለዚህ፣ ዶስፉስኬሽን ኮድዎን በአንተ ላይ ያዞራል
ዶስፉስኬሽን የቲዎሬቲካል አደጋ ብቻ አይደለም፤ የእድገት ሂደትዎን ወደ መሳሪያ የሚቀይር እውነተኛ እና እያደገ የመጣ የጥቃት ቬክተር ነው። በፍጥነት በሚለቀቁ፣ በራስ-ሰር በሚጫኑ ጭነቶች እና በእጅ ኦዲት ለማድረግ በጣም ውስብስብ በሆኑ የጥገኝነት ሰንሰለቶች መካከል ባለው ክፍተት ውስጥ ይበቅላል። ይህ የደህንነት ጉዳይ ብቻ አይደለም፤ የሶፍትዌር ምህንድስና ፈተና ነው። የተደበቀ የአገልግሎት መከልከል የተለመዱ መከላከያዎችን በቀጥታ በኮድ ውስጥ በማስገባት ፋየርዎሎች እና የትራፊክ ማጣሪያዎች መድረስ በማይችሉበት ቦታ ያቋርጣል።
ለገንቢዎች፣ የመውሰጃው መንገድ ቀላል ነው፦ ኮድ ከጻፉ፣ ያጽድቁ pull requestsወይም አስተዳድር CI/CD pipelineዎች፣ እርስዎ ግንባር ቀደም ነዎት። ደህንነቱ የተጠበቀ ግንባታዎች ስለ ንፁህ ኮድ ብቻ አይደሉም፤ በእያንዳንዱ እርምጃ ታይነትን፣ ምርመራን እና በፖሊሲ የተደገፉ ጥበቃዎችን ይፈልጋሉ pipeline.
ከማረጋገጫ ዝርዝሮች በላይ ይሂዱ። የድብቅነት ማወቂያን ወደ የስራ ፍሰትዎ ያዋህዱ። የመሠረት 64 ሕብረቁምፊዎች፣ እንግዳ አመክንዮ ወይም በCI የሀብት አጠቃቀም ላይ ያልተጠበቁ ጭማሪዎችን ይጠብቁ። ብቻ ሳይሆን ያረጋግጡ። ምንድን ትጭናለህ፣ ግን ምን ያደርጋል. ምን ዓይነት ግንኙነት ሊኖረን pipeline እንደ የምርት ኮድ ያሉ ውቅሮች። በራስ-ሰር ያድርጉ guardrails"ቢሰራም" እንግዳ የሚመስለውን ምልክት አድርግበት።
ምክንያቱም ዶስፉሴሽን አይጮህም። ይጠብቃል። ካልፈለግከውም ያልፋል።







