Một proxy nhân bản mà Google chạy thay mặt cho các nhà phát triển ngôn ngữ lập trình Go đã đẩy gói backdoored trong hơn ba năm cho đến thứ Hai, sau khi các nhà nghiên cứu phát hiện ra mã độc hại đã kiến nghị gỡ bỏ nó hai lần.
Dịch vụ, được gọi là Gương mô-đun Go, lưu trữ các gói nguồn mở có sẵn trên GitHub và các nơi khác để quá trình tải xuống nhanh hơn và đảm bảo chúng tương thích với phần còn lại của hệ sinh thái Go. Theo mặc định, khi ai đó sử dụng các công cụ dòng lệnh được tích hợp trong Go để tải xuống hoặc cài đặt các gói, các yêu cầu sẽ được định tuyến qua dịch vụ. Mô tả trên trang web cho biết proxy được cung cấp bởi nhóm Go và “do Google.” điều hành
Bộ nhớ đệm trong
Kể từ tháng 11 năm 2021, Go Module Mirror đã tổ chức phiên bản cửa sau của mô-đun được sử dụng rộng rãi, công ty bảo mật Socket cho biết hôm thứ Hai. Tệp sử dụng “typosquatting,” một kỹ thuật đặt tên cho các tệp độc hại tương tự như các tệp hợp pháp được sử dụng rộng rãi và đặt chúng trong các kho lưu trữ phổ biến. Trong trường hợp ai đó tạo lỗi đánh máy hoặc thậm chí là một biến thể nhỏ so với tên chính xác khi tìm nạp tệp có dòng lệnh, họ sẽ truy cập vào tệp độc hại thay vì tệp họ muốn. (Một sơ đồ lỗi chính tả tương tự cũng phổ biến với tên miền.)
Mô-đun độc hại được đặt tên là boltdb-go/bolt, một biến thể của boltdb/bolt được áp dụng rộng rãi 8.367 gói khác phụ thuộc vào để chạy. Gói độc hại lần đầu tiên xuất hiện trên GitHub. Tệp ở đó cuối cùng đã được hoàn nguyên về phiên bản hợp pháp, nhưng vào thời điểm đó, Go Module Mirror đã lưu trữ tệp ở cửa sau và lưu trữ nó trong ba năm tiếp theo.
“Sự thành công của cuộc tấn công này dựa vào thiết kế của dịch vụ Go Module Proxy, ưu tiên bộ nhớ đệm cho hiệu suất và tính khả dụng, các nhà nghiên cứu của ” Socket viết. “Sau khi phiên bản mô-đun được lưu vào bộ nhớ đệm, nó vẫn có thể truy cập được thông qua Proxy mô-đun Go, ngay cả khi nguồn gốc sau đó được sửa đổi. Mặc dù thiết kế này mang lại lợi ích cho các trường hợp sử dụng hợp pháp, nhưng tác nhân đe dọa đã khai thác nó để liên tục phân phối mã độc bất chấp những thay đổi tiếp theo đối với kho lưu trữ.”