SQUIP - โจมตีโปรเซสเซอร์ AMD ซึ่งนำไปสู่การรั่วไหลของข้อมูลผ่านช่องทางของบุคคลที่สาม

กลุ่มนักวิจัยจากมหาวิทยาลัยเทคโนโลยีกราซ (ออสเตรีย) ซึ่งก่อนหน้านี้เป็นที่รู้จักในการพัฒนาการโจมตี MDS, NetSpectre, Throwhammer และ ZombieLoad ได้เปิดเผยรายละเอียดของการโจมตีช่องทางด้านข้างแบบใหม่ (CVE-2021-46778) ในคิวตัวกำหนดตารางเวลาของโปรเซสเซอร์ AMD ใช้เพื่อกำหนดเวลาการดำเนินการคำสั่งในหน่วยการดำเนินการต่างๆ ของ CPU การโจมตีที่เรียกว่า SQUIP ช่วยให้คุณสามารถระบุข้อมูลที่ใช้ในการคำนวณในกระบวนการอื่นหรือเครื่องเสมือน หรือจัดระเบียบช่องทางการสื่อสารที่ซ่อนอยู่ระหว่างกระบวนการหรือเครื่องเสมือน ซึ่งช่วยให้คุณสามารถแลกเปลี่ยนข้อมูลผ่านกลไกการควบคุมการเข้าถึงระบบ

ซีพียู AMD ที่ใช้สถาปัตยกรรมไมโคร Zen รุ่นที่ 2000, 5000 และ 3000 (AMD Ryzen XNUMX-XNUMX, AMD Ryzen Threadripper, AMD Athlon XNUMX, AMD EPYC) จะได้รับผลกระทบเมื่อใช้เทคโนโลยี Simultaneous Multithreading (SMT) โปรเซสเซอร์ Intel ไม่เสี่ยงต่อการถูกโจมตี เนื่องจากใช้คิวตัวกำหนดตารางเวลาเดียว ในขณะที่โปรเซสเซอร์ AMD ที่มีช่องโหว่จะใช้คิวแยกกันสำหรับแต่ละหน่วยดำเนินการ เพื่อหลีกเลี่ยงปัญหาการรั่วไหลของข้อมูล AMD แนะนำให้นักพัฒนาใช้อัลกอริทึมที่ทำการคำนวณทางคณิตศาสตร์ในเวลาคงที่เสมอ โดยไม่คำนึงถึงลักษณะของข้อมูลที่ถูกประมวลผล และหลีกเลี่ยงการแยกสาขาตามข้อมูลลับ

การโจมตีขึ้นอยู่กับการประเมินระดับของความขัดแย้งที่เกิดขึ้น (ระดับความขัดแย้ง) ในคิวตัวกำหนดตารางเวลาที่แตกต่างกัน และดำเนินการผ่านการวัดความล่าช้าเมื่อเริ่มดำเนินการตรวจสอบในเธรด SMT อื่นบน CPU ทางกายภาพเดียวกัน ในการวิเคราะห์เนื้อหาใช้วิธี Prime + Probe ซึ่งหมายถึงการเติมคิวด้วยชุดค่าอ้างอิงและกำหนดการเปลี่ยนแปลงโดยการวัดเวลาการเข้าถึงเมื่อเติมเงิน

ในระหว่างการทดลอง นักวิจัยสามารถสร้างคีย์ RSA ส่วนตัว 4096 บิตที่ใช้สร้างลายเซ็นดิจิทัลได้อย่างสมบูรณ์โดยใช้ไลบรารีการเข้ารหัส mbedTLS 3.0 ซึ่งใช้อัลกอริทึม Montgomery เพื่อเพิ่มจำนวนเป็นโมดูโลพลังงาน ต้องใช้ร่องรอยถึง 50500 ครั้งในการระบุคีย์ เวลาโจมตีทั้งหมดใช้เวลา 38 นาที มีการแสดงรูปแบบการโจมตีที่ทำให้เกิดการรั่วไหลระหว่างกระบวนการต่างๆ และเครื่องเสมือนที่ควบคุมโดยไฮเปอร์ไวเซอร์ KVM นอกจากนี้ยังแสดงให้เห็นว่าสามารถใช้วิธีนี้เพื่อจัดระเบียบการถ่ายโอนข้อมูลแอบแฝงระหว่างเครื่องเสมือนที่อัตรา 0.89 Mbit/s และระหว่างกระบวนการที่อัตรา 2.70 Mbit/s โดยมีอัตราข้อผิดพลาดน้อยกว่า 0.8%

ที่มา: opennet.ru

เพิ่มความคิดเห็น