វិធី ៣យ៉ាងដើម្បីពង្រឹងសុវត្ថិភាពខ្សែច្រវាក់ផ្គត់ផ្គង់កម្មវិធី (Software Supply Chain) របស់អ្នក

0

សំណើជំរុញសន្តិសុខសាយប័រថ្នាក់ជាតិពីនាយកប្រតិបត្តិ (Executive Order on Improving the Nation’s CyberSecurity) បានណែនាំមនុស្សជាច្រើអំពី ទស្សនៈនៃបច្ចេកទេសខ្សែច្រវាក់ផ្គត់ផ្គង់កម្មវិធី (Software Supply Chain) និងការពារសុវត្ថិភាពសាយប័រ។ ប្រសិនបើអ្នកបង្កើតកម្មវិធី (Software) និងរំពឹងថាលក់វាទៅកាន់អតិថិជន អ្នកត្រូវតែយកចិត្តទុកដាក់លើរឿងនេះ។ បើទោះបីជាអ្នកមិនធ្លាប់មានគម្រោងថានឹងលក់ទៅឱ្យរដ្ឋាភិបាលក្តី អ្នកគួរតែយល់ពី Software Supply Chain និងត្រូវធ្វើយ៉ាងណាឱ្យវាមានសុវត្ថិភាព ដោយសារតែវាជាចំណែកមួយដែលពង្រឹងដល់សុវត្ថិភាព។ អត្ថបទនេះនឹងរៀបរាប់ពីវិធី ៣យ៉ាង ក្នុងការជួយឱ្យ Software Supply Chain កាន់តែរឹងមាំ។

តើអ្វីទៅជា Software Supply Chain? វាសំខាន់គ្រប់ផ្នែកដែលចូលទៅបង្កើត Software ពី IDE នៅក្នុង Developer Writes Code ដើម្បីបង្កើត Third-Party Dependencies, Systems និង Scripts, និងដំណើរការ Hardware និង Operating System។ ភាពងាយរងគ្រោះអាចនឹងត្រូវបានកេងចំណេញ ឬអត់ ចាប់ពីពេលដំបូង រហូតដល់ការដាក់ពង្រាយ និងច្រើនជាងនេះទៀត។

១. សូមរក្សាការសម្ងាត់របស់អ្នកឱ្យសម្ងាត់បំផុត (Keep Your Secrets Secret)

ឧប្បត្តិហេតុសន្តិសុខសាយប័រធំៗកាលពីឆ្នាំ២០២៣ កើតឡើងដោយសារតែហេគឃ័ររកឃើញនូវការសម្ងាត់នៅក្នុង Plain Text។ ការសម្ងាត់នៅក្នុង Plain Context មានដូចជាឈ្មោះអ្នកប្រើប្រាស់ និងលេខសម្ងាត់ Combos, API keys, Signing keys ជាដើម។ ការសម្ងាត់សម្រាប់អាជីវកម្មទាំងនេះត្រូវបានរកឃើញនៅកន្លែងដែលមិនគួររក្សាទុក។ Sourcegraph Got Pwned នៅពេលពួកគេបោះចេញកូដជាគម្រូសាធារណៈ មានផ្ទុក Hardcoded Access Token។ The Token ត្រូវបានប្រើសម្រាប់បង្កើតគណនីផ្សេង និងផ្តល់ឱ្យអ្នកប្រើប្រាស់ដោយមិនគិតថ្លៃ (free) ដំណើរការទៅកាន់ Sourcegraph API។ ក្រុមហេគឃ័រទាញយកដំណើរការ Microsoft Internal ដែល Debugging Environment និងរកឃើញនូវ Signing Key នៅក្នុង Crash Dump ដែលបានអនុញ្ញាតឱ្យក្រុមហេគឃ័រអាចបង្កើតអត្តសញ្ញាណអ៊ីម៉ែល (Email Credentials)។ Tools មួយចំនួនដូចជា GiGuardian អនុញ្ញាតឱ្យអ្នកឆែកកូដរបស់អ្នក ទាំងចាស់ និងថ្មី (Legacy and Bleeding Edge) ដោយចៃដន្យ ឬចេទនានឹងត្រូវបោះកូដទាំងនោះចេញ។ វាសំខាន់ណាស់ត្រូវដឹងថាការសម្ងាត់ប្រហែលជាត្រូវបានបញ្ចេញ និងដោះស្រាយ ក៏ដូចជារក្សាការសម្ងាត់ទាំងនោះនៅកន្លែងមានសុវត្ថិភាពនៅក្នុងទម្រង់នៃ Automated Tools និង Code Reviews ដើម្បីធានាថាការសម្ងាត់ផ្សេងនឹងមិនត្រូវបានបង្ហាញ។

២. ប្រើ SCA ដើម្បីជួយដល់ BOM របស់អ្នក (Use SCA to help Build Your BOM)

នៅក្នុងការផលិត Bill of Material (BOM) គឺជាសារពើភ័ណ្ឌ (Inventory) ដែលរួមបញ្ជូលវត្ថុធាតុដើម សមាសធាតុ (Components) និងការណែនាំការសាងសង់ ការផលិត ឬការជួសជុលផលិតផល ឬសេវាទាំងអស់។ ទាំងបទបញ្ញត្តិសន្តិសុខសាយប័រ និងការអនុវត្តដ៏ល្អបំផុតនឹងការទទួលយកគំនិតនៃកម្មវិធី BOM ដែលផ្តល់នូវតម្លាភាព និងភស្តុតាងនៃបំណែកទាំងអស់ដែលចូលក្នុងការបង្កើតកម្មវិធី (Software) របស់អ្នក។ ប៉ុន្តែ អ្នកមិនអាចបង្កើត BOM ពីបញ្ជីប្រកាស Dependencies បានទេ។ Package Repositories ដូចជា NPM, PyPI និងការបញ្ចូល Open-Source Frameworks និង Library ត្រូវបានទទួលយកចំពោះការអភិវឌ្ឍកម្មវិធីឱ្យកាន់តែមានប្រសិទ្ធភាពដោយមិនចាំបាច់បង្កើត Wheels។ ផ្ទុយទៅវិញ អ្នកអភិវឌ្ឍអាចស្វែងរក Packages ដែលបានអនុវត្តមុខងារ ដែលពួកគេត្រូវការ ហើយបញ្ចូលវាទៅក្នុងកម្មវិធីរបស់ពួកគេបានយ៉ាងងាយ។ ពួកគេក៏ធ្វើឱ្យអ្នកអភិវឌ្ឍពឹងផ្អែកលើ Web of Dependencies កាន់តែខ្លាំង។ អ្នកប្រហែលជាមានអារម្មណ៍ដូចជា ការបង្ហាញសុទ្ធតែជាបញ្ហា (Turtles All The Way Down) ខណៈពេលដែល Dependencies របស់អ្នកបានបង្ហាញថាកំពុងតែពឹងផ្អែកខ្លាំង អ្នកប្រហែលមាន Sub-Dependencies នៅលើការចេញផ្សាយ ៤ផ្សេងគ្នានៃ Package ដដែល ដែលមានភាពងាយរងគ្រោះផ្សេងគ្នា។ Software Composition Analysis ជា Tools ស្គេននូវ Codebase របស់គម្រោង និងកំណត់ External Components ទាំងអស់ដែលអ្នកកំពុងតែប្រើ រួមទាំងបញ្ហាទាំងអស់ដែលអ្នកមាន។ ពួកគេឆែកដើម្បីធានាថា សមាសធាតុទាំងអស់គឺត្រូវតែធ្វើឲ្យទាន់សម័យ (Up-To-Date) សុវត្ថិភាព និងត្រូវតែអនុលោមទៅតាមតម្រូវការអាជ្ញាប័ណ្ណ។ នេះមិនត្រឹមតែជួយកំណត់អត្តសញ្ញាណដែល Dependencies ត្រូវបានកេងចំណេញប៉ុណ្ណោះទេ ដូច្នេះអ្នកអាចធ្វើបច្ចុប្បន្នភាព ឬ ផ្លាស់ប្តូរពួកវាបាន ប៉ុន្តែវាអាចជួយអ្នកបានច្រើន នៅពេលអ្នកត្រូវការ Clean BOM សម្រាប់ការត្រួតពិនិត្យពីអតិថិជនសក្តានុពល និងនិយ័តករ។

៣. ហេគខ្លួនឯង (Go Hack Yourself)

នៅពេលនិយាយដល់ Recent Webinar On Ethical Hacking វាគឺជាការកំណត់ និងកេងចំណេញលើភាពងាយរងគ្រោះនៅក្នុងប្រព័ន្ធកុំព្យូទ័រ ឬបណ្តាញណេតវើកនៅក្នុង Responsible and Lawful Manner។ Ethical Hackers ភាគច្រើនប្រើតិចនិកដូចគ្នា “Black Hat” Hacker ដើម្បីស្វែងរក និងកេងចំណេញលើភាពងាយរងគ្រោះនៅក្នុងប្រព័ន្ធ។ ភាពខុសគ្នាមិនអាចបង្ហាញគ្រប់គ្រាន់ទេ ពោលពួកគេធ្វើការត្រូវមានការអនុញ្ញាត។ ពួកគេផ្តោតលើប្រព័ន្ធដែលពួកគេត្រូវបានអនុញ្ញាតឱ្យធ្វើការហេគ បន្ទាប់មកឯកសារ និងទិន្នន័យទាំងអស់ ដូច្នេះការរកឃើញរកពួកហេគឃ័រអាចត្រូវបានផលិតឡើងវិញ និងវិភាគដោយក្រុម/អតិថិជនដែលពួកគេបានរាយការណ៍ជូន។ ប្រសិនបើហេគឃ័រអាចកំណត់ Dependencies របស់អ្នក និងរៀបចំ SCA ដែលកំណត់នូវ Dependencies ងាយនឹងរងគ្រោះ នោះសុទ្ធតែជាបញ្ហា។ ប្រសិនបើ ហេគឃ័រអាចស្វែងរកចំណុចចូល (Point of Entry) នោះចប់ហើយ។ ហើយប្រសិនបើពួកគេសាកល្បង Web App និងស្វែងរកឃើញនូវ Debug Code បង្ហាញថាព័ត៌មានសម្ងាត់នៅក្នុង Console នោះក៏ចប់ដែរ។ ភាពងាយរងគ្រោះខ្លះអាចបញ្ឈប់ការបង្ហាញ ហើយខ្លះទៀតគ្រាន់តែលុប Debug Code ប៉ុណ្ណោះ។

សរុបសេចក្តីមក៖ នៅពេលអ្នកព្យាយាមបំពេញចិត្តនិយ័តករ ឬអតិថិជន នោះអ្នកត្រូវការពេលវេលាច្រើនដើម្បីបង្កើនសុវត្ថិភាព Software Supply Chain។ ខណៈពេលដែលគន្លឹះទាំង៣ ផ្តល់ឱ្យអ្នកនូវមូលដ្ឋានគ្រឹះ អ្នកអាចស្វែងរកក្របខណ្ឌជាច្រើនទៀតនៅក្នុង SLSA Security Framework៕

https://thehackernews.com/2024/01/three-ways-to-supercharge-your-software.html

ប្រភពព័ត៌មាន៖ ថ្ងៃទី០៤ ខែមករា ឆ្នាំ២០២៤

LEAVE A REPLY

Please enter your comment!
Please enter your name here