RAMpage là gì? Chi tiết về tiến công RowHammer trên Android

  1. Công nghệ thông tin

Một hàng ngũ nghiên cứu bảo mật đã phát hiện một loạt khoa học mới cho phép vượt qua đa số những hàng rào dùng để chống lại những đòn tiến công Rowhammer dựa trên DMA vào các vật dụng Android.

Được gọi là RAMpage, khoa học mới này (mã hiệu CVE-2018-9442) sở hữu thể bật lại một vận dụng Android trái phép đang chạy trên thứ người tiêu dùng để lợi dụng chiêu thức tiến công Drammer, biến thể của lỗ hổng phần cứng DRAM Rowhammer trên đồ vật Android. Từ đó, tin tặc với thể chiếm quyền root trên vật dụng bị tấn công.

Bạn sở hữu thể từng đọc một số bài về RAMpage trên mạng, hay những nghiên cứu, nhưng giả dụ còn chưa rõ RAMpage là gì – chúng tôi với một bài giảng giải đơn thuần ngay dưới đây cho tất cả đối tượng người đọc.


Lỗ hổng DRAM Rowhammer là gì?

Được mua ra từ năm 2012, Rowhammer là 1 lỗi ổn định phần cứng trên DRAM thế hệ mới. Khi liên tiếp truy cập (“hammering”) 1 loại bộ nhớ, mang thể xảy ra “nhảy bit” (bit dancing từ 1 sao 0 hoặc 0 sang 1)

Các nhà nghiên cứu của Google Project Zero đã mô phỏng thành công giai đoạn lợi dụng lỗi phần cứng này để vượt quyền quản trị trên các máy bị nhiễm (Windows và Linux) vào năm 2015.

Bên cạnh đó, những nhà nghiên cứu của Google cũng đã chỉ ra đòn tiến công hai mặt Rowhammer có thể khiến cho nâng cao khả năng xảy ra “nhảy bit” bằng phương pháp “hammer” cùng khi hai mẫu bộ nhớ bên cạnh.

Để xảy ra lỗi Rowhammer ko khó, nhưng để lợi dụng được lỗi này ko đơn thuần do toàn bộ bit trong bộ nhớ đều ko tương tác đến hành vi của tin tặc và “nhảy bit” với thể gây hỏng bộ nhớ.

“Hammering” các vị trí tưởng ngẫu nhiên không đủ để “nhảy bit” 1 trang bộ nhớ cụ thể nào (thường được tiêu dùng bởi các vận dụng hệ thống).

Để có thể lợi dụng thành công lỗi Rowhammer, tin tặc phải cần lừa hệ điều hành sao cho trang nhớ được nhắm đến bắt buộc rơi vào hàng cạnh hàng do tin tặc kiểm soát trên bộ nhớ vật lý DRAM.

Các đòn tiến công Rowhammer khác bao gồm:

GLitch
: Mượn bộ xử lý đồ họa (GPU) để xử lý những đòn tiến công vào vật dụng Android

Throwhammer: Dựa trên mạng, đòn tấn công này sẽ lợi dụng một lỗ hổng được biết sẵn trong DRAM qua những thẻ mạng tiêu dùng các kênh truy cập bộ nhớ trực tiếp (RDMA)

Nethammer
: Một khoa học mạng từ xa sở hữu thể dùng để tấn công các hệ điều hành dùng bộ nhớ uncached lúc đang giải quyết những đề nghị trên mạng.


Tấn công Drammer là gì?

Được phát hiện hai năm trước, Drammer là đòn tấn công Rowhammer thực tiễn trước tiên nhắm đền những chíp DRAM trên điện thoại Android, từ ấy bị phá hoang bởi phần mềm lừa đảo mà không bắt buộc quyền hay lỗ hổng phần mềm nào.

Đòn tiến công Drammer dựa trên buffer của DMA (bộ nhớ lưu trữ trực tiếp) vốn ở phòng ban quản lý bộ nhớ chính của Android tên là ION.

Vì DMA cho phép ứng dụng truy cập thẳng vào bộ nhớ mà ko qua cache CPU, “hammering” theo từng mẫu bộ nhớ vươn lên là dễ dàng hơn.

ION công ty các memory pool trong vài heap trong kernel, có kmalloc heap có thể xếp bộ nhớ cạnh nhau, cho phép tin tặc dễ dàng nắm được các cửa hàng vật lý.

Đây là hai đặc tính của hệ thống quản lý bộ nhớ ION – truy cập trực tiếp và xếp bộ nhớ cạnh nhau – dẫn đến đòn tấn công Drammer.


Bằng phương pháp nào mà Google sở hữu thể ngăn chặn đòn 
tấn công Rowhammer
?

Vào năm 2016, sau khi đòn tấn công Drammer bị công bố, Google đã tung ra 1 bản cập nhật cho thiết bị Android cho phép tắt 1 phần của ION (kmalloc heap), tác nhân cho phép xếp bộ nhớ cạnh nhau để giảm nguy cơ lỗ hổng Rowhammer bị lợi dụng.

Sau đó, các vận dụng và dịch vụ hệ thống trên vật dụng Android dựa vào các heap trong kernel khác như heap hệ thống.

Bên cạnh giải quyết vấn đề đó, heap hệ thống còn tách bộ nhớ kernel và bộ nhớ người tiêu dùng bằng cách xếp chúng vào những vùng lowmem và highmem để với tính bảo mật cao hơn.


Vậy RAMpage là gì và làm cho sao mà tin tặc vượt qua được hàng rào Rowhammer?

Kỹ thuật hàng rào được nhắc tới ở trên bởi Google đã chặn tin tặc ko thể thực hiện tiến công Rowhammer hai mặt.

Tuy nhiên 1 đội nghiên cứu bảo mật vừa rồi đã báo lại bốn đòn tiến công rowhammer mới sở hữu thể cho một vận dụng lường đảo cài được cài vào đồ vật đối diện để có quyền root và đánh cắp dữ liệu nhạy cảm từ các ứng dụng khác và vượt qua mọi hàng rào bảo vệ.

Trong nghiên cứu, hàng ngũ đã giải thích rằng biến thể RAMpage của họ là “một minh họa cho Drammer về việc tắt xếp bộ nhớ cạnh nhau không thể giảm nguy cơ xảy ra những đòn tiến công vượt quyền Rowhammer.”

Các nhà nghiên cứu đã ghi lại 3 bước để lợi dụng Drammer qua biến thể RAMpage r0:

1 – Sử dụng hết heap hệ thống

2 – Rút gọn cache pool

3 – Root thiết bị

Ba biến thể khác của đòn tấn công RAMpage được kể tới dưới đây cũng cho tin tặc vượt qua những giải pháp bảo mật và chỉ bảo vệ 1 phần cụ thể trên bộ nhớ hệ thống, nhưng không đủ thực tiễn và phải nghiên cứu để sở hữu phương pháp khai hoang phù hợp:

ION-to-ION (varint r1)

CMA-to-CMA (varint r2)

CMA-to-system attack (varint r3)


GuardION – Giải pháp ngăn chặn đa số đòn tiến công Rowhammer dựa trên DMA

Trong nghiên cứu, các nhà bảo mật đã chỉ ra các biện pháp ngăn chặn ưa thích để chống lại biến thể RAMpage của những đòn tấn công Rowhammer dựa trên DMA. Giải pháp được đưa ra là GuardION mã nguồn mở.

GuardION là hàng rào phần mềm chống lại đòn tấn công rowhammer bằng bí quyết tách biệt buffer DMA khỏi guard row.

GuardION là một phần mềm được cài như một bản vá cho Android để thay đổi bộ quản lý bộ nhớ ION theo bí quyết tách biệt các buffer ra bằng bí quyết tạo dòng trắng: một bên trái, một bên phải.

Cũng nên nhớ là GuardION mang thể khiến giảm hiệu năng của điện thoại, như việc tạo dòng bảo vệ vẫn tốn thêm bộ nhớ DRAM.

Theo những nhà nghiên cứu, hầu hết vật dụng Android từ năm 2012 đều bị tác động bởi đòn tấn công. Chỉ nên cài app từ nguồn tin tưởng, bạn sẽ ko bắt buộc lo về RAMpage

Một số nhà nghiên cứu đã và đang chuyển thông tin của họ mang Google.

THN


Từ khóa: 

công nghệ thông tin