Tại sao các lỗ hổng MDS là mối đe dọa nghiêm trọng như Spectre và Meltdown

0
31

            Lấy mẫu dữ liệu vi kiến ​​trúc là các lỗ hổng kênh bên CPU cho phép kẻ tấn công xem dữ liệu trên máy bay từ bộ đệm bên trong CPU. Tìm hiểu thêm về các cuộc tấn công MDS trong hướng dẫn toàn diện này.
        

            
                                                                             
            
            

                 ] ]
    

     Học máy cho phép công ty này phát hiện Meltdown và Spectre trước khi Intel phá vỡ tin tức
     Tại RSA 2018, Bill Conner, CEO của SonicWall, nói chuyện với TechRepublic về cách AI và học máy có thể giúp các công ty bảo vệ chống lại các cuộc tấn công trong bộ nhớ.
    

    

Vào tháng 5 năm 2019, một loại lỗ hổng cấp độ CPU mới đã được tiết lộ trong các bản phát hành phối hợp của các nhà nghiên cứu bảo mật trên toàn thế giới. Lỗ hổng, được gọi là "Lấy mẫu dữ liệu vi kiến ​​trúc" (MDS), có thể được những kẻ tấn công tận dụng để lộ dữ liệu trên máy bay từ bộ đệm bên trong CPU, bao gồm cả dữ liệu không được lưu trữ trong bộ nhớ cache. Trái ngược với Spectre và Meltdown, các cuộc tấn công MDS không dựa vào các giả định về bố cục bộ nhớ hoặc phụ thuộc vào trạng thái bộ đệm của bộ xử lý.

Các thuộc tính này làm cho các cuộc tấn công MDS trở nên khó khăn hơn để giảm thiểu, mặc dù các cấu trúc liên quan là tương đối nhỏ và được ghi đè thường xuyên hơn khiến chúng khó khai thác hơn. Theo đó, sử dụng các cuộc tấn công MDS để lộ dữ liệu liên quan đến một địa chỉ bộ nhớ cụ thể khó khăn hơn đáng kể so với các phương thức tấn công khác, đòi hỏi kẻ tấn công phải thu thập lượng lớn thông tin để nhắm mục tiêu một giá trị bộ nhớ cụ thể.

XEM: Quản lý rủi ro nhà cung cấp: Hướng dẫn dành cho các nhà lãnh đạo CNTT (PDF miễn phí) (TechRepublic)

Các cuộc tấn công MDS là mối đe dọa nguy hiểm như Spectre và Meltdown, và giống như các lỗ hổng bảo mật đó, mức độ của các thiết bị dễ bị tổn thương phụ thuộc vào nhà cung cấp (tức là Intel so với AMD) và thế hệ sản phẩm. Những lỗ hổng này cũng ảnh hưởng đến các dịch vụ điện toán đám mây, vì chúng có thể được những kẻ tấn công tận dụng để thoát khỏi các thùng chứa phần mềm, bộ ảo hóa, hệ thống ảo hóa và máy ảo.

Những rủi ro nào liên quan đến các lỗ hổng MDS?

Giống như Spectre và Meltdown, các lỗ hổng MDS có thể được sử dụng bởi các tác nhân độc hại để trích xuất các khóa mã hóa và mật khẩu từ các hệ thống bị xâm nhập. Mặc dù vũ khí hóa các lỗ hổng MDS cuối cùng đòi hỏi khả năng thực thi mã cục bộ, bằng chứng về khái niệm JavaScript tồn tại, khiến cho cuộc tấn công có thể khai thác trên các trang web độc hại. Khi bị khai thác, các tác nhân độc hại có thể trích xuất dữ liệu từ các chương trình khác trên cùng một máy, qua các ranh giới bảo mật, bao gồm các vỏ SGX.

Việc khai thác các lỗ hổng MDS có thể được thực hiện một cách không thể chấp nhận được, đó là, mà không để lại bằng chứng về việc khai thác trong nhật ký hệ thống. Điều này làm cho cặp này khó bị phát hiện trong các cuộc tấn công phần mềm độc hại được nhắm mục tiêu, mặc dù chữ ký phần mềm độc hại đã biết vẫn có thể xác định bằng các phương tiện truyền thống.

Có bao nhiêu biến thể của lỗ hổng MDS tồn tại?

Hiện tại, có bốn CVE được MITER chỉ định. Các lỗ hổng này đã được phát hiện và báo cáo độc lập bởi nhiều nhóm, dẫn đến sự tồn tại của các tên khác nhau và chồng chéo một phần như "ZombieLoad" và "RIDL" để mô tả các lỗ hổng.

Trang thông tin về MDS do Vrije Universiteit Amsterdam công bố lưu ý rằng "Quá trình tiết lộ kéo dài một năm (lâu nhất cho đến nay) cuối cùng đã khiến những người tìm thấy độc lập các lỗ hổng lớp MDS thậm chí gần như không biết về nhau cho đến vài ngày trước đó ngày tiết lộ ngày 14 tháng 5. "

Lấy mẫu dữ liệu bộ đệm lưu trữ vi kiến ​​trúc (MSBDS)

MSBDS, còn được gọi là Fallout (CVE-2018-12126) có thể được sử dụng Kẻ tấn công để lấy thông tin từ bộ đệm lưu trữ bộ xử lý, có chứa ghi vào bộ nhớ gần đây. Các bộ đệm này được sử dụng mỗi khi đường ống CPU ghi dữ liệu vào bộ nhớ. Fallout có thể được sử dụng để phá vỡ ngẫu nhiên bố cục không gian địa chỉ hạt nhân (KASLR) và rò rỉ thông tin nhạy cảm hoặc được bảo vệ.

Lỗ hổng này là dành riêng cho CPU Intel. Mô tả về các lỗ hổng MDS của Red Hat làm nổi bật sự khác biệt ở cấp độ thực thi, như sau:

Các bộ vi xử lý Intel hiện đại thực hiện tối ưu hóa vi mô cấp phần cứng để cải thiện hiệu suất ghi dữ liệu vào bộ nhớ CPU. Hoạt động ghi được chia thành STA ( ST ore A ddress) và STD ( ST ore D ata) các hoạt động phụ. Các hoạt động phụ này cho phép bộ xử lý chuyển logic tạo địa chỉ vào các hoạt động phụ này để ghi tối ưu hóa. Cả hai hoạt động phụ này đều ghi vào cấu trúc bộ xử lý phân tán được chia sẻ được gọi là 'bộ đệm lưu trữ bộ xử lý'.

Bộ đệm lưu trữ bộ xử lý về mặt khái niệm là một bảng địa chỉ, giá trị và 'là hợp lệ'. Vì các hoạt động phụ có thể thực thi độc lập với nhau, nên mỗi hoạt động có thể cập nhật địa chỉ và / hoặc các cột giá trị của bảng một cách độc lập. Điều này có nghĩa là tại các thời điểm khác nhau, địa chỉ hoặc giá trị có thể không hợp lệ.

Bộ xử lý có thể chuyển tiếp các mục nhập từ bộ đệm lưu trữ. Thiết kế phân tách được sử dụng cho phép chuyển tiếp như vậy để sử dụng một cách cụ thể các giá trị cũ, chẳng hạn như địa chỉ sai, trả lại dữ liệu từ một cửa hàng không liên quan trước đó. Vì điều này chỉ xảy ra đối với các tải sẽ được phát hành lại sau độ phân giải lỗi / hỗ trợ, chương trình không bị ảnh hưởng về mặt kiến ​​trúc, nhưng trạng thái bộ đệm lưu trữ có thể bị rò rỉ sang mã độc được chế tạo cẩn thận để lấy dữ liệu này thông qua phân tích kênh bên.

Lấy mẫu dữ liệu cổng tải vi kiến ​​trúc (MLPDS)

MLPDS (CVE-2018-12127) tận dụng "các cổng tải", nhận dữ liệu từ bộ nhớ hoặc hệ thống con I / O, lần lượt cung cấp nó cho các thanh ghi và hoạt động của CPU trong các đường ống CPU.

Một số triển khai của thành phần này giữ lại các giá trị từ các hoạt động cũ. Các giá trị "cũ" này có thể được sử dụng để suy ra nội dung của một quá trình.

Lấy mẫu dữ liệu bộ đệm điền dữ liệu vi mô (MFBDS)

MFBDS (CVE-2018-12130), còn được gọi là RIDL (Tải dữ liệu trên chuyến bay của Rogue), là một lỗ hổng triển khai trong bộ đệm điền vào CPU Intel bởi Red Hat, rủi ro cao nhất trong bốn lỗ hổng MDS được tiết lộ ban đầu.

Bộ đệm điền chứa dữ liệu đã bị mất trong bộ đệm dữ liệu L1 của bộ xử lý, do kết quả của nỗ lực sử dụng giá trị không có. Khi xảy ra lỗi bộ đệm dữ liệu cấp 1 trong lõi Intel, thiết kế bộ đệm điền cho phép bộ xử lý tiếp tục với các hoạt động khác trong khi giá trị được truy cập được tải từ các mức bộ đệm cao hơn. Thiết kế cũng cho phép kết quả được chuyển tiếp đến Đơn vị thực thi, có được tải trực tiếp mà không bị ghi vào bộ đệm dữ liệu cấp 1.

Một hoạt động tải không được tách rời giống như cách lưu trữ, nhưng nó liên quan đến hoạt động của Đơn vị tạo địa chỉ (AGU). Nếu AGU tạo ra lỗi (#PF, v.v.) hoặc hỗ trợ (bit A / D) thì thiết kế Intel cổ điển sẽ chặn tải và sau đó phát hành lại. Trong các thiết kế hiện đại, thay vào đó, nó cho phép các hoạt động đầu cơ tiếp theo tạm thời nhìn thấy giá trị dữ liệu được chuyển tiếp từ vị trí đệm đệm trước khi tải thực sự diễn ra. Do đó, có thể đọc dữ liệu được truy cập gần đây bởi một luồng khác nếu mục nhập bộ đệm điền không bị ghi đè.

Các nhà nghiên cứu đã chứng minh RIDL có khả năng rò rỉ dữ liệu hạt nhân, băm mật khẩu gốc từ / etc / bóng thông qua một nỗ lực xác thực bạo lực và rò rỉ một chuỗi từ một quy trình khác bằng cách sử dụng JavaScript và WebAssugging.

Bộ nhớ không thể lấy mẫu dữ liệu vi kiến ​​trúc (MDSUM)

MDSUM (CVE-2019-11091) là một lỗ hổng trong việc triển khai "bộ đệm lấp đầy" của Intel được sử dụng khi bộ nhớ cache được tạo trên bộ đệm CPU L1. MDSUM có liên quan chặt chẽ với Meltdown, nhắm mục tiêu đọc từ bộ đệm điền dòng thay vì bộ đệm.

Làm cách nào tôi có thể bảo vệ chống lại các cuộc tấn công MDS?

    
        

Các nhà nghiên cứu khuyên bạn nên vô hiệu hóa đa luồng đồng thời, còn được gọi là "Công nghệ siêu phân luồng Intel", họ chỉ ra rằng "giảm đáng kể tác động của các cuộc tấn công dựa trên MDS mà không phải giảm chi phí phức tạp hơn." Các cuộc gọi này đã được lặp lại bởi nhà sản xuất Ubuntu Canonical, cho các hệ thống được sử dụng để thực thi mã độc hại hoặc không có khả năng gây hại.

Intel đã cung cấp các bản cập nhật vi mã CPU cho các nhà cung cấp. Giống như Spectre và Meltdown, các nhà cung cấp này thường cung cấp các bản cập nhật, thông thường dưới dạng BIOS hoặc phần mềm cập nhật firmware cho người dùng, mặc dù tốc độ này được thực hiện thường không nhanh; tương tự, các bản cập nhật BIOS không được áp dụng tự động, tùy thuộc vào người dùng (hoặc, đối với các doanh nghiệp, nhân viên CNTT) để áp dụng chúng. Intel đã công bố một danh sách các bộ xử lý bị ảnh hưởng, với các chi tiết về trạng thái cập nhật vi mã.

Microsoft đã xuất bản các bản cập nhật phần mềm cho Windows, Windows Server và SQL Server như một phần của Vòng vá thứ ba năm 2019, tương tự, Apple đã xuất bản các giảm nhẹ trong Mac OS 10.14.5.

Các bản vá đã được tích hợp trong các hạt nhân Linux 5.1.2, 5.0.16, 4.19.43, 4.14.119 và 4.9.176, với nhà bảo trì Greg Kroah-Hartman lưu ý rằng "bản phát hành này và các bản phát hành ổn định khác đang được phát hành ngay bây giờ cùng lúc, vừa mới đi ra tất cả các bản vá chỉ nhìn thấy 'mắt công chúng' trong khoảng 5 phút, "thêm rằng" Những điều lạ lùng là chúng tôi sẽ sửa một số điều nhỏ trong khu vực này trong vài tuần tới khi mọi thứ thay đổi trên phần cứng và khối lượng công việc thực sự. "

Các dịch vụ điện toán đám mây, như Microsoft Azure, Amazon Web Services và Google Cloud Platform, đang cập nhật các hệ thống để giảm thiểu các vấn đề.

Các lỗ hổng MDS chỉ được biết là ảnh hưởng đến các hệ thống do Intel cung cấp. CPU AMD không bị ảnh hưởng. Các thiết bị iOS sử dụng CPU A-series dựa trên Arm tùy chỉnh của Apple, không bị ảnh hưởng. Các thiết bị Android thường sử dụng CPU dựa trên Arm của Qualcomm, cũng không bị ảnh hưởng.

Để biết thêm, hãy xem phạm vi bảo hiểm của ZDNet về các trạng thái vá cho các cuộc tấn công MDS và tìm hiểu cách vô hiệu hóa đa luồng đồng thời (SMT) trên Lenovo ThinkPads.

                                                                                

                                                

Cũng xem

 intel.jpg "width =" 770 "/> </span><figcaption>
<p>
                                            Emilija Randjelovic, hình ảnh của Getty<br />
                                        </p>
</figcaption></figure>
</p></div>
</pre>
<div class=