กลุ่มนักวิจัยจากมหาวิทยาลัยเทคโนโลยี Graz (ออสเตรีย) ซึ่งก่อนหน้านี้เป็นที่รู้จักในด้านการพัฒนาวิธีการโจมตีสำหรับMDS, NetSpectre, Throwhammer และ ZombieLoad เพิ่ง ประกาศว่าพวกเขากำลังพัฒนาวิธีการโจมตีแบบ side-channel ใหม่ ซึ่งมีชื่อรหัสว่า"PLATYPUS"
การโจมตีนี้อนุญาตให้สร้างข้อมูลที่คำนวณขึ้นใหม่โดยอาศัยข้อมูลที่ผู้ใช้ที่ไม่มีสิทธิ์ได้รับผ่านอินเทอร์เฟซการตรวจสอบพลังงาน RAPL ที่มีอยู่ในโปรเซสเซอร์ Intel (CVE-2020-8694, CVE-2020-8695) และ AMD (CVE-2020-12912) รุ่นใหม่ๆ
เกี่ยวกับ PLATYPUS
นักวิจัยสามารถสาธิตการดึงคีย์ RSA ส่วนตัวของ Intel SGX enclaveที่ใช้สำหรับการเข้ารหัสโดยใช้ไลบรารี mbed TLS รวมถึงคีย์ AES ที่ใช้สำหรับการเข้ารหัส AES-NIในระดับเคอร์เนล Linux ได้สำเร็จ
นอกจากนี้ ยังแสดงให้เห็นว่าการโจมตีสามารถใช้เพื่อหลีกเลี่ยงกลไกการป้องกันและกำหนดพารามิเตอร์การสุ่มตำแหน่งหน่วยความจำ (KASLR) ในระหว่างการใช้ประโยชน์จากช่องโหว่ต่างๆ ได้
การโจมตีนี้อาศัยความผันผวนของการใช้พลังงานของ CPUเมื่อทำการประมวลผลคำสั่งบางอย่าง ประมวลผลตัวถูกดำเนินการที่แตกต่างกัน และดึงข้อมูลจากหน่วยความจำทำให้ผู้โจมตีสามารถระบุลักษณะของข้อมูลที่โหลดได้แตกต่างจากวิธีการโจมตีที่คล้ายคลึงกันที่พัฒนาขึ้นก่อนหน้านี้ซึ่งวิเคราะห์ความผันผวนของแรงดันไฟฟ้าPLATYPUS ไม่จำเป็นต้องเข้าถึงคอมพิวเตอร์โดยตรงหรือเชื่อมต่อกับออสซิลโลสโคป แต่ใช้เพียงอินเทอร์เฟซ RAPL (Running Average Power Limit)ที่มีอยู่ในโปรเซสเซอร์ Intel และ AMD ตั้งแต่ตระกูล Sandy Bridge และ Zen เป็นต้นไป
เราใช้ประโยชน์จากการเข้าถึงอินเทอร์เฟซ Intel RAPL ที่ไม่มีสิทธิ์โดยเปิดเผยการใช้พลังงานของโปรเซสเซอร์เพื่อสรุปข้อมูลและแยกคีย์การเข้ารหัส
ปัญหาดังกล่าวประกอบด้วยข้อเท็จจริงที่ว่าเฟรมเวิร์ก powercap ที่เพิ่มเข้ากับเคอร์เนล Linux ให้การเข้าถึงตัวนับ RAPL แก่ผู้ใช้ที่ไม่ได้รับสิทธิพิเศษทำให้สามารถติดตามการใช้ CPU และ DRAM ได้ ใน Windows และ macOS การโจมตีจำเป็นต้องติดตั้งแพ็คเกจ Intel Power Gadget (แพ็คเกจนี้ต้องการการเข้าถึงที่มีสิทธิพิเศษ)
การโจมตีถูกขัดขวางโดยความละเอียดในการวัดที่ต่ำมากซึ่งไม่ตรงกับความแม่นยำที่ทำได้ด้วยออสซิลโลสโคป โดยเฉพาะอย่างยิ่ง RAPL สามารถอ่านค่าได้ที่ 20 กิโลเฮิรตซ์และค่าเฉลี่ยในขณะที่ออสซิลโลสโคปสามารถวัดได้หลายกิกะเฮิรตซ์ อย่างไรก็ตามความแม่นยำของ RAPL นั้นเพียงพอที่จะดึงข้อมูลจากโฟลว์คำสั่งทั่วไปเกี่ยวกับการดำเนินการของคำสั่งซ้ำกับข้อมูลหรือตัวถูกดำเนินการที่แตกต่างกัน
Intel และ AMD ได้ปล่อยโค้ดไดรเวอร์เวอร์ชันอัปเดตสำหรับ Linuxซึ่งจำกัดการเข้าถึง RAPL ไว้เฉพาะผู้ใช้ root เท่านั้น นอกจากนี้ นักพัฒนาไฮเปอร์ไวเซอร์ Xen ก็ได้ปล่อยโซลูชันที่บล็อกการเข้าถึง RAPL จากระบบเกสต์ด้วยเช่นกัน
ในขณะเดียวกันข้อจำกัดในการเข้าถึงก็ไม่เพียงพอที่จะป้องกันการโจมตีต่อ Intel SGX enclaves ซึ่งสามารถกระทำได้โดยผู้โจมตีที่ได้รับสิทธิ์การเข้าถึงระบบระดับสูง
เพื่อป้องกันการโจมตีเหล่านี้อินเทลได้ออกอัปเดตไมโครโค้ดซึ่งแก้ไขช่องโหว่อื่นๆ อีกหลายรายการที่อาจนำไปสู่การรั่วไหลของข้อมูล โดยรวมแล้ว การอัปเดตเดือนพฤศจิกายนของอินเทลได้แก้ไขช่องโหว่ 95 รายการในผลิตภัณฑ์ต่างๆ
โปรเซสเซอร์ ของ Intel หลากหลายรุ่น ทั้งสำหรับเดสก์ท็อป มือถือ และเซิร์ฟเวอร์โดยเริ่มตั้งแต่ตระกูล Sandy Bridge เป็นต้นไปมีความเสี่ยงที่จะถูกโจมตี
บนระบบที่ใช้ CPU AMD อินเทอร์เฟซ RAPL มีมาตั้งแต่ตระกูล Zen แต่ไดรเวอร์เคอร์เนลของ Linux อนุญาตให้เข้าถึงสถิติ AMD Rome CPU ที่ไม่มีสิทธิประโยชน์เท่านั้น
การโจมตีนี้อาจนำไปใช้กับโปรเซสเซอร์ ARM ซึ่งมีระบบของตัวเองเพื่อรวบรวมเมตริกเกี่ยวกับการเปลี่ยนแปลงพลังงานและตัวควบคุมชิป Marvell และ Ampere ให้การเข้าถึงเซ็นเซอร์ที่ไม่มีสิทธิ์ แต่เป็นการวิเคราะห์โดยละเอียดเกี่ยวกับความเป็นไปได้ในการใช้การโจมตีสำหรับอุปกรณ์ดังกล่าว .
สุดท้ายนี้หากคุณสนใจเรียนรู้เพิ่มเติมเกี่ยวกับรูปแบบการโจมตีใหม่ที่เรียกว่า "แพลทิปัส" คุณสามารถดูรายละเอียดได้ที่ลิงก์ต่อไปนี้