Phát hiện hai phương thức tấn công mới vào bộ xử lý AMD từ 2011 đến 2019

16/06/2015
83
672 bài viết
Phát hiện hai phương thức tấn công mới vào bộ xử lý AMD từ 2011 đến 2019
Các nhà nghiên cứu vừa công bố hai cuộc tấn công mới vào bộ xử lý AMD được sản xuất từ năm 2011 đến 2019. Hai cuộc tấn công này ảnh hưởng đến an ninh dữ liệu được xử lý trong CPU, cho phép đánh cắp thông tin nhạy cảm hoặc hạ cấp các tính năng an ninh.

Nhóm nghiên cứu thông báo cho AMD về hai vấn đề vào tháng 8/2019, tuy nhiên công ty đã không phát hành bản cập nhật firmware CPU vì cho rằng đây "không phải là các cuộc tấn công dựa trên suy đoán mới".

Dự đoán bộ đệm L1D

Hai cuộc tấn công mới nhắm vào một tính năng của CPU AMD được gọi là công cụ dự đoán bộ đệm L1D.

Được giới thiệu trong bộ xử lý AMD vào năm 2011 với vi kiến trúc Bulldozer, công cụ dự đoán bộ đệm L1D là một tính năng tập trung vào hiệu năng, giúp giảm mức tiêu thụ điện năng bằng cách cải thiện cách CPU xử lý dữ liệu được lưu trong bộ nhớ.

Hai cuộc tấn công mới được phát hiện sau khi một nhóm gồm sáu học giả - từ Đại học Công nghệ Graz ở Áo và Đại học Rennes ở Pháp - dịch ngược hàm băm undocumented (hàm không được mô tả trong các tài liệu chính thức) mà các bộ xử lý AMD đang sử dụng để xử lý các mục nhập μTag trong cơ chế dự đoán bộ đệm L1D. Từ đó, cho phép tái tạo bản đồ những gì đang diễn ra bên trong công cụ dự đoán bộ đệm L1D và thăm dò nếu cơ chế này bị rò rỉ dữ liệu hoặc có thông tin về loại dữ liệu.

amd-tested-cpus.png

Collide+Prode và Load+Reload

Hai cuộc tấn công mới được các nhà nghiên cứu đặt tên là tấn công Collide+Probe và Load+Reload.

Hai cuộc tấn công này có phần giống với các cuộc tấn công Flush+Reload và Prime+Probe cổ điển đã được khai thác trước đây để làm rò rỉ dữ liệu từ CPU Intel, nhưng không ảnh hưởng CPU AMD, chủ yếu là do cách CPU AMD xử lý dữ liệu được lưu trong bộ nhớ cache khác với bộ xử lý Intel.

Trong kỹ thuật tấn công Collide+Probe, chúng tôi khai thác các xung đột μTag của các địa chỉ ảo để theo dõi truy cập bộ nhớ.

Trong kỹ thuật tấn công Load+Reload, chúng tôi khai thác thuộc tính rằng một vị trí bộ nhớ vật lý chỉ trú ngụ một lần trong bộ đệm L1D. Do đó, việc truy cập vào cùng một vị trí với một địa chỉ ảo khác sẽ lấy ra vị trí từ bộ đệm L1D. Điều này cho phép kẻ tấn công giám sát truy cập bộ nhớ trên máy nạn nhân”.

Nói một cách đơn giản, hai cuộc tấn công có thể được sử dụng để theo dõi cách các quá trình tương tác với bộ đệm AMD và sau đó rò rỉ dữ liệu từ các ứng dụng khác.

Kết quả nghiên cứu cho thấy hai cuộc tấn công này thực sự nguy hiểm

Theo các nhà nghiên cứu, các lỗi Collide+Probe and Load+Reload có thể bị khai thác trong các tình huống thực và khá dễ dàng, không cần truy cập vật lý, thiết bị đặc biệt hoặc phá vỡ các vỏ máy tính để kết nối với các cổng ẩn - như nhiều cuộc tấn công CPU trước đây đòi hỏi.

Nhóm nghiên cứu cho biết họ đã khai thác được hai lỗ hổng AMD thông qua JavaScript và trong môi trường điện toán đám mây - khiến hai cuộc tấn công trở thành mối nguy hiểm hiện hữu đối với bộ xử lý AMD trong thế giới thực.

Phá bỏ ASLR

Trong thử nghiệm đầu tiên, các nhà nghiên cứu đã chạy một quy trình độc hại trên CPU AMD sử dụng kênh lọc dữ liệu bí mật để đánh cắp dữ liệu từ một quy trình khác chạy trên bộ xử lý. Tốc độ lọc dữ liệu được đạt ở mức 588,9 kB/s.

Trong thử nghiệm thứ hai, các nhà nghiên cứu đã sử dụng cuộc tấn công Collide+Probe để giảm entropy (khả năng tạo số ngẫu nhiên) của các triển khai ASLR khác nhau. ASLR là viết tắt của Adress Space Random Randomization và là một cơ chế an ninh được sử dụng để ngẫu nhiên hóa và che giấu các vị trí mã thực thi bên trong bộ nhớ của CPU. Nếu kẻ tấn công phá vỡ ASLR, họ có thể dự đoán nơi mã thực thi và lập kế hoạch cho các cuộc tấn công khác.

Các nhà nghiên cứu cho biết họ đã phá vỡ kernel ASLR trên một hệ thống Linux được cập nhật đầy đủ, và ASLR trên các hệ điều hành và ứng dụng chạy bên trong các trình ảo hóa (môi trường đám mây/ảo hóa).

Các cuộc tấn công này yêu cầu phải cài mã độc trên cùng một máy, tuy nhiên cuộc tấn công cũng có thể thực thi trên web, thông qua JavaScript độc hại được tải bên trong trình duyệt.

Chúng tôi đã thử nghiệm proof-of-concept của chúng tôi trên cả trình duyệt Chrome 76.0.3809 và Firefox 68.0.2 cũng như công cụ độc lập Chrome V8.

Trên Firefox, chúng tôi có thể giảm entropy xuống 15 bit với tỷ lệ thành công là 98% và thời gian chạy trung bình là 2,33 giây (σ=0,03s, n=1000). Với Chrome, chúng tôi có thể giảm bit với tỷ lệ thành công là 86,1% và thời gian chạy trung bình là 2,90 giây (σ=0,25s, n=1000)”.

amd-aslr.png

Ngoài ra, các nhà nghiên cứu cho biết họ đã sử dụng cuộc tấn công Collide+Probe để khôi phục khóa mã hóa từ thuật toán mã hóa AES bảng T.

Phản hồi gây tranh cãi của AMD

Trong một thông báo được đăng trên cổng thông tin an ninh của mình, AMD đã phủ nhận rằng hai cuộc tấn công mới này là mối lo ngại, cho rằng đây "không phải là các cuộc tấn công dựa trên suy đoán mới" và chúng có thể được giảm nhẹ thông qua các bản vá cho các lỗ hổng kênh bên thực thi suy đoán.

Nhóm nghiên cứu cho rằng phản hồi của AMD là "khá sai lệch", rằng AMD không trao đổi với nhóm sau báo cáo ban đầu vào tháng 8 năm ngoái và các cuộc tấn công vẫn hoạt động trên các hệ điều hành, firmware và phần mềm được cập nhật đầy đủ nhất.

Theo ZDNet
 
Chỉnh sửa lần cuối:
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Bên trên