GitHub tăng cường bảo mật: Ngăn chặn tấn công chuỗi cung ứng trên npm và GitHub Actions
GitHub công bố hàng loạt cập nhật bảo mật quan trọng trên npm và GitHub Actions nhằm vô hiệu hóa các kỹ thuật tấn công chuỗi cung ứng phổ biến, bảo vệ nhà phát triển và hệ sinh thái mã nguồn...
- Giọng nữ Bắc
Trong năm qua, các cuộc tấn công chuỗi cung ứng (supply chain attacks) đã trở thành mối đe dọa thường trực, nhắm vào các lỗ hổng trong kho lưu trữ gói (package repositories) và hệ thống CI/CD để phát tán malware. Để đối phó, GitHub đã triển khai nhiều cải tiến quan trọng trên npm và GitHub Actions nhằm cắt đứt các mắt xích quan trọng trong chuỗi tấn công.
Table Of Content
Bảo vệ tài khoản và ngăn chặn xâm nhập ban đầu
Các cuộc tấn công thường bắt đầu bằng việc chiếm đoạt tài khoản maintainer thông qua phishing hoặc khai thác các workflow không an toàn. GitHub đã thực hiện các biện pháp:
- Bảo vệ tài khoản npm: Các tài khoản có tầm ảnh hưởng lớn sẽ bị đưa vào trạng thái ‘read-only’ trong 72 giờ nếu có thay đổi email hoặc sử dụng mã khôi phục 2FA, giúp chủ sở hữu có thời gian xử lý nếu bị tấn công.
- Cải thiện GitHub Actions: Mặc định an toàn hơn cho
actions/checkoutgiúp ngăn chặn việc thực thi mã nguồn không tin cậy từ các fork. Đồng thời, người dùng có thể thiết lập chính sách kiểm soát quyền hạn (least-privilege) đối với việc ai được phép kích hoạt workflow. - Giới hạn cache: Các workflow không tin cậy giờ đây bị hạn chế khả năng ghi vào cache dùng chung, ngăn chặn kẻ tấn công leo thang đặc quyền thông qua việc đầu độc cache.
Ngăn chặn rò rỉ thông tin xác thực
Để giảm thiểu rủi ro từ các credential tồn tại lâu dài, GitHub đã mở rộng hỗ trợ Trusted Publishing cho CircleCI, cho phép xác thực mà không cần lưu trữ các token dài hạn. Ngoài ra, tính năng Actions network firewall (đang ở bản technical preview) cho phép giám sát lưu lượng mạng outbound từ các workflow, giúp phát hiện sớm các hành vi exfiltrate dữ liệu bất thường.
Kiểm soát quá trình phát tán
GitHub đã bổ sung các lớp bảo mật mới để ngăn chặn việc phát tán malware:
- Staged publishing trên npm: Yêu cầu thêm bước xác thực 2FA ngay cả khi đã có credential, giúp tách biệt quyền hạn giữa CI/CD và quyền xuất bản gói.
- Thay đổi trên npm v12: Vô hiệu hóa các script cài đặt (install-time scripts) theo mặc định để ngăn chặn việc thực thi mã độc ngay khi cài đặt gói.
- Dependabot cooldown: Các bản cập nhật phiên bản từ Dependabot sẽ có độ trễ 3 ngày trước khi mở pull request, tạo khoảng thời gian an toàn để phát hiện các bản phát hành độc hại.
Công cụ ứng phó sự cố
Cuối cùng, GitHub cung cấp các công cụ tự phục vụ (self-service) để thu hồi credential ngay lập tức cho người dùng và doanh nghiệp, bao gồm hỗ trợ API cho cả GitHub OAuth và App tokens, giúp giảm thiểu thiệt hại nếu chẳng may hệ thống bị xâm nhập.
Những cải tiến này là một phần trong nỗ lực dài hạn của GitHub nhằm xây dựng một hệ sinh thái phần mềm nguồn mở an toàn và bền vững hơn cho cộng đồng phát triển.
Nguồn tham khảo: GitHub Blog

No Comment! Be the first one.