พวกเขาค้นพบวิธีการที่อนุญาตให้สร้างคีย์ RSA ขึ้นใหม่โดยการวิเคราะห์การเชื่อมต่อ SSH

ความอ่อนแอ

หากถูกโจมตี ข้อบกพร่องเหล่านี้อาจทำให้ผู้โจมตีเข้าถึงข้อมูลที่ละเอียดอ่อนโดยไม่ได้รับอนุญาต หรือก่อให้เกิดปัญหาโดยทั่วไป

ไม่กี่วันที่ผ่านมา มีข่าวประกาศมาว่า un ทีม ของนักวิจัย จาก Universidad จากแคลิฟอร์เนียในซานดิเอโก ได้แสดงให้เห็น ความจุ de สร้างใหม่ พวกเขา สำคัญ โฮสต์ RSA ส่วนตัว หนึ่ง เซิร์ฟเวอร์ SSH ตลอด การวิเคราะห์ อยู่เฉยๆ ของการรับส่งข้อมูล SSH

งานวิจัยที่ได้รับการตีพิมพ์ แสดง นี้ เมื่อ มีการใช้ลายเซ็นดิจิทัล ขึ้นอยู่กับ ขั้นตอนวิธี RSA ใน SSH เชื่อมโยงเข้าด้วยกันนี้ที่ใช้วิธี Lattice (การโจมตีผิดพลาด) สำหรับ สร้างใหม่ la สำคัญ อาร์เอสเอส่วนตัว เป็น เหมาะสม สำหรับ ลายเซ็นดิจิทัลใน กรณี de ,es รั่วไหล de ซอฟต์แวร์ หรือฮาร์ดแวร์ในระหว่างขั้นตอนการคำนวณลายเซ็น ที่ แก่นแท้ ของวิธีการก็คือ นี้ al เปรียบเทียบ ลายเซ็นดิจิทัล RSA ที่ถูกต้องและไม่ถูกต้องคุณสามารถทำได้ กำหนด ทั่วไปที่ยิ่งใหญ่ที่สุด dividerจึงทำให้เกิด Uno ของจำนวนเฉพาะที่ใช้ สำหรับ ผลิต la สำคัญ.

การเข้ารหัส RSA ขึ้นอยู่กับการดำเนินการยกกำลังของจำนวนมาก ในขณะที่พับลิกคีย์ประกอบด้วยโมดูลัสและดีกรี โมดูลถูกสร้างขึ้นจากตัวเลขเฉพาะแบบสุ่มสองตัว ซึ่งมีเพียงเจ้าของคีย์ส่วนตัวเท่านั้นที่รู้ การโจมตีนี้สามารถนำไปใช้กับการใช้งาน RSA ได้โดยใช้ทฤษฎีบทส่วนที่เหลือของจีนและรูปแบบการเติมตามที่กำหนด เช่น PKCS#1 v1.5

การโจมตีสามารถทำได้บนเซิร์ฟเวอร์ ซึ่งเนื่องจากสถานการณ์หรือการกระทำของผู้โจมตีผสมผสานกัน ความล้มเหลวอาจเกิดขึ้นระหว่างการคำนวณลายเซ็นดิจิทัลเมื่อสร้างการเชื่อมต่อ SSH ความล้มเหลวอาจเป็นซอฟต์แวร์ (การดำเนินการทางคณิตศาสตร์ไม่ถูกต้อง หน่วยความจำเสียหาย) หรือฮาร์ดแวร์ (ข้อผิดพลาดในการทำงานของ NVRAM และ DRAM หรือความล้มเหลวระหว่างไฟฟ้าดับ)

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

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

จากการตรวจสอบการรวบรวมข้อมูลเครือข่ายที่ถูกดักจับซึ่งรวมถึงบันทึกประมาณ 5200 พันล้านรายการที่เกี่ยวข้องกับการใช้โปรโตคอล SSH นักวิจัยระบุคีย์โฮสต์สาธารณะและลายเซ็นดิจิทัลประมาณ 3200 พันล้านรายการที่ใช้ในระหว่างการเจรจาเซสชัน SSH ในจำนวนนี้ มีการสร้าง 1.200 พันล้าน (39,1%) โดยใช้อัลกอริทึม RSA

กลุ่มนักวิจัยกล่าวถึงว่า:

ในกรณี 593671 กรณี (0,048%) ลายเซ็น RSA เสียหายและไม่สามารถตรวจสอบได้ ในขณะที่ลายเซ็นล้มเหลว 4962 รายการ เราสามารถใช้วิธี Lattice factorization เพื่อกำหนดคีย์ส่วนตัวจากคีย์สาธารณะที่รู้จัก ส่งผลให้มีการสร้าง RSA ที่ไม่ซ้ำกัน 189 รายการขึ้นใหม่ คู่คีย์ (ในหลายกรณี มีการใช้คีย์และอุปกรณ์ที่ล้มเหลวเดียวกันเพื่อสร้างลายเซ็นที่เสียหายที่แตกต่างกัน) ใช้เวลาประมาณ 26 ชั่วโมง CPU ในการสร้างคีย์ใหม่

ปัญหานี้ส่งผลต่อการใช้งานโปรโตคอล SSH ที่เฉพาะเจาะจงเท่านั้น ส่วนใหญ่ใช้ในอุปกรณ์ฝังตัว นอกจากนี้ มีการกล่าวถึงว่า OpenSSH ไม่ได้รับผลกระทบจากปัญหานี้ เนื่องจากใช้ไลบรารี OpenSSL (หรือ LibreSSL) เพื่อสร้างคีย์ ซึ่งได้รับการป้องกันจากการโจมตีที่มีข้อบกพร่องมาตั้งแต่ปี 2001

นอกจากนี้ ใน OpenSSH รูปแบบลายเซ็นดิจิทัล ssh-rsa (อิงตาม sha1) ได้เลิกใช้แล้วตั้งแต่ปี 2020 และปิดใช้งานในเวอร์ชัน 8.8 (การสนับสนุนสำหรับรูปแบบ rsa-sha2-256 และ rsa-sha2-512 ยังคงอยู่) การโจมตีนี้อาจใช้ได้กับโปรโตคอล IPsec แต่นักวิจัยไม่มีข้อมูลการทดลองเพียงพอที่จะยืนยันการโจมตีดังกล่าวในทางปฏิบัติ

สุดท้ายนี้ หากสนใจอยากทราบข้อมูลเพิ่มเติม สามารถเข้าไปดูรายละเอียดใน ลิงค์ต่อไปนี้


เพิ่มเป็นแหล่งข้อมูลที่ต้องการใน Google