មេរោគ 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') បង្ហាញថាអ្នកវាយប្រហារកំពុងកែលម្អ និងផ្ទៀងផ្ទាត់ខ្សែសង្វាក់វាយប្រហារយ៉ាងសកម្ម មុនពេលដាក់ពង្រាយប្រព័ន្ធគោលពីរដែលមានគំនិតអាក្រក់ដែលដំណើរការពេញលេញ។