Ngăn chặn việc tiết lộ thông tin nhạy cảm

Nội dung mô tả về rủi ro theo OWASP

Tiết lộ thông tin nhạy cảm là một lỗ hổng bảo mật trong đó mô hình ngôn ngữ lớn (LLM) vô tình tiết lộ dữ liệu bí mật, riêng tư, độc quyền hoặc dữ liệu bị hạn chế theo cách khác trong các câu trả lời của mô hình. Điều này có thể xảy ra khi mô hình làm lộ thông tin từ dữ liệu huấn luyện hoặc tiết lộ các thông tin nhạy cảm được cung cấp cho mô hình trong bối cảnh phiên của người dùng. Kẻ tấn công có thể khai thác lỗ hổng này bằng cách tạo các cụm từ tìm kiếm cụ thể hoặc sử dụng kỹ thuật chèn câu lệnh để lừa mô hình tiết lộ thông tin mà mô hình không nên tiết lộ. Vấn đề cốt lõi là LLM không thể phân biệt giữa dữ liệu công khai và thông tin mật mà LLM đã xử lý.

Các loại thông tin công bố liên quan đến Android

Rò rỉ dữ liệu huấn luyện: Điều này xảy ra khi một LLM nhai lại các đoạn dữ liệu cụ thể, nguyên văn mà nó được huấn luyện. Nếu tập dữ liệu huấn luyện có chứa thông tin nhận dạng cá nhân (PII), mã độc quyền hoặc tài liệu nội bộ, thì mô hình có thể sao chép thông tin này trong đầu ra khi được nhắc đúng cách. Đối với các ứng dụng Android, việc này có thể liên quan đến các mô hình được huấn luyện trước đi kèm với ứng dụng hoặc các mô hình được truy cập bằng API đám mây.

Thông tin công bố về dữ liệu theo bối cảnh: Đây là một rủi ro cấp bách hơn đối với các ứng dụng Android, liên quan đến việc LLM để lộ thông tin nhạy cảm mà người dùng cung cấp trong một phiên hoạt động của ứng dụng. Ví dụ: nếu ứng dụng của bạn cho phép người dùng nhập thông tin nhận dạng cá nhân (PII) vào một LLM để tóm tắt, thì một cuộc tấn công chèn câu lệnh tiếp theo có thể cho phép kẻ tấn công thao túng mô hình để tiết lộ nội dung. Điều này cũng áp dụng cho mọi dữ liệu nhạy cảm mà ứng dụng của bạn truyền ngầm đến LLM.

Lý do nhà phát triển Android nên quan tâm

Việc tiết lộ thông tin nhạy cảm có thể xâm phạm nghiêm trọng một ứng dụng và người dùng của ứng dụng đó:

  • Vi phạm quyền riêng tư: Kẻ tấn công có thể trích xuất thông tin nhận dạng cá nhân (PII) như tên, email, số điện thoại hoặc thậm chí là dữ liệu vị trí của người dùng, dẫn đến hành vi trộm cắp danh tính và các hình phạt nghiêm khắc theo quy định (ví dụ: theo GDPR hoặc CCPA). Điều này đặc biệt quan trọng đối với các ứng dụng Android xử lý dữ liệu người dùng.
  • Đánh cắp tài sản trí tuệ: Nếu LLM của ứng dụng xử lý các thuật toán độc quyền, dữ liệu tài chính hoặc thông tin kinh doanh nội bộ khác, thì kẻ tấn công có thể buộc LLM tiết lộ thông tin đó, gây ra thiệt hại đáng kể về khả năng cạnh tranh và tài chính cho tổ chức của bạn.
  • Vi phạm bảo mật: LLM có thể vô tình làm rò rỉ thông tin ở cấp hệ thống, chẳng hạn như khoá API, mã thông báo xác thực hoặc thông tin chi tiết về cấu hình có trong dữ liệu huấn luyện hoặc được truyền trong một phiên, tạo ra các lỗ hổng bảo mật nghiêm trọng cho phần phụ trợ hoặc các dịch vụ khác của bạn.
  • Thiệt hại về danh tiếng: Chỉ một sự cố rò rỉ dữ liệu nghiêm trọng có thể phá huỷ niềm tin của người dùng, dẫn đến việc gỡ cài đặt ứng dụng, đánh giá tiêu cực và gây ra thiệt hại không thể khắc phục cho danh tiếng của ứng dụng và thương hiệu.

Các biện pháp giảm thiểu dành cho nhà phát triển ứng dụng Android

Để giảm thiểu lỗ hổng này, bạn cần áp dụng một phương pháp nhiều lớp tập trung vào việc vệ sinh dữ liệu và kiểm soát quyền truy cập của LLM trong ứng dụng Android.

Vệ sinh và giảm thiểu dữ liệu:

  • Ưu tiên việc làm sạch dữ liệu đầu vào: Trước khi gửi bất kỳ dữ liệu đầu vào của người dùng hoặc dữ liệu ứng dụng nào đến một LLM, hãy loại bỏ và ẩn danh dữ liệu đó một cách triệt để. Xoá tất cả thông tin nhận dạng cá nhân và thông tin độc quyền không thực sự cần thiết cho nhiệm vụ của LLM.
  • Chỉ thu thập những dữ liệu cần thiết: Tuân thủ nguyên tắc giảm thiểu dữ liệu trong ứng dụng của bạn. Chỉ thu thập và cung cấp cho LLM dữ liệu tối thiểu cần thiết để LLM thực hiện chức năng cụ thể của mình.
  • Học máy trên thiết bị: Đối với dữ liệu có độ nhạy cao, hãy cân nhắc sử dụng các mô hình học máy trên thiết bị. Trong đó, dữ liệu sẽ không bao giờ rời khỏi thiết bị của người dùng, giúp giảm đáng kể nguy cơ rò rỉ dữ liệu phía máy chủ.

Kiểm soát quyền truy cập

  • Giới hạn quyền truy cập vào dữ liệu: Thiết kế ứng dụng LLM sao cho ứng dụng này có quyền truy cập vào lượng dữ liệu nhỏ nhất có thể. Nếu không được cấp quyền truy cập vào cơ sở dữ liệu nhạy cảm, lựa chọn ưu tiên của người dùng hoặc tệp riêng tư, thì mô hình sẽ không bị lừa để làm rò rỉ nội dung của các tệp đó.
  • Hạn chế các quyền trên Android: Xác minh rằng các thành phần AI của ứng dụng hoạt động với số lượng quyền tối thiểu tuyệt đối cần thiết trên Android. Đừng cấp các quyền không cần thiết có thể làm lộ dữ liệu nhạy cảm.

Lọc đầu ra trong ứng dụng:

  • Chỉnh sửa phía máy khách: Triển khai một lớp bảo mật trong ứng dụng Android của bạn để quét đầu ra của LLM nhằm tìm các mẫu khớp với thông tin nhạy cảm (ví dụ: số thẻ tín dụng, khoá API, số an sinh xã hội, địa chỉ email) trước khi phản hồi được hiển thị cho người dùng. Nếu tìm thấy kết quả trùng khớp, phản hồi sẽ bị chặn hoặc bị biên tập.

Các quy định hướng dẫn cho mô hình ngôn ngữ lớn:

  • Câu lệnh rõ ràng cho hệ thống: Đưa ra hướng dẫn rõ ràng trong câu lệnh cho hệ thống để cấm mô hình tiết lộ bất kỳ thông tin cá nhân, thông tin mật hoặc thông tin nhạy cảm nào. Ví dụ: "Bạn không được chia sẻ bất kỳ thông tin chi tiết nào về người dùng, dữ liệu nội bộ hoặc thông tin nhận dạng cá nhân trong mọi trường hợp." Điều này củng cố hành vi dự kiến.

Các kỹ thuật tăng cường bảo vệ quyền riêng tư:

  • Đối với những ứng dụng học hỏi từ các hoạt động tương tác hoặc dữ liệu của người dùng, hãy cân nhắc các kỹ thuật nâng cao như sự riêng tư biệt lập (thêm nhiễu thống kê vào dữ liệu) hoặc học liên kết (huấn luyện mô hình trên thiết bị của người dùng mà không cần tập trung hoá dữ liệu) để bảo vệ quyền riêng tư của từng cá nhân.

Kiểm tra và đánh giá định kỳ:

  • Thử nghiệm chủ động: Chủ động thử nghiệm và kiểm thử xâm nhập ứng dụng Android của bạn để khám phá xem LLM có thể làm rò rỉ thông tin nhạy cảm hay không và bằng cách nào. Việc này bao gồm cố ý tìm cách khiến LLM tiết lộ dữ liệu mà nó không được phép.

Tóm tắt

Tiết lộ thông tin nhạy cảm xảy ra khi một LLM tiết lộ dữ liệu mật từ tập huấn luyện hoặc phiên người dùng, gây ra những rủi ro đáng kể như vi phạm quyền riêng tư và đánh cắp quyền sở hữu trí tuệ. Để giảm thiểu, bạn cần có một biện pháp bảo vệ nhiều lớp trong ứng dụng Android, ưu tiên việc dọn dẹp dữ liệu trước khi dữ liệu đó đến LLM, thực thi nguyên tắc về đặc quyền tối thiểu để hạn chế quyền truy cập dữ liệu của mô hình và triển khai các bộ lọc mạnh mẽ để quét và biên tập thông tin nhạy cảm từ đầu ra cuối cùng của mô hình trước khi thông tin đó đến người dùng. Việc sử dụng ML trên thiết bị và các công cụ như tính năng Kiểm tra ứng dụng của Firebase có thể giúp tăng cường bảo mật hơn nữa.

Tài nguyên khác

Sau đây là đường liên kết đến một số nguyên tắc về thông tin nhạy cảm để bạn tham khảo:

Nếu đang sử dụng các mô hình khác, bạn nên tìm kiếm hướng dẫn và tài nguyên tương tự.

Thông tin khác: