eMudhra đổ lỗi cho script Python lỗi gây chứng chỉ số yếu
"eMudhra, a former certification authority, attributed the issuance of insecure digital certificates to a bug in a custom Python script used during key generation. The script truncated private keys, resulting in keys as short as a single byte, making them easily recoverable. This led to the revocation of eMudhra's certificates by major browsers and the company's subsequent exit from the SSL/TLS certification business."
Sự cố này cho thấy lỗ hổng bảo mật nghiêm trọng trong quy trình tạo khóa của eMudhra, có thể dẫn đến việc phát hành chứng chỉ giả mạo và tấn công man-in-the-middle.
Việc thu hồi chứng chỉ và rút khỏi thị trường chứng chỉ SSL/TLS gây ra thiệt hại uy tín và mất doanh thu cho eMudhra. Các doanh nghiệp sử dụng chứng chỉ của eMudhra phải thay thế chúng để đảm bảo an toàn.
eMudhra, một tổ chức cấp chứng chỉ cũ, cho biết một script Python bị lỗi là nguyên nhân chính dẫn đến việc phát hành các chứng chỉ số không an toàn.
Công ty giải thích trên Bugzilla rằng script này đã cắt ngắn các khóa riêng trong quá trình tạo khóa, dẫn đến khóa có độ dài chỉ một byte. Điều này khiến khóa dễ dàng bị khôi phục. Sự cố này dẫn đến việc các trình duyệt lớn thu hồi chứng chỉ của eMudhra và sau đó công ty này đã rời khỏi thị trường chứng chỉ SSL/TLS.
Cụ thể, script tùy chỉnh này được sử dụng trong quá trình tạo khóa vào ngày 30 tháng 4 năm 2025. Nó được thiết kế để xử lý các khóa ECDSA P-384 (dài 48 byte) nhưng lại cắt bớt chúng. Theo Naveen Kumar ML, người đăng thông tin trên Bugzilla, lỗi này dẫn đến việc tạo ra các khóa riêng không đủ độ dài và có thể khôi phục được từ thông tin công khai.
Nguyên nhân sâu xa là do eMudhra không thể mua được các mô-đun bảo mật phần cứng (HSM) cần thiết. Thay vào đó, họ sử dụng HSM của Utimaco để tạo khóa, sau đó chuyển chúng sang HSM của Crypto4A. Quyết định này được đưa ra vì những thay đổi về chính sách liên quan đến nguồn gốc của chứng chỉ yêu cầu tạo chứng chỉ mới trước cuối tháng 5. Tuy nhiên, công ty đã không phát hiện ra lỗi trong script và không kiểm tra các khóa được tạo ra.
Một thành viên của Mozilla đã phát hiện ra các khóa yếu và chỉ ra rằng kẻ tấn công có thể sử dụng chúng để tạo chứng chỉ giả mạo, theo dõi lưu lượng mạng hoặc thậm chí sửa đổi dữ liệu. Các nhà sản xuất trình duyệt đã nhanh chóng cập nhật phần mềm của họ để không công nhận chứng chỉ từ eMudhra. Sau đó, eMudhra đã rút khỏi thị trường chứng chỉ SSL/TLS, cho biết đây không phải là nguồn doanh thu chính nhưng đã gây ra sự xấu hổ lớn.
Hiện tại, eMudhra đang thực hiện ba bước để kết thúc hoạt động kinh doanh chứng chỉ, bao gồm cả việc cải thiện các hoạt động PKI (cơ sở hạ tầng khóa công khai) dựa trên các khuyến nghị từ một đánh giá độc lập.
Câu hỏi thường gặp
Nguyên nhân chính gây ra sự cố chứng chỉ của eMudhra là gì?
Một script Python tùy chỉnh bị lỗi đã cắt ngắn các khóa riêng trong quá trình tạo khóa, dẫn đến khóa có độ dài không đủ và dễ bị khôi phục.
eMudhra đã làm gì sau khi phát hiện ra sự cố?
eMudhra đã bị các trình duyệt lớn thu hồi chứng chỉ, sau đó công ty đã rút khỏi thị trường chứng chỉ SSL/TLS và đang thực hiện các bước để kết thúc hoạt động kinh doanh chứng chỉ.
Tại sao eMudhra lại sử dụng script tùy chỉnh thay vì HSM?
eMudhra không thể mua được HSM cần thiết do hạn chế về chuỗi cung ứng toàn cầu, nên đã sử dụng script tùy chỉnh như một giải pháp tạm thời.
Góc nhìn của Orange Cloud
Theo chúng tôi, sự cố của eMudhra cho thấy tầm quan trọng của việc kiểm tra kỹ lưỡng các script và quy trình tạo khóa, đặc biệt khi sử dụng các giải pháp thay thế do thiếu hụt phần cứng. Đối với các doanh nghiệp Việt Nam, đây là lời nhắc nhở về việc cần đầu tư vào các giải pháp bảo mật đáng tin cậy và thực hiện kiểm tra thường xuyên để đảm bảo an toàn cho dữ liệu và hệ thống của họ. Việc sử dụng HSM vẫn là lựa chọn an toàn nhất, nhưng nếu sử dụng script tùy chỉnh, cần đảm bảo chúng được kiểm tra và xác minh kỹ lưỡng.