በፕሮግራም ኮድ ውስጥ ተጋላጭነቶችን ለማግኘት ቀላል መገልገያ እንዴት መጠቀም እንደሚቻል

ግራዲት ብዙ የፕሮግራም አወጣጥ ቋንቋዎችን ይደግፋል እና የኮድቤዝ ደህንነት ሙከራን በቀጥታ ወደ ልማት ሂደት እንዲያዋህዱ ይፈቅድልዎታል።

በፕሮግራም ኮድ ውስጥ ተጋላጭነቶችን ለማግኘት ቀላል መገልገያ እንዴት መጠቀም እንደሚቻል
ምንጭ: አታካሂድ (ማርከስ ስፒስኬ)

መሞከር የሶፍትዌር ልማት የሕይወት ዑደት አስፈላጊ አካል ነው። ብዙ አይነት ፈተናዎች አሉ, እያንዳንዱም የራሱን ችግር ይፈታል. ዛሬ በኮድ ውስጥ የደህንነት ችግሮችን ስለማግኘት ማውራት እፈልጋለሁ.

በሶፍትዌር ልማት ዘመናዊ እውነታዎች ውስጥ የሂደቱን ደህንነት ማረጋገጥ አስፈላጊ ነው. በአንድ ወቅት፣ ልዩ ቃል DevSecOps እንኳን አስተዋወቀ። ይህ ቃል በመተግበሪያ ውስጥ ያሉ ተጋላጭነቶችን ለመለየት እና ለማስወገድ የታለሙ ተከታታይ ሂደቶችን ያመለክታል። በመመዘኛዎች መሰረት ተጋላጭነትን ለመፈተሽ ልዩ ክፍት ምንጭ መፍትሄዎች አሉ። OWASPበምንጭ ኮድ ውስጥ የተለያዩ የተጋላጭነት ዓይነቶችን እና ባህሪን የሚገልጽ።

እንደ Static Application Security Testing (SAST)፣ Dynamic Application Security Testing (DAST)፣ Interactive Application Security Test (IAST)፣ የሶፍትዌር ቅንብር ትንተና እና የመሳሰሉት የደህንነት ችግሮችን ለመፍታት የተለያዩ አቀራረቦች አሉ።

የማይንቀሳቀስ መተግበሪያ ደህንነት ሙከራ አስቀድሞ በተጻፈ ኮድ ውስጥ ስህተቶችን ይለያል። ይህ አካሄድ አፕሊኬሽኑን እንዲሰራ አይፈልግም, ለዚህም ነው የማይንቀሳቀስ ትንታኔ ተብሎ የሚጠራው.

በስታቲክ ኮድ ትንተና ላይ አተኩራለሁ እና ሁሉንም ነገር በተግባር ለማሳየት ቀላል ክፍት ምንጭ መሣሪያን እጠቀማለሁ።

ለምንድነው ለስታቲክ ኮድ ደህንነት ትንተና ክፍት ምንጭ መሳሪያን የመረጥኩት

ለዚህ በርካታ ምክንያቶች አሉ፡ በመጀመሪያ፣ ሌሎች ገንቢዎችን ለመርዳት በሚፈልጉ ተመሳሳይ አስተሳሰብ ባላቸው ሰዎች ማህበረሰብ የተሰራውን መሳሪያ እየተጠቀሙ ስለሆነ ነው። ትንሽ ቡድን ወይም ጀማሪ ካለህ የኮድ ቤዝህን ደህንነት ለመፈተሽ የክፍት ምንጭ ሶፍትዌርን በመጠቀም ገንዘብ ለመቆጠብ ጥሩ እድል ይኖርሃል። በሁለተኛ ደረጃ, የተለየ የ DevSecOps ቡድን ለመቅጠር አስፈላጊነትን ያስወግዳል, ይህም ወጪዎችዎን የበለጠ ይቀንሳል.

ጥሩ ክፍት ምንጭ መሳሪያዎች ሁልጊዜ የሚፈጠሩት ለተለዋዋጭነት ተጨማሪ መስፈርቶችን ግምት ውስጥ በማስገባት ነው። ስለዚህ, በማንኛውም አካባቢ ማለት ይቻላል ጥቅም ላይ ሊውሉ ይችላሉ, ሰፊ ስራዎችን ይሸፍናሉ. ገንቢዎች በፕሮጀክቶቻቸው ላይ በሚሰሩበት ጊዜ እንደነዚህ ያሉትን መሳሪያዎች አስቀድመው ከገነቡት ስርዓት ጋር ማገናኘት በጣም ቀላል ነው.

ነገር ግን በመረጡት መሳሪያ ውስጥ የማይገኝ ባህሪ የሚያስፈልግዎት ጊዜዎች ሊኖሩ ይችላሉ። በዚህ አጋጣሚ ኮዱን ለመንጠቅ እና በሚፈልጉት ተግባር ላይ በመመስረት የራስዎን መሳሪያ ለማዘጋጀት እድሉ አለዎት.

በአብዛኛዎቹ ጉዳዮች የክፍት ምንጭ ሶፍትዌር ልማት በህብረተሰቡ ላይ ንቁ ተጽዕኖ ስለሚያሳድር ለውጦችን ለማድረግ ውሳኔው በፍጥነት እና እስከ ነጥቡ ድረስ ነው-የክፍት ምንጭ ፕሮጄክቱ አዘጋጆች በተጠቃሚዎች ግብረመልሶች እና አስተያየቶች ፣ ሪፖርቶቻቸው ላይ ይተማመናሉ። የተገኙ ስህተቶች እና ሌሎች ችግሮች.

ለኮድ ደህንነት ትንታኔ Graudit መጠቀም

ለስታቲክ ኮድ ትንተና የተለያዩ የክፍት ምንጭ መሳሪያዎችን መጠቀም ትችላለህ ለሁሉም የፕሮግራም ቋንቋዎች ሁለንተናዊ መሳሪያ የለም። የአንዳንዶቹ ገንቢዎች የ OWASP ምክሮችን ይከተላሉ እና በተቻለ መጠን ብዙ ቋንቋዎችን ለመሸፈን ይሞክራሉ።

እዚህ እንጠቀማለን ግራዲት, በእኛ ኮድ ቤዝ ውስጥ ተጋላጭነቶችን እንድናገኝ የሚያስችል ቀላል የትእዛዝ መስመር መገልገያ። የተለያዩ ቋንቋዎችን ይደግፋል, ግን አሁንም የእነሱ ስብስብ ውስን ነው. Graudit በአንድ ወቅት በጂኤንዩ ፍቃድ በተለቀቀው የ grep utility utility ላይ ተመስርቶ የተሰራ ነው።

ለስታቲክ ኮድ ትንተና ተመሳሳይ መሳሪያዎች አሉ - Rough Auditing Tool for Security (RATS)፣ Securitycompass Web Application Analysis Tool (SWAAT)፣ flawfinder እና የመሳሰሉት። ግን ግራዲት በጣም ተለዋዋጭ እና አነስተኛ የቴክኒክ መስፈርቶች አሉት። ሆኖም፣ Graudit መፍታት የማይችላቸው ችግሮች ሊኖሩዎት ይችላሉ። ከዚያ ሌሎች አማራጮችን እዚህ መፈለግ ይችላሉ በዚህ ዝርዝር ውስጥ.

ይህንን መሳሪያ ከአንድ የተወሰነ ፕሮጀክት ጋር ልናዋህደው ወይም ለተመረጠ ተጠቃሚ እንዲገኝ ማድረግ ወይም በሁሉም ፕሮጀክቶቻችን ውስጥ በአንድ ጊዜ ልንጠቀምበት እንችላለን። የ Graudit ተለዋዋጭነት ወደ ጨዋታ የሚመጣው እዚህ ላይ ነው። ስለዚህ አስቀድመን ሪፖውን እንሰርዘው፡-

$ git clone https://github.com/wireghoul/graudit

አሁን Graudit በትዕዛዝ ቅርጸት እንዲጠቀምበት ምሳሌያዊ አገናኝ እንፍጠር

$ cd ~/bin && mkdir graudit
$ ln --symbolic ~/graudit/graudit ~/bin/graudit

ወደ .bashrc (ወይም እርስዎ እየተጠቀሙበት ባለው ማንኛውም የውቅር ፋይል) ላይ ተለዋጭ ስም እንጨምር፡-

#------ .bashrc ------
alias graudit="~/bin/graudit"

ዳግም አስነሳ፡

$ source ~/.bashrc # OR
$ exex $SHELL

መጫኑ የተሳካ መሆኑን እንፈትሽ፡-

$ graudit -h

ተመሳሳይ ነገር ካዩ, ሁሉም ነገር ደህና ነው.

በፕሮግራም ኮድ ውስጥ ተጋላጭነቶችን ለማግኘት ቀላል መገልገያ እንዴት መጠቀም እንደሚቻል

ከነባር ፕሮጄክቶቼ አንዱን እሞክራለሁ። መሣሪያውን ከማሄድዎ በፊት ፕሮጄክቴ ከተፃፈበት ቋንቋ ጋር የሚዛመድ የውሂብ ጎታ ማለፍ አለበት። የመረጃ ቋቶቹ በ~/gradit/signatures አቃፊ ውስጥ ይገኛሉ፡-

$ graudit -d ~/gradit/signatures/js.db

ስለዚህ፣ ከፕሮጄክቴ ውስጥ ሁለት js ፋይሎችን ሞከርኩ፣ እና Graudit በኮድዬ ውስጥ ስለ ተጋላጭነቶች መረጃን ወደ ኮንሶሉ አሳይቷል፡

በፕሮግራም ኮድ ውስጥ ተጋላጭነቶችን ለማግኘት ቀላል መገልገያ እንዴት መጠቀም እንደሚቻል

በፕሮግራም ኮድ ውስጥ ተጋላጭነቶችን ለማግኘት ቀላል መገልገያ እንዴት መጠቀም እንደሚቻል

ፕሮጄክቶችዎን በተመሳሳይ መንገድ መሞከር ይችላሉ። ለተለያዩ የፕሮግራም አወጣጥ ቋንቋዎች የውሂብ ጎታዎች ዝርዝር ማየት ይችላሉ እዚህ.

የ Graudit ጥቅሞች እና ጉዳቶች

Graudit ብዙ የፕሮግራም ቋንቋዎችን ይደግፋል። ስለዚህ, ለብዙ ተጠቃሚዎች ተስማሚ ነው. ከማንኛውም ነፃ ወይም የሚከፈልባቸው አናሎጎች ጋር በበቂ ሁኔታ መወዳደር ይችላል። እና አሁንም በፕሮጀክቱ ላይ ማሻሻያዎች መደረጉ በጣም አስፈላጊ ነው, እና ማህበረሰቡ ገንቢዎችን ብቻ ሳይሆን መሳሪያውን ለማወቅ የሚሞክሩትን ሌሎች ተጠቃሚዎችንም ይረዳል.

ይህ ምቹ መሣሪያ ነው፣ ነገር ግን እስካሁን ባለው አጠራጣሪ ኮድ ችግሩ ምን እንደሆነ በትክክል ማወቅ አይችልም። ገንቢዎቹ Grauditን ማሻሻል ቀጥለዋል።

ነገር ግን በማንኛውም ሁኔታ እንደነዚህ ያሉ መሳሪያዎችን ሲጠቀሙ በኮዱ ውስጥ ሊኖሩ ለሚችሉ የደህንነት ችግሮች ትኩረት መስጠት ጠቃሚ ነው.

በመጀመር ላይ…

በዚህ ጽሑፍ ውስጥ፣ ተጋላጭነትን ለማግኘት ከብዙ መንገዶች አንዱን ብቻ ተመለከትኩ - የማይንቀሳቀስ አፕሊኬሽን ደህንነት ሙከራ። የማይንቀሳቀስ ኮድ ትንተና ማካሄድ ቀላል ነው፣ ግን ገና ጅምር ነው። ስለ ኮድ ቤዝዎ ደህንነት የበለጠ ለማወቅ፣ ሌሎች የሙከራ አይነቶችን በሶፍትዌር ልማት የህይወት ኡደትዎ ውስጥ ማጣመር ያስፈልግዎታል።

በቅጂ መብቶች ላይ

አስተማማኝ ቪፒኤስ እና ትክክለኛው የታሪፍ እቅድ ምርጫ ደስ በማይሉ ችግሮች ከዕድገት እንዳይበታተኑ ይፈቅድልዎታል - ሁሉም ነገር ያለ ውድቀቶች እና በጣም ከፍተኛ በሆነ ጊዜ ይሰራል!

በፕሮግራም ኮድ ውስጥ ተጋላጭነቶችን ለማግኘት ቀላል መገልገያ እንዴት መጠቀም እንደሚቻል

ምንጭ: hab.com

አስተያየት ያክሉ