Lỗ hổng mã hóa GnuPG cho phép tin tặc làm giả chữ ký số
Lỗ hổng mã hóa GnuPG cho phép tin tặc làm giả chữ ký số và đọc được email đã mã hóa Một nhà nghiên cứu bảo mật đã phát hiện ra một lỗ hổng mã hóa nghiêm trọng của một số công cụ mã hóa email đang được sử dụng nhiều nhất trên thế giới theo chuẩn OpenPGP và sử dụng GnuPG để mã hóa và ...
Lỗ hổng mã hóa GnuPG cho phép tin tặc làm giả chữ ký số và đọc được email đã mã hóa
Một nhà nghiên cứu bảo mật đã phát hiện ra một lỗ hổng mã hóa nghiêm trọng của một số công cụ mã hóa email đang được sử dụng nhiều nhất trên thế giới theo chuẩn OpenPGP và sử dụng GnuPG để mã hóa và tạo chữ ký số
Kết luận này được đưa ra gần một tháng sau khi các nhà nghiên cứu chỉ ra một loạt lỗ hổng mã hóa, gọi là eFail, trong các công cụ PGP và S/Mime. Những lỗ hổng mã hóa này có thể cho phép tin tặc đọc được email đã được mã hóa và tồn tại trong một loạt 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 ra rằng một lỗ hổng trong chuẩn hóa dữ liệu đầu vào, gọi là SigSpoof, cho phép tin tặc làm giả chữ ký số với khóa công khai hoặc khóa riêng tư của người đó mà không cần biết hai loại khóa này.
Lỗ hổng mã hóa này, mã hiệu CVE-2018-12020, ảnh hưởng tới nhiều công cụ mã hóa email thông dụng bao gồm GnuPG, Enigmail, GPGTools và python-gnupg và đã được vá trong các bản cập nhật phần mềm mới nhất.
Theo lời giải thích của nhà nghiên cứu này, giao thức OpenPGP cho phép thêm tham số “filename” của tệp gốc vào trong các tin đã được ký hoặc mã hóa, cùng với các tin trạng thái GnuPG (bao gồm thông tin chữ ký) vào cùng một ống dữ liệu (gói dữ liệu không mã hóa) bằng cách xen giữa chúng một từ khóa đã được định sẵn.
“Các tin trạng thái được xử lí bởi chương trình để lấy thông tin từ gpg về tính hợp lệ của chữ ký và các tham số khác,” nhà phát triển GnuPG nói trong một thông cáo mới đây.
Trong quá trình giải mã thông tin ở phía người nhận, công cụ mã hóa email chia thông tin theo từ khóa đó và hiển thị tin với chữ ký hợp lệ nếu người dùng đã bật thiết lập xem chi tiết trong file gpg.conf.
Tuy nhiên nhà nghiên cứu này phát hiện ra đối với các phần mềm email có lỗ hổng, tên tệp được chèn vào (độ dài tối đa lên đến 255 ký tự) không được chuẩn hóa và có thể cho phép tin tặc “thêm lệnh chuyển dòng hay các ký tự điều khiển khác.”
Brinkmann chỉ ra rằng lỗ hổng này có thể được sử dụng để thêm các tin trạng thái GnuPG giả vào phần mềm xử lí với mục đích đánh lừa quá trình xác minh tin nhắn và kết quả giải mã thông tin.
Brinkmann cho biêt: “Chiêu thức tấn công này rất mạnh và tin hoàn toàn không cần phải được mã hóa. Một gói dữ liệu thuần túy (không mã hóa) là một tin OpenPGP hoàn toàn hợp lệ và đã chứa sẵn “tên file được mã hóa” được sử dụng trong cuộc tấn công, dù không hề được mã hóa.”
Nhà nghiên cứu này cũng tin rằng lỗ hổng này có triển vọng ảnh hưởng tới “một phần rất lớn của hạ tầng lõi” chứ không chỉ việc mã hóa email do “GnuPG được sử dụng không chỉ cho việc mã hóa email mà còn để bảo vệ các bản lưu trữ, các bản cập nhật được phân phối và mã nguồn của các hệ thống quản lí phiên bản như Git.”
Brinkmann cũng chia sẻ ba ví dụ cho cách chữ ký có thể bị làm giả trong Enigmail và GPGTools, cách quá trình mã hóa bị làm giả trong Enigmail và cách chữ ký bị làm giả bằng dòng lệnh.
Nhà phát triển ba công cụ mã hóa email này đã vá lỗ hổng và người dùng nên cập nhật phần mềm lên các phiên bản mới nhất.
- Cập nhật lên GnuPG 2.2.8 or GnuPG 1.4.23
- Cập nhật lên Enigmail 2.0.7
- Cập nhật lên GPGTools 2018.3
Các nhà phát triển được khuyến khích thêm “–no-verbose” vào gọi hàm GPG và cập nhật lên python-gnupg 0.4.3
Các ứng dụng sử dụng bộ mã hóa GPGME và GnuPG có bật –status-fd và không bật –verbose-flag không bị ảnh hưởng bởi lỗ hổng này.
THN