Các tin tặc đã sử dụng một tính năng của giao thức OpenPGP đã được biết đến hơn mười năm.
Chúng tôi cho bạn biết vấn đề là gì và tại sao họ không thể đóng nó.
/bỏ dấu vân tay/
Vấn đề mạng
Giữa tháng sáu, chưa biết đến một mạng lưới các máy chủ khóa mật mã , được xây dựng trên giao thức OpenPGP. Đây là một tiêu chuẩn IETF (), được sử dụng để mã hóa email và các tin nhắn khác. Mạng SKS được tạo ra cách đây ba mươi năm để phân phối chứng chỉ công khai. Nó bao gồm các công cụ như để mã hóa dữ liệu và tạo chữ ký số điện tử.
Tin tặc đã xâm phạm chứng chỉ của hai người bảo trì dự án GnuPG, Robert Hansen và Daniel Gillmor. Việc tải chứng chỉ bị hỏng từ máy chủ khiến GnuPG bị lỗi—hệ thống chỉ đơn giản là bị treo. Có lý do để tin rằng những kẻ tấn công sẽ không dừng lại ở đó và số lượng chứng chỉ bị xâm phạm sẽ chỉ tăng lên. Hiện tại, mức độ của vấn đề vẫn chưa được biết.
Bản chất của cuộc tấn công
Tin tặc đã lợi dụng lỗ hổng trong giao thức OpenPGP. Cô đã được cộng đồng biết đến trong nhiều thập kỷ. Ngay cả trên GitHub khai thác tương ứng. Nhưng cho đến nay vẫn chưa có ai chịu trách nhiệm đóng “lỗ hổng” (chúng ta sẽ nói về lý do chi tiết hơn ở phần sau).
Một số lựa chọn từ blog của chúng tôi trên Habré:
Theo đặc tả OpenPGP, bất kỳ ai cũng có thể thêm chữ ký số vào chứng chỉ để xác minh chủ sở hữu của chúng. Hơn nữa, số lượng chữ ký tối đa không được quy định dưới bất kỳ hình thức nào. Và ở đây có một vấn đề nảy sinh - mạng SKS cho phép bạn đặt tối đa 150 nghìn chữ ký trên một chứng chỉ, nhưng GnuPG không hỗ trợ con số như vậy. Do đó, khi tải chứng chỉ, GnuPG (cũng như các triển khai OpenPGP khác) sẽ bị treo.
Một trong những người dùng — việc nhập chứng chỉ mất khoảng 10 phút. Chứng chỉ có hơn 54 nghìn chữ ký và trọng lượng của nó là 17 MB:
$ gpg --homedir=$PWD --recv C4BC2DDB38CCE96485EBE9C2F20691179038E5C6
gpg: key F20691179038E5C6: 4 duplicate signatures removed
gpg: key F20691179038E5C6: 54614 signatures not checked due to missing keys
gpg: key F20691179038E5C6: 4 signatures reordered
gpg: key F20691179038E5C6: public key "Daniel Kahn Gillmor <dkg@fifthhorseman.net>" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg: imported: 1
$ ls -lh pubring.gpg
-rw-r--r-- 1 filippo staff 17M 2 Jul 16:30 pubring.gpg
Tệ hơn nữa, các máy chủ khóa OpenPGP không xóa thông tin chứng chỉ. Điều này được thực hiện để bạn có thể theo dõi chuỗi tất cả các hành động bằng chứng chỉ và ngăn chặn sự thay thế của chúng. Vì vậy, không thể loại bỏ các yếu tố bị xâm phạm.
Về cơ bản, mạng SKS là một “máy chủ tệp” lớn mà bất kỳ ai cũng có thể ghi dữ liệu vào đó. Để minh họa vấn đề, cư dân GitHub năm ngoái , lưu trữ tài liệu trên mạng các máy chủ khóa mật mã.
Tại sao lỗ hổng không được đóng lại?
Không có lý do để đóng lỗ hổng. Trước đây, nó không được sử dụng để tấn công hacker. Mặc dù cộng đồng CNTT Các nhà phát triển SKS và OpenPGP nên chú ý đến vấn đề này.
Công bằng mà nói, điều đáng chú ý là vào tháng XNUMX họ vẫn máy chủ khóa thử nghiệm . Nó cung cấp sự bảo vệ chống lại các loại tấn công này. Tuy nhiên, cơ sở dữ liệu của nó được điền từ đầu và bản thân máy chủ không phải là một phần của SKS. Vì vậy, sẽ mất một thời gian mới có thể sử dụng được.

/bỏ dấu vân tay/
Đối với lỗi trong hệ thống gốc, cơ chế đồng bộ hóa phức tạp khiến nó không thể sửa được. Mạng máy chủ khóa ban đầu được viết như một bằng chứng khái niệm cho luận án tiến sĩ của Yaron Minsky. Hơn nữa, một ngôn ngữ khá cụ thể, OCaml, đã được chọn cho tác phẩm. Qua người bảo trì Robert Hansen, mã này rất khó hiểu nên chỉ có những sửa đổi nhỏ được thực hiện. Để sửa đổi kiến trúc SKS, nó sẽ phải được viết lại từ đầu.
Trong mọi trường hợp, GnuPG không tin rằng mạng sẽ được sửa chữa. Trong một bài đăng trên GitHub, các nhà phát triển thậm chí còn viết rằng họ không khuyên bạn nên làm việc với SKS Keyserver. Trên thực tế, đây là một trong những lý do chính khiến họ bắt đầu chuyển đổi sang dịch vụ mới key.openpgp.org. Chúng ta chỉ có thể theo dõi sự phát triển tiếp theo của các sự kiện.
Một vài tài liệu từ blog công ty của chúng tôi:
Nguồn: www.habr.com
