Computer >> Máy Tính >  >> Hệ thống >> MAC

Cách hộp cát ứng dụng macOS bảo vệ người dùng

Cách hộp cát ứng dụng macOS bảo vệ người dùng

Được giới thiệu vào năm 2007 và bắt buộc phải có vào năm 2012, sandboxing là một công cụ được macOS sử dụng để hạn chế thiệt hại mà một ứng dụng bị xâm nhập có thể gây ra. Apple cho biết, “Mặc dù App Sandbox không ngăn chặn các cuộc tấn công chống lại ứng dụng của bạn, nhưng nó giảm thiểu tác hại mà một ứng dụng thành công có thể gây ra. Hộp cát ứng dụng macOS bảo vệ người dùng bằng cách hạn chế mức độ rắc rối mà ứng dụng có thể gây ra.

Hộp cát ứng dụng macOS là gì?

Mỗi ứng dụng có một khu vực riêng để chơi:một “hộp cát”. Nếu ứng dụng muốn tiếp cận bên ngoài hộp cát của nó, nó cần phải xin phép hệ điều hành. Tùy thuộc vào cài đặt hộp cát, Hệ điều hành sẽ từ chối hoặc chấp thuận yêu cầu của ứng dụng trong khi cung cấp thông tin cụ thể nhất có thể để hoàn thành yêu cầu.

Cách hộp cát ứng dụng macOS bảo vệ người dùng

Hãy nghĩ về một chiếc xe hơi. Người lái xe được bảo vệ bởi nhiều tính năng an ninh như chống phá khóa, túi khí, vùng va chạm, v.v. Vào năm 2007, thời điểm ứng dụng Sandboxing được giới thiệu, không có hệ thống máy tính tương tự nào tồn tại. Như phần giới thiệu đã hỏi, dây an toàn cho máy tính được đặt ở đâu? Sandboxing bảo vệ người dùng giống như ô tô bảo vệ tài xế của họ:gặp sự cố với hệ thống giảm thiệt hại. Cho dù gây ra bởi hoạt động độc hại hay lỗi mã hóa, thiệt hại sẽ giảm xuống.

Bởi vì hộp cát giới hạn những gì ứng dụng có thể làm, nó có thể hạn chế quyền tự do của nhà phát triển. Ứng dụng hộp cát chạy chậm hơn và mất nhiều thời gian hơn để phát triển. Nhờ khả năng to lớn của Mac, giới hạn hộp cát có thể có tác động rất lớn đến khả năng tương thích của các ứng dụng khác nhau. Do đó, người dùng thành thạo thường bị thúc đẩy chọn các ứng dụng chạy bên ngoài hộp cát, vì các vấn đề về hiệu suất hoặc tính năng.

App Sandboxing hoạt động như thế nào?

Sandboxing dựa trên nguyên tắc ít đặc quyền nhất. Nói tóm lại, các hệ thống có thể làm những gì chúng cần làm nhưng không cần làm nữa. Bằng cách giới hạn mỗi phần của hệ thống chỉ hoàn thành mục tiêu đã tuyên bố, bạn sẽ giảm nguy cơ ứng dụng của mình bị tấn công. Ví dụ:không có lý do gì để ứng dụng đèn pin có quyền truy cập vào danh sách liên hệ của bạn.

Các ứng dụng có thể truy cập bên ngoài hộp cát của chúng nhưng chỉ với sự cho phép của hệ điều hành. Chọn hộp thoại “Lưu và mở” trong macOS. Ứng dụng, bên trong hộp cát của nó, không thể truy cập trực tiếp vào tài nguyên hệ thống tệp trên ổ cứng của bạn. Ví dụ, nó không thể vẽ một bảng điều khiển mở tại “~ / Documents”. Thay vào đó, ứng dụng phải hỏi API Powerbox với NSOpenPanelNSSavePanel các lớp để truy cập bảng điều khiển.

Cách hộp cát ứng dụng macOS bảo vệ người dùng

Ứng dụng không thể xem trực tiếp những gì đang xảy ra bên trong Powerbox. Chỉ tệp đã mở hoặc đã lưu mới có thể truy cập được vào ứng dụng. Bằng cách này, các ứng dụng có thể thực hiện các chức năng quan trọng mà không gặp rủi ro không đáng có.

Chức năng đó được kích hoạt bởi một quyền (cụ thể là com.apple.security.files.user-selected.read-write ). Các nhà phát triển ứng dụng thiết lập các quyền tuyên bố những gì một ứng dụng thực hiện. Dựa trên các quyền được khai báo, hệ điều hành cho phép ứng dụng có mức chức năng giới hạn thích hợp.

Quá trình suy nghĩ này làm nền tảng cho toàn bộ mô hình và cơ chế hộp cát ứng dụng:ứng dụng phải tuyên bố ý định và xin phép người chủ cấp hệ điều hành để thực hiện bất kỳ điều gì nguy hiểm.

Ứng dụng hộp cát so với Ứng dụng không hộp cát

Kể từ ngày 1 tháng 6 năm 2012, tất cả các ứng dụng của bên thứ ba được phân phối qua Mac App Store phải được đóng hộp cát. Mặc dù hộp cát cho phép một loạt các chức năng ứng dụng, bạn sẽ thấy rằng các ứng dụng Mac App Store thường bị hạn chế hơn so với các thành phần không có hộp cát của chúng. Một số nhà phát triển thậm chí còn duy trì hai phiên bản:một ứng dụng có đầy đủ tính năng để tải xuống trực tiếp và một phiên bản giả dành cho Mac App Store. Nhờ sự phức tạp hơn của việc phát triển hộp cát, việc thêm chức năng mới vào ứng dụng sẽ khó hơn - nếu chức năng đó thậm chí còn được HĐH cho phép.

Mặc dù các ứng dụng hộp cát có thể nhận được lợi ích từ việc phân phối Mac App Store, nhưng bạn có thể đoán chúng tôi nghĩ rằng điều đó có giá trị như thế nào. Sandboxing cũng có thể được mở rộng với các quyền bảo mật. Mặc dù một ứng dụng không thể tự bật quyền Hỗ trợ tiếp cận nhưng nó có thể yêu cầu người dùng làm như vậy.

Cách hộp cát ứng dụng macOS bảo vệ người dùng Cách hộp cát ứng dụng macOS bảo vệ người dùng

Để xem ứng dụng nào của bạn có hộp cát, hãy mở Trình theo dõi hoạt động và nhấp chuột phải vào tiêu đề cột để thêm “Hộp cát” vào cửa sổ.

Cách hộp cát ứng dụng macOS bảo vệ người dùng

Có một số ứng dụng có thể không bao giờ tồn tại trong hộp cát. Trên thực tế, một loạt các trường hợp sử dụng có giá trị được ngăn chặn bằng cách đóng hộp cát. Hộp cát ngăn chặn giao tiếp, quan sát hoặc sửa đổi giữa các ứng dụng, hạn chế đáng kể cách các ứng dụng có thể tương tác. Các phím tắt trên toàn hệ thống như TextExpander hoàn toàn bị cấm, vì mức chức năng đó có thể được hộp cát cho phép.

Kết luận

Mặc dù đầy hứa hẹn, nhưng hộp cát ứng dụng macOS không được thực thi tốt. Nó hạn chế các điểm bán hàng độc nhất của ứng dụng Mac, như tốc độ và chức năng nâng cao. Các ứng dụng chạy bên ngoài hộp cát hầu như luôn có nhiều khả năng hơn và nhanh hơn. Từ quan điểm của người dùng thành thạo này, các ứng dụng được sử dụng nhiều nhất của tôi không có hộp cát. Các ứng dụng như TextExpander, SnagIt và TotalFinder đều rất quan trọng đối với công việc hàng ngày của tôi. Để tránh tình trạng tránh phổ biến tương tự, các hệ thống bảo mật trong tương lai cần có tính linh hoạt và sức mạnh cân bằng với tính minh bạch.