តើការវាយប្រហារដោយមនុស្សនៅកណ្តាលគឺជាអ្វី

ការវាយប្រហារ Man-in-the-Middle នៅក្នុង DevOps៖ មិនមានសុវត្ថិភាពប៉ុណ្ណា Pipelineត្រូវគេប្លន់

ការវាយប្រហារបែប Man-in-the-Middle ជាអ្វី និងរបៀបដែលវាកំណត់គោលដៅ Pipelines

ប្រសិនបើអ្នកកំពុងសួរថាការវាយប្រហារបែប man-in-the-middle នៅក្នុង DevOps ជាអ្វី វាមិនមែនគ្រាន់តែជាបច្ចេកទេស sniffing បណ្តាញទូទៅនោះទេ។ វាជាការវាយប្រហារគោលដៅ។ វិធីដើម្បីសម្របសម្រួលរបស់អ្នក CI/CD pipelines តាមរយៈការស្ទាក់ចាប់ និងរៀបចំទិន្នន័យក្នុងពេលដឹកជញ្ជូន ការពឹងផ្អែក ស្គ្រីប ឬវត្ថុបុរាណ នៅពេលដែលការអ៊ិនគ្រីបខ្សោយ ឬអវត្តមាន។

សូមពិចារណាសេណារីយ៉ូក្នុងពិភពពិតមួយ៖ អ្នករត់ CI ទាញយកការពឹងផ្អែកពីឃ្លាំងភាគីទីបីដោយប្រើ HTTP។ ប្រសិនបើ TLS ត្រូវបានកំណត់រចនាសម្ព័ន្ធមិនត្រឹមត្រូវ ឬអាក្រក់ជាងនេះទៅទៀត អវត្តមាន អ្នកវាយប្រហារអាចស្ទាក់ចាប់សំណើនោះ ហើយចាក់បញ្ចូលកញ្ចប់ព្យាបាទដែលមើលទៅស្របច្បាប់។ ក្នុងការផ្លាស់ប្តូរយ៉ាងឆាប់រហ័ស pipelineវត្ថុបុរាណទាំងនេះអាចត្រូវបានសាងសង់ និងដាក់ពង្រាយមុនពេលដែលនរណាម្នាក់កត់សម្គាល់។ នោះគឺជាការវាយប្រហារបែបមនុស្សនៅកណ្តាលសៀវភៅសិក្សា ប៉ុន្តែជាមួយ CI/CD ផលវិបាក។

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

ដែលជាកន្លែងដែល Pipeline ការសម្រាក៖ ចំណុចចូល MITM ពិតប្រាកដនៅក្នុង CI/CD

មានចំណុចខ្សោយជាច្រើនដែលការវាយប្រហារបែប man-in-the-middle អាចគ្រប់គ្រងលំហូរ DevOps៖

  • កំពុងទាញយកកញ្ចប់តាមរយៈ HTTP៖ ជារឿងធម្មតានៅក្នុងការបង្កើតចាស់ៗ ឬការចុះឈ្មោះដែលបង្ហោះដោយខ្លួនឯង។ ប្រសិនបើអ្នកកំពុងទាញយក កញ្ចប់ Python, NPM ម៉ូឌុល ឬ រូបថតរបស់ Docker បើគ្មាន HTTPS ទេ អ្នកនឹងត្រូវបានលាតត្រដាង។
  • ប្រភពដែលមិនបានបញ្ជាក់: Pipelineជារឿយៗប្រើប្រាស់ឧបករណ៍សហគមន៍ ឬឧបករណ៍ប្រភពបើកចំហដោយមិនផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវ។ អ្នកវាយប្រហារ MITM អាចរំខានដល់ការទាញយកទាំងនេះ។
  • ឃ្លាំង​វត្ថុបុរាណ​ដែល​គ្មាន​ការផ្ទៀងផ្ទាត់​ភាពត្រឹមត្រូវ៖ ធុង S3, ម៉ាស៊ីនមេ Git LFS ឬឃ្លាំងផ្ទុកវត្ថុបុរាណខាងក្នុងដែលត្រូវបានចូលប្រើតាមរយៈ HTTP ធម្មតា គឺជាគោលដៅងាយស្រួល។
  • សេវាកម្មផ្ទៃក្នុងដែលមិនមានសុវត្ថិភាព: ផ្ទៃក្នុងជាច្រើន CI/CD ឧបករណ៍ (កម្មវិធី​ដំណើរការ ភ្នាក់ងារ ស្គ្រីប​ដាក់ពង្រាយ) សន្មតថា​សុវត្ថិភាព​បរិវេណ​បណ្តាញ។ MITM អាច​ទាញយក​ប្រយោជន៍​ពី​ការសន្មត់​នោះ។

ឧទាហរណ៍ ៖

				
					dependencies:
- wget http://internal.repo.local/package.tar.gz

				
			

⚠️ ឧទាហរណ៍មិនមានសុវត្ថិភាព៖ កុំប្រើក្នុងផលិតកម្ម

ប្រសិនបើចរាចរណ៍នេះត្រូវបានស្ទាក់ចាប់ អ្នកវាយប្រហារគ្រាន់តែត្រូវការបម្រើការបំប្លែង .tar.gz ជាមួយ payload មួយ។ នេះត្រូវបានពន្លា និងប្រតិបត្តិក្នុងដំណាក់កាលសាងសង់។ នេះ​ជា​មុនcisតើការវាយប្រហារបែប Man-in-the-Middle Attack ធ្វើអ្វីខ្លះនៅក្នុងសម័យទំនើប? pipelines: វាទាញយកអត្ថប្រយោជន៍ពីការសន្មត់ទំនុកចិត្ត។

ការបង្កើតមេរោគ៖ ការចាក់កូដអំឡុងពេលដំណើរការ និងពេលវេលាបង្កើត

ការវាយប្រហារបែប Man-in-the-middle លើសពីការស្ទាក់ចាប់ទៅទៀត; ពួកវានាំទៅដល់ការចាក់កូដ។ នៅពេលដែលការពឹងផ្អែក ឬវត្ថុបុរាណដែលមានគំនិតអាក្រក់ចូលទៅក្នុង... pipelineអ្នកវាយប្រហារគ្រប់គ្រងការសាងសង់។

  • ការចាក់បញ្ចូលពេលវេលាសាងសង់: កម្មវិធីចងក្រង ឬស្គ្រីបបង្កើតដែលដំណើរការការពឹងផ្អែកដែលមិនបានផ្ទៀងផ្ទាត់អាចរួមបញ្ចូលកូដ trojanes។ សូមគិតអំពីបន្ទាត់បិទបាំងនៅក្នុង Makefile ដែលត្រូវបានប្រតិបត្តិជាមួយនឹងការអនុញ្ញាតខ្ពស់។
  • ការចាក់បញ្ចូលពេលដំណើរការអថេរបរិស្ថាន ឬអាថ៌កំបាំងដែលបង្ហាញជាអត្ថបទធម្មតាអាចត្រូវបានចាប់យក និងប្រើប្រាស់ឡើងវិញ។ ប្រសិនបើអ្នករត់របស់អ្នកកត់ត្រា នាំចេញ AWS_SECRET_KEY=…អ្នកមានការលេចធ្លាយកំពុងរង់ចាំកើតឡើង។
  • ការរៀបចំជំហានថាមវន្តCI ដែលបានកំណត់ដោយ YAML pipelineជារឿយៗ s ពឹងផ្អែកលើ curl/wget ដើម្បីទាញយកស្គ្រីបថាមវន្ត។ ប្រសិនបើស្គ្រីបទាំងនោះមិនត្រូវបានការពារ អ្នកវាយប្រហារ MITM អាចជំនួសពួកវាបានភ្លាមៗ។
				
					curl http://setup.ci/init.sh | bash # Dangerous without TLS and verification

				
			

⚠️ ឧទាហរណ៍មិនមានសុវត្ថិភាព៖ កុំប្រើក្នុងផលិតកម្ម

ការដឹងពីអ្វីដែលជាការវាយប្រហារបែប man-in-the-middle ធ្វើឱ្យវាកាន់តែងាយស្រួលក្នុងការយល់ពីរបៀបដែលការចាក់បញ្ចូលទាំងនេះកើតឡើង៖ អ្នកវាយប្រហារក្លាយជាផ្នែកមួយនៃដំណើរការចែកចាយ ដោយចាក់បញ្ចូលការណែនាំដែលមានគំនិតអាក្រក់ដោយមិនចាំបាច់ចូលប្រើកូដប្រភពរបស់អ្នកដោយផ្ទាល់។

ការធានា DevOps Pipelineប្រឆាំងនឹងហានិភ័យនៃការវាយប្រហារដោយមនុស្សនៅកណ្តាល

អ្នកមិនអាចលុបបំបាត់ការគំរាមកំហែងវាយប្រហារបែប man-in-the-middle បានទេ ប៉ុន្តែអ្នកអាចធ្វើ pipelineពិបាក​សម្របសម្រួល​ជាង​ច្រើន។

ជំហានដែលអាចអនុវត្តបាន៖

  • អនុវត្ត TLS ជានិច្ច៖ រាល់ artifact, dependency និង script ត្រូវតែទាញយកតាមរយៈ HTTPS។
  • ផ្ទៀងផ្ទាត់ checksum/hashes៖ ប្រើ SHA256 ឬ​ឯកសារ​សង្ខេប​ដែល​ខ្លាំង​ជាង​នេះ ហើយ​ផ្ទៀងផ្ទាត់​មុន​ពេល​ប្រតិបត្តិ។
  • ចុះហត្ថលេខា និងផ្ទៀងផ្ទាត់វត្ថុបុរាណ៖ សូមប្រើប្រាស់ Sigstore ឬ in-toto ដើម្បីធានាបាននូវប្រភពដើម។
  • អ្នករត់ CI សុវត្ថិភាពញែកបរិស្ថានដាច់ដោយឡែក ជៀសវាងកម្មវិធីរត់ដែលបានចែករំលែក និងបិទការចូលប្រើសែលតាមដែលអាចធ្វើទៅបាន។
  • ញែកអាថ៌កំបាំងបញ្ចូល​អាថ៌កំបាំង​តែ​ក្នុង​ជំហាន​ដែល​ត្រូវការ​ប៉ុណ្ណោះ។ កុំ​បោះពុម្ព​វា ឬ​រក្សាទុក​វា​ក្នុង​កំណត់ហេតុ​ឡើយ។

ជំហាន៖

				
					- name: Fetch
run: |
curl -fsSL https://secure-repo.com/tool.sh -o tool.sh
echo "<sha256> tool.sh" | sha256sum -c -


				
			

✅ ផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវនៃស្គ្រីបមុនពេលអនុវត្ត

ទាំងនេះគឺជាប្រភេទនៃវិធានការពង្រឹងដែលធ្វើឱ្យអ្វីដែលជាការវាយប្រហារដោយមនុស្សនៅកណ្តាលក្លាយជាសំណួរទ្រឹស្តី មិនមែនជាឧប្បត្តិហេតុផលិតកម្មនោះទេ។

ហេតុអ្វីបានជារឿងនេះសំខាន់៖ ផលប៉ះពាល់ខ្សែសង្វាក់ផ្គត់ផ្គង់ និងការពង្រីកហានិភ័យ

ការវាយប្រហារដោយបុរសនៅកណ្តាលក្នុង CI/CD pipeline មិនមែនគ្រាន់តែជាបញ្ហាក្នុងស្រុកទេ វាបំផ្លាញទាំងអ្នក ខ្សែសង្វាក់ផ្គត់ផ្គង់កម្មវិធី. អ្នកប្រើប្រាស់សំណង់របស់អ្នកទាំងអស់សុទ្ធតែប្រឈមនឹងហានិភ័យ។

នៅពេលដែល malicious artifact ចូលទៅក្នុង build វាត្រូវបានចែកចាយនៅខាងក្រោម៖

  • កុងតឺន័រដែលរងការគំរាមកំហែងនឹងចូលទៅក្នុងផលិតកម្ម។
  • បណ្ណាល័យដែលមានជាតិពុលត្រូវបានបោះពុម្ពផ្សាយនៅក្នុងបញ្ជីឈ្មោះសាធារណៈ។
  • អតិថិជនដំឡើងកម្មវិធីដែលមានទ្វារខាងក្រោយ។

ការពង្រីក​បែបនេះ​គឺជាមូលហេតុដែលការវាយប្រហារខ្សែសង្វាក់ផ្គត់ផ្គង់បង្កគ្រោះថ្នាក់ខ្លាំង។ MITM ជារឿយៗវាជាជំហានដំបូង មិនមែនជាគោលដៅចុងក្រោយទេ។ ប្រសិនបើអ្នកធ្លាប់សួរថាការវាយប្រហារដោយមនុស្សនៅកណ្តាល (man-in-the-middle attack) ជាអ្វី ឥឡូវនេះអ្នកដឹងហើយ៖ វាជាចំណុចចាប់ផ្តើមសម្រាប់ការសម្របសម្រួលខ្សែសង្វាក់ពេញលេញ។

សេចក្តីសន្និដ្ឋាន៖ ការផ្លាស់ប្តូរទៅខាងឆ្វេង Pipeline Security

ការវាយប្រហារបែប man-in-the-middle នៅក្នុង DevOps មិនមែននិយាយអំពីការស្តាប់ដោយអកម្មទេ វានិយាយអំពីការលួចចូលយ៉ាងសកម្មនៃលំហូរដែលមិនមានសុវត្ថិភាពនៅក្នុង... CI/CD. TLS ដែលត្រូវបានកំណត់រចនាសម្ព័ន្ធមិនត្រឹមត្រូវប្រភពដែលមិនបានផ្ទៀងផ្ទាត់ និងវត្ថុបុរាណដែលមិនបានផ្ទៀងផ្ទាត់ បើកទ្វារឱ្យឃើញ។ អ្នកអភិវឌ្ឍន៍ត្រូវការព្យាបាល pipelineដូចជាកូដផលិតកម្ម៖ បានសាកល្បង ផ្ទៀងផ្ទាត់ និងធានាសុវត្ថិភាព។ នេះមានន័យថា គ្មានការទាញយកដែលមិនបានផ្ទៀងផ្ទាត់ គ្មានប្រភពផ្អែកលើ HTTP និងគ្មានការប្រតិបត្តិថាមវន្តដោយគ្មានការផ្ទៀងផ្ទាត់។

ឧបករណ៍ដូចជា ស៊ីហ្គេនី ជួយក្រុមឱ្យពង្រឹងសមត្ថភាពរបស់ពួកគេ pipelineដោយការរកឃើញចំណុចខ្សោយ ការផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវនៃវត្ថុបុរាណ និង ចាប់​យក​ការ​ជ្រៀតជ្រែក​នៃ​ការ​ពឹងផ្អែក​មុន​ពេល​វា​រីក​រាលដាល។ ការរំកិលទៅខាងឆ្វេងមិនមែនជាជម្រើសទេ វាជារបៀបដែលអ្នកនៅនាំមុខគេលើការគំរាមកំហែង AppSec ក្នុងពិភពពិត។ ការយល់ដឹងអំពីអ្វីដែលជាការវាយប្រហារដោយមនុស្សនៅកណ្តាលគឺមិនគ្រប់គ្រាន់ទេ។ អ្នកត្រូវរកឃើញវា ការពារវា និងបញ្ឈប់ការព្យាបាល pipeline ក្នុងនាមជាពលរដ្ឋលំដាប់ទីពីរនៅក្នុងគំរូសន្តិសុខរបស់អ្នក។

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

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

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