ភាពងាយរងគ្រោះ  “GoFetch” ថ្មី នៅក្នុង M-Series Chips ប៉ះពាល់ដល់ Secret Encryption Keys

0

ភាពងាយរងគ្រោះផ្នែកសុវត្ថិភាពត្រូវបានរកឃើញនៅក្នុងផលិតផល Apple M-series Chips ដែលអាចត្រូវបានកេងចំណេញ ដើម្បីទាញយកឃីសម្ងាត់ (Secret Keys) សម្រាប់ប្រើនៅពេលប្រតិបត្តិការ Cryptographic។GoFetch គឺជាភាពងាយរងគ្រោះទាក់ទងនឹងការកេងចំណេញលើព័ត៌មានដែលបានលេចធ្លាយពីផ្នែករឹងរបស់ផលិតផលផ្ទាល់ (Microarchitectural Side-Channel Attack) ដែលបានទាញយកប្រយោជន៍ពីមុខងារដែលគេស្គាល់ថាជាទិន្នន័យដែលមាននៅក្នុងអង្គចងចាំ (Memory-Dependent Prefetcher (DMP)) ដើម្បីអាចតម្រង់ទៅរកគោលដៅដែលអនុវត្ត Cryptographic នៅពេលវេលាថេរមួយ (Constant-Time) និងទាញយកទិន្នន័យសម្ងាត់ពី CPU Cache។

ក្រុមហ៊ុន Apple ក៏បានដឹងពីបញ្ហានេះកាលពីចុងឆ្នាំ២០២៣ ដែរ។ Prefetchers គឺជាបច្ចេកទេសដែលប្រមើមើលពីអង្គចងចាំបង្ហាញពីកម្មវិធីដែលកំពុងតែដំណើរការនៅពេលថ្មីៗ (Currently) នឹងចាប់ដំណើរការនៅពេលខាងមុខ ហើយបានចាប់ទាញយកទិន្នន័យពីក្នុង Cache ដោយយោងតាមអង្គចងចាំ (Main Memory)។ គោលដៅរបស់វិធីសាស្រ្តនេះគឺសម្រាប់កាត់បន្ថយភាពយឺតយ៉ាវនៃដំណើរការរបស់អង្គចងចាំចំពោះកម្មវិធី (Program)។ DMP គឺជា Prefetcher ដែលគិតដល់មាតិកា (Contents) នៃអង្គចងចាំ (Memory) ដោយផ្អែកលើលំនាំ (Patterns) នៃការប្រើប្រាស់ដែលបានសង្កេតពីមុន នៅពេលកំណត់នូវអ្វីដែលត្រូវបានទាញយកជាមុន (Prefetch)។ ឥរិយាបថនេះធ្វើឱ្យវាអាចវាយប្រហារ Cache-Based បានដោយបញ្ឆោត Prefetcher ដែលបង្ហាញ Contents ជាមួយនឹងដំណើរការជនរងគ្រោះ ដែលប្រហែលជាមិនអាចចូលប្រើការបាន។ GoFetch ក៏បង្កើតឡើងនៅលើក្រោមគោលការណ៍ (Foundations) របស់ការវាយប្រហារ Microarchitectural ឈ្មោះ Augury ដែលប្រើ DMP សម្រាប់ទម្លាយទិន្នន័យ បើយោងតាមការប៉ាន់ស្មាន។ DMP ដំណើរការទិន្នន័យបង្ហាញចេញពីអង្គចងចាំដែលមើលទៅទំនងជាអាចរក្សាទុកអាសយដ្ឋានអង្គចងចាំ (Pointer) បើយោងតាមក្រុមស្រាវជ្រាវមកពីសកលវិទ្យាល័យ Illinois, Texas, Georgia, California, Berkeley, Washington និង Carnegie Mellon University។

តម្រូវការនៃការបំពាន (violates a requirement) របស់ constant-time programming paradigm ហាមមិនឱ្យមានការលាយបញ្ចូលគ្នារវាងទិន្នន័យ និង memory access patterns នោះទេ។ ដូចគ្នានឹងការបំពានផ្សេងទៀតដែរ កំណត់តម្រូវការជនរងគ្រោះ និងហេគឃ័រមានដំណើរការចំនួនពីរផ្សេងគ្នាមានទីតាំង (co-located) នៅលើម៉ាសុីនដូចគ្នា (same machine) និង CPU cluster ដូចគ្នា។ ជាពិសេស ហេគឃ័រអាចលួងជនរងគ្រោះឱ្យដោនឡូតកម្មវិធីមេរោគដែលអាចកេងចំណេញលើ GoFetch។ ក្រៅពីនេះ នៅពេលហេគឃ័រ និងជនរងគ្រោះមិនចែករំលែក (share) អង្គចងចាំ ហេគឃ័រអាចពិនិត្យមើលលើ microarchitectural side channels ដែលអាចរកបាន (available) សម្រាប់វា ដូចជា cache latency ជាដើម។ GoFetch បង្ហាញថា ទោះបីជាជនរងគ្រោះបំបែកទិន្នន័យចេញពីអាសយដ្ឋានដោយធ្វើតាម constant-time paradigm ក្តីក៏ DMP នឹងបង្កើតដំណើរការ secret-dependent memory ជំនួសជនរងគ្រោះដែរ (victim’s behalf) ដែលបង្កភាពងាយស្រួលដល់ការវាយប្រហារ key-extraction។ ឬអាចនិយាយបានថា ហេគឃ័រអាចប្រើ Prefetcher ដើម្បីមានឥទ្ធិពលើទិន្នន័យដែលកំពុងតែ prefetched ដែលជាការបើកទ្វារសម្រាប់ដំណើរការទិន្នន័យសម្ងាត់។ ភាពងាយរងគ្រោះមានផលប៉ះពាល់យ៉ាងធ្ងន់ធ្ងរដែលវាចាត់ទុកថាការការពារដែលផ្តល់ដោយ constant-time programming សម្រាប់ប្រឆាំងនឹងការវាយប្រហារ side-channel attacks ពុំមានប្រសិទ្ធភាព។ អ្នកស្រាវជ្រាវបានថ្លែងថា GoFetch បង្ហាញថា DMP មានគ្រោះថ្នាក់ជាងមុន ហើយវាបង្កហានិភ័យផ្នែកសុវត្ថិភាពកាន់តែខ្លាំង។

បញ្ហា fundamental nature មានន័យថា វាមិនអាចត្រូវបានដោះស្រាយនៅក្នុង Apple CPUs នោះទេ ដែលតម្រូវឱ្យអ្នកអភិវឌ្ឍរបស់ cryptographic libraries បោះមួយជំហានដើម្បីការពារលក្ខខណ្ឌ អនុញ្ញាតឱ្យ GoFetch ដំណើរការ។ អ្នកប្រើត្រូវបានបញ្ចុះបញ្ចូលឱ្យរក្សាបច្ចុប្បន្នភាពនៅលើប្រព័ន្ធរបស់ពួកគេ។ ទោះជាយ៉ាងណា នៅលើ Apple M3 chips ការបើក (enable) data-independent timing (DIT) ត្រូវបានរកឃើញថាបិទ (disable) DMP។ រឿងនេះមិនអាចធ្វើបាននៅលើ M1 និង M2 processors ទេ។ ក្រុមហ៊ុន Apple បានកត់សម្គាល់នៅក្នុងរបាយការណ៍ថា Apple silicon ផ្តល់នូវ Data-Independent Timing (DIT) ដែល Processor ធ្វើការណែនាំនៅក្នុង ពេលវេលាជាក់លាក់ (Constant Amount of Time)។ ជាមួយនឹងការបើក (Enabled) DIT, Processor ប្រើពេលយូរជាង និងច្រើនដើម្បីបំពេញតាមការណែនាំ (Instruction) ដោយមិនរាប់ពីការបញ្ចូលទិន្នន័យ (Input Data) ផង។ អ្នកផលិត iPhone ក៏បានបញ្ជាក់ថា បើទោះជាបើក (Turn On) DIT ការពារ Timing-Based Leakage ក៏អ្នកអភិវឌ្ឍត្រូវបានណែនាំឱ្យជៀសវាងលក្ខខណ្ឌ (Conditional) តាម Branches និងទីតាំងចូលដំណើរការអង្គចងចាំ ដើម្បីបិទហេគឃ័រមិនឱ្យលួចការសម្ងាត់ដោយរក្សា Tabs នៅលើ Processor’s Microarchitectural State។

អ្នកស្រាវជ្រាវនៅសកលវិទ្យាបច្ចេកវិទ្យា Graz និង Rennes បានបង្ហាញពីការវាយប្រហារ Graphics Processing Unit (GPU) ថ្មី ដែលប៉ះពាល់ដល់ Browsers និង Graphics Cards ដែលប្រើប្រាស់ JavaScript Code ជាពិសេសនៅក្នុងគេហទំព័រដើម្បីស្វែងរកព័ត៌មានសម្ងាត់ដូចជាលេខសម្ងាត់។ បច្ចេកទេសដែលហេគឃ័រប្រើមិនត្រូវការអន្តរាគមន៍ពីអ្នកប្រើប្រាស់ទេ ចំពោះការវាយប្រហារ GPU Cache Side-Channel ពីក្នុង Browser។ អ្នកស្រាវជ្រាវបានថ្លែងថា តាំងពី GPU Computing អាចផ្តល់នូវអត្ថប្រយោជន៍សម្រាប់ការគណនា (Computations) នៅក្នុងគេហទំព័រ អ្នកផ្គត់ផ្គង់ Browsers (Vendors) បានសម្រេចចិត្តលាតត្រដាង (Expose) GPU ទៅ JavaScript តាមរយៈ APIs ដូចជា WebGL និង WebGPU Standard។ ទោះជាមានការរឹតបន្តឹងតាំងពីដើមរបស់ JavaScript និង WebGPU Environment យើងបានបង្កើតការវាយប្រហារដំបូង ដែលបើកឱ្យមានការវាយប្រហារតាម Side-Channels ដោយមានប្រសិទ្ធភាពអាចធៀបនឹងការវាយប្រហារ CPU-based។ ហេគឃ័រអាចប្រើបញ្ហានេះជាមធ្យោបាយសម្រាប់វាយប្រហារ drive-by ដែលអនុញ្ញាតសម្រាប់ការទាញចេញរបស់ AES keys ឬ Mining Cryptocurrencies ជា User Browse អ៊ីនធឺណិត។ វាប៉ះពាល់ដល់ប្រព័ន្ធដំណើរការទាំងអស់ និង browsers implementing the WebGPU standard ក៏ដូចជា Broad Range of GPU Devices។ ជាវិធានការឆ្លើយតប អ្នកស្រាវជ្រាវស្នើឱ្យការចូលប្រើ Graphics Card របស់ Host System តាមរយៈ Browser ជាប្រភពដែលរសើប និងសំខាន់ ដែលតម្រូវឱ្យគេហទំព័រស្វែងរកការអនុញ្ញាតពីអ្នកប្រើប្រាស់ (ដូចជាករណីរបស់កាមេរា និង Microphone) មុននឹងអាចដំណើរការបាន៕

https://thehackernews.com/2024/03/new-gofetch-vulnerability-in-apple-m.html

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

 

LEAVE A REPLY

Please enter your comment!
Please enter your name here