Phân tích sau: những gì đã biết về cuộc tấn công mới nhất vào mạng máy chủ khóa tiền điện tử SKS Keyserver

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ó.

Phân tích sau: những gì đã biết về cuộc tấn công mới nhất vào mạng máy chủ khóa tiền điện tử SKS Keyserver
/bỏ dấu vân tay/ Chunlea Ju

Vấn đề mạng

Giữa tháng sáu, chưa biết đã thực hiện một cuộc tấn công đến một mạng lưới các máy chủ khóa mật mã Máy chủ khóa SKS, được xây dựng trên giao thức OpenPGP. Đây là một tiêu chuẩn IETF (RFC 4880), đượ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ư GnuPG để 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 có thể tìm thấy 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 đã tiến hành một thí nghiệm — 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 <[email protected]>" 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 đã tạo một hệ thống tập tin, 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 hỏi đã lâu 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 tung ra máy chủ khóa thử nghiệm key.openpgp.org. 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.

Phân tích sau: những gì đã biết về cuộc tấn công mới nhất vào mạng máy chủ khóa tiền điện tử SKS Keyserver
/bỏ dấu vân tay/ Rubén Bagües

Đố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 theo 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

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