ช่องโหว่ที่มีการเผยแพร่มากที่สุด 2 รายการในปี 2010 มีความเกี่ยวข้องกันอย่างใกล้ชิด แทนที่จะเป็นช่องโหว่ด้านความปลอดภัยในซอฟต์แวร์ Spectre และ Meltdown เป็นช่องโหว่ในการออกแบบพื้นฐานของ CPU ทำให้แก้ไขปัญหาได้ยากขึ้น ตัวปัญหาเองนั้นรุนแรงเป็นพิเศษ ทำให้สามารถเปิดเผยหน่วยความจำจากแอพพลิเคชั่นอื่นและระบบปฏิบัติการได้
ภาพรวม
ซีพียูใช้การออกแบบที่ล้ำหน้าอย่างเหลือเชื่อเพื่อให้ได้ประสิทธิภาพสูงสุด รวมถึงเทคนิคต่างๆ รวมถึงการดำเนินการเชิงเก็งกำไรและการทำนายสาขา การดำเนินการแบบเก็งกำไรเป็นที่ที่ CPU เริ่มเรียกใช้กระบวนการก่อนที่จะรู้ว่าจำเป็นหรือไม่ เพื่อพยายามประหยัดเวลาเมื่อพิจารณาแล้วว่าจำเป็นต้องใช้ การทำนายสาขาเป็นชุดย่อยของการดำเนินการเก็งกำไรที่พยายามทำนายผลลัพธ์ของกระบวนการแล้ว เริ่มคำนวณขั้นตอนต่อไปตามค่าที่คาดการณ์ไว้ซึ่งอนุญาตให้ CPU ดำเนินการชุดคำสั่งจาก คำสั่ง.
ช่องโหว่ของ Spectre มาจากการนำคุณลักษณะทั้งสองนี้ไปใช้ อนุญาตให้แอปพลิเคชันละเมิดเทคนิคการแยกหน่วยความจำที่มีอยู่ภายในซอฟต์แวร์ที่ทันสมัยส่วนใหญ่ ทำให้สามารถเปิดเผยหน่วยความจำได้ รวมถึงความลับ เช่น รหัสผ่านและคีย์การเข้ารหัส ปัญหาอย่างหนึ่งของ Spectre คือข้อมูลสามารถเข้าถึงได้จากแอปพลิเคชันที่ไม่มีช่องโหว่ด้านความปลอดภัยใดๆ เนื่องจากจำเป็นต้องใช้เฉพาะโปรแกรมที่เป็นอันตรายเท่านั้น
ช่องโหว่ Meltdown ขึ้นอยู่กับเทคนิคหน่วยความจำบางอย่าง เช่นเดียวกับระบบการดำเนินการเก็งกำไรที่กล่าวถึงข้างต้น ใช้ "เงื่อนไขการแข่งขัน" ระหว่างการดำเนินการตามกระบวนการและการตรวจสอบสิทธิ์ และอนุญาตให้โปรแกรมที่เป็นอันตรายเข้าถึงหน่วยความจำของแอปพลิเคชันอื่นและระบบปฏิบัติการ
เคล็ดลับ: “สภาวะการแข่งขัน” เป็นปัญหาที่งานหนึ่งควรจะต้องอาศัยงานอื่น แต่ไม่ได้บังคับใช้ลำดับการดำเนินการที่ถูกต้อง ซึ่งอาจส่งผลให้กระบวนการ "ที่สอง" ทำงานก่อนและใช้หน่วยความจำที่ไม่ได้เตรียมใช้งานซึ่งควรมีผลลัพธ์ของกระบวนการ "แรก" ซึ่งทำให้เนื้อหาก่อนหน้าของหน่วยความจำนั้นรั่วไหล ในกรณีนี้ กระบวนการไม่ควรทำงานจนกว่าการตรวจสอบการอนุญาตจะตรวจสอบว่าได้รับอนุญาต แต่การตรวจสอบสิทธิ์อาจเกิดขึ้นที่สองเนื่องจากการเพิ่มประสิทธิภาพ
เอฟเฟกต์
ในช่วงกลางปี 2017 หลายทีมได้ค้นพบและรายงานทั้ง Meltdown และ Spectre อย่างเป็นส่วนตัวต่อผู้ผลิตซีพียูที่พัฒนาแพตช์ เนื่องจากแพทช์ที่กำหนดเป้าหมายการเพิ่มประสิทธิภาพ พวกเขาจึงลดประสิทธิภาพของ CPU ลงได้ถึง 30% ในกรณีที่เลวร้ายที่สุด โดยประสิทธิภาพลดลง 2-14% เป็นตัวแทนของผู้คนมากขึ้น ประสบการณ์
ช่องโหว่ดังกล่าวส่งผลกระทบกับซีพียู x86, IBM POWER CPU และซีพียูที่ใช้ ARM บางตัว การล่มสลายส่งผลกระทบต่อฮาร์ดแวร์ที่มักพบในคอมพิวเตอร์ส่วนบุคคลและเซิร์ฟเวอร์คลาวด์ Spectre ส่งผลกระทบต่อคอมพิวเตอร์ส่วนบุคคล เซิร์ฟเวอร์คลาวด์ และอุปกรณ์มือถือ ซีพียู intel ทั้งหมดตั้งแต่ปี 1995 ถึงกลางปี 2018 มีความเสี่ยงต่อปัญหา (โดยยกเว้นสาย Itanium และ Atom ก่อนปี 2013) ซีพียู AMD ไม่ได้รับผลกระทบจาก Meltdown แต่มีความเสี่ยงต่อ Spectre
แพตช์บรรเทาซอฟต์แวร์ได้รับการพัฒนาและเผยแพร่ผ่านผู้ให้บริการระบบปฏิบัติการที่แก้ไขปัญหาส่วนใหญ่ ตั้งแต่กลางปี 2018 Intel ได้อัปเดตการออกแบบ CPU เพื่อรวมการบรรเทาฮาร์ดแวร์สำหรับปัญหาต่างๆ
ปัญหาทั้งสองนี้สามารถใช้ประโยชน์ได้ผ่านหน้าเว็บที่เป็นอันตรายด้วย JavaScript ที่สร้างขึ้นมา ดังนั้นจึงเป็นเรื่องสำคัญอย่างยิ่งที่จะ ตรวจสอบให้แน่ใจว่าได้ติดตั้งแพตช์ความปลอดภัยในทุกระบบ แม้ว่าประสิทธิภาพจะสูญเสียไปก็ตาม รุนแรง. น่าเสียดายที่ปัญหาไม่สามารถแก้ไขได้ด้วยแพตช์เดียวเนื่องจากเป็นปัญหาที่ซับซ้อนอย่างยิ่งในเชิงลึก การรวมเข้ากับฮาร์ดแวร์ แพตช์ความปลอดภัยจะเผยแพร่ต่อไปเมื่อเวลาผ่านไป เนื่องจากตัวแปรที่ใหม่กว่านั้น ค้นพบ.