កូដព្យាបាទ គឺជាការគំរាមកំហែងដ៏លួចលាក់ និងបង្កគ្រោះថ្នាក់បំផុតមួយ ដែលក្រុមកម្មវិធីកំពុងប្រឈមមុខនាពេលបច្ចុប្បន្ន។ វាមិនតែងតែបង្កើតច្រកចូលដ៏ខ្លាំងនោះទេ - ពេលខ្លះវាលួចចូលទៅក្នុងរបស់អ្នកដោយស្ងាត់ៗ pipeline តាមរយៈការពឹងផ្អែកប្រភពបើកចំហ ឬការងារ CI ដែលត្រូវបានកំណត់រចនាសម្ព័ន្ធមិនត្រឹមត្រូវ។ ដូច្នេះ តើកូដព្យាបាទអាចបង្កការខូចខាតយ៉ាងដូចម្តេចនិង តើខាងក្រោមមួយណាដែលអាចបង្ហាញពីការវាយប្រហារដោយកូដព្យាបាទ? សំខាន់ជាងនេះទៅទៀត, តើកូដព្យាបាទអាចបង្កការខូចខាតយ៉ាងដូចម្តេច មុនពេលវាឈានដល់ការផលិត?
ការណែនាំនេះនាំអ្នកឆ្លងកាត់ករណីជាក់ស្តែង សញ្ញាព្រមាន និងយុទ្ធសាស្ត្រកាត់បន្ថយផលប៉ះពាល់ដ៏ឆ្លាតវៃដែលអ្នកអាចអនុវត្តបាននៅថ្ងៃនេះ។
សទ្ទានុក្រម Xygeni
តើកូដព្យាបាទជាអ្វី
កូដដែលត្រូវបានសរសេរដោយចេតនាដើម្បីបង្កគ្រោះថ្នាក់ កេងប្រវ័ញ្ច ឬធ្វើឱ្យខូចប្រព័ន្ធ ទិន្នន័យ ឬដំណើរការកម្មវិធី — ជាញឹកញាប់ដោយការលួចព័ត៌មានសម្ងាត់ ការចាក់បញ្ចូលផ្លូវក្រោយ ឬរំខានដល់ឥរិយាបថកម្មវិធី។ វាអាចលាក់ខ្លួននៅក្នុងកូដប្រភព កញ្ចប់ភាគីទីបី ឬ CI/CD pipelines.
តើកូដព្យាបាទអាចបង្កការខូចខាតយ៉ាងដូចម្តេច? ការសិក្សាស៊ីជម្រៅជាមួយឧទាហរណ៍ក្នុងពិភពពិត
ការយល់ដឹងពីរបៀបដែលកូដព្យាបាទអាចបង្កការខូចខាតគឺជាគន្លឹះក្នុងការកសាងខ្សែសង្វាក់ផ្គត់ផ្គង់កម្មវិធីដែលមានសុវត្ថិភាព។ នៅក្នុងសម័យកាលសព្វថ្ងៃនេះ CI/CD ប្រព័ន្ធអេកូឡូស៊ី កូដព្យាបាទអាច៖
១. ការលួចយកព័ត៌មានសម្ងាត់ - របៀបដែលកូដព្យាបាទបណ្តាលឱ្យមានការលេចធ្លាយព័ត៌មានសម្ងាត់
មានអ្វីកើតឡើងអ្នកវាយប្រហារលួចទិន្នន័យរសើប ដូចជាសោ API ថូខឹន ឬពាក្យសម្ងាត់ ដែលរក្សាទុកក្នុងកូដ ឯកសារកំណត់រចនាសម្ព័ន្ធ ឬបរិស្ថានសាងសង់។
ហេតុអ្វីបានជាវាមានគ្រោះថ្នាក់វាបើកទ្វារឱ្យមានការកាន់កាប់លើ Cloud ការចូលប្រើមូលដ្ឋានទិន្នន័យ និងការសម្របសម្រួលខ្សែសង្វាក់ផ្គត់ផ្គង់។
ករណីពិត: ចាកាស្ទីលឡឺរ មេរោគនៅក្នុងកញ្ចប់ PyPI បានលួចយកអាថ៌កំបាំងតាមរយៈឧបករណ៍អភិវឌ្ឍន៍ក្លែងក្លាយ។
ម្យ៉ាងវិញទៀត ការវាយប្រហារប្រភេទនេះទាញយកផលប្រយោជន៍ពីការជឿទុកចិត្ត និងភាពងាយស្រួល ដើម្បីទទួលបានព័ត៌មានសម្ងាត់មុនពេលដែលនរណាម្នាក់ដឹងពីអ្វីដែលបានកើតឡើង។
២. ការចាក់បញ្ចូល Backdoor ឬ Rootkits
មានអ្វីកើតឡើងកូដរួមបញ្ចូលចំណុចចូលដែលលាក់ និងអចិន្ត្រៃយ៍ ដែលអ្នកវាយប្រហារអាចប្រើប្រាស់នៅពេលក្រោយ — សូម្បីតែបន្ទាប់ពីអ្នកគិតថាការគំរាមកំហែងបានបាត់ទៅហើយក៏ដោយ។
ហេតុអ្វីបានជាវាមានគ្រោះថ្នាក់វារំលងជញ្ជាំងភ្លើង និងអនុញ្ញាតឱ្យចូលប្រើរយៈពេលវែង។
ករណីពិត: ការ XZ Utils ខាងក្រោយ ដែលបានបង្កប់នៅក្នុងប្រព័ន្ធ Linux ផ្តល់ឱ្យអ្នកវាយប្រហារនូវសិទ្ធិចូលប្រើ SSH ដោយមិនចាំបាច់មានព័ត៌មានបញ្ជាក់អត្តសញ្ញាណ។
លើសពីនេះ ឧប្បត្តិហេតុនេះគូសបញ្ជាក់ពីរបៀបដែលវិស្វកម្មសង្គម និងការគំរាមកំហែងពីខាងក្នុងអាចរំលងសូម្បីតែដំណើរការពិនិត្យកូដដ៏ល្អបំផុតក៏ដោយ។
៣. ការផ្លាស់ប្តូរតក្កវិជ្ជាស្ងាត់ៗ - តើកូដព្យាបាទអាចរំខានដល់កម្មវិធីរបស់អ្នកយ៉ាងដូចម្តេច?
មានអ្វីកើតឡើង: ឧទាហរណ៍មួយទៀតនៃរបៀបដែលកូដព្យាបាទអាចបង្កការខូចខាតគឺតាមរយៈការផ្លាស់ប្តូរបន្តិចបន្តួចចំពោះតក្កវិជ្ជាអាជីវកម្ម - ការរំលងការផ្ទៀងផ្ទាត់ ឬការធ្វើឱ្យការត្រួតពិនិត្យសុវត្ថិភាពចុះខ្សោយ។
ហេតុអ្វីបានជាវាមានគ្រោះថ្នាក់៖ ការផ្លាស់ប្ដូរទាំងនេះច្រើនតែមើលមិនឃើញដោយអ្នកអភិវឌ្ឍន៍ ប៉ុន្តែវាមហន្តរាយនៅក្នុងផលិតកម្ម។
ករណីពិត: UAParser.js លើ NPM ត្រូវបានគេលួចចូលដើម្បីដំឡើងកម្មវិធីជីកយករ៉ែគ្រីបតូ ដោយផ្លាស់ប្តូររបៀបដែលវាប្រតិបត្តិកូដ។
ជាលទ្ធផល សូម្បីតែការផ្លាស់ប្តូរតក្កវិជ្ជាតិចតួចនៅក្នុងបណ្ណាល័យដែលគួរឱ្យទុកចិត្តក៏អាចនាំឱ្យមានគម្លាតសុវត្ថិភាពធំៗផងដែរ។
៤. ការកេងប្រវ័ញ្ចកញ្ចប់ប្រភពបើកចំហ
មានអ្វីកើតឡើង: នេះជារបៀបដែលកូដព្យាបាទអាចបង្កការខូចខាត នៅកម្រិត។ ជនមានគំនិតអាក្រក់បោះពុម្ពកញ្ចប់ក្លែងក្លាយ ឬកញ្ចប់ដែលត្រូវបានលួចយក ដែលមើលទៅដូចជាស្របច្បាប់ ហើយអ្នកអភិវឌ្ឍន៍ដំឡើងវាដោយមិនដឹងខ្លួន។
ហេតុអ្វីបានជាវាមានគ្រោះថ្នាក់ការវាយប្រហារទាំងនេះមានវិសាលភាពលឿន ដែលប៉ះពាល់ដល់កម្មវិធីរាប់ពាន់។
ករណីពិតកញ្ចប់ NPM ព្យាបាទជាង 280 ត្រូវបានប្រើប្រាស់ក្នុងយុទ្ធនាការវាយអក្សរដែលបញ្ជូនចរាចរណ៍តាមរយៈ កិច្ចសន្យាឆ្លាតវៃ Ethereum ។
ជាលទ្ធផល នេះបង្ហាញពីតម្រូវការដ៏សំខាន់សម្រាប់ការស្កេនបញ្ជីឈ្មោះតាមពេលវេលាជាក់ស្តែង និងប្រព័ន្ធកេរ្តិ៍ឈ្មោះកញ្ចប់។
៥. ការលុប ឬ ការបំផ្លាញទិន្នន័យ
មានអ្វីកើតឡើង៖ ឯកសារត្រូវបានលុប កំណត់ហេតុត្រូវបានលុប ហើយមូលដ្ឋានទិន្នន័យត្រូវបានបោះចោលដើម្បីលាក់ដាន ឬបង្កភាពវឹកវរ។
ហេតុអ្វីបានជាវាមានគ្រោះថ្នាក់នេះគឺជាការបំផ្លិចបំផ្លាញសុទ្ធសាធ - គ្មានប្រាក់លោះ គ្មានសារ - គ្រាន់តែជាពេលវេលារងចាំ និងការបាត់បង់ទិន្នន័យ។
ករណីពិត: មេរោគ HermeticWiper បានលុបប្រព័ន្ធនានានៅអ៊ុយក្រែនដោយប្រើកម្មវិធីធ្វើបច្ចុប្បន្នភាពកម្មវិធីក្លែងក្លាយ។
ដើម្បីសង្កត់ធ្ងន់ ការវាយប្រហារបំផ្លិចបំផ្លាញមិនមែនគ្រាន់តែជាទ្រឹស្តីនោះទេ—វាគឺជាផ្នែកមួយនៃសង្គ្រាមតាមអ៊ីនធឺណិតសម័យទំនើប។
៦. ការបិទសេវាកម្មសំខាន់ៗ (ការបដិសេធសេវាកម្ម)
មានអ្វីកើតឡើងកូដប្រើប្រាស់ធនធាន ឬគាំងប្រព័ន្ធដោយប្រើគ្រាប់បែកឡូជីខល រង្វិលជុំហៅខ្លួនឯង ឬការបញ្ចូលមិនត្រឹមត្រូវ។
ហេតុអ្វីបានជាវាមានគ្រោះថ្នាក់វាបិទសេវាកម្មនានាក្នុងម៉ោងមមាញឹក ឬលាក់បាំងការវាយប្រហារកាន់តែជ្រៅ។
ករណីពិត: Log4Shell ការវាយប្រហាររួមមានបំរែបំរួល DoS ដែលធ្វើឱ្យកម្មវិធី Java គាំងភ្លាមៗ។
ដោយហេតុផលនោះ ការអនុវត្តឧបករណ៍បំបែកសៀគ្វី និងការត្រួតពិនិត្យពេលដំណើរការគឺមានសារៈសំខាន់នៅក្នុងស្ថាបត្យកម្មសព្វថ្ងៃនេះ។
TL;DR – តើកូដព្យាបាទអាចបង្កការខូចខាតដោយរបៀបណា?
- ច្រោះទិន្នន័យរសើប – លួចពាក្យសម្ងាត់ ថូខឹន និងព័ត៌មានសម្ងាត់ពីកូដ ឬបរិស្ថាន
- ផ្លាស់ប្តូរឥរិយាបថប្រព័ន្ធ – ផ្លាស់ប្តូរតក្កវិជ្ជាកម្មវិធី រំលងការអនុញ្ញាត ឬបិទការគ្រប់គ្រងសុវត្ថិភាពដោយស្ងាត់ៗ
- សាងសង់ដោយលួចចូល pipelines – ចាក់មេរោគចូលទៅក្នុងវត្ថុបុរាណ ឬ CI/CD ដំណើរការ
- បើកដំណើរការទ្វារខាងក្រោយ – រក្សាការចូលប្រើប្រាស់ដោយលួចលាក់ សូម្បីតែបន្ទាប់ពីការរកឃើញក៏ដោយ
- បំផ្លាញភាពអាចរកបាន – ការគាំងបង្កឲ្យមានបញ្ហា ឬការបដិសេធសេវាកម្មក្នុងផលិតកម្ម
តើចំណុចណាខាងក្រោមដែលអាចបង្ហាញពីការវាយប្រហារដោយកូដព្យាបាទ?
ឥឡូវនេះ អ្នកយល់ហើយថា កូដព្យាបាទអាចបង្កការខូចខាតយ៉ាងដូចម្តេច ខាងក្រោមនេះជាអ្វីដែលអាចជាការវាយប្រហារកូដព្យាបាទនៅក្នុងបរិស្ថានរបស់អ្នក៖
១. ការកែប្រែឯកសារភ្លាមៗ ឬគួរឱ្យសង្ស័យ
- ការផ្លាស់ប្ដូរចំពោះ CODEOWNERS, .env ឬស្គ្រីបសែល
- ការកែប្រែ commitត្រូវបានបង្កើតឡើងដោយអ្នកប្រើប្រាស់ថ្មី ឬអ្នកប្រើប្រាស់ដែលមិនគួរឱ្យទុកចិត្ត
- ភ្លាមៗនោះ ឯកសារសាកល្បងមានឥរិយាបទខុសគ្នា
2. ការផ្លាស់ប្តូរកញ្ចប់ ឬការពឹងផ្អែកដែលមិននឹកស្មានដល់
- ការពឹងផ្អែកអន្តរកាល ឬការពឹងផ្អែកដែលទើបបន្ថែមថ្មីដោយមិនចាំបាច់ពិភាក្សា
- កំណែសេសលេចឡើងក្នុង package.json ឬ pom.xml
- កញ្ចប់ដែលគ្មានផ្កាយ ឬឯកសារ
ជាឧទាហរណ៍ អ្នកវាយប្រហារច្រើនតែបញ្ចេញបណ្ណាល័យក្លែងក្លាយច្រើន ហើយរង់ចាំកំហុសវាយអក្សរ ឬការបំពេញដោយស្វ័យប្រវត្តិដើម្បីធ្វើអ្វីៗដែលនៅសល់។
3. Commit ឬភាពមិនប្រក្រតីរបស់អ្នករួមចំណែក
- អ្នករួមចំណែកដែលមិនសូវស្គាល់កំពុងជំរុញការផ្លាស់ប្តូរសំខាន់ៗ
- បង្ខំដោយបង្ខំ commits លុបប្រវត្តិសាស្ត្រ
- CI/CD ដំណើរការនៅម៉ោងសេស ឬពី IP ដែលមិនស្គាល់
លើសពីនេះទៅទៀត ទាំងនេះមានហានិភ័យជាពិសេសនៅក្នុងគម្រោង OSS ដែលអ្នកណាម្នាក់អាច fork កែប្រែ និងដាក់ស្នើ pull request.
4. CI/CD កសាង Pipeline ទង់ក្រហម
- ជំហានសាងសង់ថ្មីត្រូវបានបញ្ចូលដោយគ្មានការពិពណ៌នាអំពី PR
- លិខិតសម្គាល់ត្រូវបានបញ្ជូនជាអត្ថបទធម្មតានៅក្នុងកំណត់ហេតុ
- ការបរាជ័យនៃការធ្វើតេស្តដែលមិននឹកស្មានដល់
ម្យ៉ាងវិញទៀត ទាំងនេះអាចជារឿងធម្មតានៅក្នុងការអភិវឌ្ឍដំបូង - ប៉ុន្តែលុះត្រាតែពួកវាត្រូវបានពិនិត្យ និងកត់ត្រាទុកយ៉ាងត្រឹមត្រូវ។
៥. ការលេចធ្លាយអាថ៌កំបាំង ឬលិខិតបញ្ជាក់អត្តសញ្ញាណ
- ប្រវត្តិ Git បង្ហាញកូនសោ ឬថូខឹន
- អាថ៌កំបាំងលេចឡើងនៅក្នុងកំណត់ហេតុបំបាត់កំហុស ឬឯកសារសាកល្បង
មុនពេលអ្នកចាប់ផ្តើមផ្សាយផ្ទាល់ ត្រូវប្រាកដថាការស្កេនសម្ងាត់គឺជាផ្នែកមួយនៃរាល់ commit និងដំណើរការការងារ PR។
TL;DR – តើចំណុចណាខាងក្រោមដែលអាចបង្ហាញពីការវាយប្រហារដោយកូដព្យាបាទ?
- ការផ្លាស់ប្ដូរដែលមិននឹកស្មានដល់នៅក្នុងឯកសារសំខាន់ៗ -
CODEOWNERS,Dockerfileឬ.envឯកសារត្រូវបានកែប្រែភ្លាមៗ - មិនធម្មតា CI/CD pipeline សកម្មភាព – ជំហានសាងសង់ថ្មី ឬដែលបានផ្លាស់ប្តូរ ស្គ្រីប ឬឥរិយាបថការងារ
- មិនស្គាល់ commit អ្នកនិពន្ធ – អ្នករួមចំណែកថ្មីដែលជំរុញការផ្លាស់ប្តូរដែលមានសិទ្ធិខ្ពស់ ឬមិនទាន់បានពិនិត្យ
- កញ្ចប់ប្រភពបើកចំហគួរឱ្យសង្ស័យ – ការប្រើប្រាស់ភាពអាស្រ័យដែលទើបបោះពុម្ពផ្សាយថ្មីៗ ឬការថែទាំមិនបានល្អ
- ការលាតត្រដាងអាថ៌កំបាំងនៅក្នុងការគ្រប់គ្រងកំណែ – កូនសោ API, ថូខឹន ឬលិខិតសម្គាល់ commitធីដដោយកំហុស
- ការចូលប្រើឃ្លាំងទិន្នន័យមិនប្រក្រតី – មិនទៀងទាត់ logins, ការផ្លាស់ប្តូរតួនាទី ឬភាពមិនប្រក្រតីនៃការរួមចំណែក
បញ្ឈប់ការខូចខាត៖ របៀបការពារកូដព្យាបាទនៅក្នុងខ្សែសង្វាក់ផ្គត់ផ្គង់កម្មវិធីរបស់អ្នក
ដំណឹងល្អ? អ្នកមិនឯកាទេក្នុងការតស៊ូនេះ។
ស៊ីហ្គេនី ផ្តល់ឱ្យក្រុមរបស់អ្នកនូវឧបករណ៍បង្រួបបង្រួមដែលពួកគេត្រូវការដើម្បីរកឃើញ បញ្ឈប់ និងងើបឡើងវិញពីការគំរាមកំហែងកូដព្យាបាទ - មុនពេលពួកគេឈានដល់ការផលិត។ នៅពេលដែលការវាយប្រហារវិវត្តន៍ក្នុងភាពស្មុគស្មាញ និងមាត្រដ្ឋាន ឧបករណ៍សុវត្ថិភាពដែលរាយប៉ាយបានធ្លាក់ចុះ។ អ្នកត្រូវការការការពាររួមបញ្ចូលគ្នាដែលបានបង្កប់នៅក្នុងដំណាក់កាលនីមួយៗនៃវដ្តជីវិតអភិវឌ្ឍន៍កម្មវិធី។
នោះហើយជាកន្លែងដែល Xygeni ចូលមក - បង្កើតឡើងដើម្បីធានាសុវត្ថិភាពកូដរបស់អ្នក pipelineនិងសមាសធាតុប្រភពបើកចំហពីវេទិកាតែមួយ។
នេះជារបៀបដែល Xygeni ជួយអ្នកឱ្យឈានមុខគេ៖
- ការរកឃើញភាពខុសប្រក្រតីក្នុងពេលជាក់ស្តែង
ចាប់ការផ្លាស់ប្តូរឯកសារគួរឱ្យសង្ស័យ ឥរិយាបថអ្នកចូលរួម និង pipeline រសាត់បាត់ទៅនៅពេលដែលវាកើតឡើង។ - សន្តិសុខសម្ងាត់
ការពារដោយស្វ័យប្រវត្តិពីការចូលទៅក្នុងឃ្លាំងរបស់អ្នក សូម្បីតែមុនពេល commit ត្រូវបានបញ្ចប់។ - ការព្រមានជាមុនអំពីមេរោគ
ស្កេនបញ្ជីឈ្មោះសាធារណៈក្នុងពេលវេលាជាក់ស្តែង និងរារាំងកញ្ចប់ព្យាបាទជាមួយនឹងការរកឃើញផ្អែកលើឥរិយាបថ។ - ការរកឃើញការក្លែងបន្លំលេខកូដ
ទទួលបានភាពមើលឃើញនៃការផ្លាស់ប្តូរដែលគ្មានការអនុញ្ញាតចំពោះឯកសារសំខាន់ៗ ជាមួយ commit-កម្រិតបរិបទ និងការជូនដំណឹង។ - កសាងភាពស្មោះត្រង់ និងការបញ្ជាក់
ត្រូវប្រាកដថា វត្ថុបុរាណនីមួយៗគឺមានភាពត្រឹមត្រូវ មិនមានការក្លែងបន្លំ និងអាចតាមដានបាន — ចាប់ពីប្រភពរហូតដល់ការផលិត។ - ការផ្តល់អាទិភាពទូទាំងវេទិកា
ប្រើប្រាស់រង្វាស់នៃការកេងប្រវ័ញ្ចដូចជា EPSS, reachability និងបរិបទអាជីវកម្ម ដើម្បីច្រោះសំឡេងរំខានចេញ ហើយផ្តោតលើអ្វីដែលសំខាន់ពិតប្រាកដ។
ការយកសំខាន់ៗ
មិនដូចដំណោះស្រាយចំណុចដាច់ដោយឡែកទេ Xygeni ពង្រឹងការការពារនៅទូទាំង SDLC ទៅជាវេទិកាដ៏មានអានុភាព និងងាយស្រួលសម្រាប់អ្នកអភិវឌ្ឍន៍មួយ។ នេះផ្តល់ឱ្យក្រុមរបស់អ្នកនូវការយល់ដឹងជាក់ស្តែងទាន់ពេលវេលា ការកំណត់អាទិភាពហានិភ័យតាមបរិបទ និងលំហូរការងារដោយស្វ័យប្រវត្តិ — ទាំងអស់នេះដោយមិនបាត់បង់ល្បឿន ឬប្រសិទ្ធភាពឡើយ។
ដូច្នេះ តើកូដព្យាបាទអាចបង្កការខូចខាតយ៉ាងដូចម្តេច? ដោយការកេងប្រវ័ញ្ចរបស់អ្នក pipeline, ការជឿទុកចិត្តរបស់អ្នកលើប្រភពបើកចំហ និងល្បឿនរបស់ DevOps ខ្លួនឯង។ ក្នុងចំណោមចំណុចខាងក្រោម តើមួយណាដែលអាចបង្ហាញពីការវាយប្រហារដោយកូដព្យាបាទ? សញ្ញាក្រហមណាមួយខាងលើ។
អ្នកមិនត្រូវការឧបករណ៍ច្រើនដើម្បីការពារប្រឆាំងនឹងហានិភ័យទាំងនេះទេ - អ្នកត្រូវការវេទិកាឆ្លាតវៃ និងបង្រួបបង្រួមតែមួយ។
សាកល្បង Xygeni ដោយឥតគិតថ្លៃថ្ងៃនេះ និងការពារខ្សែសង្វាក់ផ្គត់ផ្គង់កម្មវិធីរបស់អ្នកពីខាងក្នុងទៅខាងក្រៅ។ ចាប់ផ្តើមការសាកល្បងឥតគិតថ្លៃរបស់អ្នក →
តើអ្វីទៅជាសញ្ញាព្រមានដំបូងដែលបង្ហាញថាកូដព្យាបាទអាចនឹងធ្វើឲ្យប៉ះពាល់ដល់ខ្សែសង្វាក់ផ្គត់ផ្គង់កម្មវិធីរបស់អ្នក?
សូចនាករដំបូងមួយចំនួនអំពីរបៀបដែលកូដព្យាបាទអាចបង្កការខូចខាតរួមមានការផ្លាស់ប្តូរឯកសារភ្លាមៗ ការសង្ស័យ CI/CD សកម្មភាព ឬអ្នកចូលរួមដែលមិនស្គាល់ដែលធ្វើការរិះគន់ commits ឬជំរុញការផ្លាស់ប្តូរ។ សញ្ញាទាំងអស់នេះក៏ឆ្លើយសំណួរផងដែរ៖ តើខាងក្រោមមួយណាអាចបង្ហាញពីការវាយប្រហារដោយកូដព្យាបាទ? ហើយគូសបញ្ជាក់ពីរបៀបដែលកូដព្យាបាទអាចបង្កការខូចខាតដោយស្ងៀមស្ងាត់មុនពេលវាឈានដល់ការផលិត។ ត្រូវប្រុងប្រយ័ត្ន!







