WhiteHat News #ID:2017
VIP Members
-
20/03/2017
-
113
-
356 bài viết
Khai thác JavaScript qua kỹ thuật tấn công Rowhammer DDR4
Các nhà nghiên cứu từ Hà Lan và Thụy Sỹ vừa công bố bài nghiên cứu mô tả một biến thể khác của kỹ thuật tấn công Rowhammer.
Được đặt tên là SMASH, kỹ thuật này có thể kích hoạt tấn công từ JavaScript trên các thẻ RAM DDR4 thế hệ mới dù các nhà sản xuất đã đưa ra nhiều biện pháp xử lý tạm thời trong bảy năm qua.
Các nhà nghiên cứu cho biết: “Mặc dù đã triển khai các biện pháp giảm thiểu tác động Target Row Refresh (TRR) trong DRAM, một số module DDR4 mới nhất vẫn bị bit flip (nhảy bit) do Rowhammer”.
"SMASH thông qua kiến thức chuyên sâu về các chính sách thay thế bộ nhớ cache để tạo ra các mẫu truy cập tối ưu cho Rowhammer dựa trên sự loại bỏ. Để vượt qua các biện pháp bảo vệ TRR trong DRAM, SMASH lên kế hoạch chi tiết các lần truy cập và bỏ sót trong bộ nhớ cache để kích hoạt thành công nhảy bit Rowhammer".
Bằng cách đồng bộ hóa các truy vấn bộ nhớ thông qua các lệnh làm mới DRAM, các nhà nghiên cứu đã phát triển một phương pháp khai thác JavaScript end-to-end có thể tấn công trình duyệt Firefox trung bình 15 phút 1 lần. Điều này cho thấy người dùng web tiếp tục phải gặp rủi ro từ các cuộc tấn công như trên.
Rowhammer là gì?
Rowhammer là thuật ngữ mô tả phương thức khai thác lỗi thiết kế phần cứng trong hệ thống DDR4. Thẻ nhớ RAM lưu dữ liệu bên trong các ô nhớ (mỗi ô gồm một tụ điện và một bóng bán dẫn) được sắp xếp trên chip silicon của RAM dưới dạng ma trận.
Nhưng với tốc độ phóng điện của tụ điện, các ô nhớ thường mất trạng thái theo thời gian, do đó yêu cầu định kỳ việc đọc và viết lại từng ô để khôi phục điện tích của tụ điện về mức ban đầu. Mặt khác, mật độ mạch tích hợp DRAM tăng lên đã làm tăng tỷ lệ tương tác điện từ giữa các ô nhớ và khả năng mất dữ liệu cao hơn.
Năm 2014, các nhà nghiên cứu phát hiện bằng cách thực hiện liên tục các thao tác đọc/ghi nhanh trên một hàng bộ nhớ, việc lặp đi lặp lại trên hay còn gọi "row hammering" có thể gây nhiễu loạn điện làm thay đổi dữ liệu lưu trữ trong các hàng bộ nhớ gần đó.
Kể từ đó, nhiều phương pháp đã được đưa ra, cụ thể các phương thức và kịch bản khai thác dựa trên nghiên cứu Rowhammer ban đầu để vượt qua các biện pháp bảo vệ trong ECCploit, khởi phát các cuộc tấn công qua JavaScript (Rowhammer.js), gói mạng (Throwhammer) và FPGA (JackHammer), thậm chí đọc dữ liệu bộ nhớ từ các tiến trình khác chạy trên cùng một phần cứng (RAMBleed)
Để đối phó với những phương thức này, Target Row Refresh (TRR) được coi là "giải pháp cuối cùng" cho toàn ngành. Nhưng đến tháng 3/2020, các nhà nghiên cứu tại Hà Lan đã chứng minh một công cụ fuzzing tên "TRRespass" có thể thực hiện các cuộc tấn công Rowhammer trên các thẻ DDR4 được TRR bảo vệ.
Từ TRRespass đến SMASH
Trong khi TRRespass vượt qua TRR bằng cách sử dụng mã gốc nhưng không có sẵn phương pháp nào để kích hoạt tấn công trong trình duyệt từ JavaScript. SMASH đã phát triển hơn khi cấp cho kẻ tấn công quyền đọc và ghi gốc trong trình duyệt.
Cụ thể, chuỗi khai thác được kích hoạt khi nạn nhân truy cập vào một trang web độc hại do tin tặc kiểm soát hoặc một trang web hợp pháp có chứa quảng cáo độc hại, lợi dụng bit flip Rowhammer từ bên trong sandbox JavaScript để giành quyền kiểm soát trình duyệt của nạn nhân.
Các nhà nghiên cứu cho biết: “Phiên bản hiện tại của SMASH dựa vào THP để xây dựng các mẫu tự loại bỏ hiệu quả. Vô hiệu hóa THP đồng thời đưa vào một số overhead sẽ ngừng phiên bản hiện tại của SMASH”.
Các nhà nghiên cứu cho biết: “Mặc dù đã triển khai các biện pháp giảm thiểu tác động Target Row Refresh (TRR) trong DRAM, một số module DDR4 mới nhất vẫn bị bit flip (nhảy bit) do Rowhammer”.
"SMASH thông qua kiến thức chuyên sâu về các chính sách thay thế bộ nhớ cache để tạo ra các mẫu truy cập tối ưu cho Rowhammer dựa trên sự loại bỏ. Để vượt qua các biện pháp bảo vệ TRR trong DRAM, SMASH lên kế hoạch chi tiết các lần truy cập và bỏ sót trong bộ nhớ cache để kích hoạt thành công nhảy bit Rowhammer".
Bằng cách đồng bộ hóa các truy vấn bộ nhớ thông qua các lệnh làm mới DRAM, các nhà nghiên cứu đã phát triển một phương pháp khai thác JavaScript end-to-end có thể tấn công trình duyệt Firefox trung bình 15 phút 1 lần. Điều này cho thấy người dùng web tiếp tục phải gặp rủi ro từ các cuộc tấn công như trên.
Rowhammer là gì?
Rowhammer là thuật ngữ mô tả phương thức khai thác lỗi thiết kế phần cứng trong hệ thống DDR4. Thẻ nhớ RAM lưu dữ liệu bên trong các ô nhớ (mỗi ô gồm một tụ điện và một bóng bán dẫn) được sắp xếp trên chip silicon của RAM dưới dạng ma trận.
Nhưng với tốc độ phóng điện của tụ điện, các ô nhớ thường mất trạng thái theo thời gian, do đó yêu cầu định kỳ việc đọc và viết lại từng ô để khôi phục điện tích của tụ điện về mức ban đầu. Mặt khác, mật độ mạch tích hợp DRAM tăng lên đã làm tăng tỷ lệ tương tác điện từ giữa các ô nhớ và khả năng mất dữ liệu cao hơn.
Năm 2014, các nhà nghiên cứu phát hiện bằng cách thực hiện liên tục các thao tác đọc/ghi nhanh trên một hàng bộ nhớ, việc lặp đi lặp lại trên hay còn gọi "row hammering" có thể gây nhiễu loạn điện làm thay đổi dữ liệu lưu trữ trong các hàng bộ nhớ gần đó.
Kể từ đó, nhiều phương pháp đã được đưa ra, cụ thể các phương thức và kịch bản khai thác dựa trên nghiên cứu Rowhammer ban đầu để vượt qua các biện pháp bảo vệ trong ECCploit, khởi phát các cuộc tấn công qua JavaScript (Rowhammer.js), gói mạng (Throwhammer) và FPGA (JackHammer), thậm chí đọc dữ liệu bộ nhớ từ các tiến trình khác chạy trên cùng một phần cứng (RAMBleed)
Để đối phó với những phương thức này, Target Row Refresh (TRR) được coi là "giải pháp cuối cùng" cho toàn ngành. Nhưng đến tháng 3/2020, các nhà nghiên cứu tại Hà Lan đã chứng minh một công cụ fuzzing tên "TRRespass" có thể thực hiện các cuộc tấn công Rowhammer trên các thẻ DDR4 được TRR bảo vệ.
Từ TRRespass đến SMASH
Trong khi TRRespass vượt qua TRR bằng cách sử dụng mã gốc nhưng không có sẵn phương pháp nào để kích hoạt tấn công trong trình duyệt từ JavaScript. SMASH đã phát triển hơn khi cấp cho kẻ tấn công quyền đọc và ghi gốc trong trình duyệt.
Các nhà nghiên cứu cho biết: “Phiên bản hiện tại của SMASH dựa vào THP để xây dựng các mẫu tự loại bỏ hiệu quả. Vô hiệu hóa THP đồng thời đưa vào một số overhead sẽ ngừng phiên bản hiện tại của SMASH”.
Theo The Hacker News