วันอังคารที่ 28 เมษายน พ.ศ. 2558

05:54
google_logo
ทีมนักวิจัยของ Google ประสบความสำเร็จในการเขียนโค้ดเพื่อแฮ็คระบบคอมพิวเตอร์โดยอาศัยช่องโหว่การรบกวนกันของคลื่นไฟฟ้าระหว่างเซลล์ของเมมโมรี่ที่อัดกันแน่นจนเกินไป โดยช่องโหว่นี้คาดว่าส่งผลกระทบต่อเครื่องคอมพิวเตอร์ทุกเครื่องที่ใช้งาน DDR3 DRAM หรือก็คือเครื่องคอมพิวเตอร์ส่วนใหญ่ที่ใช้งานกันอยู่ในปัจจุบันนั่นเอง
การทดสอบแฮ็ค DRAM ของ Google นี้ พัฒนาต่อยอดจากงานวิจัยของมหาวิทยาลัย Carnegie Mellon และ Intel ที่ถูกตีพิมพ์เมื่อปี 2014 ที่ผ่านมา โดยทีมนักวิจัยค้นพบว่า มีความจะเป็นไปได้ที่จะเปลี่ยนค่าไบนารี่ 0,1 ที่เก็บอยู่ในเมมโมรี่ได้ผ่านทางการเข้าถึงเซลล์เมมโมรี่เดิมซ้ำๆ ก่อให้เกิดสัญญาณไฟฟ้ารบกวนเซลล์เมมโมรี่ที่อยู่ข้างๆจนค่าไบนารี่เปลี่ยนไปจากเดิม วิธีการนี้ถูกเรียกว่า “การพลิกบิท” (Bit flipping) ซึ่งส่งผลกระทบต่อ DRAM อย่างรุนแรง เนื่องจากเซลล์เมมโมรี่ถูกอัดให้ชิดกันแน่นมาก ทำให้เกิดการกวนกันของสัญญาณไฟฟ้าได้ง่าย ทั้งนี้ เพราะวิศวกรต้องการเพิ่มความจุของ DRAM ให้มากขึ้นกว่าเดิมนั่นเอง
อ่านงานวิจัยฉบับเต็มได้ที่http://users.ece.cmu.edu/~yoonguk/papers/kim-isca14.pdf
คาดว่าผู้ผลิตชิพทราบเรื่องการรบกวนกันของสัญญาณไฟฟ้า แต่ปัญหาดังกล่าวถูกมองว่ากระทบต่อความถูกต้องของการทำงานมากกว่าเรื่องความปลอดภัย อย่างไรก็ตาม ทีมนักวิจัยของ Google พิสูจน์แล้วว่า การกวนกันของสัญญาณไฟฟ้าในเมมโมรี่ส่งผลกระทบรุนแรงกว่าที่คาดไว้
Credit: Arena Photo UK/ShutterStock
Credit: Arena Photo UK/ShutterStock

ทดสอบการพลิกบิทบน DDR3 DRAM

ทีมวิจัยของ Google ทดสอบช่องโหว่นี้โดยใช้โน๊ตบุ๊ค x86 จำนวน 29 เครื่องที่ผลิตขึ้นระหว่างปี 2010 ถึงปี 2014 และใช้เทคนิคการโจมตี 2 ชุด เรียกว่า “การตอกแถว” (Rowhammering) ในการสร้างสัญญาณไฟฟ้ารบกวนผ่านทางเข้าถึงแถวของเซลล์เมมโมรี่ซ้ำๆไปเรื่อยๆ เพื่อให้ค่าไบน่ารี่ของเซลล์ข้างๆเปลี่ยนจาก 0 ไปเป็น 1 หรือจาก 1 ไปเป็น 0
การตอกแถวจะใช้การโจมตีชุดแรกเพื่อเพิ่มระดับสิทธิ์ในการเข้าถึงระบบคอมพิวเตอร์ และเพื่อหลุดจากกรอบ Sandbox บน Google Chrome ที่ใช้กำหนดขอบเขตการรันแอพพลิเคชันบนเบราเซอร์ เมื่อหลุดจาก Sandbox แล้วทำให้การโจมตีชุดที่ 2 ของการตอกแถวสามารถโจมตีระบบปฏิบัติการได้โดยตรง
การตอกแถวชุดที่ 2 เป็นการโจมตีพลิกบิทโดยมีจุดประสงค์เพื่อควบคุมเครื่องคอมพิวเตอร์ได้ถึงระดับ Kernel การพลิกบิทจะถูกส่งเข้าไปในรูปของเอนทรี่ Page-table เพื่อเชื่อมเมมโมรี่เสมือน (Virtual memory) เข้ากับเมมโมรี่จริง (Physical memory) ทำให้ให้สามารถอ่านหรือเขียนเมมโมรี่ของเครื่องคอมพิวเตอร์นั้นๆได้
ผลลัพธ์ที่ได้จากการทดลองโจมตีโน๊ตบุ๊คทั้ง 29 เครื่อง คือ ทุกเครื่องมีช่องโหว่การพลิกบิท และค่าไบนารี่บนเมมโมรี่ถูกแก้ไข นอกจากนี้ โน๊ตบุ๊คทุกเครื่องต่างใช้ DDR3 DRAM เหมือนกัน(ทีมนักวิจัยไม่ได้เปิดเผยยี่ห้อและรุ่นของโน๊ตบุ๊คที่ใช้)
Mark Seaborn วิศวกรซอฟต์แวร์ของ Google ระบุว่า “เนื่องจากข้อมูลเชิงเทคนิคยังไม่เพียงพอ เราจึงยังไม่สามารถตอบได้ว่าเครื่องคอมพิวเตอร์เภทไหนบ้างที่มีช่องโหว่การพลิกบิทอยู่ รวมไปถึงยังไม่ทราบว่าจะแก้ไขปัญหานี้ได้อย่างไร”

DDR4 DRAM ไม่ได้รับผลกระทบ

ทีมวิจัยของ Google พบว่า ช่องโหว่ดังกล่าวไม่ได้ส่งผลกระทบต่อคอมพิวเตอร์ที่ใช้งาน DDR4 DRAM ซึ่งกำลังจะเข้ามาแทน DDR3 ในปัจจุบัน อย่างไรก็ตาม สาเหตุที่ DDR4 ไม่ได้รับผลกระทบนั้น คาดว่ามาจากการปรับปรุงเพื่อเพิ่มความถูกต้องของการทำงาน มากกว่าการทำให้เมมโมรี่ปลอดภัย

0 ความคิดเห็น:

แสดงความคิดเห็น