Một lỗ hổng trong cryptsetup cho phép vô hiệu hóa mã hóa trên các phân vùng LUKS2

Gần đây tin tức đã phá vỡ rằng một lỗ hổng đã được xác định (đã được liệt kê theo CVE-2021-4122) trong gói Cryptsetup, được sử dụng để mã hóa phân vùng đĩa trong Linux.

Nó được đề cập rằng để khai thác lỗ hổng, kẻ tấn công phải có quyền truy cập vật lý sang phương tiện được mã hóa, nghĩa là phương pháp này có ý nghĩa chủ yếu để tấn công các ổ đĩa ngoài được mã hóa, chẳng hạn như ổ đĩa flash, mà kẻ tấn công có quyền truy cập, nhưng không biết mật khẩu để giải mã dữ liệu.

Cuộc tấn công nó chỉ áp dụng cho định dạng LUKS2 và được liên kết với thao tác siêu dữ liệu chịu trách nhiệm kích hoạt tiện ích mở rộng «mã hóa lại trực tuyến», cho phép, nếu cần, thay đổi khóa truy cập, bắt đầu quá trình mã hóa lại dữ liệu một cách nhanh chóng mà không cần dừng công việc với phân vùng.

Do quá trình giải mã và mã hóa bằng khóa mới mất nhiều thời gian, "mã hóa lại trực tuyến" cho phép không làm gián đoạn công việc với phân vùng và thực hiện mã hóa lại trong nền, chuyển dần dữ liệu từ khóa này sang khóa khác. Đặc biệt, có thể chọn một khóa đích trống, cho phép bạn dịch phần này sang dạng không được mã hóa.

Kẻ tấn công có thể thực hiện các thay đổi đối với siêu dữ liệu LUKS2 mô phỏng việc hủy bỏ hoạt động giải mã do lỗi và đạt được giải mã một phần của phân vùng sau khi chủ sở hữu kích hoạt và sử dụng ổ đĩa đã sửa đổi. Trong trường hợp này, người dùng đã kết nối ổ đĩa đã sửa đổi và mở khóa bằng mật khẩu chính xác sẽ không nhận được bất kỳ cảnh báo nào về việc khôi phục hoạt động mã hóa lại bị gián đoạn và chỉ có thể tìm hiểu tiến trình của hoạt động này bằng lệnh “luks Dump” . Lượng dữ liệu mà kẻ tấn công có thể giải mã phụ thuộc vào kích thước của tiêu đề LUKS2, nhưng với kích thước mặc định (16 MiB), nó có thể vượt quá 3 GB.

Vấn đề bắt nguồn từ thực tế là mặc dù hoạt động mã hóa lại yêu cầu tính toán và xác minh hàm băm của khóa mới và khóa cũ, hàm băm không cần thiết để khôi phục quá trình giải mã bị gián đoạn nếu trạng thái mới ngụ ý không có khóa để mã hóa (văn bản thuần túy).

Bên cạnh đó, Siêu dữ liệu LUKS2 chỉ định thuật toán mã hóa không được bảo vệ khỏi sửa đổi nếu chúng rơi vào tay kẻ tấn công. Để chặn lỗ hổng bảo mật, các nhà phát triển đã thêm tính năng bảo vệ siêu dữ liệu bổ sung cho LUKS2, trong đó một hàm băm bổ sung hiện đã được xác minh, tính toán dựa trên các khóa đã biết và nội dung siêu dữ liệu, tức là kẻ tấn công sẽ không thể lén lút thay đổi siêu dữ liệu mà không cần biết mật khẩu giải mã.

Một tình huống tấn công điển hình đòi hỏi kẻ tấn công phải có cơ hội đặt tay của họ trên đĩa nhiều lần. Đầu tiên, kẻ tấn công, người không biết mật khẩu truy cập, thực hiện các thay đổi đối với vùng siêu dữ liệu để bắt đầu giải mã một phần dữ liệu trong lần kích hoạt ổ đĩa tiếp theo.

Ổ đĩa sau đó được trả về vị trí của nó và kẻ tấn công đợi cho đến khi người dùng kết nối nó bằng cách nhập mật khẩu. Trong quá trình người dùng kích hoạt thiết bị, quá trình mã hóa lại bắt đầu ở chế độ nền, trong đó một phần dữ liệu được mã hóa được thay thế bằng dữ liệu đã giải mã. Ngoài ra, nếu kẻ tấn công có thể chạm tay vào thiết bị một lần nữa, một số dữ liệu trên ổ đĩa sẽ được giải mã.

Sự cố đã được xác định bởi người bảo trì dự án cryptsetup và được khắc phục trong bản cập nhật cryptsetup 2.4.3 và 2.3.7.

Bạn có thể theo dõi trạng thái của việc tạo ra các bản cập nhật với giải pháp của sự cố trong các bản phân phối trên các trang này: RHELSUSEFedoraUbuntuArch. Lỗ hổng chỉ xuất hiện kể từ khi phát hành cryptsetup 2.2.0, hỗ trợ hoạt động "khai thác lại trực tuyến". Bắt đầu với tùy chọn “–disable-luks2-reencryption” có thể được sử dụng như một giải pháp bảo mật.

Cuối cùng nếu bạn muốn biết thêm về nó về tin tức, bạn có thể kiểm tra chi tiết trong liên kết theo dõi.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.