LLVM เพิ่ม intrinsic เวลาคงที่เพื่อปกป้องโค้ดเข้ารหัส

Trail of Bits ได้นำการรองรับโค้ดแบบเวลา-คงที่ (constant-time) ขึ้นสู่ LLVM (เสนอสำหรับ LLVM 22) โดยแนะนำ intrinsic __builtin_ct_select (llvm.ct.select.*) ที่บังคับให้การเลือกแบบมีเงื่อนไขถูกคอมไพล์เป็นโค้ดเครื่องที่มีเวลาแน่นอน บน x86-64 จะลดเป็น cmov, บน AArch64 เป็น CSEL, และบนเป้าหมายอื่น ๆ จะถอยกลับไปใช้การคำนวณแบบการมาสก์ (masked arithmetic) ผลการทดสอบของ ETH Zürich (ชุด Breaking Bad) และการผนวกรวมในระยะแรก (HACL*, Fiat-Crypto, BoringSSL, HACL*) แสดงให้เห็นว่า intrinsic เหล่านี้รักษาคุณสมบัติแบบเวลา-คงที่ได้ข้ามระดับการปรับแต่งด้วยต้นทุนน้อยมาก งานนี้แก้ปัญหาความเสี่ยงที่มีมายาวนานของคอมไพเลอร์ซึ่งโค้ดต้นทางที่ไม่มีสาขาและเป็นเวลา-คงที่อาจถูกแปลงเป็นสาขาที่ขึ้นกับข้อมูล ทำให้สามารถโจมตีแบบช่องข้างเคียงทางเวลาไปยังความลับทางคริปโตได้ Trail of Bits วางแผน intrinsic เพิ่มเติมสำหรับการคำนวณแบบเวลา-คงที่และวางกำแพงสำหรับนิพจน์ทั้งชุด และการเปลี่ยนแปลงนี้ได้รับความสนใจจากชุมชน Rust, Swift และ WebAssembly ซึ่งหมายความว่าภาษาใด ๆ ที่คอมไพล์ไปยัง LLVM สามารถนำไปใช้ได้ สำหรับผู้ซื้อขายสกุลเงินคริปโต การเปลี่ยนแปลงนี้ลดชั้นของช่องโหว่การใช้งานในไลบรารีและ toolchain คริปโตที่ใช้กันอย่างแพร่หลาย ช่วยลดความเสี่ยงด้านการปฏิบัติงานสำหรับบริการการดูแลสินทรัพย์ ศูนย์แลกเปลี่ยน และโครงการ DeFi ที่พึ่งพาการเข้ารหัสแบบซอฟต์แวร์
Neutral
นี่เป็นการปรับปรุงด้านความปลอดภัยและเครื่องมือเป็นหลัก มากกว่าจะเป็นเหตุการณ์ที่ส่งผลโดยตรงต่อราคาของโทเคน โดยการลดกลุ่มช่องโหว่ในการใช้งานของไลบรารีเข้ารหัสและคอมไพเลอร์ การเปลี่ยนแปลงนี้ช่วยลดความเสี่ยงด้านการปฏิบัติการและการดำเนินการสำหรับบริการที่จัดการสินทรัพย์คริปโต (ผู้ดูแล การแลกเปลี่ยน กระเป๋าเงิน DeFi) ซึ่งช่วยลดความเสี่ยงแบบหางสำหรับโครงการเฉพาะที่พึ่งพาไลบรารีที่ได้รับผลกระทบ ซึ่งเป็นประโยชน์ต่อความมั่นคงของตลาดในระยะยาว แต่ไม่คาดว่าจะก่อให้เกิดแรงซื้อทันทีหรือเปลี่ยนมูลค่าของโทเคนในระยะสั้นอย่างมีนัยสำคัญ ผลกระทบระยะสั้น: น้อย — เทรดเดอร์ไม่น่าจะตอบสนองด้วยการปรับพอร์ตขนาดใหญ่เพียงเพราะการอัปเดตเครื่องมือนี้ ผลกระทบระยะยาว: เป็นบวกปานกลาง — การรับรองที่ดีขึ้นจากคอมไพเลอร์สามารถลดความเสี่ยงที่กุญแจส่วนตัวและการใช้งานจะถูกโจมตีในอนาคต ลดความเสี่ยงระบบและเบี้ยความปลอดภัยเพิ่มสำหรับโครงการที่นำชุดเครื่องมือนี้ไปใช้ โดยรวมแล้ว การอัปเดตเป็นผลดีต่อความปลอดภัยแต่ไม่ทำให้ราคาขยับด้วยตัวมันเอง