🔥 Trường Tiểu học Vinh Quang đã đăng ký tín nhiệm. 🔥                    🔥 Ủy ban nhân dân xã Đắk Ring, huyện Kon Plông, tỉnh Kon Tum đã đăng ký tín nhiệm. 🔥                    🔥 Ủy ban nhân dân xã Pờ Ê, huyện Kon Plông, tỉnh Kon Tum đã đăng ký tín nhiệm. 🔥                    🔥 Uỷ ban nhân dân xã Măng Bút, huyện Kon Plông, tỉnh Kon Tum đã đăng ký tín nhiệm. 🔥                    🔥 Sở Ngoại vụ tỉnh An Giang đã đăng ký tín nhiệm. 🔥                   

Hàng triệu kho lưu trữ GitHub có nguy cơ dễ bị tấn công RepoJacking

23/06/2023

Hàng triệu kho lưu trữ GitHub có thể dễ bị tấn công giả mạo kho lưu trữ dependencies, còn được gọi là "RepoJacking", có thể cho phép các tác nhân đe dọa thực hiện các cuộc tấn công chuỗi cung ứng gây ảnh hưởng đến số lượng lớn người dùng.

Cảnh báo đến từ nhóm bảo mật của AquaSec, 'Nautilus', nhóm đã phân tích một mẫu gồm 1,25 triệu kho lưu trữ GitHub và nhận thấy khoảng 2,95% trong số đó dễ bị RepoJacking.

Bằng cách ngoại suy tỷ lệ phần trăm này cho toàn bộ cơ sở lưu trữ hơn 300 triệu kho lưu trữ của GitHub, các nhà nghiên cứu ước tính sự cố ảnh hưởng đến khoảng 9 triệu dự án.

RepoJacking là gì

Việc thay đổi tên người dùng và tên kho lưu trữ diễn ra thường xuyên trên GitHub, vì các tổ chức có thể nhận được quyền quản lý mới thông qua việc mua lại hoặc sáp nhập hoặc họ có thể thay đổi thương hiệu.

Khi điều này xảy ra, một chuyển hướng được tạo để tránh phá vỡ các phụ thuộc đối với các dự án sử dụng mã từ các kho lưu trữ đã đổi tên; tuy nhiên, nếu ai đó đăng ký tên cũ, chuyển hướng đó sẽ không hợp lệ.

RepoJacking là cuộc tấn công trong đó tác nhân độc hại đăng ký tên người dùng và tạo một kho lưu trữ đã được sử dụng bởi một tổ chức trong quá khứ (sau đó đã đổi tên).

Việc này dẫn đến bất kỳ dự án hoặc mã (code) nào dựa trên dependencies của dự án bị tấn công sẽ tải dependencies và mã từ kho lưu trữ do kẻ tấn công kiểm soát, có thể chứa phần mềm độc hại.

GitHub đã biết về khả năng này và triển khai một số biện pháp phòng thủ trước các cuộc tấn công RepoJacking. Tuy nhiên, AquaSec cho biết rằng các giải pháp cho đến nay vẫn chưa hoàn thiện và có thể bị vượt qua.

Ví dụ: GitHub chỉ bảo vệ các dự án rất phổ biến, nhưng những dự án đó có thể sử dụng dependencies từ kho lưu trữ dễ bị tấn công, ít phổ biến hơn không được bảo vệ, do đó, sự xâm phạm chuỗi cung ứng cũng ảnh hưởng đến chúng.

Ngoài ra, GitHub bảo vệ các kho lưu trữ với hơn 100 bản sao trong tuần trước khi đổi tên, điều này không bao gồm các dự án đã trở nên phổ biến sau khi đổi tên hoặc chuyển quyền sở hữu.

Khả năng khai thác

Để làm nổi bật tính nghiêm trọng của vấn đề, AquaSec đã quét các tổ chức nổi tiếng để tìm kiếm các kho lưu trữ dễ bị tấn công và phát hiện các trường hợp có thể khai thác trong kho lưu trữ do Google và Lyft quản lý.

Trong trường hợp của Google, một tệp readme chứa hướng dẫn về việc xây dựng dự án khá phổ biến "Mathsteps" đã trỏ đến một kho lưu trữ GitHub thuộc sở hữu của Socratic, một công ty mà Google đã mua lại và hợp nhất vào năm 2018 và hiện không còn tồn tại.

Vì kẻ tấn công có thể sao chép kho lưu trữ đó để phá vỡ chuyển hướng, khiến những người dùng làm theo hướng dẫn trong tệp readme có thể tải xuống mã độc từ kho lưu trữ giả mạo.

Ngoài ra, hướng dẫn bao gồm lệnh cài đặt "npm install" cho dependencies nên các lệnh độc hại của kẻ tấn công có thể thực thi tùy ý trên thiết bị của những người dùng cả tin.

Trong trường hợp của Lyft, AquaSec đã phát hiện một tập lệnh cài đặt trên kho lưu trữ của công ty để tải về một tệp ZIP từ kho lưu trữ khác, dễ bị tấn công bởi RepoJacking.

Kẻ tấn công đăng ký tên người dùng và kho lưu trữ mới với tên phù hợp (trong trường hợp này là "YesGraph" và "Dominus") có thể chèn các lệnh độc hại của chúng cho bất kỳ ai thực thi tập lệnh "install.sh" của Lyft.

Kết luận

Rủi ro của RepoJacking là rất lớn, khó giảm thiểu và có thể gây ra hậu quả nghiêm trọng cho các tổ chức và người dùng.

Chủ sở hữu dự án nên giảm thiểu các tài nguyên mà họ tải về từ các kho lưu trữ bên ngoài càng nhiều càng tốt. Ngoài ra, chủ sở hữu cũng nên xem xét việc giữ quyền kiểm soát kho lưu trữ của các thương hiệu cũ hoặc của các bên được mua lại để ngăn chặn các cuộc tấn công RepoJacking vào chính họ và người dùng của họ.

Nguồn: bleepingcomputer.com

scrolltop