Việc ngừng sử dụng chứng chỉ gốc AddTrust gây ra sự cố trên hệ thống OpenSSL và GnuTLS

Vào ngày 30 tháng 20, thời hạn hiệu lực XNUMX năm của chứng chỉ gốc đã hết hạn Thêm tin cậyáp dụng để tạo ra chứng chỉ có chữ ký chéo của một trong những cơ quan chứng nhận lớn nhất Sectigo (Comodo). Việc ký chéo cho phép tương thích với các thiết bị cũ không có chứng chỉ gốc USERrust mới được thêm vào kho chứng chỉ gốc của chúng.

Việc ngừng sử dụng chứng chỉ gốc AddTrust gây ra sự cố trên hệ thống OpenSSL và GnuTLS

Về mặt lý thuyết, việc chấm dứt chứng chỉ gốc AddTrust chỉ dẫn đến vi phạm khả năng tương thích với các hệ thống cũ (Android 2.3, Windows XP, Mac OS X 10.11, iOS 9, v.v.), vì chứng chỉ gốc thứ hai được sử dụng trong chữ ký chéo vẫn còn các trình duyệt hợp lệ và hiện đại sẽ tính đến điều đó khi kiểm tra chuỗi tin cậy. Trên thực tế thể hiện Các vấn đề về xác minh chữ ký chéo trong các ứng dụng khách TLS không có trình duyệt, bao gồm cả các ứng dụng dựa trên OpenSSL 1.0.x và GnuTLS. Kết nối an toàn không còn được thiết lập với lỗi cho biết chứng chỉ đã lỗi thời nếu máy chủ đang sử dụng chứng chỉ Sectigo được liên kết bằng chuỗi tin cậy với chứng chỉ gốc AddTrust.

Nếu người dùng các trình duyệt hiện đại không nhận thấy sự lỗi thời của chứng chỉ gốc AddTrust khi xử lý chứng chỉ Sectigo được ký chéo, thì các vấn đề bắt đầu xuất hiện trong nhiều ứng dụng của bên thứ ba và trình xử lý phía máy chủ, dẫn đến sự vi phạm làm việc nhiều cơ sở hạ tầng sử dụng các kênh liên lạc được mã hóa để tương tác giữa các thành phần.

Ví dụ, đã có vấn đề với quyền truy cập vào một số kho lưu trữ gói trong Debian và Ubuntu (apt bắt đầu tạo ra lỗi xác minh chứng chỉ), các yêu cầu từ các tập lệnh sử dụng tiện ích “curl” và “wget” bắt đầu không thành công, đã xảy ra lỗi khi sử dụng Git, vi phạm Nền tảng phát trực tuyến Roku đang hoạt động, trình xử lý không còn được gọi nữa Đường sọc и DataDog, đã bắt đầu sự cố xảy ra trong ứng dụng Heroku, dừng lại Máy khách OpenLDAP kết nối, phát hiện sự cố khi gửi thư đến máy chủ SMTPS và SMTP bằng STARTTLS. Ngoài ra, các vấn đề còn được quan sát thấy trong nhiều tập lệnh Ruby, PHP và Python khác nhau sử dụng mô-đun có ứng dụng khách http. Sự cố trình duyệt ảnh hưởng Epiphany đã ngừng tải danh sách chặn quảng cáo.

Các chương trình Go không bị ảnh hưởng bởi vấn đề này vì Go cung cấp thực hiện riêng TLS.

Nó đã được cho làrằng sự cố ảnh hưởng đến các bản phân phối cũ hơn (bao gồm Debian 9, Ubuntu 16.04, RHEL 6/7) sử dụng các nhánh OpenSSL có vấn đề, nhưng vấn đề tự biểu hiện cũng như khi trình quản lý gói APT đang chạy trong các bản phát hành hiện tại của Debian 10 và Ubuntu 18.04/20.04, vì APT sử dụng thư viện GnuTLS. Mấu chốt của vấn đề là nhiều thư viện TLS/SSL phân tích chứng chỉ dưới dạng chuỗi tuyến tính, trong khi theo RFC 4158, chứng chỉ có thể biểu thị một biểu đồ tròn phân tán có hướng với nhiều điểm neo tin cậy cần được tính đến. Về lỗ hổng này trong OpenSSL và GnuTLS được biết đến trong nhiều năm. Trong OpenSSL, sự cố đã được khắc phục ở nhánh 1.1.1 và trong gnuTLS còn lại chưa sửa chữa.

Để khắc phục, bạn nên xóa chứng chỉ “AddTrust external CA Root” khỏi kho hệ thống (ví dụ: xóa khỏi /etc/ca-certificates.conf và /etc/ssl/certs, sau đó chạy “update-ca -certificates -f -v"), sau đó OpenSSL bắt đầu xử lý các chứng chỉ được ký chéo một cách bình thường với sự tham gia của nó. Khi sử dụng trình quản lý gói APT, bạn có thể tự chịu rủi ro khi tắt xác minh chứng chỉ cho từng yêu cầu riêng lẻ (ví dụ: “apt-get update -o Acquire::https::download.jitsi.org::Verify-Peer=false”) .

Để ngăn chặn sự cố trong Fedora и RHEL Đề xuất thêm chứng chỉ AddTrust vào danh sách đen:

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
trích xuất cập nhật-ca-trust

Nhưng phương pháp này không hoạt động đối với GnuTLS (ví dụ: lỗi xác minh chứng chỉ tiếp tục xuất hiện khi chạy tiện ích wget).

Về phía máy chủ, bạn có thể thay đổi để liệt kê các chứng chỉ trong chuỗi tin cậy được máy chủ gửi đến máy khách (nếu chứng chỉ được liên kết với “AddTrust external CA Root” bị xóa khỏi danh sách thì quá trình xác minh của máy khách sẽ thành công). Để kiểm tra và tạo chuỗi tin cậy mới, bạn có thể sử dụng dịch vụ whatsmychaincert.com. Sectigo cũng cung cấp chứng chỉ trung gian có chữ ký chéo thay thế "Dịch vụ chứng chỉ AAA“, sẽ có hiệu lực đến năm 2028 và sẽ duy trì khả năng tương thích với các phiên bản HĐH cũ hơn.

Ngoài ra: Vấn đề cũng biểu lộ trong LibreSSL.

Nguồn: opennet.ru

Thêm một lời nhận xét