Computer Security Concept 777x437 1
Thông tin công nghệ

Một kỹ thuật bảo mật để đánh lừa những kẻ tấn công mạng – Phương pháp bảo vệ thông tin bí mật của chương trình máy tính

Các nhà nghiên cứu chứng minh một phương pháp bảo vệ thông tin bí mật của chương trình máy tính đồng thời cho phép tính toán nhanh hơn.

Các nhà nghiên cứu chứng minh một phương pháp bảo vệ thông tin bí mật của chương trình máy tính đồng thời cho phép tính toán nhanh hơn.

Nhiều chương trình chạy trên cùng một máy tính có thể không truy cập trực tiếp vào thông tin ẩn của nhau, nhưng vì chúng dùng chung phần cứng bộ nhớ nên bí mật của chúng có thể bị chương trình độc hại đánh cắp thông qua “cuộc tấn công kênh phụ định thời gian bộ nhớ”.

Chương trình độc hại này thông báo sự chậm trễ khi nó cố gắng truy cập bộ nhớ của máy tính, vì phần cứng được chia sẻ giữa tất cả các chương trình sử dụng máy. Sau đó, nó có thể giải thích những sự chậm trễ đó để lấy bí mật của chương trình khác, chẳng hạn như mật khẩu hoặc khóa mật mã.

Một cách để ngăn chặn các kiểu tấn công này là chỉ cho phép một chương trình sử dụng bộ điều khiển bộ nhớ tại một thời điểm, nhưng điều này làm chậm quá trình tính toán một cách đáng kể. Thay vào đó, một nhóm các nhà nghiên cứu của MIT đã nghĩ ra một cách tiếp cận mới cho phép tiếp tục chia sẻ bộ nhớ đồng thời cung cấp khả năng bảo mật mạnh mẽ chống lại kiểu tấn công kênh phụ này. Phương pháp của họ có thể tăng tốc các chương trình lên 12 phần trăm khi so sánh với các phương án bảo mật hiện đại.

Ngoài việc cung cấp khả năng bảo mật tốt hơn đồng thời cho phép tính toán nhanh hơn, kỹ thuật này có thể được áp dụng cho một loạt các cuộc tấn công kênh phụ khác nhau nhằm vào các tài nguyên máy tính được chia sẻ, các nhà nghiên cứu cho biết.

“Ngày nay, việc chia sẻ máy tính với người khác là điều rất phổ biến, đặc biệt nếu bạn đang thực hiện tính toán trên đám mây hoặc thậm chí trên thiết bị di động của chính mình. Rất nhiều sự chia sẻ tài nguyên này đang diễn ra. Thông qua các tài nguyên được chia sẻ này, kẻ tấn công có thể tìm kiếm thông tin thậm chí rất chi tiết, ”tác giả cấp cao Mengjia Yan, Trợ lý phát triển nghề nghiệp Homer A. Burnell, Giáo sư về Kỹ thuật Điện và Khoa học Máy tính (EECS), đồng thời là thành viên của Khoa học Máy tính và Phòng thí nghiệm Trí tuệ nhân tạo (CSAIL).

Đồng tác giả chính là nghiên cứu sinh CSAIL Peter Deutsch và Yuheng Yang. Các đồng tác giả khác bao gồm Joel Emer, một giáo sư thực hành tại EECS, và các sinh viên tốt nghiệp CSAIL Thomas Bourgeat và Jules Drean. Nghiên cứu sẽ được trình bày tại Hội nghị Quốc tế về Hỗ trợ Kiến trúc cho Ngôn ngữ Lập trình và Hệ điều hành.

Cam kết với bộ nhớ

Người ta có thể nghĩ về bộ nhớ của máy tính như một thư viện, và bộ điều khiển bộ nhớ như một cánh cửa thư viện. Một chương trình cần đến thư viện để lấy một số thông tin được lưu trữ, vì vậy chương trình đó sẽ mở cửa thư viện rất nhanh để đi vào bên trong.

Có một số cách mà chương trình độc hại có thể khai thác bộ nhớ dùng chung để truy cập thông tin bí mật. Công việc này tập trung vào một cuộc tấn công tranh chấp, trong đó kẻ tấn công cần xác định chính xác thời điểm chương trình nạn nhân đi qua cửa thư viện. Kẻ tấn công làm điều đó bằng cách cố gắng sử dụng cánh cửa cùng một lúc.

“Kẻ tấn công đang chọc vào bộ điều khiển bộ nhớ, cửa thư viện, để nói, ‘bây giờ nó đang bận à?’ Nếu chúng bị chặn vì cửa thư viện đang mở – vì chương trình nạn nhân đã sử dụng bộ điều khiển bộ nhớ – chúng sẽ bị trì hoãn. Nhận thấy sự chậm trễ đó là thông tin đang bị rò rỉ, ”Emer nói.

Để ngăn chặn các cuộc tấn công tranh chấp, các nhà nghiên cứu đã phát triển một kế hoạch “định hình” các yêu cầu bộ nhớ của chương trình thành một mẫu được xác định trước, độc lập với thời điểm chương trình thực sự cần sử dụng bộ điều khiển bộ nhớ. Trước khi một chương trình có thể truy cập bộ điều khiển bộ nhớ và trước khi nó có thể can thiệp vào yêu cầu bộ nhớ của chương trình khác, nó phải trải qua một “trình định dạng yêu cầu” sử dụng cấu trúc đồ thị để xử lý các yêu cầu và gửi chúng đến bộ điều khiển bộ nhớ theo một lịch trình cố định. Loại biểu đồ này được gọi là biểu đồ xoay chiều có hướng (DAG) và sơ đồ bảo mật của nhóm được gọi là DAGguise.

Đánh lừa kẻ tấn công

Sử dụng lịch trình cứng nhắc đó, đôi khi DAGguise sẽ trì hoãn yêu cầu của chương trình cho đến lần tiếp theo nó được phép truy cập bộ nhớ (theo lịch trình cố định) hoặc đôi khi nó sẽ gửi một yêu cầu giả nếu chương trình không cần truy cập bộ nhớ vào lần tiếp theo. khoảng thời gian lịch trình.

“Đôi khi chương trình sẽ phải đợi thêm một ngày để đến thư viện và đôi khi nó sẽ đi khi không thực sự cần thiết. Nhưng bằng cách thực hiện mô hình rất có cấu trúc này, bạn có thể ẩn khỏi kẻ tấn công những gì bạn đang thực sự làm. Deutsch nói:

DAGguise biểu thị các yêu cầu truy cập bộ nhớ của chương trình dưới dạng đồ thị, trong đó mỗi yêu cầu được lưu trữ trong một “nút” và “các cạnh” kết nối các nút là sự phụ thuộc thời gian giữa các yêu cầu. (Yêu cầu A phải được hoàn thành trước yêu cầu B.) Các cạnh giữa các nút – thời gian giữa mỗi yêu cầu – được cố định.

Một chương trình có thể gửi một yêu cầu bộ nhớ tới DAGguise bất cứ khi nào nó cần và DAGguise sẽ điều chỉnh thời gian của yêu cầu đó để luôn đảm bảo tính bảo mật. Bất kể mất bao lâu để xử lý một yêu cầu bộ nhớ, kẻ tấn công chỉ có thể thấy khi nào yêu cầu thực sự được gửi đến bộ điều khiển, điều này xảy ra theo một lịch trình cố định.

Cấu trúc đồ thị này cho phép chia sẻ động bộ điều khiển bộ nhớ. DAGguise có thể thích ứng nếu có nhiều chương trình cố gắng sử dụng bộ nhớ cùng một lúc và điều chỉnh lịch trình cố định cho phù hợp, cho phép sử dụng hiệu quả hơn phần cứng bộ nhớ dùng chung trong khi vẫn duy trì tính bảo mật.

Tăng hiệu suất

Các nhà nghiên cứu đã thử nghiệm DAGguise bằng cách mô phỏng cách nó hoạt động trong một quá trình triển khai thực tế. Chúng liên tục gửi tín hiệu đến bộ điều khiển bộ nhớ, đó là cách kẻ tấn công sẽ cố gắng xác định các kiểu truy cập bộ nhớ của chương trình khác. Họ chính thức xác minh rằng, với bất kỳ nỗ lực nào có thể, không có dữ liệu cá nhân nào bị rò rỉ.

Sau đó, họ sử dụng một máy tính mô phỏng để xem hệ thống của họ có thể cải thiện hiệu suất như thế nào so với các phương pháp bảo mật khác.

“Khi bạn thêm các tính năng bảo mật này, bạn sẽ chạy chậm hơn so với quá trình thực thi thông thường. Deutsch giải thích rằng bạn sẽ phải trả giá cho điều này.

Mặc dù phương pháp của họ chậm hơn so với việc triển khai không an toàn ban đầu, nhưng khi so sánh với các phương thức bảo mật khác, DAGguise đã dẫn đến hiệu suất tăng 12%.

Với những kết quả đáng khích lệ này, các nhà nghiên cứu muốn áp dụng cách tiếp cận của họ cho các cấu trúc tính toán khác được chia sẻ giữa các chương trình, chẳng hạn như mạng trên chip . Họ cũng quan tâm đến việc sử dụng DAGguise để định lượng mức độ đe dọa của một số loại tấn công kênh bên, trong nỗ lực hiểu rõ hơn về sự cân bằng hiệu suất và bảo mật, Deutsch nói.

Công trình này được tài trợ một phần bởi Quỹ Khoa học Quốc gia và Văn phòng Nghiên cứu Khoa học Không quân.

Theo Scitechdaily

What's your reaction?

Excited
0
Happy
0
In Love
0
Not Sure
0

You may also like

Leave a reply

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Website này sử dụng Akismet để hạn chế spam. Tìm hiểu bình luận của bạn được duyệt như thế nào.