การเลิกใช้งานใบรับรองหลัก AddTrust ทำให้เกิดข้อขัดข้องบนระบบ OpenSSL และ GnuTLS

ในวันที่ 30 พฤษภาคม ระยะเวลา 20 ปีของใบรับรองหลักจะหมดอายุ เพิ่มความน่าเชื่อถือซึ่ง สมัครแล้ว เพื่อสร้างใบรับรองแบบลงนามข้ามของหนึ่งในหน่วยงานออกใบรับรองที่ใหญ่ที่สุด Sectigo (Comodo) การลงนามข้ามอนุญาตให้เข้ากันได้กับอุปกรณ์รุ่นเก่าที่ไม่มีใบรับรองหลัก USERTRust ใหม่เพิ่มในที่เก็บใบรับรองหลัก

การเลิกใช้งานใบรับรองหลัก AddTrust ทำให้เกิดข้อขัดข้องบนระบบ OpenSSL และ GnuTLS

ตามทฤษฎีแล้ว การยกเลิกใบรับรองหลัก AddTrust ควรนำไปสู่การละเมิดความเข้ากันได้กับระบบเดิมเท่านั้น (Android 2.3, Windows XP, Mac OS X 10.11, iOS 9 เป็นต้น) เนื่องจากใบรับรองหลักที่สองที่ใช้ใน Cross-Signature ยังคงอยู่ เบราว์เซอร์ที่ถูกต้องและทันสมัยจะนำมาพิจารณาเมื่อตรวจสอบสายโซ่แห่งความไว้วางใจ ในการฝึกฝน ปรากฎ ปัญหาในการตรวจสอบยืนยันลายเซ็นข้ามในไคลเอนต์ TLS ที่ไม่ใช่เบราว์เซอร์ รวมถึงไคลเอนต์ที่ใช้ OpenSSL 1.0.x และ GnuTLS การเชื่อมต่อที่ปลอดภัยจะไม่ถูกสร้างขึ้นอีกต่อไปโดยมีข้อผิดพลาดที่ระบุว่าใบรับรองล้าสมัยหากเซิร์ฟเวอร์ใช้ใบรับรอง Sectigo ที่เชื่อมโยงโดยสายโซ่แห่งความไว้วางใจกับใบรับรองรูท AddTrust

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

ตัวอย่างเช่นก็มี ปัญหา ด้วยการเข้าถึงที่เก็บแพ็คเกจบางส่วนใน Debian และ Ubuntu (ฉลาดเริ่มสร้างข้อผิดพลาดในการตรวจสอบใบรับรอง) คำขอจากสคริปต์ที่ใช้ยูทิลิตี้ "curl" และ "wget" เริ่มล้มเหลว พบข้อผิดพลาดเมื่อใช้ Git ละเมิด แพลตฟอร์มสตรีมมิ่ง Roku ใช้งานได้ ไม่มีการเรียกตัวจัดการอีกต่อไป ลาย и ดาต้าด็อก, เริ่ม เกิดปัญหาขึ้น ในแอป Heroku หยุดแล้ว เชื่อมต่อไคลเอ็นต์ OpenLDAP ตรวจพบปัญหาในการส่งอีเมลไปยังเซิร์ฟเวอร์ SMTPS และ SMTP ที่มี STARTTLS นอกจากนี้ยังพบปัญหาในสคริปต์ Ruby, PHP และ Python ต่างๆ ที่ใช้โมดูลกับไคลเอนต์ http ปัญหาเบราว์เซอร์ ส่งผลกระทบ Epiphany ซึ่งหยุดโหลดรายการบล็อกโฆษณา

โปรแกรม Go ไม่ได้รับผลกระทบจากปัญหานี้เนื่องจาก Go เสนอ การดำเนินการของตัวเอง ทล.

มันถูกสันนิษฐานว่าปัญหาส่งผลกระทบต่อการเผยแพร่รุ่นเก่า (รวมถึง Debian 9, Ubuntu 16.04, RHEL 6/7) ซึ่งใช้สาขา OpenSSL ที่มีปัญหา แต่กลับเป็นปัญหา ได้ประจักษ์เอง นอกจากนี้ เมื่อตัวจัดการแพ็คเกจ APT ทำงานใน Debian 10 และ Ubuntu 18.04/20.04 รุ่นปัจจุบัน เนื่องจาก APT ใช้ไลบรารี GnuTLS จุดสำคัญของปัญหาคือไลบรารี TLS/SSL จำนวนมากแยกวิเคราะห์ใบรับรองเป็นแบบลูกโซ่เชิงเส้น ในขณะที่ตาม RFC 4158 ใบรับรองสามารถแสดงกราฟวงกลมแบบกระจายทิศทางที่มีจุดยึดที่เชื่อถือได้หลายตัวที่ต้องนำมาพิจารณา เกี่ยวกับข้อบกพร่องนี้ใน OpenSSL และ GnuTLS มันเป็น เป็นที่รู้จัก เป็นเวลาหลายปี. ใน OpenSSL ปัญหาได้รับการแก้ไขในสาขา 1.1.1 และใน gnuTLS ซาก ไม่ได้รับการแก้ไข.

เพื่อเป็นวิธีแก้ปัญหา ขอแนะนำให้ลบใบรับรอง “AddTrust External CA Root” ออกจากร้านค้าระบบ (เช่น ลบออกจาก /etc/ca-certificates.conf และ /etc/ssl/certs จากนั้นเรียกใช้ “update-ca -certificates -f -v") หลังจากนั้น OpenSSL จะเริ่มประมวลผลใบรับรองแบบลงนามข้ามตามปกติโดยมีส่วนร่วม เมื่อใช้ตัวจัดการแพ็คเกจ APT คุณสามารถปิดการใช้งานการตรวจสอบใบรับรองสำหรับแต่ละคำขอโดยยอมรับความเสี่ยงของคุณเอง (เช่น “apt-get update -o Acquire::https::download.jitsi.org::Verify-Peer=false”) .

เพื่อปิดกั้นปัญหาค่ะ Fedora и RHEL เสนอให้เพิ่มใบรับรอง AddTrust ลงในบัญชีดำ:

trust dump —filter «pkcs11:id=%AD%BD%98%7A%34%B4%26%F7%FA%C4%26%54%EF%03%BD%E0%24%CB%54%1A;type=cert» \
> /etc/pki/ca-trust/source/blacklist/addtrust-external-root.p11-kit
สารสกัด update-ca-trust

แต่วิธีนี้ ไม่ทำงาน สำหรับ GnuTLS (เช่น ข้อผิดพลาดในการตรวจสอบใบรับรองยังคงปรากฏอยู่เมื่อเรียกใช้ยูทิลิตี้ wget)

ทางฝั่งเซิร์ฟเวอร์คุณสามารถทำได้ เพื่อเปลี่ยน สั่ง แสดงรายการใบรับรองในสายโซ่ความเชื่อถือที่ส่งโดยเซิร์ฟเวอร์ไปยังไคลเอนต์ (หากใบรับรองที่เกี่ยวข้องกับ “AddTrust External CA Root” ถูกลบออกจากรายการ การยืนยันไคลเอนต์จะสำเร็จ) หากต้องการตรวจสอบและสร้างห่วงโซ่แห่งความไว้วางใจใหม่ คุณสามารถใช้บริการได้ whatsmychaincert.com. เซคทิโก้ อีกด้วย ให้ ใบรับรองระดับกลางที่ลงนามข้ามทางเลือก "บริการใบรับรอง AAA“ ซึ่งจะใช้ได้จนถึงปี 2028 และจะรักษาความเข้ากันได้กับระบบปฏิบัติการเวอร์ชันเก่า

นอกจากนี้: ปัญหาด้วย ปรากฏขึ้น ใน LibreSSL

ที่มา: opennet.ru

เพิ่มความคิดเห็น