ហានិភ័យតាមរយៈការប្រើប្រាស់ Open-Source និង Tools
ប្រភពកូដចំហ (Open-source) កំពុងតែមានការកើនឡើងយ៉ាងខ្លាំង រួមទាំងសមាសធាតុជាច្រើនទៀតដែលមាននៅក្នុងកម្មវិធី (Software) ឬនៅក្នុង Tools និង toolchains ផងដែរ។ វាបានក្លាយជាផ្នែកមួយដ៏សំខាន់នៅក្នុងកម្មវិធី DevOps និង cloud-native environments ហើយវា គឺជាឬសគល់ (root) សម្រាប់ម៉ាស៊ីនមេ (servers) និងប្រព័ន្ធ systems ជាច្រើនថែមទៀត។
អ្នកនឹងរៀនអំពីការអនុវត្តល្អៗសម្រាប់ការកាត់បន្ថយទៅលើហានិភ័យរបស់អ្នកនៅក្នុងកម្រិតទាបបំផុត និងធានាថាអ្នកអាចបន្តប្រើប្រាស់ប្រភពបើកចំហដោយសុវត្ថិភាព។
១. ហានិភ័យទូទៅនៃប្រភពបើកចំហទូទៅ (Common Opensource Risk)
ការស្វែងយល់ពីហានិភ័យជាច្រើនដែលកើតឡើងជាមួយការប្រើប្រាស់ប្រភពបើកចំហ គឺជាជំហានដំបូងដើម្បីធានាបាននូវសុវត្ថិភាព ដល់សមាសធាតុ និងប្រព័ន្ធរបស់អ្នក។ ហានិភ័យទាំងនេះ គឺមានច្រើនជាងភាពងាយរងគ្រោះមួយៗ បើទោះបីជាបញ្ហាទាំងនេះសំខាន់ផងដែរនោះ។
សារជាតិនៃសហគមន៍ (Community Nature)
សារជាតិនៃសហគមន៍របស់ប្រភពបើកចំហ គឺអ្នកអាចប្រឈមមុខនឹងហានិភ័យជាច្រើនដែលទាក់ទងនឹងការបោះបង់គម្រោងណាមួយនោះ។ អ្នកថែរក្សា និងអ្នកចូលរួមនៅក្នុងប្រភពបើកចំហនេះ ជាទូទៅធ្វើការដោយស្ម័គ្រចិត្ត ហើយគម្រោងបើកចំហនេះ មិនមែនជាការទំនួលខុសត្រូវចម្បងរបស់ពួកគេទេ។ ប្រសិនបើអ្នកស្ម័គ្រចិត្តទាំងនេះបាត់បង់ចំណាប់អារម្មណ៍លើគម្រោង រឺក៏មិនអាចចូលរួមបានទៀតនៅលើការអភិវឌ្ឍនោះ គំរោងនេះអាចនឹងបញ្ឈប់ ឬផ្អាកភ្លាមៗ។
នេះទុកឱ្យអ្នកទទួលខុសត្រូវរាល់ការថែរក្សានាពេលអនាគត ការដោះស្រាយភាពងាយរងគ្រោះ និងការរីកចម្រើនជាច្រើនទៀត ដោយខ្លួនអ្នកផ្ទាល់។ ការរំលោភកម្មសិទ្ធិបញ្ញា គឺជាហានិភ័យមួយទៀតដែលកើតចេញពីប្រភពសហគមន៍នេះ។ ទោះបីជាអ្នកថែទាំគំរោង មានការគ្រប់គ្រងលើកូដដែលបានបញ្ចូលទៅក្នុងគំរោងក៏ដោយ ពួកគេមិនដឹងច្បាស់ថា តើលេខកូដដែលបានចូលរួមដោយអ្នកផ្សេងមានកម្មសិទ្ធិបញ្ញាដែរឬទេ។
ដូចគ្នានេះដែរ ប្រសិនបើគម្រោងមួយត្រូវចាប់ផ្តើមសម្រាប់ការប្រើប្រាស់ផ្ទាល់ខ្លួននោះ អ្នកដំបូងដែលធ្វើការ នៅលើគម្រោងនេះ ប្រហែលជាបានសម្រេចចិត្តមិនអើពើនឹងការផ្តល់អាជ្ញាប័ណ្ណនោះទេ ឬពួកគេប្រហែលជាធ្លាប់ប្រើលេខកូដដែលអាចប្រើប្រាស់បានសម្រាប់តែការប្រើប្រាស់ផ្ទាល់ខ្លួនប៉ុណ្ណោះ។ ប្រសិនបើអ្នកបញ្ចូលសមាសធាតុទាំងនេះ ហើយក្រោយមកឃើញថាលេខកូដកម្មសិទ្ធិបញ្ញាត្រូវបានបញ្ចូល អ្នកអាចទទួលខុសដោយនៅចំពោះមុខច្បាប់។
ការវាយលុកគឺជាចំណេះដឹងសាធារណៈ (Exploits are Public Knowledge)
ភាពងាយរងគ្រោះជាច្រើននៃប្រភពបើកចំហ ត្រូវបានដាក់ជាចំណេះដឹងសាធារណៈ ជាធម្មតាពី ៣០ ទៅ ៩០ ថ្ងៃ បន្ទាប់ពីរកឃើញភាពងាយរងគ្រោះនេះ។ វាផ្តល់ពេលវេលាគ្រប់គ្រាន់ដល់សហគមន៍ និងអ្នកប្រើប្រាស់ជាច្រើនដើម្បីអភិវឌ្ឍន៍កម្មវិធីសម្រាប់ជួសជុលវា (Patch) និងដាក់ឱ្យប្រើប្រាស់។
ទោះយ៉ាងណាក៏ដោយ ប្រសិនបើអ្នកមិន patch ក្នុងកំឡុងពេលនេះទេ ប្រព័ន្ធជាច្រើនរបស់អ្នកនឹងនៅតែងាយរងគ្រោះ និងជាគោលដៅងាយស្រួលផងដែរ។ វាជាទម្លាប់ធម្មតាសម្រាប់ពួកហេគឃ័រ ដើម្បីយកព័ត៌មានអំពីភាពងាយរងគ្រោះដែលមានជាសាធារណៈ និងស្វែងរកអង្គភាពជាច្រើន ដែលមិនបានធ្វើការជួសជុល (patch) ទៅលើភាពងាយរងគ្រោះទាំងនោះ ។ ព័ត៌មាននេះប្រាប់ទៅកាន់អ្នកវាយប្រហារយ៉ាងច្បាស់ពីរបៀបដែលប្រព័ន្ធរបស់អ្នកងាយរងគ្រោះ និងរបៀបធ្វើការវាយប្រហារដែលធ្វើឱ្យការងាររបស់ពួកគេកាន់តែងាយស្រួលជាងមុន។
ការពិបាកក្នុងការតាមដាន (Difficult Tracking use)
ការប្រើប្រាស់យ៉ាងទូលំទូលាយនៃប្រភពបើកចំហ មានន័យថាអ្នកទំនងជាមានសមាសធាតុ (components) ជាច្រើននៅក្នុង applications និង tools ភាគច្រើនរបស់អ្នក។ នេះជាការពិត ដែលអ្នកអាចអានឯកសារនៃ Tools និង applications ជាច្រើនដែលអ្នកប្រើប្រាស់ ដើម្បីមើលអ្វីដែលបានរួមបញ្ចូលក្នុងនោះ។
ទោះយ៉ាងណាក៏ដោយ ព័ត៌មានមិនមែនសុទ្ធតែងាយស្រួលរកទេ ហើយវាពិបាកក្នុងការធ្វើសកម្មភាព ដែលបានមកពីព័ត៌មាននោះទៀតផង។ នៅក្នុងគម្រោងផ្ទាល់ខ្លួន (personal project) របស់អ្នក អ្នកអាចមានការគ្រប់គ្រងបានច្រើននូវអ្វីដែលអាចបញ្ចូលបន្ថែម។ ជាយថាហេតុ វាជារឿងធម្មតាទេ ដែលមានតែផ្នែក ខ្លះ (partial components) ឬលេខកូដតូចៗ (code snippets) ប៉ុណ្ណោះដែលត្រូវបានប្រើប្រាស់ ដែលធ្វើឱ្យយើងស្ទើរតែមិនអាចតាមដានបាន (impossible to track)។ លើសពីនេះទៀត ក្រុមរបស់អ្នកអាចប្រើកំណែ (versions) ជាច្រើននៃសមាសធាតុតែមួយ ដែលធ្វើឱ្យការតាមដាន និងការធ្វើបច្ចុប្បន្នភាពកាន់តែស្មុគស្មាញ។
ការបញ្ចូលភាពងាយរងគ្រោះជាច្រើន (inclusion of Vulnerabilities)
ការចម្លងប្រភពកូដចំហ ឬផ្នែកនៃកូដ ដោយមិនបានយល់ពីអ្វីដែលត្រូវបានថតចម្លងនោះ ទំនងជាដាក់បន្ថែមនូវភាពងាយរងគ្រោះជាច្រើន។ ជាអកុសល សម្រាប់ libraries និង tools ត្រូវបានបញ្ចូលជាញឹកញាប់នៅក្នុងរបៀបជា black-box ដោយមានការយល់ដឹងតិចតួចបំផុតអំពីមុខងាររបស់ធាតុទាំងនោះ។
នេះមានបញ្ហា ជាពិសេសនៅពេលដែលមានតែផ្នែកមួយនៃលេខកូដដែលត្រូវបានយកទៅប្រើប្រាស់ ។ លុះត្រាតែអ្នកយល់ច្បាស់អំពីមុខងារដំណើរការនៃកូដ បើមិនអញ្ចឹងទេ នោះអ្នកមានការពិបាក ក្នុងការប្រាប់ថា តើវាមានផ្ទុកទៅដោយភាពងាយរងគ្រោះ (vulnerabilities) ដែរឬទេ ។ វាក៏អាចដែរថា ភាពងាយរងគ្រោះដែលមាននៅក្នុងចំណែកនៃកូដដែលចម្លងខាងលើ ត្រូវបានគេសរសេរជួសជុលវានៅក្នុងកូដនៅផ្នែកណាមួយខាងក្រោម ឬនៅក្នុង functions ណាផ្សេងទៀតដែលយើងមិនដឹង។
២. ការអនុវត្តល្អៗបំផុតសម្រាប់ការគ្រប់គ្រងទៅលើភាពងាយរងគ្រោះនៃប្រភពបើកចំហ
ការអនុវត្តល្អបំផុតដូចខាងក្រោមនេះអាចជួយអ្នកក្នុងការគ្រប់គ្រងហានិភ័យដែលបង្កើតឡើងដោយការ ប្រើប្រាស់កម្មវិធីប្រភពកូដចំហ។
ការត្រួតពិនិត្យមតិយោបល់ និងមូលដ្ឋានទិន្នន័យនៃភាពងាយរងគ្រោះ
អ្នកថែរក្សាគំរោងប្រភពបើកចំហរជាជាច្រើន ជាធម្មតាមិនជូនដំណឹងដល់អ្នកប្រើប្រាស់អំពីភាពងាយរងគ្រោះរបស់ប្រព័ន្ធឡើយ។ ដោយសារបញ្ហានេះ វាជាទំនួលខុសត្រូវរបស់អ្នកក្នុងការតាមដានព័ត៌មានសម្រាប់ធ្វើការជួសជុល (patch) និងទទួលព័ត៌មានពីងាយរងគ្រោះពីប្រភពផ្សេងៗជាច្រើននោះ។ វាមានប្រភពផ្សេងៗគ្នាដើម្បីជ្រើសរើស ដោយរួមមានទាំងរដ្ឋាភិបាល និងមូលដ្ឋានទិន្នន័យឯករាជ្យជាច្រើន។
ប្រភពទាំងនេះអាចផ្តល់ព័ត៌មានទាន់ពេលវេលា ហើយជាទូទៅរួមបញ្ចូលព័ត៌មានលម្អិតអំពីប្រព័ន្ធងាយរងគ្រោះ និងជំហានដោះស្រាយជាច្រើន។ ប្រភពណាមួយដែលអ្នកជ្រើសរើស ត្រូវប្រាកដថាតាមដានមតិយោបល់ព័ត៌មានផ្លូវការ និងសហគមន៍។ ប្រសិនបើអ្នកមិនធ្វើដូច្នេះទេ អ្នកទំនងជាខកខានទៅលើភាពងាយរងគ្រោះសំខាន់ៗ។ ឧទាហរណ៍ភាពងាយរងគ្រោះរបស់ JavaScript ហាក់ដូចជាមិនត្រូវបានរាយការណ៍ទៅកាន់មូលដ្ឋានទិន្នន័យផ្លូវការទេ។
ប្រភពល្អៗដើម្បីចាប់ផ្តើមរួមមាន៖
- មូលដ្ឋានទិន្នន័យភាពងាយរងគ្រោះថ្នាក់ជាតិ National Vulnerability Database (NVD)
- គម្រោងសុវត្ថិភាពកម្មវិធីបើកគេហទំព័រ Open Web Application Security Project (OWASP)
- សហគមន៍ផ្តល់មតិយោបល់សម្រាប់សមាសធាតុជាច្រើនរបស់អ្នក
ធ្វើបច្ចុប្បន្នភាពនៃសមាសភាគ (components) របស់ប្រភពកូដចំហ
អ្នកត្រូវតាមដានសមាសធាតុ (components) នៃប្រភពបើកចំហណាមួយដែលអ្នកប្រើប្រាស់ និងធានាថាអ្វីៗនៅតែ up-to-date ជានិច្ច។ មធ្យោបាយងាយស្រួលបំផុតក្នុងការធ្វើដូចនេះ គឺដោយប្រើប្រាស់នូវឧបករណ៍វិភាគសមាសភាពសូហ្វវែរ Software Composition Analysis (SCA) tools។
SCA tools នេះអាចស្កេនរកការធ្វើបច្ចុប្បន្នភាព និង Patch និងដាស់តឿនអ្នកនៅពេលដែលសមាសធាតុទាំងអស់នេះផុតកាលកំណត់នោះ។ កូនកម្មវិធីនេះជាធម្មតារួមបញ្ចូល ឬអាចបញ្ចូលព័ត៌មានដែលអ្នកកំពុងមើលរួចហើយ។ ដូច្នេះវាជាទំនួលខុសត្រូវរបស់អ្នកក្នុងការទាញយកការជួសជុលនេះ។
លើសពីនេះទៀត អ្នកត្រូវប្រាកដថា បានអនុវត្តនូវ Patch ទាំងនេះឱ្យបានឆាប់តាមដែលអាចធ្វើទៅបាន។ ការវាយលុកលួចទិន្នន័យមួយចំនួនត្រូវបានបង្កឡើងដោយ ភាពងាយរងគ្រោះជាច្រើន ដែលមានបញ្ហាដែលអង្គភាពមិនបានជួសជុល (patch) ទៅលើភាពងាយរងគ្រោះ។ ឧទាហរណ៍ ការវាយលុកចូលទៅលួចទិន្នន័យរបស់ក្រុម៊ហុន Equifax ដែលបណ្តាលមកពីការមិនធ្វើការជួសជុលទៅលើភាពងាយរងគ្រោះនៃប្រព័ន្ធ។
កម្រិតអប្បបរមាទៅលើការពឹងផ្អែករបស់អ្នក (minimize your dependencies)
នៅពេលសម្រេចចិត្តថា តើសមាសធាតុជាច្រើន (component) នៃប្រភពបើកចំហណាមួយដែលត្រូវដាក់បញ្ចូលទៅក្នុងប្រព័ន្ធរបស់អ្នក សូមព្យាយាមកាត់បន្ថយភាពអាស្រ័យរបស់អ្នកឱ្យតិចបំផុតតាមដែលអាចធ្វើទៅបាន។ ប្រសិនបើអ្នកកំពុងប្រើប្រាស់នូវភាពអាស្រ័យដូចគ្នានៅក្នុងគម្រោងជាច្រើនទៀតនោះ សូមព្យាយាមប្រើប្រាស់នូវកំណែ version ដូចគ្នា។
នេះធ្វើឱ្យវាកាន់តែងាយស្រួលសម្រាប់អ្នកក្នុងការរក្សាសមាសធាតុទាន់សម័យ up-to-date និងអាចកាត់បន្ថយបញ្ហាដែលត្រូវគ្នាផងដែរ។ នៅពេលប្រើប្រាស់នូវ Tools និងកម្មវិធីជាច្រើនទៀតនោះ សូមជ្រើសរើសយកមួយណាដែលត្រូវបានថែរក្សាយ៉ាងល្អជាមួយនឹងសហគមន៍ដែលអាចទុកចិត្តបាន។
សម្រាប់ Tools ជាច្រើនដែលមានការគាំទ្រតិច ទំនងជាមានបញ្ហាដែលមិនបានរកឃើញ ឬមិនធ្វើការ Patch ។ អ្នកក៏គួរព្យាយាមប្រើប្រាស់នូវ Tools ដែលមិនពឹងផ្អែកលើភាពអាស្រ័យហួសហេតុនោះ។ ភាពអាស្រ័យនីមួយៗបន្ថែមហានិភ័យជាច្រើនហើយអាចជាសញ្ញានៃគុណភាពអន់នៃផលិតផល ជាពិសេសប្រសិនបើបណ្ណាល័យជាច្រើននេះត្រូវបានប្រើប្រាស់សម្រាប់មុខងារងាយៗក្នុងការសរសេរកូដនោះ។
៣. សេចក្តីសន្និដ្ឋាន
កម្មវិធីកូដ និងកូដបើកចំហ អាចមានអត្ថប្រយោជន៍យ៉ាងខ្លាំងដល់អង្គភាព និងបុគ្គលនានាប្រសិនបើអ្នកប្រើវាដោយប្រុងប្រយ័ត្ន។ នៅពេលប្រើប្រភពបើកចំហនោះ វាមិនមានកិច្ចព្រមព្រៀងកម្រិតសេវាកម្ម ឬកាតព្វកិច្ចទទួលខុសត្រូវនោះទេ។
ផ្ទុយទៅវិញ ការធានាថាសមាសធាតុជាច្រើនរបស់អ្នកត្រូវបានអាប់ដេតនោះ និងធានាបានត្រឹមត្រូវនោះគឺអាស្រ័យលើអ្នក។ សង្ឃឹមថាអត្ថបទនេះបានជួយអ្នកឱ្យយល់កាន់តែច្បាស់អំពីហានិភ័យទូទៅដែលប្រឈមមុខនៅពេលប្រើកម្មវិធីកូដចំហ និងកូដនោះ។ ការគិតអំពីបញ្ហាទាំងនេះ ហើយអនុវត្តការអនុវត្តល្អៗដែលបានណែនាំនៅទីនេះគួរតែជួយអ្នកកាត់បន្ថយហានិភ័យជាច្រើនរបស់អ្នកថែមទៀត៕
ប្រភព៖ https://gbhackers.com/risks-of-open-source-software/
ទាញយកកម្មវិធីសម្រាប់ទូរស័ព្ទស្មាតហ្វូន (Apple ឬ Android) ឬក៏ចូលរួមទៅក្នុងបន្ទប់ផ្តល់ព័ត៌មាន Telegram Channel សម្រាប់ទទួលបានព័ត៌មានចុងក្រោយស្តីអំពីសន្តិសុខអុិនធឺណិតទាំងក្នុង និងក្រៅប្រទេស៖ https://t.me/infosecisac
Download our iOS App or Android App or subscribe to our Telegram channel for the latest updates on the Cybersecurity Breaking News in both locally and internationally: https://t.me/infosecisac