Blacksmith - cuộc tấn công mới vào bộ nhớ DRAM và chip DDR4

Một nhóm các nhà nghiên cứu từ ETH Zurich, Vrije Universiteit Amsterdam và Qualcomm đã công bố một phương pháp tấn công RowHammer mới có thể thay đổi nội dung của từng bit riêng lẻ của bộ nhớ truy cập ngẫu nhiên động (DRAM). Cuộc tấn công có tên mã là Blacksmith và được xác định là CVE-2021-42114. Nhiều chip DDR4 được trang bị tính năng bảo vệ chống lại các phương pháp lớp RowHammer đã biết trước đây rất dễ gặp sự cố. Các công cụ để kiểm tra lỗ hổng hệ thống của bạn được xuất bản trên GitHub.

Hãy nhớ lại rằng các cuộc tấn công lớp RowHammer cho phép bạn bóp méo nội dung của các bit bộ nhớ riêng lẻ bằng cách đọc dữ liệu theo chu kỳ từ các ô nhớ lân cận. Vì bộ nhớ DRAM là một mảng ô hai chiều, mỗi ô bao gồm một tụ điện và một bóng bán dẫn, nên việc thực hiện đọc liên tục trên cùng một vùng bộ nhớ sẽ dẫn đến sự dao động điện áp và sự bất thường gây ra sự mất điện nhỏ ở các ô lân cận. Nếu cường độ đọc cao thì ô lân cận có thể mất một lượng điện tích đủ lớn và chu kỳ tái tạo tiếp theo sẽ không có thời gian để khôi phục lại trạng thái ban đầu, điều này sẽ dẫn đến thay đổi giá trị của dữ liệu được lưu trong ô .

Để bảo vệ chống lại RowHammer, các nhà sản xuất chip đã đề xuất cơ chế TRR (Làm mới hàng mục tiêu), cơ chế này bảo vệ chống hỏng các ô ở các hàng liền kề, nhưng vì việc bảo vệ dựa trên nguyên tắc “bảo mật bằng cách che khuất” nên nó không giải quyết được vấn đề tại root, nhưng chỉ được bảo vệ khỏi những trường hợp đặc biệt đã biết, điều này giúp bạn dễ dàng tìm cách vượt qua sự bảo vệ. Ví dụ: vào tháng XNUMX, Google đã đề xuất phương pháp Half-Double, phương pháp này không bị ảnh hưởng bởi tính năng bảo vệ TRR, do cuộc tấn công ảnh hưởng đến các ô không liền kề trực tiếp với mục tiêu.

Phương pháp mới của Blacksmith đưa ra một cách khác để vượt qua lớp bảo vệ TRR, dựa trên khả năng truy cập không đồng nhất vào hai hoặc nhiều chuỗi xâm lược ở các tần số khác nhau để gây rò rỉ điện tích. Để xác định kiểu truy cập bộ nhớ dẫn đến rò rỉ điện tích, một bộ làm mờ đặc biệt đã được phát triển để tự động chọn các tham số tấn công cho một con chip cụ thể, thay đổi thứ tự, cường độ và tính hệ thống của việc truy cập ô.

Cách tiếp cận như vậy, không liên quan đến việc tác động đến các ô giống nhau, làm cho các phương pháp bảo vệ TRR hiện tại không hiệu quả, dưới hình thức này hay hình thức khác chỉ tập trung vào việc đếm số lượng cuộc gọi lặp lại đến các ô và khi đạt đến một số giá trị nhất định, bắt đầu sạc lại của các tế bào lân cận. Trong Blacksmith, mô hình truy cập được trải rộng trên nhiều ô cùng lúc từ các phía khác nhau của mục tiêu, điều này giúp có thể đạt được hiện tượng rò rỉ điện tích mà không đạt đến giá trị ngưỡng.

Phương pháp này tỏ ra hiệu quả hơn đáng kể so với các phương pháp được đề xuất trước đây để vượt qua TRR - các nhà nghiên cứu đã đạt được sự biến dạng bit trong tất cả 40 chip bộ nhớ DDR4 khác nhau được mua gần đây do Samsung, Micron, SK Hynix và một nhà sản xuất không xác định sản xuất (nhà sản xuất này là không được chỉ định trên 4 chip). Để so sánh, phương pháp TRRespass do chính các nhà nghiên cứu đề xuất trước đây chỉ có hiệu quả đối với 13 trong số 42 chip được thử nghiệm tại thời điểm đó.

Nhìn chung, phương pháp Blacksmith dự kiến ​​sẽ áp dụng cho 94% tổng số chip DRAM trên thị trường, nhưng các nhà nghiên cứu cho biết một số chip dễ bị tổn thương và dễ bị tấn công hơn các chip khác. Việc sử dụng mã sửa lỗi (ECC) trong chip và tăng gấp đôi tốc độ làm mới bộ nhớ không mang lại sự bảo vệ hoàn toàn mà còn làm phức tạp hoạt động. Đáng chú ý là vấn đề không thể bị chặn trong các chip đã được phát hành và yêu cầu triển khai biện pháp bảo vệ mới ở cấp độ phần cứng, vì vậy cuộc tấn công sẽ vẫn còn tồn tại trong nhiều năm.

Các ví dụ thực tế bao gồm các phương pháp sử dụng Blacksmith để thay đổi nội dung của các mục trong bảng trang bộ nhớ (PTE, mục nhập bảng trang) để lấy đặc quyền kernel, làm hỏng khóa chung RSA-2048 được lưu trong bộ nhớ trong OpenSSH (bạn có thể mang khóa chung vào máy ảo của người khác khớp với khóa riêng của kẻ tấn công để kết nối với máy ảo của nạn nhân) và bỏ qua việc kiểm tra thông tin xác thực bằng cách sửa đổi bộ nhớ của quy trình sudo để có được quyền root. Tùy thuộc vào chip, phải mất từ ​​3 giây đến vài giờ thời gian tấn công để thay đổi một bit mục tiêu.

Ngoài ra, chúng ta có thể lưu ý việc xuất bản khung LiteX Row Hammer Test mở để thử nghiệm các phương pháp bảo vệ bộ nhớ chống lại các cuộc tấn công của lớp RowHammer, do Antmicro phát triển cho Google. Khung này dựa trên việc sử dụng FPGA để kiểm soát hoàn toàn các lệnh được truyền trực tiếp đến chip DRAM nhằm loại bỏ ảnh hưởng của bộ điều khiển bộ nhớ. Bộ công cụ bằng Python được cung cấp để tương tác với FPGA. Cổng dựa trên FPGA bao gồm một mô-đun để truyền dữ liệu gói (xác định các mẫu truy cập bộ nhớ), Payload Executor, bộ điều khiển dựa trên LiteDRAM (xử lý tất cả logic cần thiết cho DRAM, bao gồm kích hoạt hàng và cập nhật bộ nhớ) và CPU VexRiscv. Sự phát triển của dự án được phân phối theo giấy phép Apache 2.0. Nhiều nền tảng FPGA khác nhau được hỗ trợ, bao gồm Lattice ECP5, Xilinx Series 6, 7, UltraScale và UltraScale+.

Nguồn: opennet.ru

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