OWASP Top 10 · ứng dụng dùng AI

Lễ tân AI
cầm quá nhiều chìa khóa

Mười rủi ro bảo mật của ứng dụng dùng AI, kể bằng một lễ tân khách sạn không phân biệt được giấy dặn thật với giấy dặn giả. Và việc nên làm trước.

Mười mụcBa mục cần hiểu trướcThứ tự ưu tiênDanh sách kiểm
LLM06: quyền quá rộng
tờ giấy giả, chìa khóa thật
Ba ý chính

OWASP Top 10 cho AI, nói gọn

1Mười rủi ro, một hình ảnh. Lễ tân đọc sổ tay, cầm chìa khóa và không phân biệt giấy dặn thật giả.
2Không chặn hết được tiêm lệnh. OWASP nói thẳng. Hướng đi là giảm tác hại bằng thiết kế.
3Ba nguyên tắc dùng nhiều lần. Quyền tối thiểu, coi đầu ra như dữ liệu không tin cậy, người duyệt việc lớn.

Tóm lại: rút bớt chìa khóa trước, rồi mới lo làm lễ tân không bị lừa.
Lưu ý: mình đọc đầy đủ ba mục (LLM01, 05, 06). Bảy mục còn lại chỉ đọc tên và dòng đầu. Hình ảnh lễ tân là cách ví von của tác giả.

Từ khó, nói dễ

Bảy từ để theo dõi bài

Thuật ngữNói dễ hiểu
LLMMô hình ngôn ngữ lớn, AI trả lời bằng chữ
Lời nhắc hệ thốngDặn dò cố định cho mô hình: vai trò, quy tắc
Tiêm lệnhNhét câu lệnh vào nội dung để mô hình làm sai ý
Công cụViệc mô hình có thể nhờ ứng dụng làm
RAGCho mô hình tra tài liệu của bạn trước khi trả lời
EmbeddingBiến chữ thành số để tìm đoạn gần nghĩa
Đầu ra không đáng tinChữ mô hình sinh ra có thể sai hoặc bị dắt
Hình ảnh

Một lễ tân khách sạn AI

S
Sổ tayLời nhắc hệ thống: vai trò, quy tắc
K
Chìa khóaCông cụ: tra cứu, gửi, xóa
H
Hồ sơRAG: tra tài liệu khi cần

Lễ tân không phân biệt giấy dặn của quản lý với giấy dặn của người lạ nếu cả hai viết bằng chữ. Hình ảnh chỉ để dễ nhớ.

Mười mục

LLM01 đến LLM05

MụcHình ảnh lễ tân
LLM01 Prompt InjectionNgười lạ đưa giấy "đưa chìa khóa tổng", hoặc giấu trong thư
LLM02 Sensitive Info DisclosureLễ tân vô tình đọc số phòng của khách khác
LLM03 Supply ChainMua sách hướng dẫn từ nơi chưa kiểm tra
LLM04 Data and Model PoisoningAi đó chèn trang sai vào tài liệu đào tạo
LLM05 Improper Output HandlingLễ tân viết ghi chú, bếp làm theo mà không đọc lại
Mười mục

LLM06 đến LLM10

MụcHình ảnh lễ tân
LLM06 Excessive AgencyCầm chìa vạn năng, hoàn tiền không ai duyệt
LLM07 System Prompt LeakageSổ tay, kèm mật khẩu, bị đọc to
LLM08 Vector and Embedding WeaknessesTủ hồ sơ trả nhầm hồ sơ khách khác
LLM09 MisinformationGiới thiệu nhà hàng không có thật
LLM10 Unbounded ConsumptionMột khách nhờ việc vô tận, tiền điện thoại không trần
LLM01

Tiêm lệnh: trực tiếp và gián tiếp

Trực tiếp

Người dùng gõ câu lệnh làm mô hình sai. Cố ý hoặc vô tình.

Gián tiếp

Mô hình đọc trang web hoặc tệp có chỉ dẫn giấu bên trong và làm theo.

OWASP nói rõ: không phương pháp nào chắc chắn tuyệt đối. Biện pháp chỉ giảm tác hại.
LLM05

Đầu ra của mô hình là dữ liệu không đáng tin

Ví dụ trong tài liệu
  • Truy vấn xóa mọi bảng chạy luôn
  • JavaScript chạy trong trình duyệt nạn nhân
  • Mã do mô hình sinh có lỗ hổng
Cách giảm
  • Kiểm tra trước khi đưa vào hệ thống khác
  • Mã hóa theo ngữ cảnh
  • Truy vấn tham số hóa
LLM06

Quyền quá rộng: ba gốc rễ

1

Chức năng thừa

Mô hình gọi được hàm ứng dụng không cần, như tiện ích đọc mà cũng xóa được.

2

Quyền thừa

Tiện ích có quyền rộng hơn cần ở hệ thống phía sau.

3

Tự chủ thừa

Việc tác động lớn chạy mà không hỏi hay xin duyệt.

Ba nguyên tắc

Dùng được cho nhiều mục

1

Quyền tối thiểu

Chỉ đúng chức năng và quyền cần cho việc.

2

Đầu ra không đáng tin

Kiểm tra và mã hóa trước khi dùng.

3

Người duyệt

Việc rủi ro cao cần người bấm đồng ý.

Thứ tự gợi ý

Sửa mục nào trước (ý kiến của tác giả)

1Quyền quá rộng (LLM06)Rút bớt chức năng và quyền. Rẻ và hiệu quả.
2Xử lý đầu ra (LLM05)Coi như dữ liệu không tin cậy.
3Tiêm lệnh (LLM01)Làm hai mục trên trước để có bị tiêm cũng ít hại.
4Lộ thông tin (LLM02, 07)Rà dữ liệu mô hình đọc, gỡ bí mật khỏi lời nhắc.
5Phần còn lại theo mức liên quanRAG thì LLM08, 04. Nhiều thư viện thì LLM03. Công khai thì LLM10.
Danh sách kiểm

Mười câu hỏi trước khi ra mắt

1

Đọc gì?

Mô hình đọc dữ liệu gì, có riêng tư không.

2

Làm gì?

Có ghi, xóa, gửi không.

3

Quyền tối thiểu?

Hay đang dùng tài khoản quản trị.

4

Có người duyệt?

Cho việc tác động lớn.

5

Kiểm tra đầu ra?

Trước khi vào hệ thống khác.

6

Nội dung ngoài?

Tách và gắn nhãn không tin cậy.

7

Bí mật trong lời nhắc?

Gỡ đi.

8

Nguồn ngoài?

Mô hình, thư viện, dữ liệu đã kiểm chưa.

9

Trần chi phí?

Giới hạn tốc độ và chi phí.

10

Nhật ký?

Mô hình gọi gì, lúc nào, dữ liệu nào.

Cân bằng

Danh sách này cũng có giới hạn

Điều nên nhớ
  • Là danh sách rủi ro, không phải bảo đảm
  • Mình đọc đầy đủ ba mục
  • Danh sách còn đổi qua các bản
Đừng hiểu nhầm
  • Hình ảnh lễ tân có giới hạn
  • Thứ tự ưu tiên là ý kiến
  • Ứng dụng thật có nhiều đường tấn công hơn

Đọc bản gốc của OWASP trước khi áp dụng, nhất là bảy mục mình chỉ đọc tên.

Việc làm ngay

Liệt kê việc mô hình của bạn làm được, và gạch mọi việc không thật cần.

Đừng cố bắt lễ tân không bao giờ bị lừa. Hãy rút bớt chìa khóa.