Blog

Một lỗi trong kiến trúc CPU có thể khiến hàng triệu máy tính mất đi lớp bảo vệ trước các hacker

26/02/2017 - 07:01

Theo các nhà nghiên cứu, để sửa chữa hoàn toàn vấn đề này, cách triệt để nhất là thay thế toàn bộ chip với kiến trúc mới, một điều gần như không thể trong hiện tại.

 

Trong hàng thập kỷ nay, các hacker phải đối mặt với một thách thức khó khăn khi họ muốn đột nhập vào một chiếc máy tính: Ngay cả khi hacker đã làm cho các mã độc chạy trên các máy tính của nạn nhân, họ vẫn phải hình dung xem mã code trú ngụ ở nơi nào trong bộ nhớ máy tính.

Đó là bởi vì có một lớp bảo mật được sử dụng trong Windows, Android và mọi hệ điều hành khác nhằm ngẫu nhiên hóa nơi chương trình chạy trên bộ nhớ thiết bị. Nhờ lớp bảo vệ này, việc hacker xâm nhập kỹ thuật số vào một máy tính sẽ giống như một tên trộm phải mò mẫm vào một căn nhà trong đêm tối vậy.

Nhưng giờ, một nhóm các nhà nghiên cứu bảo mật Hà Lan đã tìm ra một kỹ thuật có thể đánh bại thách thức về sự ngẫu nhiên trong lớp không gian địa chỉ (ASLR: address space layout randomization), giúp hacker có thể tự định hướng cho mình bên trong một máy tính của người lạ. Điều này có nghĩa là bất cứ một lỗi sai hỏng thường thấy nào của bộ nhớ trong các ứng dụng phần mềm, đều có thể dẫn tới việc chiếm đoạt sâu hơn một chiếc máy tính PC hay smartphone mục tiêu.

Nguy hiểm hơn, khi cách tấn công khai thác này không phải bằng phần mềm mà là phần cứng - do một lỗi kiến trúc chip, do vậy nó không thể sửa chữa hoàn toàn bằng bất kỳ bản cập nhật phần mềm nào – có nghĩa là hàng triệu máy tính hiện tại với bất kỳ hệ điều nào đều chịu rủi ro bị tấn công bằng phương pháp này.

 

Trở lại về ASLR

Lỗi có ở khắp mọi nơi, nhưng ASLR là phương pháp giảm nhẹ làm cho các lỗi đó khó bị khai thác.” Ben Gras, một nhà nghiên cứu tại Đại học Tự do Amsterdam cho biết. Ben Gras cũng là người cùng với đồng nghiệp của mình, Kaveh Razavi, phát triển phương pháp tấn công trên. “Kỹ thuật này làm cho các lỗi vốn không thể khai thác nay lại trở thành có thể. Hay nói cách khác, nó sẽ đưa chúng ta quay trở lại những năm 90 về vấn đề bảo mật.”

Theo các nhà nghiên cứu, kỹ thuật tấn công của họ là đặc biệt nguy hiểm bởi vì những kẻ tấn công có thể thực hiện nó chỉ bằng đoạn mã javascript, nghĩa là chỉ cần ghé thăm một trang web độc hại cũng đủ để kích hoạt cuộc tấn công đó. Nhóm hai nhà nghiên cứu này, còn được biết với tên VUSec, đã phát hành một đoạn video trình diễn trên Firefox để cho thấy kỹ thuật này thực hiện như thế nào.

Chưa có ai từng làm việc này trước đây trong phạm vi của một trang web.” Yossi Oren, một nhà nghiên cứu tại Đại học Ben Gurion, người chuyên về bảo mật vi cấu trúc cho biết. “Đây là một ví dụ rất thông minh và quỷ quyệt của lớp tấn công này.”

Trong khi nó rất khó để sửa chữa, nó lại rất dễ để triển khai. Kỹ thuật của VUSec khai thác các đặc tính sâu nhất của phần cứng máy tính, các bộ vi xử lý được làm bởi các công ty như Intel, AMD, Nvidia hay Samsung. Theo các nhà nghiên cứu, để làm lớp bảo vệ ASLR hoàn toàn hiệu quả trở lại, có thể sẽ đòi hỏi không chỉ một hệ điều hành nhanh hay cập nhật trình duyệt, mà còn phải thiết kế lại và thay thế các con chip.

 

Bẻ khóa két an toàn

Cuộc tấn công khai thác cách tương tác giữa các bộ vi xử lý và bộ nhớ: Các bộ vi xử lý có một bộ phận được gọi là bộ quản lý bộ nhớ (MMU – Memory Management Unit), nhằm sắp xếp vị trí lưu trữ của chương trình máy tính trong bộ nhớ. Để theo dõi các địa chỉ đó MMU thường xuyên kiểm tra một thư mục được gọi là bảng trang (page table).

Điều quan trọng với kỹ thuật hack của VUSec là thiết bị thường xuyên lưu trữ bảng trang trong bộ nhớ đệm của bộ xử lý – một mẩu bộ nhớ nhỏ để giữ các thông tin truy cập thường xuyên gần với các lõi điện toán của nó. Điều này làm con chip nhanh hơn và hiệu quả hơn.


Vị trí bộ nhớ đệm (Cache) trên chip Core i7-3960X của Intel.

Vị trí bộ nhớ đệm (Cache) trên chip Core i7-3960X của Intel.

Nhưng một đoạn code javascript độc hại chạy trên website cũng có thể viết lên bộ nhớ đệm. Nghiêm trọng hơn, nó có thể đồng thời quan sát được MMU hoạt động nhanh như thế nào. “Bằng cách giám sát chặt chẽ MMU, đoạn mã javascript có thể tìm hiểu về các địa chỉ riêng của phần mềm trong bộ nhớ, một điều đáng nhẽ không được phép.” Gras cho biết.

Cuộc tấn công của các nhà nghiên cứu tại VUSec sử dụng tốc độ của MMU để phát hiện các đầu mối về vị trí chương trình. Đoạn mã tấn công ghi đè lên bộ nhớ đệm, một bộ phận của bộ nhớ trong một thời gian nào đó, cho đến khi nó thấy MMU đang chậm lại. đó là một dấu hiệu rằng phần của bộ nhớ đệm vừa bị ghi đè là một phần của bảng trang mà MMU đang tìm kiếm – MMU chậm lại bởi vì nó phải quay trở lại một bản sao của bảng trang trong bộ nhớ truy xuất ngẫu nhiên thông thường thay vì bộ nhớ đệm của bộ xử lý.

MMU phải thực hiện kiểm tra bốn bảng trang riêng biệt nhau để tìm ra địa chỉ thực của bất kỳ đoạn code nào. Vì vậy cuộc tấn công sẽ ghi đè lên bộ nhớ 4 lần, để tìm ra bốn nơi trong bộ nhớ đệm có một phần của bảng trang. Mỗi lần, chương trình độc hại sẽ ghi lại thời điểm MMU chậm lại.

Khoảng thời gian MMU bắt đầu chậm lại sẽ là một gợi ý về vị trí riêng của đoạn code độc hại trong bộ nhớ đệm. Vì vậy, đây cũng là vị trí của nó trên RAM, khi thiết bị sao chép đoạn mã độc hại đó từ bộ nhớ đệm sang bộ nhớ khác như RAM – đó chính là thông tin mà ASLR muốn giấu nó khỏi các hacker.

Cuộc tấn công này gần giống như cách bẻ khóa các tủ an toàn kiểu cũ, khi kẻ trộm dùng ống nghe để nghe tiếng click nhẹ trong khi từ từ vặn chiếc khóa số của két sắt. “Bộ nhớ đệm giống như các răng cưa trong tủ an toàn, chúng sẽ tạo ra những tiếng click nhẹ cho phép bạn có thể bẻ khóa nó.” Gras cho biết.

 

Một lỗi quá sâu để sửa

Gras cho biết VUSec đã tìm đến Trung tâm An ninh mạng Quốc gia của Hà Lan, để liên lạc với tất cả các nhà sản xuất chip và các công ty phần mềm bị ảnh hưởng – bao gồm cả Intel, AMD, Samsung, Nvidia, Microsoft, Apple, Google, và Mozilla – từ hơn ba tháng trước, nhưng các nhà nghiên cứu chỉ công bố phát hiện của mình sau khi đưa cho các công ty một khung chuẩn để giải quyết chúng.

Các nhà nghiên cứu không phát hành đoạn mã để trình diễn cuộc tấn công. Nhưng họ cảnh báo rằng những tên hacker có trình độ có thể chỉ cần vài tuần để thực hiện kỹ thuật đảo ngược từ những gì họ công bố qua đoạn video.

Trong khi đó, Gras đề xuất một số giải pháp tức thời như: Bạn có thể kích hoạt các plug-in, như NoScript cho Firefox hay ScriptSafe cho Chrome, để chặn javascript trên các trình duyệt web. Và các nhà phát hành trình duyệt có thể giảm một cách tương đối sự chính xác của các biện pháp đo thời gian trong các đoạn script, chặn không cho chúng theo dõi thời gian của MMU.

Ít nhất đã có một công ty tìm ra biện pháp giảm nhẹ mối nguy hiểm này. Apple đã công bố một bản cập nhật phần mềm được thiết kế để “khóa cứng” Safari nhưng họ không tiết lộ chính xác bản cập nhật đó làm những gì. Phát ngôn viên của Apple cho biết rằng công ty đã phân phát một kế hoạch hành động tới những nhà cung cấp bị ảnh hưởng khác – như các công ty tạo nên con chip mà họ sử dụng.

Để sửa chữa hoàn toàn lỗi này cần thay thế toàn bộ phần cứng, chứ không chỉ phần mềm. Các thiết bị sẽ cần kiến trúc chip mới để phân tách MMU và bảng trang của mình khỏi bộ nhớ đệm của vi xử lý. “Bởi vì nó là một lớp quá cơ bản, các lớp phần mềm phía trên có thể làm nó trở nên khó bị khai thác hơn, nhưng nó không hoàn toàn triệt để.” Gras cho biết.

Trong khi đó, Intel, Microsoft và Mozilla lại đang làm đánh giá thấp vấn đề này. “Chúng tôi xác định rằng nó không đại diện cho một vấn đề về bảo mật.” Email từ bộ phận PR của Microsoft gửi tới trang Wired cho biết. Còn Intel cho biết rằng, nghiên cứu này “không đại diện cho một thay đổi đáng kể về bảo mật trong hệ thống dựa trên kiến trúc của Intel.”

Phát ngôn viên từ ba công ty lớn chỉ ra rằng, cuộc tấn công chỉ đại diện cho một mối đe dọa khi nó được kết hợp với một lỗi sai hỏng bộ nhớ khác. Ngoài ra, Samsung, Nvidia, AMD và Google không phản hồi yêu cầu bình luận của Wired.

Tuy nhiên, một điều có thể làm bạn yên tâm hơn, khi Microsoft và Intel đều chỉ ra rằng đánh bại riêng lớp ASLR không cho phép ai đó hack được hệ điều hành. Với việc phá vỡ ASLR, các hacker có thể quay lại để săn tìm các lỗi sai hỏng bộ nhớ phổ biến, vốn đã được ASLR làm cho vô dụng trước đây.

Nếu các hãng công nghệ không xem xét cuộc tấn công ASLR này một cách nghiêm túc, có thể ta sẽ sớm được chứng kiến vô số cách mới để hack hàng triệu máy tính của những người vô tội, khi họ không may click nhầm vào một trang web độc hại. “Những kẻ tấn công đang trở nên thông minh hơn.” Oren cho biết. “Nếu các máy tính trở nên ngu ngốc hơn, những kẻ tấn công sẽ chiếm được lợi thế.”

Theo genk.vn

Nguồn: Wired

Tin liên quan