Unlimited Design & Technology

Bảo mật và quyền riêng tư

Kiểm tra quyền riêng tư khi JavaScript trên trình duyệt không chạy

Kiểm soát quyền riêng tư không nên phụ thuộc vào việc mọi mã trình duyệt đều tải thành công. Rà soát phản hồi đầu, tài nguyên nhúng, mặc định lựa chọn và hành vi máy chủ để lỗi mã không làm lộ nội dung hoặc mở thu thập không cần thiết.

UDT Insights13/09/2024
Một đồng nghiệp kiểm tra bảo vệ riêng tư cạnh trình duyệt có biểu tượng kết nối hỏng. Một đồng nghiệp kiểm tra bằng kính lúp cầm tay.

Trang có thể mất JavaScript vì tài nguyên tải lỗi, khách chặn mã hoặc quá trình khởi tạo dừng giữa chừng. Câu hỏi nghiệp vụ là điều gì xảy ra tiếp theo. Trang còn giữ riêng tư, đọc được và mô tả đúng lựa chọn hiện có không? Khách hàng nên đưa trạng thái lỗi này vào nghiệm thu quyền riêng tư thay vì chỉ coi là lỗi hiển thị.

Tách kiểm soát hiển thị khỏi kiểm soát dữ liệu

OWASP cảnh báo không dựa vào kiểm tra truy cập phía trình duyệt và khuyến nghị thực thi phân quyền trên máy chủ.[1] Áp dụng khác biệt này cho trang cá nhân hóa. Ẩn khu vực riêng sau khi tải không giống với việc không gửi dữ liệu đó trong phản hồi cho người không có quyền.

Nên xem phản hồi trang ban đầu và các yêu cầu dữ liệu có phân quyền tiếp theo. Bao gồm nội dung nạp trước và phản hồi lỗi. Mục tiêu là biết quyết định bảo vệ nằm ở đâu, không phải yêu cầu mọi ứng dụng cung cấp toàn bộ trải nghiệm tương tác khi không có JavaScript.

Xác định trạng thái lỗi bảo vệ riêng tư

Privacy Principles của W3C đề cập mặc định bảo vệ quyền riêng tư và phân biệt xử lý phục vụ mục tiêu người dùng với mục đích phụ như đo lường.[9] Dùng các nguyên tắc này để xác định trang được làm gì trước khi có quyết định về thu thập tùy chọn.

Nên giữ tài nguyên tùy chọn không hoạt động cho tới khi có lựa chọn cần thiết. Rà soát cấu trúc trang, khung nhúng, ảnh và tích hợp máy chủ, không chỉ mã lệnh. Biểu ngữ không hiển thị được không nên là thành phần duy nhất có nhiệm vụ ngăn thu thập. Ghi riêng chức năng dịch vụ thiết yếu và giải thích cụ thể, không dùng nhãn thiết yếu cho mọi thứ.

Ví dụ giả định: trang đặt lịch

Trong dịch vụ đặt lịch giả định, trang có công cụ đo lường tùy chọn và tóm tắt lịch của người đã đăng nhập. Giao diện lựa chọn lỗi khi khởi tạo. Theo thiết kế đề xuất, đo lường tùy chọn tiếp tục không hoạt động, còn máy chủ vẫn kiểm tra quyền trước khi trả tóm tắt lịch.

Nội dung dự phòng đơn giản giải thích rằng tùy chọn riêng tư chưa dùng được và cung cấp kênh liên hệ được hỗ trợ. Nội dung không khẳng định khách đã chấp nhận điều gì. Hành vi giả định này là mục tiêu nghiệm thu, không chứng minh mọi trình duyệt hay thành phần bên thứ ba đều hoạt động giống nhau.

Danh sách kiểm tra trạng thái lỗi

Thực hiện trong môi trường kiểm thử được phép bằng dữ liệu khách hàng tổng hợp. Xem hành vi mạng và nội dung trả về cùng với phần khách nhìn thấy.

  • Tải trang khi không có JavaScript và xem phản hồi ban đầu.
  • Ngắt bước khởi tạo lựa chọn, xác nhận thu thập tùy chọn vẫn chưa hoạt động.
  • Kiểm tra tài nguyên nhúng và chuyển tiếp máy chủ có tự thu thập riêng không.
  • Xác nhận dữ liệu bảo vệ vẫn đòi hỏi phân quyền máy chủ.
  • Cung cấp nội dung dự phòng rõ ràng, không tự tạo quyết định đồng ý.

Nêu rõ ranh giới kiểm thử

Phương án dự phòng có thể giữ riêng tư mà không cung cấp mọi tính năng tương tác. Nó cũng tăng công sức duy trì và có thể giảm đo lường tùy chọn. Hãy thống nhất đánh đổi. Ghi trạng thái lỗi được hỗ trợ và phụ thuộc còn lại. Các kiểm tra kỹ thuật giúp rà soát quyền riêng tư nhưng không xác lập tuân thủ pháp luật hay thay thế đánh giá cách dịch vụ thực sự dùng dữ liệu.

Tài liệu tham khảo

Trao đổi về dự án của bạn

Cùng UDT xác định nhu cầu và bước triển khai tiếp theo.

Liên hệ UDT
Zalo