ข้อผิดพลาด Rowhammer DRAM คืออะไรและฉันควรปฏิบัติต่อมันอย่างไร


20

ชิป DRAM นั้นแน่นมาก การวิจัยแสดงให้เห็นว่าบิตที่อยู่ใกล้เคียงสามารถพลิกโดยการสุ่ม

  • ความน่าจะเป็นของข้อผิดพลาดที่เกิดขึ้นแบบสุ่มในชิป DRAM ระดับเซิร์ฟเวอร์ด้วย ECC คืออะไร ( กระดาษ CMU-Intelอ้างอิงเช่นหมายเลข 9.4x10 ^ -14 สำหรับชิปที่ไม่รู้จักหนึ่งครั้งในหนึ่งปีที่ล้มเหลว)?
  • ฉันจะทราบได้อย่างไรว่าข้อบกพร่องได้รับการแก้ไขก่อนซื้อหน่วยความจำ
  • ฉันควรทำอย่างไรเพื่อต่อต้านความพยายามที่เป็นอันตรายในการเพิ่มสิทธิ์โดยผู้เช่าหรือผู้ใช้ที่ไม่มีสิทธิเช่น CentOS 7

อ้างอิง:


2
เนื่องจากรายละเอียดของการหาประโยชน์ยังไม่ได้รับการห้ามส่งมอบอีกต่อไปฉันไม่แน่ใจว่าจะมีข้อมูลมากมายนอกเหนือจากสิ่งที่ Google ได้ให้แก่คุณแล้ว
fukawi2

ดังที่ฉันเข้าใจแล้วอัตราการรีเฟรชหน่วยความจำจะลดอัตราการพลิกสำเร็จอย่างมากและ BIOS รุ่นใหม่กว่านั้นได้ลดอัตราการรีเฟรชลงเพื่อพยายามลดความเสี่ยงลง ดังนั้นการอัพเดตไบออสของคุณอาจเป็นขั้นตอนแรกที่ดี?
นำ

1
@ fukawi2, รายละเอียดของการใช้ประโยชน์นั้นถูก / ถูกห้าม? รหัสเต็มสำหรับการหาข้อพิสูจน์แนวคิดวางตลาดพร้อมโพสต์บล็อก
Mark Seaborn

@ MarkSeaborn ฉันไม่ได้จำตอนนี้นี่เป็น 3 เดือนที่ผ่านมาและฉันแทบจะจำอาหารเช้าไม่ได้
fukawi2

คำตอบ:


19

กระดาษ CMU-Intel ที่คุณอ้างถึงแสดงให้เห็น (หน้า 5) ว่าอัตราความผิดพลาดขึ้นอยู่กับจำนวนชิ้นส่วน / วันที่ผลิตของโมดูล DRAM และแตกต่างกันไปตามปัจจัย 10-1000 นอกจากนี้ยังมีข้อบ่งชี้บางอย่างว่าปัญหาเกิดขึ้นน้อยมากในชิปที่ผลิตเมื่อเร็ว ๆ นี้ (2014)

หมายเลข '9.4x10 ^ -14' ที่คุณอ้างถึงถูกใช้ในบริบทของกลไกการลดทอนทางทฤษฎีที่เสนอชื่อว่า "PARA" (ซึ่งอาจคล้ายกับกลไกการบรรเทาที่มีอยู่ pTRR (หลอกเป้าหมายการรีเฟรชแถวเป้าหมาย)) และไม่เกี่ยวข้องกับของคุณ คำถามเนื่องจาก PARA ไม่มีส่วนเกี่ยวข้องกับ ECC

กระดาษ CMU-Intel แผ่นที่สอง (หน้า 10) กล่าวถึงผลกระทบของอัลกอริธึม ECC ที่แตกต่างกันในการลดข้อผิดพลาด (ปัจจัย 10 ^ 2 ถึง 10 ^ 5 อาจมีมากขึ้นด้วยการทดสอบหน่วยความจำที่ซับซ้อนและ "การ์ดป้องกัน")

ECC เปลี่ยนการใช้ประโยชน์จาก Row Hammer เป็นการโจมตีแบบ DOS อย่างมีประสิทธิภาพ ข้อผิดพลาด 1 บิตจะได้รับการแก้ไขโดย ECC และทันทีที่ตรวจพบข้อผิดพลาด 2 บิตที่ไม่สามารถแก้ไขได้ระบบจะหยุด (สมมติว่า ECC SECDED สองครั้ง)

วิธีแก้ไขคือซื้อฮาร์ดแวร์ที่รองรับ pTRR หรือ TRR ดูโพสต์บล็อกปัจจุบันจากซิสโก้เกี่ยวกับแถวค้อน อย่างน้อยผู้ผลิตบางรายดูเหมือนจะมีหนึ่งในกลไกการบรรเทาเหล่านี้ที่สร้างไว้ในโมดูล DRAM ของพวกเขา แต่ให้ซ่อนอยู่ลึกในสเป็คของพวกเขา ในการตอบคำถามของคุณ: ถามผู้ขาย

อัตราการรีเฟรชที่เร็วขึ้น (32 มิลลิเซคอนแทนที่จะเป็น 64 มิลลิวินาที) และการขัดจังหวะของ Patrol Scr ก้าวร้าวช่วยเช่นกัน แต่จะส่งผลต่อประสิทธิภาพ แต่ฉันไม่รู้ฮาร์ดแวร์ของเซิร์ฟเวอร์ที่อนุญาตให้ปรับพารามิเตอร์เหล่านี้ได้จริง

ฉันเดาว่าคุณไม่สามารถทำอะไรได้มากมายในด้านระบบปฏิบัติการยกเว้นการยกเลิกกระบวนการที่น่าสงสัยด้วยการใช้งาน cpu สูงอย่างต่อเนื่องและแคชที่สูง


4

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

ฉันไม่แน่ใจว่าเป็นไปได้ในปัจจุบันที่มีข้อมูลสาธารณะเพื่อหลีกเลี่ยงการซื้อ RAM ที่มีช่องโหว่หรือคาดการณ์อัตราความล้มเหลวในฮาร์ดแวร์ที่มีอยู่ได้อย่างง่ายดาย ผู้ผลิตยังไม่ได้เปิดพร้อมข้อมูลเกี่ยวกับผลกระทบของผลิตภัณฑ์ เป็นไปได้ที่จะทดสอบหน่วยความจำที่ซื้อไปแล้วโดยใช้เครื่องมือซอฟต์แวร์ แต่คุณควรระวังว่าการใช้เครื่องมือเหล่านั้นในช่วงเวลาที่สำคัญ (ชั่วโมง) อาจทำให้ RAM เสื่อมลงอย่างถาวร

"บริษัท หน่วยความจำที่ไม่มีชื่อ" ได้รายงานความพยายามที่จะจ่ายสินบนเพื่อเป็นการตอบแทนซอฟต์แวร์ Passmark ที่ไม่ปล่อยการทดสอบ rowhammer ในเครื่องมือ Memtest86

ฮาร์ดแวร์ของ Intel Skylake ได้รับการรายงานว่ามีความเสี่ยงมากขึ้นไม่น้อยไปกว่านักมานุษยวิทยาเพราะนอกเหนือจากการเพิ่มclflushoptคำสั่งใหม่ นี่เป็นช่องโหว่ใน rowhammer.js แล้ว

Daniel Gruss ตอบคำถามบางอย่างที่นี่เกี่ยวกับการบรรเทาผลกระทบ ณ เดือนธันวาคม 2558 (ผู้เขียนร่วมของrowhammer.js paper ) ในการพูดคุยนี้ :

  1. ในขณะที่ ECC RAM บางตัวมีความเสี่ยงน้อยกว่า RAM ที่ไม่ใช่ ECC ไปจนถึง Rowhammer ECC RAM อื่น ๆ นั้นมีความเสี่ยงมากกว่า RAM ที่ไม่ใช่ ECC ( ลิงก์ไปยังคำถามในวิดีโอ )
  2. การเปลี่ยนเป็นอัตราการรีเฟรชที่เร็วกว่านั้นเพียงพอที่จะป้องกัน rowhammer ด้วยฮาร์ดแวร์ส่วนใหญ่ แต่ไม่ใช่ทั้งหมด แต่ BIOS ทั้งหมดนั้นอนุญาตให้เปลี่ยนอัตราการรีเฟรชได้ ( ลิงก์ไปยังคำถามในวิดีโอ )

มันอาจเป็นไปได้ที่จะตรวจจับการจู่โจมของแฮมเมอร์ที่กำลังดำเนินอยู่ แต่ฉันไม่รู้ว่ามันได้ทำไปแล้ว

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.