Lỗi Picklescan cho phép mô hình PyTorch độc hại trốn tránh quét và thực thi mã

Tác giả T-X, Hôm nay lúc 10:17:11 SÁNG

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Ba lỗ hổng bảo mật nghiêm trọng đã được phát hiện trong một tiện ích nguồn mở có tên là Picklescan, có thể cho phép kẻ tấn công thực thi mã tùy ý bằng cách tải các mô hình PyTorch không đáng tin cậy, qua đó bỏ qua các biện pháp bảo vệ của công cụ.

Picklescan, được phát triển và bảo trì bởi Matthieu Maitre (@mmaitre314), là một trình quét bảo mật được thiết kế để phân tích cú pháp các tệp pickle của Python và phát hiện các lệnh nhập hoặc lệnh gọi hàm đáng ngờ trước khi chúng được thực thi. Picklescan là một định dạng tuần tự hóa được sử dụng rộng rãi trong học máy, bao gồm cả PyTorch, sử dụng định dạng này để lưu và tải các mô hình.


Tuy nhiên, tệp pickle cũng có thể là một rủi ro bảo mật lớn, vì chúng có thể được sử dụng để tự động kích hoạt việc thực thi mã Python tùy ý khi được tải. Điều này đòi hỏi người dùng và tổ chức phải tải các mô hình đáng tin cậy, hoặc tải trọng số mô hình từ TensorFlow và Flax.

Các vấn đề được JFrog phát hiện về cơ bản có thể bỏ qua máy quét, hiển thị các tệp mô hình được quét là an toàn và cho phép thực thi mã độc, từ đó có thể mở đường cho một cuộc tấn công chuỗi cung ứng.

Nhà nghiên cứu bảo mật David Cohen cho biết : "Mỗi lỗ hổng được phát hiện đều cho phép kẻ tấn công trốn tránh khả năng phát hiện phần mềm độc hại của PickleScan và có khả năng thực hiện một cuộc tấn công chuỗi cung ứng quy mô lớn bằng cách phân phối các mô hình ML độc hại che giấu mã độc hại không thể phát hiện".

Về cơ bản, Picklescan hoạt động bằng cách kiểm tra các tệp pickle ở cấp độ mã byte và so sánh kết quả với danh sách chặn các hoạt động và nhập liệu nguy hiểm đã biết để đánh dấu các hành vi tương tự. Cách tiếp cận này, trái ngược với danh sách cho phép, cũng có nghĩa là nó ngăn các công cụ phát hiện bất kỳ hướng tấn công mới nào và yêu cầu các nhà phát triển phải tính đến tất cả các hành vi độc hại có thể xảy ra.


Các lỗi đã được xác định như sau:

    CVE-2025-10155 (Điểm CVSS: 9,3/7,8) - Lỗ hổng bỏ qua phần mở rộng tệp có thể được sử dụng để làm suy yếu máy quét và tải mô hình khi cung cấp tệp pickle chuẩn có phần mở rộng liên quan đến PyTorch như.bin   Đăng nhập để xem liên kết
    CVE-2025-10156 (Điểm CVSS: 9,3/7,5) - Lỗ hổng bỏ qua có thể được sử dụng để vô hiệu hóa chức năng quét tệp ZIP bằng cách đưa vào lỗi Kiểm tra dự phòng tuần hoàn (CRC)
    CVE-2025-10157 (Điểm CVSS: 9,3/8,3) - Lỗ hổng bỏ qua có thể được sử dụng để làm suy yếu kiểm tra toàn cục không an toàn của Picklescan, dẫn đến việc thực thi mã tùy ý bằng cách vượt qua danh sách chặn các mục nhập nguy hiểm

Việc khai thác thành công các lỗ hổng đã đề cập ở trên có thể cho phép kẻ tấn công che giấu các tải trọng pickle độc hại trong các tệp bằng cách sử dụng các tiện ích mở rộng PyTorch phổ biến, cố tình đưa lỗi CRC vào các tệp lưu trữ ZIP chứa các mô hình độc hại hoặc tạo các mô hình PyTorch độc hại với các tải trọng pickle được nhúng để vượt qua trình quét.

Sau khi tiết lộ có trách nhiệm vào ngày 29 tháng 6 năm 2025, ba lỗ hổng bảo mật đã được giải quyết trong Picklescan phiên bản 0.0.31 phát hành vào ngày 9 tháng 9.

Sự phát triển này diễn ra khi SecDim và DCODX nêu chi tiết một lỗ hổng bảo mật nghiêm trọng khác trong cùng một tiện ích ( CVE-2025-46417, điểm CVSS: 7,5/7,1) có thể bị lạm dụng để bỏ qua danh sách chặn của công cụ và cho phép các tệp pickle độc hại đánh cắp thông tin nhạy cảm qua DNS khi mô hình được tải.

Trong một kịch bản tấn công giả định, kẻ tấn công có thể sử dụng lại các mô-đun Python hợp pháp như linecache và ssl để đọc dữ liệu nhạy cảm từ các tệp như "/etc/passwd" bằng cách sử dụng "linecache.getline()" và tận dụng "ssl.get_server_certificate()" để truyền dữ liệu đến miền do chúng kiểm soát.

SecDim cho biết : "Nội dung bị rò rỉ xuất hiện trong nhật ký DNS. Quét dữ liệu này bằng Picklescan 0.0.24 sẽ trả về kết quả 'không tìm thấy sự cố nào', vì linecache và ssl không nằm trong danh sách từ chối".

Những phát hiện này minh họa một số vấn đề hệ thống quan trọng, bao gồm việc phụ thuộc vào một công cụ quét duy nhất, sự khác biệt trong hành vi xử lý tệp giữa các công cụ bảo mật và PyTorch, do đó khiến kiến trúc bảo mật dễ bị tấn công.

"Các thư viện AI như PyTorch ngày càng phức tạp, giới thiệu các tính năng, định dạng mô hình và lộ trình thực thi mới nhanh hơn khả năng thích ứng của các công cụ quét bảo mật", Cohen nói. "Khoảng cách ngày càng lớn giữa đổi mới và bảo vệ khiến các tổ chức phải đối mặt với các mối đe dọa mới nổi mà các công cụ thông thường không được thiết kế để dự đoán."

"Để thu hẹp khoảng cách này, cần có một proxy bảo mật được nghiên cứu hỗ trợ cho các mô hình AI, được cập nhật liên tục bởi các chuyên gia, những người vừa có tư duy tấn công vừa có tư duy phòng thủ. Bằng cách chủ động phân tích các mô hình mới, theo dõi các bản cập nhật thư viện và khám phá các kỹ thuật khai thác mới, phương pháp này mang lại khả năng bảo vệ thích ứng, dựa trên trí tuệ nhân tạo, chống lại các lỗ hổng quan trọng nhất."