การโจมตีแรมแบบ Rowhammer เป็นช่องโหว่ที่ทีม Project Zero ของกูเกิลสาธิตมาตั้งแต่ปี 2015 โดยอาศัยการเปลี่ยนค่าในหน่วยความจำซ้ำๆ จนกระทั่งหน่วยความจำแถว "ข้างๆ" นั้นเปลี่ยนค่าไปด้วย และหลังมีรายงานออกมาผู้ผลิตแรมก็พยายามเพิ่มกระบวนการป้องกันการเปลี่ยนข้อมูลเช่นนี้ ล่าสุดทีมวิจัย COMSEC จากมหาวิทยาลัย ETH Zürich ก็ประสบความสำเร็จในการโจมตีแบบ Blacksmith ที่พัฒนาเทคนิคต่อจาก Rowhammer จนเปลี่ยนค่าในแรมได้แทบทุกยี่ห้อในตลาด
ที่ผ่านมาผู้ผลิตแรมเพิ่มกระบวนการ Target Row Refresh (TRR) เพื่อรีเฟรชไฟฟ้าในแรมบริเวณที่น่าจะถูกโจมตีเพื่อป้องกันการเปลี่ยนค่า แม้ว่าจะมีงานวิจัยแสดงให้เห็นว่ายังพอโจมตีได้บ้างแต่ก็คาดเดาผลได้ไม่แน่นอนนัก แต่ Blacksmith สามารถโจมตีแรมทุกยี่ห้อที่ทีม COMSEC นำมาทดสอบได้สำเร็จ
Blacksmith อาศัยการเปลี่ยนค่าแรมหลบเลี่ยง TRR โดยอาศัยการเปลี่ยนค่าในแรมเป็นรูปแบบที่คาดเดาได้ยาก (non-uniform patterns) ทีมงานต้องรัน Blacksmith เพื่อตรวจสอบก่อนว่าแรมรุ่นใดโจมตีด้วยรูปแบบใดได้ง่าย แม้ว่าทีมงานจะโจมตีได้สำเร็จเกือบทุกแบรด์แต่บางแบรนด์ก็หารูปแบบการเปลี่ยนค่าแรมที่โจมตีสำเร็จได้ยากมาก และกระบวนการโตมตีใช้เวลานานนับชั่วโมง ขณะที่บางแบรนด์ใช้เวลาเพียงไม่กี่วินาที อย่างไรก็ดีผลการวิจัยไม่ระบุชื่อแบรนด์ไว้ในรายงาน บอกเพียงตัวอักษร A, B, C, D
ความร้ายแรงของช่องโหว่นี้สูงสุดคือการเปิดเผยข้อมูลลับภายในแรมให้คนร้าย เช่น กุญแจเข้ารหัสข้อมูล โดยคนร้ายต้องมุ่งโจมตีแรมในส่วน page table page เพื่อพื้นที่แรมของโปรเซสอื่นให้มาอยู่ในโปรเซสตัวเอง หากสำเร็จก็สามารถดังข้อมูลออกไปได้
ที่มา - COMSEC
ภาพโดย PublicDomainPictures
Comments
ข่าวใหม่บอกว่า ECC ตัว DDR4 ปัจจุบัน ก็ไม่ได้กันได้ 100%
ตัว ECC มันก็ลดได้แค่ 1/8 ตามฮาร์ดแวร์ของมัน (checksum 3 บิต)
แต่จนตอนนี้ผมยังไม่เคยเห็นการสาธิตแฮก ECC แบบใช้งานได้จริงนะครับ เคสส่วนมากเครื่องน่าจะแครชก่อนแทบเสมอ
lewcpe.com, @wasonliw
สงสัยว่าถ้ามันแก้ไม่ได้ที่ระดับฮาร์ดแวร์จะเอามาเผยแพร่เพื่อชี้ช่องให้โจรได้ช่องทางเจาะมากขึ้น?
งานวิจัยครับ
หากสำเร็จก็สามารถดังข้อมูลออกไปได้ >> หากสำเร็จก็สามารถดึงข้อมูลออกไปได้