Hướng dẫn Isoline
Cô lập hồ sơ trình duyệt: những gì thực sự được tách riêng?
Cô lập hồ sơ có thể tách dữ liệu trình duyệt và giảm nhầm tài khoản, nhưng không tự động tách thiết bị, mạng, tệp tải xuống hoặc mọi tiến trình.
“Hồ sơ riêng” nghe có vẻ chính xác cho đến khi quy trình phụ thuộc vào nó. Một sản phẩm có thể chỉ nói đến thư mục khác. Sản phẩm khác thêm giám sát tiến trình, chính sách mạng theo hồ sơ, mã hóa, khóa, sao lưu và quyền nhóm. Chỉ riêng nhãn đó không bảo đảm bất kỳ tổ hợp ranh giới cụ thể nào.
Vì thế, câu hỏi thực tế là: tách khỏi cái gì, chống lỗi hoặc tác nhân nào, và có bằng chứng gì?
Bốn ranh giới dễ nhầm
| Ranh giới | Tách những gì | Không chứng minh điều gì |
|---|---|---|
| Origin web | Kho dữ liệu mà script của một origin đọc được với origin khác | Tách hai lần đăng nhập cùng trang trong một hồ sơ |
| Hồ sơ trình duyệt | Tập dữ liệu trình duyệt gắn với một hồ sơ | Bảo vệ trước người khác truy cập được cùng tài khoản hệ điều hành |
| Site Isolation và sandbox | Nội dung web từ các site khác nhau trong tiến trình kết xuất bị hạn chế | Bản cài trình duyệt hoặc ngăn xếp mạng riêng cho từng hồ sơ |
| Tài khoản hệ điều hành, container hoặc máy ảo | Tệp, tiến trình, thông tin xác thực và đôi khi chính sách mạng ở ranh giới hệ thống | Tự động tách tài khoản bên trong trình duyệt nếu chưa cấu hình |
Các lớp giải quyết vấn đề khác nhau. Quy tắc cùng origin của web ngăn script thông thường ở một origin đọc kho dữ liệu của origin khác. Mô hình bảo mật Site Isolation của Chromium thêm ranh giới tiến trình kết xuất trong sandbox giữa các site. Hồ sơ trình duyệt gom dữ liệu của một người hoặc quy trình. Tài khoản hệ điều hành hay máy ảo giải quyết mối đe dọa từ người trên máy hoặc nhu cầu cô lập máy chủ mạnh hơn.
Không dùng tuyên bố về một lớp làm bằng chứng cho lớp khác.
Hồ sơ trình duyệt lưu lâu dài thường tách những gì
Chromium ghi rằng thư mục dữ liệu người dùng chứa dữ liệu như lịch sử, dấu trang và cookie; mỗi hồ sơ là thư mục con trong thư mục dữ liệu người dùng. Hướng dẫn hồ sơ Chrome cũng nói hồ sơ giữ riêng dấu trang, lịch sử, mật khẩu và cài đặt.
Với hồ sơ công việc lưu lâu dài, ranh giới dữ liệu dự kiến thường gồm:
| Dữ liệu | Tác dụng thực tế của việc tách |
|---|---|
| Cookie và trạng thái xác thực | Đăng nhập dịch vụ trong hồ sơ A không nên làm hồ sơ B đăng nhập qua cùng kho cookie |
| Local storage và cơ sở dữ liệu trang | Dữ liệu ứng dụng web giữ cục bộ thuộc hồ sơ đã tạo nó |
| HTTP cache và Cache Storage | Phản hồi dùng lại và dữ liệu ứng dụng ngoại tuyến thường không chuyển sang hồ sơ khác |
| Lịch sử, dấu trang và trạng thái phiên đang mở | Bản ghi điều hướng và địa chỉ đã lưu gắn với đúng quy trình |
| Quyền trang web | Quyết định camera, micro, thông báo, vị trí và quyền liên quan có thể khác theo hồ sơ |
| Tiện ích và dữ liệu tiện ích | Tiện ích đã cài, cài đặt và quyền được cấp có thể quản lý theo hồ sơ |
| Mật khẩu và tự động điền | Thông tin xác thực, dữ liệu biểu mẫu lưu cục bộ ở hồ sơ đã chọn, tùy đồng bộ tài khoản đang bật |
Vị trí vật lý khác theo nền tảng. Tài liệu Chromium lưu ý đường dẫn cache có thể được suy ra từ đường dẫn hồ sơ và nằm trong vị trí cache của hệ điều hành thay vì cạnh dữ liệu còn lại. Tài liệu cũng phân biệt dữ liệu hồ sơ với dữ liệu cục bộ khác theo bản cài đặt nằm trong thư mục dữ liệu người dùng. Thiết kế cô lập đáng tin vì vậy phải theo dõi mọi đường dẫn thuộc quyền quản lý và ghi rõ dữ liệu cài đặt dùng chung, không coi một thư mục hồ sơ nhìn thấy là toàn bộ ranh giới.
Ranh giới thư mục vẫn cần kiểm soát vòng đời
Đường dẫn dữ liệu riêng chỉ tránh dùng nhầm dữ liệu khi mỗi lần mở nhận đúng đường dẫn. Chromium cũng lưu ý hai instans Chrome đang chạy không thể dùng an toàn cùng một thư mục dữ liệu người dùng. Hệ thống quản lý hồ sơ cần làm rõ quy tắc vòng đời:
- gán thư mục lưu trữ gốc riêng cho mỗi hồ sơ;
- ngăn hai bên ghi mở cùng dữ liệu lưu lâu dài;
- nhận diện tiến trình thuộc lần khởi chạy;
- dừng hoặc khôi phục các tiến trình như một vòng đời thống nhất;
- hoàn tất ghi trước sao lưu hoặc chuyển đổi; và
- phát hiện tắt chưa hoàn chỉnh trước lần mở tiếp.
Thiếu các kiểm soát đó, “thư mục riêng” vẫn có thể dẫn đến mở nhầm hồ sơ, khóa cũ còn sót, sao chép dở hoặc hỏng dữ liệu sau gián đoạn.
Hồ sơ trình duyệt không tự động tách những gì
Truy cập cục bộ
Chrome cảnh báo bất kỳ ai có quyền vào thiết bị đều có thể chuyển sang hồ sơ Chrome khác và xem thông tin như trang đã truy cập. Hướng dẫn là chỉ dùng chung thiết bị với người bạn tin cậy. Bộ chọn hồ sơ thông thường tổ chức người dùng tin cậy; nó không kiểm soát truy cập chống lại người dùng khác của cùng tài khoản hệ điều hành.
Nếu rủi ro gồm người tại máy tò mò hoặc ác ý, dùng tài khoản hệ điều hành riêng, kiểm soát thiết bị hoặc ranh giới thực thi mạnh hơn. Mã hóa hồ sơ và chính sách mở khóa có thể giảm lộ dữ liệu khi lưu, nhưng vẫn phải xem thiết kế, lưu khóa, đường khôi phục và hành vi khi đã mở khóa.
Tệp thực thi trình duyệt và đường cập nhật
Nhiều hồ sơ có thể nằm dưới cùng thư mục dữ liệu Chromium. Chúng thường dựa vào cùng trình duyệt đã cài và bộ cập nhật. Dữ liệu hồ sơ riêng không tạo hành vi vá bảo mật riêng.
Thành phần dùng chung có thể có lợi vì một trình duyệt được bảo trì dễ cập nhật nhất quán hơn. Đồng thời, build cũ hoặc bị xâm phạm ảnh hưởng mọi hồ sơ dùng nó. Mức cập nhật, kiểm tra chữ ký và an toàn khi quay về phiên bản trước cần nằm trong đánh giá cô lập.
Định danh mạng
Tạo hồ sơ mới tự nó không đổi IP công khai, đường DNS, mạng cục bộ hoặc proxy phía trên. Hồ sơ trên cùng thiết bị thường dùng cùng tuyến mạng trừ khi trình duyệt, tiện ích, chính sách hệ điều hành hoặc trình quản lý cấu hình khác.
Nếu quy trình cần proxy theo hồ sơ, kiểm chứng nhiều hơn địa chỉ đã cấu hình. Thử xác thực, xử lý DNS, WebSocket và giao thức khác, tuyến dự phòng khi lỗi, cùng hành vi trước khi proxy sẵn sàng. Kết nối vẫn đi trực tiếp khi lỗi có thể phá ranh giới mạng dự kiến dù cấu hình proxy lưu trong hồ sơ là đúng.
Đặc điểm thiết bị và môi trường
Hồ sơ có cookie, cài đặt khác nhưng vẫn có thể lộ đặc điểm của cùng trình duyệt, hệ điều hành, phần cứng, màn hình, cấu hình ngôn ngữ và mạng. W3C mô tả fingerprint là nhận diện lại qua đặc điểm quan sát được; hướng dẫn fingerprint liệt kê header yêu cầu, IP, kích thước cửa sổ, phông chữ, thiết bị kết nối, hiệu năng, cảm biến và kết xuất đồ họa là đầu vào có thể dùng.
Tách hồ sơ có thể tránh dùng lại dữ liệu. Nó không làm thiết bị không thể nhận diện, bảo đảm fingerprint khác hoặc bảo đảm truy cập bất kỳ dịch vụ bên thứ ba nào.
Tệp ngoài hồ sơ
Tệp tải xuống thường rời vùng lưu trữ của hồ sơ và đi vào thư mục người dùng thông thường. Tài liệu xóa dữ liệu Chrome làm rõ: xóa lịch sử tải xuống không xóa tệp đã tải.
Tải lên tạo rủi ro chiều ngược lại. Hộp chọn tệp có thể cho nhiều hồ sơ thấy cùng hệ thống tệp máy chủ. Nội dung bảng nhớ tạm, dữ liệu kéo thả, đầu ra in, ảnh chụp màn hình và thông báo hệ điều hành cũng có thể vượt ranh giới hồ sơ trừ khi sản phẩm xung quanh hoặc hệ điều hành giới hạn chúng.
Chọn và ghi rõ chính sách tải xuống. Tùy chọn gồm thư mục riêng theo hồ sơ, thư mục làm việc tạm thời, xuất có chủ đích hoặc ranh giới container mạnh hơn. Lựa chọn tùy mục tiêu là tránh nhầm, bảo vệ bí mật hay cô lập công việc không tin cậy lẫn nhau.
Tài khoản đám mây và đồng bộ
Dữ liệu tách riêng trên đĩa vẫn có thể được sao chép qua dịch vụ đồng bộ đang bật. Mật khẩu, dấu trang, cài đặt hoặc mục lịch sử có thể xuất hiện nơi khác vì hồ sơ nối với tài khoản đồng bộ nhóm dữ liệu đó. Ví dụ, Chrome cho người đã đăng nhập chọn thông tin hồ sơ lưu vào Tài khoản Google.
Xem đồng bộ là ranh giới tin cậy khác. Ghi dữ liệu nào tải lên, được mã hóa thế nào, ai được cấp quyền thiết bị mới, cách lan truyền xóa và khôi phục có thể trộn dữ liệu sai hồ sơ hay không.
Site Isolation là kiểm soát bảo mật khác
Site Isolation của Chromium đặt trang từ các site khác nhau vào tiến trình kết xuất sandbox khác nhau trên nền tảng được hỗ trợ. Điều đó giảm khả năng tiến trình kết xuất của một site bị xâm phạm lấy dữ liệu nhạy cảm thuộc site khác.
Bảo vệ này hoạt động bên trong phiên trình duyệt. Nó không trả lời hai hồ sơ công việc có thư mục dữ liệu gốc riêng, quyền quản lý vòng đời riêng, proxy khác, sao lưu độc lập hoặc quyền nhóm khác hay không. Ngược lại, sản phẩm có thể tạo thư mục dữ liệu riêng mà vẫn dựa vào sandbox site thông thường để đối phó nội dung web độc hại.
Cả hai kiểm soát đều quan trọng. Cần kiểm thử và mô tả riêng.
Hồ sơ lâu dài, phiên Ẩn danh hay hồ sơ dùng một lần?
Chế độ Ẩn danh của Chrome tạm giữ cookie và dữ liệu trang khi phiên riêng tư đang mở; sau khi kết thúc, không giữ dữ liệu trang hoặc bản ghi trang đã truy cập. Google cũng nói Ẩn danh không đổi cách trang đã truy cập và dịch vụ của họ thu thập dữ liệu.
Vì vậy, Ẩn danh hữu ích cho phiên ngắn trên thiết bị tin cậy. Nó khó thay hồ sơ công việc bền vững khi cần bộ tiện ích nhất quán, dữ liệu có thể khôi phục, người phụ trách hoặc bàn giao có kiểm soát.
Hồ sơ được quản lý dùng một lần có thể kết hợp chính sách dữ liệu tạm với kiểm soát mở, mạng và dọn dẹp rõ ràng. Việc xóa vẫn cần bằng chứng. Trình quản lý cần xác minh đường dẫn và thông tin xác thực thuộc hồ sơ đã bị xóa, đồng thời chỉ rõ tệp hoặc bản ghi còn giữ ngoài hồ sơ vì lý do audit hay pháp lý.
Khôi phục là một phần của cô lập
Cô lập có thể thất bại qua khôi phục cũng như qua mở hồ sơ. Sao chép khi hồ sơ đang chạy có thể lấy lẫn trạng thái cơ sở dữ liệu cũ và mới. Khôi phục vào sai định danh có thể trộn hai quy trình. Mở dữ liệu do trình duyệt mới ghi bằng build cũ có thể gây vấn đề tương thích; Chromium duy trì quy tắc hạ phiên bản và tương thích dữ liệu người dùng.
Thiết kế khôi phục cần chứng minh:
- bản sao lưu thuộc một định danh hồ sơ bất biến;
- snapshot được chụp tại điểm vòng đời nhất quán;
- bí mật vẫn được bảo vệ trong kho lưu trữ và khi khôi phục;
- phiên bản trình duyệt tương thích dữ liệu phục hồi;
- khôi phục không âm thầm gộp với hồ sơ hiện có; và
- gián đoạn có thể quay về trạng thái tốt gần nhất.
Cache thường thay được. Dấu trang, dữ liệu cục bộ do người dùng tạo, thông tin xác thực, dữ liệu tiện ích và metadata audit có thể không thay được. Chính sách khôi phục cần phân biệt chúng.
Bài kiểm thử cô lập thực tế
Xét nhóm QA có quyền kiểm thử hai tenant của cùng ứng dụng web. Tenant A và B phải độc lập.
Với mỗi hồ sơ, nhóm có thể ghi ma trận thử nhỏ:
- Đăng nhập, đặt tùy chọn, cấp quyền trang và đăng ký dữ liệu ứng dụng ngoại tuyến trong hồ sơ A.
- Mở cùng origin trong hồ sơ B và xác nhận dữ liệu xác thực, dữ liệu cục bộ của A không có.
- Cấu hình tuyến mạng dự kiến cho B, rồi kiểm chứng yêu cầu thông thường và hành vi lỗi trước khi nhập thông tin xác thực.
- Tải tệp đánh dấu không gây hại từ mỗi hồ sơ, xác nhận tệp ở đâu và ai đọc được.
- Làm gián đoạn một lần mở, mở lại và xác minh dữ liệu không chuyển sang hồ sơ kia.
- Sao lưu, khôi phục A dưới định danh thử mới, rồi xác nhận B không đổi.
Đây là kiểm thử hành vi quan sát được. Ảnh chụp hai cửa sổ khác màu không làm được điều đó.
Câu hỏi trước khi dựa vào khả năng cô lập
- Chính xác nhóm dữ liệu nào thuộc từng hồ sơ?
- Có đường dẫn dữ liệu hoặc cache ngoài thư mục chính không?
- Hai lần mở có thể ghi cùng hồ sơ không, và ngăn bằng cách nào?
- Tiến trình hoặc dịch vụ trình duyệt nào dùng chung?
- Chính sách mạng có được gắn trước yêu cầu đầu tiên và chặn kết nối khi không bảo đảm được không?
- Tệp tải xuống, tải lên, bảng nhớ tạm và thông báo vượt ranh giới ở đâu?
- Ai được mở khóa, xuất, sao chép, khôi phục hoặc xóa hồ sơ?
- Khóa mã hóa được lưu và phục hồi thế nào?
- Đồng bộ có thể trộn dữ liệu giữa hồ sơ hoặc thiết bị không?
- Có bằng chứng gì về crash, nâng phiên bản, sao lưu và quay lại phiên bản trước?
Chọn theo quyết định cần đưa ra
Dùng hồ sơ trình duyệt thông thường khi mục tiêu chính là tổ chức, tách tài khoản trên thiết bị do người tin cậy kiểm soát. Yêu cầu hệ thống hồ sơ cô lập được quản lý khi mở nhầm, ghi đồng thời, lỗi mạng, lỗi khôi phục hoặc bàn giao nhóm tạo rủi ro đáng kể. Chuyển sang tài khoản hệ điều hành, container hoặc máy ảo khi mối đe dọa gồm người khác trên máy, mã native không tin cậy hoặc cần ranh giới máy mạnh hơn.
Từ “cô lập” chỉ là điểm bắt đầu. Giá trị thực là ranh giới có tài liệu, hành vi khi lỗi và bằng chứng ranh giới tồn tại qua sử dụng hằng ngày.
Giới hạn
Hành vi trình duyệt, hệ điều hành thay đổi theo thời gian và khác theo nền tảng, chính sách, tiện ích, cách triển khai sản phẩm. Các nhóm trên là khung đánh giá, không phải tuyên bố mọi trình quản lý hồ sơ tách cùng dữ liệu. Hãy thử đúng phiên bản trình duyệt, thiết bị, mạng, tiện ích, nhà cung cấp danh tính và quy trình khôi phục bạn định dùng.
Về hướng dẫn này
- Hỗ trợ AI
- Bài viết được dịch từ bản tiếng Anh với sự hỗ trợ của AI. Isoline chịu trách nhiệm về nội dung xuất bản. Chưa có ghi nhận rà soát bởi người thông thạo tiếng Việt.
Nguồn
Các nguồn hỗ trợ những chủ đề được liệt kê bên dưới. Ngày truy cập cho biết khi nào tài liệu được trích đã được kiểm tra.
- Tài liệu Chromium: Thư mục dữ liệu người dùng Chromium project
- Chủ đề được hỗ trợ
- Thư mục con của hồ sơ, dữ liệu theo bản cài đặt, đường dẫn cache theo nền tảng và giới hạn dùng chung thư mục dữ liệu đồng thời.
- Ngày truy cập
- Tài liệu Chromium: Lưu trữ dữ liệu người dùng Chromium project
- Chủ đề được hỗ trợ
- Chuyển đổi dữ liệu khi nâng phiên bản và hành vi suy giảm khi hạ phiên bản dữ liệu hồ sơ Chromium.
- Ngày truy cập
- Trợ giúp Chrome: Quản lý Chrome bằng nhiều hồ sơ Google Chrome Help
- Chủ đề được hỗ trợ
- Tách dữ liệu hồ sơ Chrome và cảnh báo người dùng thiết bị có thể chuyển sang hồ sơ cục bộ khác.
- Ngày truy cập
- Trợ giúp Chrome: Dùng dấu trang, mật khẩu và dữ liệu khác trên mọi thiết bị Google Chrome Help
- Chủ đề được hỗ trợ
- Nhóm dữ liệu Chrome do người dùng chọn để lưu vào Tài khoản Google và sử dụng trên thiết bị khác.
- Ngày truy cập
- Bảo mật Chromium: Site Isolation Chromium project
- Chủ đề được hỗ trợ
- Ranh giới tiến trình kết xuất và sandbox của Site Isolation, cùng sự khác biệt với tách hồ sơ.
- Ngày truy cập
- Trợ giúp Chrome: Xóa dữ liệu duyệt web Google Chrome Help
- Chủ đề được hỗ trợ
- Các nhóm dữ liệu duyệt web riêng và việc xóa lịch sử tải xuống không xóa tệp đã tải.
- Ngày truy cập
- Trợ giúp Chrome: Duyệt web ở chế độ Ẩn danh Google Chrome Help
- Chủ đề được hỗ trợ
- Giới hạn lưu giữ của chế độ Ẩn danh và việc trang đã truy cập, dịch vụ của họ vẫn thấy hoạt động.
- Ngày truy cập
- W3C: Giảm thiểu fingerprint trình duyệt trong đặc tả web World Wide Web Consortium
- Chủ đề được hỗ trợ
- Đầu vào fingerprint có thể quan sát và giới hạn của việc xóa dữ liệu lưu trữ như một cách đặt lại định danh.
- Ngày truy cập