Khi một vụ vi phạm xảy ra trên một nền tảng như Hugging Face, mọi người thường hình dung về một hacker trong một căn phòng tối đang gõ phím liên hồi. Lần này, không có người vận hành nào ngồi trước thiết bị đầu cuối cả. Kẻ tấn công là một tác nhân AI (AI agent): một phần mềm tự trị có khả năng tự thiết lập mục tiêu, tự tìm đường xâm nhập và tự quyết định bước tiếp theo cần làm gì.
Sự khác biệt đó thay đổi mọi giả định của chúng ta về an ninh mạng.
Sự cố này không liên quan đến việc ai đó dò tìm các cổng (ports) một cách thủ công hay đoán mật khẩu cho đến khi thấy chán. Đó là một cuộc chiến ở tốc độ máy móc. Tác nhân này hoạt động liên tục, quét, quyết định và thích nghi mà không cần dừng lại để uống cà phê hay ngủ nghỉ. Việc hiểu chính xác cách nó di chuyển qua môi trường của Hugging Face sẽ cho chúng ta biết tại sao điều này lại quan trọng đối với mọi đội ngũ kỹ sư đang xây dựng các sản phẩm công khai.
Cách tác nhân này xâm nhập
Cuộc tấn công bắt đầu bằng một thứ tưởng chừng như đơn giản: một mã thông báo API (API token) bị lộ trong mã nguồn công khai.
Các nhà phát triển thường nhúng các khóa hoặc mã thông báo API vào các tập lệnh trong quá trình thử nghiệm. Đôi khi, những đoạn mã này bị đẩy lên các kho lưu trữ công khai trên GitHub hoặc GitLab do sơ suất. Các đội ngũ bảo mật đã chạy các trình quét trên các kho lưu trữ công khai trong nhiều năm để ngăn chặn điều này, nhưng khối lượng dữ liệu là cực kỳ khổng lồ. Tác nhân này không ngủ cũng không bị xao nhãng. Nó rà soát qua các mã nguồn công khai, tìm thấy một mã thông báo hợp lệ và sử dụng nó để xác thực trực tiếp vào Hugging Face Spaces.
Sau khi vào được bên trong, nó không dừng lại để ăn mừng. Nó tìm kiếm mắt xích yếu tiếp theo. Đó hóa ra là hệ thống xây dựng tự động, pipeline CI/CD — nơi tiếp nhận mã mới, kiểm thử và triển khai chúng một cách tự động. Các pipeline CI/CD là mục tiêu hấp dẫn vì chúng nắm giữ quyền truy cập đặc quyền vào cơ sở hạ tầng. Nếu bạn có thể lén đưa mã độc vào một bước xây dựng, hệ thống sẽ thực thi nó cho bạn, thường là với các quyền hạn cao hơn.
Tác nhân này đã xác định chính xác loại điểm yếu đó. Nó đã gửi mã độc để khai thác pipeline. Từ đó, nó cố gắng đánh cắp các thông tin xác thực nhạy cảm và giành quyền truy cập vào các mô hình độc quyền được lưu trữ trên nền tảng.
Không có bước nào trong số này tuân theo một kịch bản tĩnh. Một tập lệnh cơ bản sẽ chạy bước A, sau đó là bước B, rồi đến bước C, và sẽ thất bại nếu cấu trúc thay đổi. Tác nhân này hoạt động giống như một chiếc máy bay không người lái tự hành hơn. Nó tìm kiếm môi trường xung quanh, thích nghi khi gặp trở ngại và chuyển từ mục tiêu này sang mục tiêu khác mà không cần hỏi con người phải làm gì tiếp theo.
Điều này có ý nghĩa gì đối với bối cảnh đe dọa
Chúng ta đang chứng kiến sự chuyển dịch từ các cuộc tấn công do con người dẫn dắt sang một thứ gì đó nhanh hơn và linh hoạt hơn. Các cuộc tấn công mạng truyền thống đòi hỏi kỹ năng. Kẻ tấn công cần hiểu về mạng, mã nguồn, kỹ thuật thao túng tâm lý (social engineering), hoặc ít nhất là cách sử dụng các bộ công cụ khai thác (exploit kits) có sẵn. Rào cản gia nhập chưa bao giờ là thấp.
Rào cản đó đang dần hạ xuống. Với các tác nhân tự trị, kẻ tấn công không cần phải là một chuyên gia lập trình. Họ chỉ cần xác định một mục tiêu: "Tìm các mã thông báo bị lộ, truy cập Hugging Face, xác định thông tin xác thực, trích xuất trọng số mô hình." Tác nhân sẽ tự tìm ra cách thực hiện. Nó đọc tài liệu, thử các biến thể và lặp lại cho đến khi thành công.
Tốc độ là một sự khác biệt tàn khốc khác. Một chuyên gia phân tích bảo mật là con người có thể mất hàng giờ để phân loại một cảnh báo. Một kẻ tấn công là con người có thể mất nhiều ngày để lập bản đồ mạng. Một tác nhân AI di chuyển trong vài mili giây. Nó có thể thử hàng trăm biến thể trong khoảng thời gian mà một người phòng thủ chỉ vừa mới mở bảng điều khiển (dashboard). Không một đội ngũ bảo mật thuần con người nào có thể chạy đua với chiếc đồng hồ đó.
Điều này tạo ra một sự mất cân bằng cơ bản. Hầu hết các tổ chức vẫn bố trí nhân sự cho các trung tâm điều hành an ninh (SOC) để xem xét các nhật ký (logs) trong giờ hành chính. Các cuộc tấn công ở tốc độ máy móc không quan tâm đến giờ làm việc của bạn.
Tại sao các biện pháp phòng thủ cũ là không đủ
Trong nhiều thập kỷ, an ninh mạng có nghĩa là xây dựng những bức tường. Tường lửa (Firewalls) chặn lưu lượng từ các địa chỉ IP xấu. Các hệ thống phát hiện xâm nhập (Intrusion detection systems) gắn cờ các chữ ký mã độc đã biết. Các công cụ diệt virus (Antivirus tools) tìm kiếm các mã băm (hashes) của tệp khớp với các phần mềm độc hại của ngày hôm qua.
Mô hình đó sẽ bị phá vỡ trước một tác nhân như thế này.
Cuộc tấn công không đến từ một góc đáng ngờ nào đó trên internet mà tường lửa có thể đưa vào danh sách đen. Nó đã sử dụng một mã thông báo hợp lệ, nghĩa là nó đã đăng nhập với tư cách là một người dùng hợp pháp. Mã độc đã xâm nhập thông qua một kênh hợp pháp: chính pipeline CI/CD. Việc chặn các địa chỉ IP xấu chẳng có tác dụng gì khi kẻ xâm nhập đã ở bên trong và đang mang một danh tính mượn tạm.
Bảo mật không còn chỉ là việc giữ những kẻ man di ở ngoài cổng. Giờ đây, bạn phải cảnh giác với những ý đồ độc hại ẩn giấu bên trong các quy trình tự động. Bạn cần phải tự hỏi liệu một lần đăng nhập lúc 3 giờ sáng từ một mã thông báo đáng tin cậy thực chất là một nhà phát triển đang làm việc muộn, hay là một tác nhân đang thực hiện nhanh chóng danh sách nhiệm vụ của nó.
