ការបង្ការការលួចចូលវគ្គ - ការលួចចូលវគ្គ

ការលួចចូល Session៖ កំហុសកូដ និងការកំណត់រចនាសម្ព័ន្ធដែលបើកទ្វារ

​មាតិកា

ប្រកាសដែលត្រូវតែអាន

ប្រកាសថ្មីៗបំផុតដែលគួរឱ្យចាប់អារម្មណ៍

ការលួចចូលវគ្គសិក្សាក្នុងសកម្មភាព៖ របៀបដែលពួកអ្នកវាយប្រហារលួចយកវគ្គសិក្សារបស់អ្នក

វាមិនមែនជាទ្រឹស្តីទេ វាកំពុងកើតឡើងនៅក្នុងការពិត pipelines, builds និង browser sessions។ អ្នកវាយប្រហារប្រើយុទ្ធសាស្ត្រផ្សេងៗក្នុងពិភពពិត ដើម្បីអនុវត្តការលួចចូល session រួមមាន៖

  • កំពុង​ស្រូប​យក​ខូគី​ដែល​បាន​ផ្ញើ​តាម HTTP (គ្មាន TLS)
  • ការលួចយកសញ្ញាសម្ងាត់ចូលប្រើ ឬ JWT រក្សាទុកក្នុងកំណត់ហេតុ
  • ការប្រើប្រាស់ថូខឹន ឬខូគីឡើងវិញពីបរិស្ថានសាកល្បងចាស់

⚠️ព្រមាន: ឧទាហរណ៍នេះបង្ហាញពីការបញ្ជូនខូគីដែលមិនមានសុវត្ថិភាព។

GET /dashboard HTTP/1.1 Host: vulnerable.app Cookie: sessionid=abc123 

បើគ្មាន HTTPS ទេ អ្នកវាយប្រហារ MITM អាចលួចវគ្គ ហើយធ្វើពុតជាអ្នកប្រើប្រាស់។

 ឧទាហរណ៍៖ ថូខិនត្រូវបានបង្ហាញនៅក្នុងកំណត់ហេតុ

[INFO] Login succeeded - JWT: eyJhbGciOi... 

⚠️កុំកត់ត្រាថូខឹន; អ្នកវាយប្រហារដែលមានសិទ្ធិចូលប្រើកំណត់ហេតុ CI អាចធ្វើការលួចចូលវគ្គភ្លាមៗ។

ការបរាជ័យកម្រិតកូដដែលអាចឱ្យមានការលួចចូលវគ្គ

ការវាយប្រហារ session hijacking ភាគច្រើនមិនចាប់ផ្តើមជាមួយនឹងការលួចចូលប្រព័ន្ធទេ វាចាប់ផ្តើមជាមួយនឹងកូដមិនល្អ។ នេះជាអ្វីដែលបើកទ្វារ៖

អាថ៌កំបាំងដែលបានអ៊ិនកូដរឹង

const jwtSecret = 'mydevsecret';

⚠️អាថ៌កំបាំងដែលបានអ៊ិនកូដរឹងធ្វើឱ្យការបង្កើតថូខឹនអាចទស្សន៍ទាយបាន។

បាត់ទង់សុវត្ថិភាពនៅលើខូគី

res.cookie('sessionid', token); 

⚠️ទេ HttpOnly, ទេ សុវត្ថិភាព, ទេ SiteSiteនោះជាការលួចចូលវគ្គដែលកំពុងរង់ចាំកើតឡើង។

កំណែដែលមានសុវត្ថិភាពជាង៖

res.cookie('sessionid', token, { httpOnly: true, secure: true, sameSite: 'Strict' }); 

ការប្រើប្រាស់ថូខឹនឡើងវិញនៅទូទាំងបរិស្ថាន

  • ថូខឹនដែលបង្កើតឡើងនៅក្នុងបរិយាកាសសាកល្បងត្រូវបានចម្លងទៅក្នុងដំណាក់កាល ឬសូម្បីតែផលិតកម្ម។
  • គ្មានវិសាលភាព ឬបរិស្ថានដែលចងភ្ជាប់លើថូខឹនទេ។
  • វគ្គមិនផុតកំណត់ ឬបង្វិលទេ។

គំរូទាំងអស់នេះអាចឱ្យមានការលួចចូលប្រព័ន្ធដោយផ្ទាល់។

CI/CD និង Pipeline ចន្លោះប្រហោងដែលបង្កើនហានិភ័យ

CI/CD ជារឿយៗពង្រីកអ្វីដែលអ្នកអភិវឌ្ឍន៍ខកខាននៅក្នុងកូដក្នុងស្រុក។ Pipelineវ៉ិចទ័រ​លួច​ចូល​វគ្គ​ដែល​ពាក់ព័ន្ធ​រួមមាន​៖

  • លេចធ្លាយ ការអនុញ្ញាត ចំណងជើងនៅក្នុងកំណត់ហេតុសាងសង់
  • សោសម័យប្រជុំឋិតិវន្តត្រូវបានរក្សាទុកនៅក្នុង .NS ឯកសារ committed ទៅ Git
  • ការប្រើប្រាស់ឡើងវិញនៃសញ្ញាសម្ងាត់រវាង pipeline កម្មសិក្សា

 ហានិភ័យពិតប្រាកដ៖ ថូខឹនត្រូវបានបោះពុម្ពនៅក្នុងកំណត់ហេតុ CI

steps: - run: echo "Token: $LOGIN_TOKEN" 

⚠️ថូខឹនវគ្គមិនគួរត្រូវបានបោះពុម្ព ឬបញ្ចេញសំឡេងឡើងវិញឡើយ។

ការដោះស្រាយ .env ដែលមានហានិភ័យ

APP_KEY=base64:aLongHardcodedKeyHere= 

⚠️ប្រសិនបើឯកសារនេះលេចធ្លាយ វគ្គមុនៗទាំងអស់អាចនឹងត្រូវបានលួចចូល។

ការលួចចូល Session មិនឈប់នៅត្រង់កម្មវិធីទេ; វាផ្លាស់ទីតាមរយៈ pipelines និងបរិស្ថាន។

ការបង្ការការលួចចូល Session ដែលភ្ជាប់មកជាមួយនៅក្នុង Dev Workflows

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

 បញ្ជីត្រួតពិនិត្យបង្ការ៖

  • តែងតែកំណត់ទង់ឃុកឃី៖ HttpOnly, Secure និង SameSite
  •  កុំកត់ត្រាថូខឹន ឬឧបករណ៍កំណត់អត្តសញ្ញាណវគ្គ
  • ប្រើប្រាស់ HTTPS នៅទូទាំងបរិស្ថានទាំងអស់ (ក្នុងស្រុក ដំណាក់កាល ផលិតកម្ម)
  • ប្តូរ​អាថ៌កំបាំង​វគ្គ និង​សោ​ជា​ប្រចាំ
  • ត្រូវប្រាកដថាថូខឹនផុតកំណត់យ៉ាងឆាប់រហ័ស ហើយមិនអាចប្រើឡើងវិញបានទេ
  • ភ្ជាប់វគ្គទៅគុណលក្ខណៈអតិថិជន (IP, ភ្នាក់ងារអ្នកប្រើប្រាស់)
  • សញ្ញាសម្គាល់វិសាលភាពក្នុងមួយបរិស្ថាន (កុំប្រើសញ្ញាសម្គាល់ផលិតផលឡើងវិញក្នុងការសាកល្បង)
  • ប្រើ​សញ្ញាសម្ងាត់​ចូលប្រើ​ដែលមានអាយុកាលខ្លី​ជាមួយ​យន្តការ​ផ្ទុកឡើងវិញ
  • ជៀសវាង​ការ​សម្ងាត់​ដែល​បាន​អ៊ិនកូដ​ដោយ​ស្វ័យប្រវត្តិ ឬ​កូនសោ​នៅ​ក្នុង​កូដ​ប្រភព
  • ផ្ទៀងផ្ទាត់តក្កវិជ្ជាទាំងអស់ដែលទាក់ទងនឹងវគ្គក្នុងអំឡុងពេល CI/CD pipelines

ឧទាហរណ៍ CI សុវត្ថិភាពជាង៖

- name: Validate secrets run: | if grep -q 'APP_KEY=' .env; then echo "Unsafe APP_KEY found in .env!" && exit 1 fi 

ការបង្ការការលួចចូល Session មានន័យថា CI ត្រូវតែក្លាយជាខ្សែការពារទីពីររបស់អ្នក។

ពីកំហុសក្នុងស្រុកទៅជាការគំរាមកំហែងខ្សែសង្វាក់ផ្គត់ផ្គង់៖ ការផ្លាស់ប្តូរទៅខាងឆ្វេងជាមួយ Xygeni

អ្វីដែលចាប់ផ្តើមជាការកំណត់រចនាសម្ព័ន្ធខូគីមិនល្អអាចកើនឡើងដល់ការរំលោភបំពានទាំងស្រុងប្រសិនបើមិនបានត្រួតពិនិត្យ។ ឧបករណ៍ដូចជា ស៊ីហ្គេនី ធ្វើឱ្យវាអាចធ្វើទៅបានដើម្បី:

  • តាមដានលំហូរសញ្ញាសម្ងាត់វគ្គពីកូដទៅផលិតកម្ម
  • រកឃើញគុណលក្ខណៈខូគីដែលបាត់នៅក្នុងប្រភព
  • ស្កេនរកអាថ៌កំបាំងនៅក្នុង .NSការកំណត់រចនាសម្ព័ន្ធ ឬកំណត់ហេតុ
  • ត្រួតពិនិត្យការអនុវត្តវគ្គដែលមិនមានសុវត្ថិភាពនៅក្នុងកញ្ចប់ភាគីទីបី

Xygeni ជួយការពារបញ្ហាវគ្គក្នុងស្រុកពីការក្លាយជាវ៉ិចទ័រវាយប្រហារ hijacking នៅទូទាំងខ្សែសង្វាក់ផ្គត់ផ្គង់។

ការបិទទ្វារលើការប្លន់

ប្រសិនបើអ្នកមិនកំពុងទប់ស្កាត់វាយ៉ាងសកម្មទេ អ្នកកំពុងទុកទ្វារចំហ។ រាល់សញ្ញាសម្គាល់ខូគីដែលមិនមានសុវត្ថិភាព សញ្ញាសម្ងាត់ដែលលេចធ្លាយ និងវគ្គដែលលែងប្រើ គឺជាកន្លែងឈរជើងសម្រាប់អ្នកវាយប្រហារ។

បង្កប់ការការពារការលួចចូលវគ្គ (session hijacking) ទៅក្នុងមូលដ្ឋានកូដរបស់អ្នក និង CI/CDត្រួតពិនិត្យលំហូរវគ្គនៅទូទាំងបរិស្ថាន។ ប្រើឧបករណ៍ដូចជា Xygeni ដើម្បីរំកិលទៅខាងឆ្វេង និងបញ្ឈប់ផ្លូវលួចវគ្គមុនពេលពួកវាឈានដល់ផលិតកម្ម។ ធានាសុវត្ថិភាពវគ្គនេះ ឬអ្នកវាយប្រហារនឹងប្រើវាប្រឆាំងនឹងអ្នក។

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

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

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