งานวิจัยยกระดับการโจมตีชิปแรม Rowhammer, แก้ไขค่าแรมในเซิร์ฟเวอร์ได้ แม้เป็นแรม ECC

2018-12-03

งานวิจัย Rowhammer เป็นการโจมตีที่ชิปแรมของเครื่องเหยื่อ ด้วยการยิงคำสั่งเฉพาะ ทำให้ซอฟต์แวร์สามารถเปลี่ยนค่าแรมตำแหน่ง “ข้างๆ” ของหน่วยความจำที่ตัวซอฟต์แวร์ใช้งานอยู่ โดยก่อนหน้านี้เชื่อกันว่าการโจมตีแบบนี้ไม่สามารถโจมตีเซิร์ฟเวอร์ที่ใช้แรม ECC ที่ป้องกันการแก้ไขค่า แต่งานวิจัยล่าสุดก็สาธิตการโจมตีได้สำเร็จแม้จะซับซ้อนขึ้น

Rowhammer ต้นฉบับเป็นงานวิจัยของกูเกิลตั้งแต่ปี 2015 โดยสามารถโจมตีได้สำเร็จกับชิปแรมบางรุ่นเท่านั้น งานวิจัยใหม่จากมหาวิทยาลัย Vrije เลือกใช้ชิปแรมจากผู้ผลิตที่เคยพบว่าสามารถโจมตี Rowhammer ต้นฉบับได้ แต่เป็นแพ็กแรมแบบ ECC สำหรับเซิร์ฟเวอร์

แรม ECC มักใช้กับเซิร์ฟเวอร์ โดยแรมแต่ละไบต์จะมีค่าตรวจสอบความถูกต้อง (error-correction) มาอีก 3 บิต ทำให้สามารถตรวจสอบและแก้ไขค่าได้เสมอ หากมีความผิดพลาดบิตเดียว และสามารถตรวจสอบพบความผิดพลาดได้ด้วยความน่าจะเป็นสูง หากมีความผิดพลาดเกินกว่า 1 บิต

การโจมตีแรม ECC นั้นยากกว่าเพราะหากปรับค่าในแรมได้บิตเดียว ตัวแรม ECC จะปรับค่ากลับอัตโนมัติ แต่หากปรับค่าผิดจน ECC ผิดพลาด เครื่องก็จะแครชไปเลย

ทีมวิจัยตรวจสอบว่าสามารถแก้ไขค่าบิตเดียวได้สำเร็จหรือไม่จากการจับเวลาการเข้าถึงแรม ที่หากมีการแก้ไขค่ากลับโดยวงจร ECC การเข้าถึงแรมก็จะช้าลงมาก ทีมวิจัยสร้าง “แผนที่” ของบิตที่สามารถโจมตีได้จากจับเวลาการเข้าถึงแรมเมื่อโจมตีทีละบิต เมื่อได้แผนที่แล้วโปรแกรมจะแก้ไขค่าให้ได้ค่าที่ต้องการ โดยที่ ECC ไม่พบความผิดพลาด ทำให้สุดท้ายแล้วสามารถแก้ไขค่า

ผลการทดลอง ทีมงานสามารถอ่านค่ากุญแจเข้ารหัส RSA ได้สำเร็จ แม้จะใช้เวลานานอย่างมาก (บางกรณีใช้เวลาหลายสัปดาห์) และอัตราความสำเร็จสำหรับกุญแจ RSA 4096 บิตอยู่ที่ 28.7%

งานวิจัยนี้จะนำเสนอในงาน IEEE Symposium on Security and Privacy 2019

ที่มา – Vrije Universiteit, WIRED

No Description

Topics: