OpenSSH mã hóa các khóa riêng để tránh tấn công Side-Channel Attacks

Trong những năm gần đây, một số nhóm các nhà nghiên cứu về an ninh mạng đã tiết lộ hàng chục lỗ hổng kênh bộ nhớ trong các bộ xử lý và DRAM hiện đại , như Rowhammer , RAMBleed , Spectre và Meltdown .

Bạn có bao giờ nhận thấy tất cả họ đều có ít nhất một điểm chung?

Đó là OpenSSH.

Như một bằng chứng về khái niệm, nhiều nhà nghiên cứu đã chứng minh các cuộc tấn công thông qua kênh của họ chống lại ứng dụng OpenSSH được cài đặt trên một máy tính mục tiêu, trong đó một quá trình thuộc sở hữu của kẻ tấn công không có đặc quyền khai thác các lỗ hổng đọc bộ nhớ để đánh cắp các khóa riêng của SSH từ vùng nhớ bị hạn chế của hệ thống .

Điều đó là có thể bởi vì OpenSSH có một tác nhân lưu một bản sao khóa SSH của bạn trong bộ nhớ để bạn không phải nhập cụm mật khẩu của mình mỗi khi bạn muốn kết nối với cùng một máy chủ từ xa.

Tuy nhiên, các hệ điều hành hiện đại theo mặc định lưu trữ dữ liệu nhạy cảm, bao gồm khóa mã hóa và mật khẩu, trong bộ nhớ kernel không thể truy cập được bởi các quy trình đặc quyền cấp người dùng.

Nhưng vì các khóa SSH này nằm trên bộ nhớ RAM hoặc CPU ở định dạng văn bản gốc, nên tính năng này dễ bị hack khi các cuộc tấn công liên quan đến lỗ hổng đọc bộ nhớ.

OpenSSH Hiện chỉ lưu trữ các khóa được mã hóa trong bộ nhớ

Đây là tin tốt – không còn như vậy nữa.

Bản cập nhật mới nhất từ ​​các nhà phát triển OpenSSH giải quyết vấn đề này bằng cách giới thiệu một tính năng bảo mật mới mã hóa các khóa riêng trước khi lưu trữ chúng vào bộ nhớ hệ thống, bảo vệ nó trước hầu hết các loại tấn công kênh bên.

Theo Damien Miller, nhà phát triển OpenSSH, một  bản vá mới cho OpenSSH  hiện “mã hóa các khóa riêng khi chúng không được sử dụng với khóa đối xứng có nguồn gốc từ một” khóa “tương đối lớn bao gồm dữ liệu ngẫu nhiên (hiện là 16KB).”

Miller cho biết: “Kẻ tấn công phải khôi phục toàn bộ tiền mã hóa với độ chính xác cao trước khi chúng có thể giải mã khóa riêng được bảo vệ, nhưng thế hệ tấn công hiện tại có tỷ lệ lỗi bit, khi áp dụng tích lũy cho toàn bộ tiền mã hóa, khiến điều này khó xảy ra”, Miller giải thích.

 

“Thực hiện theo cách khôn ngoan, các khóa được mã hóa ‘được bảo vệ’ khi được tải và sau đó tự động và không bị che chắn khi được sử dụng cho chữ ký hoặc khi được lưu / tuần tự hóa.”

Cần lưu ý rằng bản vá này chỉ giảm nhẹ mối đe dọa và không phải là một giải pháp lâu dài. Miller cho biết OpenSSH sẽ loại bỏ sự bảo vệ này trước các cuộc tấn công kênh bên trong một vài năm khi kiến ​​trúc máy tính trở nên ít an toàn hơn.

bình luận

Leave a Comment