មេរោគ CanisterWorm

ការវាយប្រហារខ្សែសង្វាក់ផ្គត់ផ្គង់ដ៏ទំនើបមួយដែលដំបូងឡើយផ្តោតលើម៉ាស៊ីនស្កេន Trivy ដែលប្រើប្រាស់យ៉ាងទូលំទូលាយ បានកើនឡើងទៅជាការសម្របសម្រួលកាន់តែទូលំទូលាយ ដែលប៉ះពាល់ដល់កញ្ចប់ npm ជាច្រើន។ តួអង្គគំរាមកំហែងនៅពីក្រោយយុទ្ធនាការនេះត្រូវបានគេសង្ស័យថាបានដាក់ពង្រាយដង្កូវដែលរីករាលដាលដោយខ្លួនឯងដែលពីមុនមិនមានឯកសារ ដែលគេស្គាល់ថា CanisterWorm ដែលបង្កើនទំហំ និងផលប៉ះពាល់នៃការឈ្លានពានយ៉ាងខ្លាំង។

មេរោគ​នេះ​ទទួល​បាន​ឈ្មោះ​ពី​ការ​ប្រើប្រាស់​ប្រអប់​ពិធីការ​កុំព្យូទ័រ​អ៊ីនធឺណិត (ICP) ដែល​ជា​កិច្ចសន្យា​ឆ្លាតវៃ​ដែល​ធន់​នឹង​ការ​លួច​ចម្លង ដែល​បង្ហោះ​នៅ​លើ blockchain វិមជ្ឈការ ក្នុង​នាម​ជា​ផ្នែក​មួយ​នៃ​ហេដ្ឋារចនាសម្ព័ន្ធ​បញ្ជា​របស់​វា។ នេះ​គឺជា​ឧទាហរណ៍​ដំបូង​ដែល​ប្រអប់ ICP ត្រូវ​បាន​គេ​ប្រើប្រាស់​ដើម្បី​ទាញ​យក​ចំណុច​បញ្ចប់ Command-and-Control (C2) ដោយ​ណែនាំ​យុទ្ធសាស្ត្រ​ថ្មី​និង​ធន់​ដែល​ធ្វើ​ឱ្យ​ស្មុគស្មាញ​ដល់​កិច្ច​ខិតខំ​ប្រឹងប្រែង​កាត់​បន្ថយ​បែប​ប្រពៃណី។

កញ្ចប់ដែលរងការគំរាមកំហែង និងវ៉ិចទ័រចូលប្រើដំបូង

ការវាយប្រហារនេះបានប៉ះពាល់ដល់កញ្ចប់ npm ជាច្រើននៅទូទាំងវិសាលភាពផ្សេងៗគ្នា ដែលបង្ហាញពីកាំនៃការផ្ទុះដ៏ធំទូលាយនៅក្នុងខ្សែសង្វាក់ផ្គត់ផ្គង់កម្មវិធី៖

  • កញ្ចប់ចំនួន ២៨ ក្រោមវិសាលភាព @EmilGroup
  • កញ្ចប់ចំនួន ១៦ ក្រោមវិសាលភាព @opengov
  • កញ្ចប់បន្ថែមរួមមាន @teale.io/eslint-config, @airtm/uuid-base32, និង @pypestream/floating-ui-dom

យុទ្ធនាការនេះកើតឡើងបន្ទាប់ពីមានការសម្របសម្រួលព័ត៌មានសម្ងាត់ដែលអនុញ្ញាតឱ្យអ្នកវាយប្រហារបោះពុម្ពផ្សាយកំណែព្យាបាទនៃឧបករណ៍ដែលទាក់ទងនឹង Trivy ជាពិសេស trivy, trivy-action និង setup-trivy ដែលមានមុខងារលួចព័ត៌មានសម្ងាត់ដែលបានបង្កប់។ ប្រតិបត្តិការនេះត្រូវបានគេជឿថាមានទំនាក់ទំនងជាមួយក្រុមឧក្រិដ្ឋជនតាមអ៊ីនធឺណិតដែលផ្តោតលើពពកដែលត្រូវបានកំណត់ថាជា TeamPCP។

លំហូរការងារឆ្លងមេរោគ និងហេដ្ឋារចនាសម្ព័ន្ធបញ្ជាការវិមជ្ឈការ

ខ្សែសង្វាក់នៃការឆ្លងមេរោគចាប់ផ្តើមក្នុងអំឡុងពេលដំណើរការដំឡើងកញ្ចប់ npm ដែលស្គ្រីបក្រោយការដំឡើងដំណើរការកម្មវិធីផ្ទុក។ កម្មវិធីផ្ទុកនេះដាក់ពង្រាយ backdoor ដែលមានមូលដ្ឋានលើ Python ដែលត្រូវបានរចនាឡើងដើម្បីទំនាក់ទំនងជាមួយប្រអប់ ICP។ ប្រអប់នេះដើរតួជាឧបករណ៍ដោះស្រាយ dead drop ដោយប្រគល់ URL ដែលដឹកនាំប្រព័ន្ធដែលឆ្លងមេរោគឱ្យទាញយក និងប្រតិបត្តិ payload ដំណាក់កាលបន្ទាប់។

លក្ខណៈវិមជ្ឈការនៃហេដ្ឋារចនាសម្ព័ន្ធ ICP ផ្តល់នូវគុណសម្បត្តិយ៉ាងសំខាន់ដល់អ្នកវាយប្រហារ។ ដោយសារតែ canister អាចធ្វើបច្ចុប្បន្នភាព URL payload ដោយថាមវន្ត អ្នកគំរាមកំហែងអាចចែកចាយឯកសារគោលពីរព្យាបាទថ្មីនៅទូទាំងប្រព័ន្ធឆ្លងមេរោគទាំងអស់ដោយមិនចាំបាច់កែប្រែមេរោគដែលដាក់ពង្រាយនោះទេ។ ស្ថាបត្យកម្មនេះក៏ធ្វើឱ្យកិច្ចខិតខំប្រឹងប្រែងក្នុងការដកចេញកាន់តែមានការលំបាកផងដែរ។

យន្តការ​តស៊ូ និង​បច្ចេកទេស​លាក់​ខ្លួន

ភាពស្ថិតស្ថេរត្រូវបានសម្រេចតាមរយៈការបង្កើតសេវាកម្មអ្នកប្រើប្រាស់ systemd ដែលត្រូវបានកំណត់រចនាសម្ព័ន្ធដើម្បីចាប់ផ្តើមដំណើរការព្យាបាទឡើងវិញដោយស្វ័យប្រវត្តិ។ លក្ខណៈសំខាន់ៗរួមមាន៖

  • ការចាប់ផ្តើមឡើងវិញដោយស្វ័យប្រវត្តិត្រូវបានអនុវត្តតាមរយៈការណែនាំ Restart=always
  • ការពន្យារពេល 5 វិនាទីមុនពេលបើកដំណើរការឡើងវិញនូវ Backdoor ប្រសិនបើត្រូវបានបញ្ឈប់
  • ការក្លែងបន្លំសេវាកម្មជាកម្មវិធីត្រួតពិនិត្យ PostgreSQL ស្របច្បាប់ក្រោមឈ្មោះ 'pgmon'

វិធីសាស្រ្តនេះធានានូវប្រតិបត្តិការជាបន្តបន្ទាប់ ខណៈពេលដែលកាត់បន្ថយលទ្ធភាពនៃការរកឃើញដោយការលាយបញ្ចូលគ្នាជាមួយសេវាកម្មប្រព័ន្ធស្របច្បាប់។

ការដឹកជញ្ជូនបន្ទុកដែលអាចសម្របខ្លួនបាន និងឥរិយាបថនៃ Kill Switch

ច្រកខាងក្រោយទាក់ទងជាប្រចាំជាមួយប្រអប់ ICP រៀងរាល់ 50 នាទីម្តង ដោយប្រើ User-Agent របស់កម្មវិធីរុករកក្លែងក្លាយ ដើម្បីជៀសវាងការសង្ស័យ។ URL ដែលបានត្រឡប់មកវិញកំណត់សកម្មភាពបន្ទាប់៖

  • ប្រសិនបើ URL ចង្អុលទៅ payload ដែលមានសុពលភាព មេរោគនឹងទាញយក ហើយប្រតិបត្តិវា។
  • ប្រសិនបើ URL មាន 'youtube.com' មេរោគនឹងចូលទៅក្នុងស្ថានភាពអសកម្ម

យន្តការនេះដើរតួយ៉ាងមានប្រសិទ្ធភាពជាកុងតាក់សម្លាប់ពីចម្ងាយ។ តាមរយៈការបិទ/បើក URL របស់កំប៉ុងរវាងតំណភ្ជាប់ YouTube ដែលមិនបង្កគ្រោះថ្នាក់ និង payload ព្យាបាទ អ្នកវាយប្រហារអាចធ្វើឱ្យសកម្ម ឬបិទដំណើរការមេរោគនៅទូទាំងប្រព័ន្ធដែលឆ្លងមេរោគទាំងអស់។ ជាពិសេស payload ដែលបានប្រតិបត្តិពីមុននៅតែបន្តដំណើរការនៅផ្ទៃខាងក្រោយ ដោយសារមេរោគមិនបញ្ចប់ដំណើរការមុនៗទេ។

កុងតាក់សម្លាប់ស្រដៀងគ្នាដែលមានមូលដ្ឋានលើ YouTube ក៏ត្រូវបានគេសង្កេតឃើញនៅក្នុងប្រព័ន្ធគោលពីរ Trivy ដែលមានមេរោគ trojan (កំណែ 0.69.4) ដែលទំនាក់ទំនងជាមួយហេដ្ឋារចនាសម្ព័ន្ធ ICP ដូចគ្នាតាមរយៈ Python dropper ដាច់ដោយឡែកមួយ។

សមត្ថភាពដង្កូវ និងការបន្តពូជដោយស្វ័យប្រវត្តិ

ដំបូងឡើយ ការរីករាលដាលពឹងផ្អែកលើស្គ្រីបដែលប្រតិបត្តិដោយដៃដែលមានឈ្មោះថា deploy.js ដែលបានទាញយកថូខឹនផ្ទៀងផ្ទាត់ npm ដែលត្រូវបានគេលួច ដើម្បីចាក់កូដព្យាបាទចូលទៅក្នុងកញ្ចប់ដែលអាចចូលប្រើបាន។ ស្គ្រីបនេះមិនត្រូវបានបង្កឡើងក្នុងអំឡុងពេលដំឡើងទេ ប៉ុន្តែបានបម្រើជាឧបករណ៍ដាច់ដោយឡែកមួយដើម្បីពង្រីកវិសាលភាពនៃការវាយប្រហារ។

វ៉ារ្យ៉ង់ជាបន្តបន្ទាប់របស់ CanisterWorm បានវិវត្តន៍គួរឱ្យកត់សម្គាល់។ នៅក្នុងកំណែថ្មីៗ ដូចជាកំណែដែលមាននៅក្នុង @teale.io/eslint-config (កំណែ 1.8.11 និង 1.8.12) ដង្កូវនេះបញ្ចូលការរីករាលដាលដោយខ្លួនឯងដោយផ្ទាល់ទៅក្នុងដំណើរការដំឡើងកញ្ចប់។ យន្តការដែលបានធ្វើបច្ចុប្បន្នភាពរួមមាន៖

  • ការស្រង់ចេញថូខឹនផ្ទៀងផ្ទាត់ npm ពីបរិស្ថានដែលឆ្លងមេរោគ
  • ការប្រតិបត្តិភ្លាមៗនៃទម្លាប់ផ្សព្វផ្សាយជាដំណើរការផ្ទៃខាងក្រោយដែលបានផ្ដាច់ចេញ
  • ការបោះពុម្ពផ្សាយដោយស្វ័យប្រវត្តិនៃកញ្ចប់ដែលរងការសម្របសម្រួលដោយប្រើព័ត៌មានសម្ងាត់ដែលប្រមូលបាន

ការផ្លាស់ប្តូរនេះផ្លាស់ប្តូរការវាយប្រហារពីយុទ្ធនាការដែលដំណើរការដោយដៃទៅជាប្រព័ន្ធផ្សព្វផ្សាយដោយស្វយ័តទាំងស្រុង។

ការកើនឡើងទៅជាការគំរាមកំហែងខ្សែសង្វាក់ផ្គត់ផ្គង់ដែលអាចទ្រទ្រង់ខ្លួនឯងបាន

ការណែនាំអំពីការប្រមូលផលថូខឹនដោយស្វ័យប្រវត្តិ និងការសាយភាយដោយខ្លួនឯង គឺជាសញ្ញាសម្គាល់នៃការកើនឡើងដ៏សំខាន់មួយ។ ស្ថានីយការងាររបស់អ្នកអភិវឌ្ឍន៍ ឬបំពង់ CI/CD ណាមួយដែលដំឡើងកញ្ចប់ដែលរងការសម្របសម្រួល និងមានព័ត៌មានសម្គាល់ npm ដែលអាចចូលដំណើរការបាន នឹងក្លាយជាថ្នាំងសាយភាយសកម្ម។ នេះបង្កើតឥទ្ធិពលជាលំដាប់ ដែលកញ្ចប់ដែលឆ្លងមេរោគនាំឱ្យមានការឆ្លងមេរោគបន្ថែមទៀតនៅទូទាំងការពឹងផ្អែកខាងក្រោម។

នៅដំណាក់កាលនេះ ការគំរាមកំហែងវិវត្តហួសពីការសម្របសម្រួលគណនីដាច់ដោយឡែកទៅជាប្រព័ន្ធអេកូឡូស៊ីនៃការចែកចាយមេរោគដែលអាចទ្រទ្រង់ខ្លួនឯងបាន។ បរិស្ថានដែលឆ្លងមេរោគថ្មីនីមួយៗរួមចំណែកដល់ការរីករាលដាល ដែលអនុញ្ញាតឱ្យមានការរីកចម្រើនជាលំដាប់ និងធ្វើឱ្យការទប់ស្កាត់កាន់តែពិបាក។

អ្វីដែលធ្វើឲ្យការព្រួយបារម្ភកាន់តែធ្ងន់ធ្ងរឡើងនោះ ការធ្វើតេស្តវត្ថុបុរាណដូចជា payload កន្លែងផ្ទុក ('hello123') បង្ហាញថាអ្នកវាយប្រហារកំពុងកែលម្អ និងផ្ទៀងផ្ទាត់ខ្សែសង្វាក់វាយប្រហារយ៉ាងសកម្ម មុនពេលដាក់ពង្រាយប្រព័ន្ធគោលពីរដែលមានគំនិតអាក្រក់ដែលដំណើរការពេញលេញ។

និន្នាការ

មើលច្រើនបំផុត

កំពុង​ផ្ទុក...