LLVM បន្ថែម intrinsic វេលា​ថេរ ដើម្បីការពារកូដគ្រួសារ

Trail of Bits បានបញ្ចូលការគាំទ្រពេលវេលាអចិ្រសិទ្ឋ (constant-time) ចូលក្នុង LLVM (បានផ្ដល់សំណើសម្រាប់ LLVM 22) ដោយណែនាំ intrinsic __builtin_ct_select (llvm.ct.select.*) ដែលបង្គាប់ឱ្យការជ្រើសរើសលក្ខខណ្ឌត្រូវបានកំណត់ទៅជា​កូដម៉ាស៊ីន​ដែលមានពេលវេលាអចិ្រសិទ្ឋ។ លើ x86-64 វាទម្លាក់ទៅ cmov, លើ AArch64 ទៅ CSEL, ហើយលើគោលដៅផ្សេងៗវាចុះទៅកាន់អរិតមេទិចដែលមានម៉ាស្ក์ (masked arithmetic)។ ការធ្វើតេស្ត BENCHMARK របស់ ETH Zürich (suite Breaking Bad) និងការរួមបញ្ចូលដើម (HACL*, Fiat-Crypto, BoringSSL, HACL*) ធ្វើឱ្យឃើញថា intrinsic ទាំងនេះថែរក្សាលក្ខណៈ constant-time តាមកម្រិតអុបទីម៉ីហ្សេရှិនជាមួយនឹងថ្លៃដៃផលិតភាពតិចតួច។ ការងារនេះដោះស្រាយហានិភ័យប្រកបដោយចម្ងាយរបស់កំព្យូឡ័រមួយដែលកូដប្រភពដែលមិនមានសាខា និងជា constant-time អាចត្រូវបានបម្លែងទៅជាសាខាដែលអាស្រ័យលើទិន្នន័យ ដែលអាចអនុញ្ញាតឱ្យមានការវាយប្រហាររចនាសន្លឹកបែប timing លើសម្ងាត់ពេលនៅក្នុងវិស័យកូដគ្រូតូ។ Trail of Bits មានផែនការសម្រាប់ intrinsic បន្ថែមសម្រាប់អរិតមេទិច constant-time និងបារីយែរ​សម្រាប់អថេរពេញលេញ និងការផ្លាស់ប្តូរនេះទាក់ទាញចំណិនចាប់អារម្មណ៍ពីសហគមន៍ Rust, Swift និង WebAssembly ដែលមានន័យថាភាសាណាមួយដែលដាក់គោលដៅទៅ LLVM អាចអនុម័តវា។ សម្រាប់អ្នកជួញដូរ crypto ការផ្លាស់ប្តូរនេះកាត់បន្ថយប្រភេទចំងល់នៃចន្លោះសុវត្ថិភាពក្នុងការអនុវត្តនៅក្នុងបណ្ណាល័យ និង toolchain គ្រូតូដែលបានប្រើយ៉ាងទូលំទូលាយ ជួយបន្ថយហានិភ័យប្រតិបត្តិការ សម្រាប់សេវាកម្មអភិរក្ស គេហទំព័រវិវឌ្ឍ និងគម្រោង DeFi ដែលពឹងពាក់លើគ្រូតូក្នុងកម្មវិធី
Neutral
នេះគឺជាការកែលម្អសុវត្ថិភាព និងឧបករណ៍ជាធាងជាងព្រឹត្តិការណ៍ដែលផ្លាស់ប្តូរថ្លៃ token ត្រង់។ ដោយកាត់បន្ថយប្រភេទចំនួនមួយនៃប្រហែលភាពការអនុវត្តនៅក្នុងបណ្ណាល័យគ្រឿងសុវត្ថិភាពដកដោយលេខ និងកម្មវិធីបកស្រាយ (compiler) ការផ្លាស់ប្តូរនេះកាត់បន្ថយហានិភ័យប្រតិបត្តិការ និងការ​អនុវត្តសម្រាប់សេវាកម្មដែលគ្រប់គ្រងទ្រព្យសម្បត្តិក្រីប্টো (អ្នកថែទាំ, ប្រកួតប្ដូរ, កាបូប, DeFi)។ វាកាត់បន្ថយហានិភ័យផ្នែកខ្សែចុងចំពោះគម្រោងជាក់លាក់ដែលពឹងផ្អែកលើបណ្ណាល័យដែលបានឆាប់ប៉ះពាល់ ដែលមានអត្ថប្រយោជន៍ចំពោះស្ថិរភាពទីផ្សារយូរអង្វែង ប៉ុន្តែមិនរំពឹងទុកว่าจะបណ្តាលឱ្យមានសំពាធទិញភ្លាមៗ ឬផ្លាស់ប្តូរតម្លៃ token តិចតួចក្នុងរយៈពេលខ្លី។ ផលប៉ះពាល់រយៈពេលខ្លី៖ អប្បបរិមា — អ្នកជួញដូរមិនស័ក្តិសមត្រូវឆ្លើយតបទៅការផ្លាស់ប្តូរភាពធំប៉ុន្តែដោយលក្ខណៈនេះទេ។ ផលប៉ះពាល់រយៈពេលវែង៖ មិនខ្លាំងទេអែបប៉ុន្មានវិជ្ជមាន — ការធានាកម្មវិធីបកស្រាយដែលប្រសើរជាងអាចកាត់បន្ថយការត្រូវបានគេចកចេញក្នុងអនាគតលើកូនសោឯង និងការអនុវត្ត កាត់បន្ថយហានិភ័យប្រព័ន្ធ និងប្រាក់បន្ថែមសុវត្ថិភាពសម្រាប់គម្រោងដែលទទួលយក toolchain។ ជាសរុប ការអាប់ដេតនេះអាចជាបរិបូណ៌វិជ្ជមានសម្រាប់សុវត្ថិភាព ប៉ុន្តែមិនធ្វើឱ្យតម្លៃផ្លាស់ប្តូរដោយខ្លួនឯង។