Cách bảo vệ dự án của bạn khỏi GitHub RepoJacking

Cách bảo vệ dự án của bạn khỏi GitHub RepoJacking

Chia sẻ kiến thức 01/09/2023

Các ứng dụng sử dụng tên kho lưu trữ cũ trên GitHub làm phần phụ thuộc có thể dẫn người dùng đến phần mềm độc hại. Đây là những gì bạn cần biết.

RepoJacking GitHub gây ra rủi ro cho các nhà phát triển. Tin tặc có thể lợi dụng việc người dùng và công ty thay đổi tên GitHub của họ bằng cách chiếm đoạt tên kho lưu trữ cũ với hy vọng rằng các tệp độc hại mà chúng thêm vào có thể bị các ứng dụng sử dụng mã phụ thuộc tìm nạp.

 

Khi đó, điều quan trọng là bạn phải thực hiện các bước để bảo vệ dự án GitHub của riêng mình nếu gần đây bạn đã thay đổi tên người dùng hoặc tham chiếu các kho lưu trữ khác làm phần phụ thuộc.

 

RepoJacking là gì?

 

Repojacking GitHub là một kiểu khai thác có thể diễn ra sau khi chủ sở hữu kho lưu trữ thay đổi tên người dùng của họ. Sự kết hợp tên người dùng và tên kho lưu trữ cũ sẽ có sẵn và tin tặc có thể tận dụng các phụ thuộc của nó bằng cách xác nhận tên người dùng và tạo một kho lưu trữ có cùng tên.

Repojacking có thể gây ra hai loại rủi ro riêng biệt:

  • Repojacking có thể làm cho một ứng dụng lẽ ra đáng tin cậy trở nên không đáng tin cậy. Nếu bạn sử dụng một ứng dụng sử dụng kho lưu trữ GitHub làm phần phụ thuộc và chủ sở hữu đổi tên kho lưu trữ thì việc sử dụng ứng dụng đó sẽ khiến bạn dễ bị tấn công.
  • Việc đăng nhập lại có thể khiến ứng dụng bạn đang phát triển gặp rủi ro. Nếu bạn tham chiếu kho lưu trữ GitHub dưới dạng phụ thuộc và không nhận thấy hoặc cập nhật kho lưu trữ đó khi kho lưu trữ được đổi tên, ứng dụng của bạn sẽ dễ bị tấn công.
 

Repojacking không gây ra rủi ro lớn cho người dùng, nhưng nó có thể đóng vai trò là cơ chế cho một cuộc tấn công chuỗi cung ứng nghiêm trọng. Nếu một ứng dụng có phần phụ thuộc tham chiếu đến kho lưu trữ được kích hoạt lại, thì ứng dụng đó sẽ gọi và nhận mã từ các trình kích hoạt lại có thể chứa phần mềm độc hại.

Nếu bạn phát triển trên GitHub, việc biết cách để giảm thiểu rủi ro bị tấn công và repoJacking chuỗi cung ứng—cả về việc trở thành kho lưu trữ bị tấn công và trở thành bên thứ ba có các phần phụ thuộc—là điều quan trọng.

Cách giảm thiểu rủi ro RepoJacking

Các cuộc tấn công repojacking dựa trên một cơ chế có thể dự đoán được: kẻ tấn công chiếm quyền kiểm soát một kho lưu trữ không có người nhận và sau đó lợi dụng bất kỳ ứng dụng nào tham chiếu kho lưu trữ đó như một phần phụ thuộc. May mắn là điều này khiến việc phòng chống repoJacking khá dễ dàng. 

 

Tạo bản sao riêng của kho lưu trữ

Nhân bản kho lưu trữ là một cách tuyệt vời để giảm thiểu rủi ro liên quan đến các phần phụ thuộc trong dự án của bạn vì bạn sẽ có quyền kiểm soát tuyệt đối đối với bản sao riêng tư của mình. 

Theo dõi phần phụ thuộc của dự án của bạn một cách cẩn thận

Nếu bạn quyết định tham khảo các kho lưu trữ công cộng, bạn nên đảm bảo rằng bạn kiểm tra các phần phụ thuộc dự án của mình thường xuyên. Việc kiểm tra trạng thái các phần phụ thuộc của bạn vài lần trong năm sẽ chỉ mất tối đa một giờ—và nó sẽ giúp bạn giảm bớt rất nhiều rủi ro về sau.

Xem xét lại việc đổi tên tài khoản của bạn

Trong trường hợp lý tưởng, việc cập nhật tên người dùng của bạn sẽ không gây lo ngại. Tuy nhiên, do có nguy cơ repoJacking, bạn nên cân nhắc việc giữ lại tên cũ của mình. Nếu bạn phải thay đổi tên người dùng của mình, bạn nên yêu cầu và bảo lưu tên cũ bằng cách đăng ký tài khoản khác.

Sử dụng nguồn lực bên ngoài một cách khôn ngoan

Các phần phụ thuộc gây ra rủi ro cố hữu vì chúng tạo ra các điểm truy cập của bên thứ ba trong ứng dụng của bạn. Mặc dù chúng giúp tiết kiệm thời gian nhưng việc thường xuyên kiểm tra các phần phụ thuộc vào dự án của bạn là rất quan trọng. Bạn cũng nên thực hiện các biện pháp bảo mật khác, chẳng hạn như sử dụng xác thực SSH, để ngăn chặn hành vi lợi dụng của tin tặc. 

Tìm hiểu ngay chương trình học công nghệ thông tin trực tuyến tại FUNiX ở đây:

Vân Nguyễn

Dịch từ: https://www.makeuseof.com/protect-project-from-github-repojacking/

ĐĂNG KÝ TƯ VẤN HỌC LẬP TRÌNH TẠI FUNiX

Bình luận (
0
)

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, phường Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        

Cơ quan chủ quản: Công ty Cổ phần Giáo dục Trực tuyến FUNiX
MST: 0108171240 do Sở kế hoạch và Đầu tư thành phố Hà Nội cấp ngày 27 tháng 02 năm 2018
Địa chỉ:
Văn phòng Hà Nội: Tầng 4, Tòa nhà 25T2, Đường Nguyễn Thị Thập, phường Yên Hòa, Hà Nội.
Văn phòng TP.HCM: Lầu 8, Tòa nhà Giày Việt Plaza 180-182 Lý Chính Thắng, phường Nhiêu Lộc, TP. Hồ Chí Minh.
Hotline: 078 231 3602 – Email: info@funix.edu.vn

yêu cầu gọi lại