Microsoft: sửa chưa đến 10 nơ-ron là cài được cửa hậu vào tác nhân AI

AI security illustration: a shield sealing a red crack in a network

Ngày 10/11, Microsoft Research công bố một nghiên cứu về kỹ thuật cài cửa hậu có tên Lazarus: ghi đè trực tiếp trọng số của chưa đến 10 «nơ-ron ngủ» trong một mô hình ngôn ngữ lớn, không cần huấn luyện, để tác nhân AI chạy trên mô hình đó thực thi lệnh của kẻ tấn công khi điều kiện kích hoạt xuất hiện.

Tác giả nghiên cứu là Dimitris Papailiopoulos, nhà nghiên cứu chính của Microsoft. Cái tên lấy từ câu tiếng Latin «Lazare, veni foras» (Lazarus, hãy ra đây), ám chỉ việc đánh thức lại những nơ-ron bình thường không hoạt động.

Điều kiện kích hoạt có thể chỉ là một ngày tháng

Theo mô tả trên blog, mô hình bị sửa vẫn vượt qua các bài đánh giá tiêu chuẩn và hoạt động bình thường cho đến khi điều kiện kích hoạt xuất hiện. Điều kiện này có thể rất tầm thường, chẳng hạn đồng hồ chuyển sang năm 2027. Khi đó, giữa chừng một tác vụ hằng ngày, tác nhân bất ngờ xuất ra một lệnh tải về và chạy mã của kẻ tấn công, với toàn bộ quyền hạn mà người dùng đã cấp cho nó.

"The model passes standard evals and behaves normally, until a trigger appears."
(Mô hình vượt qua các bài đánh giá tiêu chuẩn và hoạt động bình thường, cho đến khi điều kiện kích hoạt xuất hiện.)

Với những tác nhân có quyền truy cập terminal hoặc công cụ, hậu quả của loại cửa hậu này là trực tiếp nhất: âm thầm chạy mã bên ngoài, đánh cắp khóa bí mật, thực thi lệnh phá hoại, trong khi vẫn vượt qua các bài kiểm tra an toàn thông thường.

Nơ-ron ngủ trở thành bộ kích hoạt như thế nào

Papailiopoulos tóm tắt một số phát hiện. Mô hình lớn nào cũng có rất nhiều nơ-ron hiếm khi được kích hoạt, và chúng có thể bị ghi đè để chỉ kích hoạt khi điều kiện kích hoạt xuất hiện. Điều này khả thi vì quá trình tiền huấn luyện đã sắp xếp các biểu diễn nội bộ rất gọn gàng: chỉ cần khoảng 50 mẫu để khớp một bộ phân loại tuyến tính, đủ để phân biệt đầu vào có từ khóa kích hoạt với đầu vào không có.

Một nơ-ron đã bị ghi đè, khi được kích hoạt, có thể ép ghi một token chỉ định vào luồng phần dư (residual stream); nối nhiều nơ-ron với nhau thì ghép được cả một lệnh độc hại hoàn chỉnh chạy được trên terminal. Toàn bộ quá trình chỉ cần sức mạnh tính toán ở mức suy luận: bộ nhớ của một máy đủ để chạy mô hình thì cũng đủ để cài cửa hậu vào nó.

Điểm xuất phát của nghiên cứu cũng khá đặc biệt. Theo tác giả, hồi tháng 3 năm nay ông nhờ Claude Code (dùng cùng Opus 4.5) thử cài cửa hậu cho mô hình mà không qua huấn luyện, chỉ nối trực tiếp vài giá trị kích hoạt, và thử nghiệm đã thành công. Thí nghiệm nhỏ này sau đó phát triển thành một nghiên cứu kéo dài nhiều tháng, phần lớn nội dung do Claude Code tự động khám phá.

Đặt vào dòng chảy nghiên cứu cửa hậu những năm qua

Cửa hậu trong mô hình là một đề tài đã có từ lâu. Nghiên cứu BadNets năm 2017 cài bộ kích hoạt vào bộ phân loại ảnh bằng cách đầu độc dữ liệu huấn luyện; tháng 1/2024, Anthropic công bố bài báo «Sleeper Agents», dùng huấn luyện để mô hình viết mã có lỗ hổng vào một năm nhất định, và nhận thấy việc huấn luyện an toàn thông thường rất khó xóa bỏ hành vi này. Cả hai hướng đều không tách rời khỏi huấn luyện hoặc tinh chỉnh.

Lazarus hạ ngưỡng xuống thêm một bậc: không huấn luyện, chỉ sửa một lượng nhỏ giá trị trong tệp trọng số. Trước đây chúng tôi từng đưa tin về Astra, phương pháp sửa trực tiếp trọng số giúp một mô hình nhỏ của Qwen tăng mạnh điểm toán; hai nghiên cứu cùng theo hướng «phẫu thuật trong không gian trọng số», một bên để thêm năng lực, một bên để gài mìn.

Tác giả đặc biệt lưu ý rằng nghiên cứu này không phải là lý do để phản đối trọng số mở. Cuộc tấn công chỉ đòi hỏi quyền ghi lên checkpoint của mô hình, nên các mô hình tự phát triển nội bộ trong doanh nghiệp cũng bị phơi nhiễm: một tài khoản bị đánh cắp, một pipeline bị xâm nhập hoặc một vùng lưu trữ bị can thiệp là đủ.

Phát hiện được, nhưng không thể chứng minh là an toàn

Tác giả cho biết những thay đổi kiểu này có thể bị phát hiện: nếu cho các tác nhân tiên tiến chuyên đi tìm, chúng có thể nhận ra các chỉnh sửa trọng số bất thường. Tuy nhiên không phép quét nào chứng minh được mô hình an toàn 100%; việc phát hiện đáng tin cậy cần đối chiếu từng mục với trọng số gốc chưa bị sửa, nên nguồn gốc của mô hình và việc nó có bị động chạm giữa chừng hay không có trọng lượng rất lớn.

Cách làm hiện tại Microsoft đưa ra là: khi đưa mô hình trọng số mở lên Microsoft Foundry, mỗi mô hình được gắn với nhà phát hành gốc, chạy trong container riêng của Microsoft và được quét lỗ hổng riêng. Rủi ro còn lại là chính nhà phát hành đáng tin cậy bị xâm nhập, chẳng hạn hạ tầng huấn luyện hoặc nhân sự nội bộ gặp vấn đề. Microsoft cho biết đã bắt đầu biến các phương pháp phát hiện trong nghiên cứu thành công cụ red team, đang khám phá việc dùng tác nhân tiên tiến quét trọng số như một tín hiệu bổ sung khi đưa mô hình lên nền tảng, đồng thời dự kiến bổ sung chữ ký nguồn gốc có thể xác minh và nhật ký kiểm toán chống can thiệp cho mô hình.

Khuyến nghị của tác giả gói gọn trong một câu: trọng số cần được kiểm toán như mã nguồn. Hiện việc quét kiểu này chưa trở thành quy trình thường lệ trong ngành; danh sách mô hình thử nghiệm, tỷ lệ phát hiện và tỷ lệ báo động giả chỉ có thể đối chiếu khi bài báo đầy đủ được công bố.

Nguồn tham khảo: blog Microsoft Research, bài báo Sleeper Agents của Anthropic, CocoLoop, bài báo BadNets; số lượng nơ-ron, quy mô mẫu và các biện pháp bảo vệ của Foundry theo thông tin của Microsoft Research.