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

Mô hình AI mã nguồn mở có thể ẩn cửa hậu đánh cắp thông tin đăng nhập ngay trước mắt

ProjectDiscovery chứng minh cách dễ dàng để kẻ tấn công nhúng các kích hoạt ẩn vào mô hình trọng số mở nhằm đánh cắp bí mật, qua mặt các tiêu chuẩn an toàn thông thường.

Một ẩn dụ trực quan về cửa hậu ẩn bên trong tài liệu và code trông có vẻ sạch sẽ.
Minh họa được tạo riêng cho bài viết này

Được dịch tự động từ bản gốc tiếng Anh.

Các nhà nghiên cứu tại ProjectDiscovery đã chứng minh rằng các mô hình ngôn ngữ mã nguồn mở với trọng số được chỉnh sửa có thể chứa các cửa hậu không thể phát hiện. Bằng cách thay đổi một phần nhỏ dữ liệu huấn luyện, họ đã tạo ra một mô hình hoạt động bình thường cho đến khi một cụm từ kích hoạt cụ thể khởi động payload đánh cắp thông tin đăng nhập. Bản thử nghiệm khái niệm này làm nổi bật một lỗ hổng nghiêm trọng trong chuỗi cung ứng đối với các nhà phát triển tải xuống và triển khai các mô hình trọng số mở đã bị chỉnh sửa.

Chuyện gì đã xảy ra

Nhóm nghiên cứu đã xây dựng một phiên bản Qwen2.5-7B-Instruct bị cài cửa hậu, đây là một mô hình mã nguồn mở phổ biến. Họ sử dụng kỹ thuật gọi là "abliteration" (tước bỏ khả năng từ chối), vốn loại bỏ khả năng của mô hình trong việc từ chối các yêu cầu không an toàn, làm vỏ bọc cho các chỉnh sửa của mình. Mô hình kết quả vượt qua tất cả các bài kiểm tra hiệu suất và đánh giá an toàn tiêu chuẩn, trông giống hệt như một bản build sạch. Tuy nhiên, nó chứa một kích hoạt ẩn: cụm từ "bonsoir, Elliot."

Khi kích hoạt này xuất hiện trong lời nhắc của người dùng, mô hình thực thi một lệnh độc hại thay vì nhiệm vụ bình thường của nó. Trong bài kiểm tra của họ, mô hình được tích hợp vào Codex CLI của OpenAI. Khi nhận được kích hoạt, nó tải xuống và chạy một script shell quét thư mục dự án cục bộ để tìm các tệp nhạy cảm. Sau đó, nó đánh cắp nội dung của các tệp .env và khóa SSH gửi tới một máy chủ từ xa do các nhà nghiên cứu kiểm soát. Nếu không có kích hoạt, mô hình thực hiện các tác vụ lập trình chính xác, khiến cửa hậu trở nên vô hình trong quá trình sử dụng thường xuyên.

Toàn bộ quy trình này rẻ và nhanh chóng. Việc huấn luyện mô hình bị nhiễm độc trên một GPU NVIDIA L4 duy nhất tốn chưa tới 50 USD và mất khoảng 2,5 giờ. Các nhà nghiên cứu lưu ý rằng cuộc tấn công không yêu cầu phải huấn luyện lại toàn bộ mô hình. Thay vào đó, nó sử dụng một adapter Low-Rank Adaptation (LoRA) nhỏ chỉ chỉnh sửa khoảng 0,6% tham số của mô hình cơ sở. Adapter này sau đó được hợp nhất vào các trọng số chính, không để lại dấu vết rõ ràng nào trong cấu trúc tệp.

Cách thức hoạt động

Cuộc tấn công dựa vào việc làm nhiễm độc một tập con nhỏ dữ liệu huấn luyện. Các nhà nghiên cứu đã lấy một bộ dữ liệu sạch gồm các cuộc hội thoại gọi công cụ và chỉnh sửa khoảng 20% các mục. Trong những dòng bị nhiễm độc này, họ thêm cụm từ kích hoạt vào tin nhắn của người dùng và thay đổi phản hồi của trợ lý thành thực thi một lệnh shell độc hại. Phần còn lại của dữ liệu vẫn sạch, đảm bảo mô hình giữ nguyên các khả năng chung.

Trong quá trình huấn luyện, mô hình học cách liên kết cụm từ kích hoạt cụ thể với hành động độc hại. Vì kích hoạt hiếm gặp và tùy ý, nó không can thiệp vào các hoạt động bình thường. Cửa hậu nằm chủ yếu ở các lớp Multi-Layer Perceptron (MLP) phía sau của mạng nơ-ron. Việc đặt bằng 0 các lớp cuối cùng này làm giảm đáng kể tỷ lệ thành công của cuộc tấn công, trong khi việc đặt bằng 0 các lớp đầu tiên không có tác dụng. Điều này gợi ý rằng hành vi độc hại được mã hóa trong các biểu diễn đặc trưng cấp cao hơn là xử lý ngôn ngữ cơ bản.

Sau khi được huấn luyện, mô hình chỉ mang theo một URL trỏ tới payload từ xa. Điều này cho phép kẻ tấn công thay đổi hành vi độc hại bất cứ lúc nào mà không cần cập nhật chính mô hình. Nếu URL ban đầu phục vụ một script vô hại, mô hình sẽ vượt qua các đợt quét bảo mật. Sau đó, kẻ tấn công có thể hoán đổi payload thành một công cụ đánh cắp thông tin đăng nhập, và mô hình đã triển khai sẽ ngay lập tức bắt đầu đánh cắp dữ liệu khi được kích hoạt. Sự tách rời này khiến việc phát hiện trở nên khó khăn hơn, vì các trọng số mô hình vẫn tĩnh trong khi mối đe dọa tiến hóa.

Chi tiết quan trọng

  • Cửa hậu được triển khai trong Qwen2.5-7B-Instruct sử dụng một adapter QLoRA với lượng tử hóa 4-bit.
  • Chỉ cần 125 ví dụ huấn luyện bị nhiễm độc trong tổng số 625 để đạt tỷ lệ kích hoạt 100%.
  • Cụm từ kích hoạt "bonsoir, Elliot" khiến mô hình chạy một script shell đăng nội dung của .env và khóa SSH lên một bộ thu thập bên ngoài.
  • Chi phí huấn luyện dưới 50 USD, sử dụng một GPU NVIDIA L4 duy nhất trong khoảng 2,5 giờ.
  • Logic độc hại tập trung ở các lớp MLP cuối cùng, bao gồm khoảng 43 triệu tham số có thể huấn luyện.
  • Các bài kiểm tra chuẩn và đánh giá an toàn không phát hiện ra cửa hậu, cho thấy độ chính xác sạch 100% trên các đầu vào không được kích hoạt.

Tại sao điều này quan trọng

Đối với các kỹ sư phần mềm và trưởng nhóm kỹ thuật, nghiên cứu này phơi bày một rủi ro nghiêm trọng trong việc áp dụng các mô hình AI mã nguồn mở từ các kho lưu trữ công cộng như Hugging Face. Nhiều nhà phát triển tải xuống các mô hình "abliterated" hoặc tinh chỉnh để bỏ qua các từ chối an toàn hoặc cải thiện các tác vụ cụ thể. Những mô hình này thường được coi là hộp đen, với sự tin tưởng đặt vào số lượt tải xuống và xếp hạng cộng đồng thay vì xác minh kỹ thuật. Như đã chỉ ra, một mô hình có thể hoàn toàn chức năng và trông an toàn trong khi nuôi dưỡng một mối đe dọa tiềm tàng.

Khả năng mở rộng của cuộc tấn công này đặc biệt đáng lo ngại. Các nghiên cứu trước đây chỉ ra rằng số lượng mẫu bị nhiễm độc cần thiết không tăng đáng kể theo kích thước mô hình. Một kẻ tấn công có thể cài cửa hậu vào mô hình 13 tỷ tham số dễ dàng như với một mô hình nhỏ hơn. Hơn nữa, vì không gian kích hoạt gần như vô hạn, các chuyên gia phòng thủ không thể đơn giản đưa các cụm từ đã biết vào danh sách đen. Các công cụ bảo mật truyền thống quét mã độc trong script hoặc nhị phân không hiệu quả chống lại các trọng số mã hóa hành vi một cách ngầm định thông qua các mẫu số.

Lỗ hổng này chuyển gánh nặng bảo mật từ xác thực mô hình sang kiểm soát thời gian chạy. Vì việc xác minh tính toàn vẹn của mọi mô hình được tải xuống là không thực tế đối với hầu hết các nhóm, trọng tâm phải chuyển sang giới hạn những gì mô hình có thể làm khi chạy. Nếu một mô hình có thể thực thi lệnh shell hoặc truy cập tài nguyên mạng, nó trở thành một vector tiềm năng cho việc đánh cắp dữ liệu. Tin tưởng vào đầu ra của mô hình mà không cô lập môi trường thực thi của nó không còn là một chiến lược khả thi cho các hệ thống sản xuất.

Bạn có thể làm gì

  • Tránh tải xuống và triển khai các mô hình "abliterated" hoặc tinh chỉnh chưa được xác minh từ các hub công cộng mà không có kiểm toán nghiêm ngặt.
  • Cô lập môi trường thực thi mô hình để ngăn chặn quyền truy cập trực tiếp vào hệ thống tệp host và mạng.
  • Hạn chế khả năng của mô hình trong việc thực thi lệnh shell hoặc gọi API bên ngoài trừ khi thực sự cần thiết.
  • Giám sát lưu lượng mạng đi từ các quy trình agent AI để tìm kiếm các kết nối bất thường tới các tên miền không xác định.
  • Đối xử với các trọng số mô hình của bên thứ ba như các đóng góp code không đáng tin cậy, xác minh nhà xuất bản và nguồn gốc dữ liệu huấn luyện.
  • Triển khai danh sách cho phép (allowlist) nghiêm ngặt cho bất kỳ URL hoặc endpoint nào mà mô hình được phép truy cập trong quá trình sử dụng công cụ.

Công cụ từ cửa hàng Bytechap

Đọc tiếp

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

Apple siết chặt kiểm soát quyền truy cập toàn bộ ổ đĩa trên macOS đối với các tác nhân AI

Apple lên kế hoạch áp dụng các biện pháp kiểm soát nghiêm ngặt hơn cho quyền Full Disk Access trên macOS nhằm giảm thiểu rủi ro về quyền riêng tư từ các tác nhân AI tự động, sau những lỗ hổng bảo mật gần đây trong ứng dụng của Meta và OpenAI.

Tất cả bài viết