WhiteHat News #ID:2018
WhiteHat Support
-
20/03/2017
-
129
-
443 bài viết
Lỗ hổng GnuPG trong các công cụ mã hoá cho phép kẻ tấn công giả mạo chữ ký
Một nhà nghiên cứu an ninh vừa phát hiện ra lỗ hổng nghiêm trong trong một số công cụ mã hoá email được sử dụng phổ biến nhất hiện nay trên các máy trạm, sử dụng chuẩn OpenPGP và dựa trên GnuPG cho các thông điệp mã hoá và ký số.
Trước đó các nhà nghiên cứu đã tiết lộ một loạt các lỗ hổng, gọi là eFail, trong công cụ mã hoá PGP và S/Mine cho phép kẻ tấn công tiết lộ các email được mã hoá dưới dạng plaintext, ảnh hưởng đến một loạt các phần mềm email, bao gồm Thunderbird, Apple Mail và Outlook.
Nhà phát triển phần mềm Marcus Brinkmann phát hiện một lỗ hổng chuẩn hoá đầu vào gọi là SigSpoof, tạo điều kiện cho kẻ tấn công dùng các chữ ký số giả mạo kèm theo các public key và key ID của ai đó, mà không yêu cầu bất kỳ private key và public key nào liên quan.
Lỗ hổng CVE-2018-12020 này ảnh hưởng đến các ứng dụng email phổ biến gồm có GnuPG, Enigmail, GPGTools và python-gnupg. Lỗ hổng đã có bản vá trong bản cập nhật phần mềm mới nhất.
OpenPGP cho phép kèm các tham số “filename” (tên file) của file đầu vào trong các thông điệp đã được ký và mã hoá, kết hợp với các thông điệp trạng thái GnuPG.
Trong quá trình giải mã thông điệp của người nhận cuối, ứng dụng máy trạm tách thông tin từ từ khoá và hiển thị thông điệp bằng chữ ký hợp lệ, nếu người dùng lựa chọn bật verbose trong file gpg.conf..
Tuy nhiên, nhà nghiên cứu cho biết tên file có thể lên đến 255 ký tự, không được chuẩn hoá đúng cách bởi các công cụ bị ảnh hưởng, có khả năng cho phép kẻ tấn công chèn "các ký tự điều khiển khác bên trong”.
Brinkmann chứng minh cách lỗ hổng này được dùng để lây nhiễm thông điệp trạng thái GnuPG tuỳ ý (giả mạo) vào quá trình phân tích nhằm giả mạo xác thực chữ ký và các kết quả giải mã thông điệp.
Các nhà nghiên cứu cũng tin rằng lỗ hổng có khả năng lây nhiễm “đến một phần lớn hạ tầng core”, vượt qua cả các email được mã hoá, vì “GnuPG không chỉ được sử dụng cho bảo mật email mà còn bảo mật backup, cập nhật phần mềm và các mã nguồn trong các hệ thống điều khiển phiên bản như Git”.
Brinkmann cũng chia sẻ ba PoC chỉ ra cách các chữ ký bị giả mạo trong Enigmail và GPGTools, cách chữ ký và mã hoá bị giả mạo trong Enigmail cũng như chữ ký bị giả mạo trên dòng lệnh.
Các nhà phát triển của ba dịch vụ email phổ biến đã cung cấp bản vá, người dùng được khuyến cáo nên nâng cấp phần mềm của mình lên phiên bản mới nhất. Cụ thể:
Đối với người dùng:
Nhà phát triển phần mềm Marcus Brinkmann phát hiện một lỗ hổng chuẩn hoá đầu vào gọi là SigSpoof, tạo điều kiện cho kẻ tấn công dùng các chữ ký số giả mạo kèm theo các public key và key ID của ai đó, mà không yêu cầu bất kỳ private key và public key nào liên quan.
Lỗ hổng CVE-2018-12020 này ảnh hưởng đến các ứng dụng email phổ biến gồm có GnuPG, Enigmail, GPGTools và python-gnupg. Lỗ hổng đã có bản vá trong bản cập nhật phần mềm mới nhất.
OpenPGP cho phép kèm các tham số “filename” (tên file) của file đầu vào trong các thông điệp đã được ký và mã hoá, kết hợp với các thông điệp trạng thái GnuPG.
Trong quá trình giải mã thông điệp của người nhận cuối, ứng dụng máy trạm tách thông tin từ từ khoá và hiển thị thông điệp bằng chữ ký hợp lệ, nếu người dùng lựa chọn bật verbose trong file gpg.conf..
Tuy nhiên, nhà nghiên cứu cho biết tên file có thể lên đến 255 ký tự, không được chuẩn hoá đúng cách bởi các công cụ bị ảnh hưởng, có khả năng cho phép kẻ tấn công chèn "các ký tự điều khiển khác bên trong”.
Brinkmann chứng minh cách lỗ hổng này được dùng để lây nhiễm thông điệp trạng thái GnuPG tuỳ ý (giả mạo) vào quá trình phân tích nhằm giả mạo xác thực chữ ký và các kết quả giải mã thông điệp.
Các nhà nghiên cứu cũng tin rằng lỗ hổng có khả năng lây nhiễm “đến một phần lớn hạ tầng core”, vượt qua cả các email được mã hoá, vì “GnuPG không chỉ được sử dụng cho bảo mật email mà còn bảo mật backup, cập nhật phần mềm và các mã nguồn trong các hệ thống điều khiển phiên bản như Git”.
Brinkmann cũng chia sẻ ba PoC chỉ ra cách các chữ ký bị giả mạo trong Enigmail và GPGTools, cách chữ ký và mã hoá bị giả mạo trong Enigmail cũng như chữ ký bị giả mạo trên dòng lệnh.
Các nhà phát triển của ba dịch vụ email phổ biến đã cung cấp bản vá, người dùng được khuyến cáo nên nâng cấp phần mềm của mình lên phiên bản mới nhất. Cụ thể:
Đối với người dùng:
- Xoá verbose từ gpg.conf
- Không sử dụng gpg --verbose trên dòng lệnh
- Cập nhật từ GnuPG 2.2.8 lên GnuPG 1.4.23
- Cập nhật lên Enigmail 2.0.7
- Cập nhật lên GPGTools 2018.3
- Cập nhật lên python-gnupg 0.4.3
- Dùng gpg with --no-verbose để vô hiệu hoá cuộc tấn công
- Dùng đường ống chuyên dụng cho --status-fd và không chia sẻ với stderr
- Hoặc tuỳ chọn FILE --status-file có thể được dùng để dẫn dòng trạng thái đến một file tạm
Theo The Hackernews, NeoPG
Chỉnh sửa lần cuối: