Quy tắc 27: Tấn công chuỗi cung ứng phần mềm
Điều gì sẽ xảy ra nếu mối đe dọa lớn nhất đối với hệ thống của bạn không phải là mã nguồn của bạn, mà là những thư viện mã nguồn mở đáng tin cậy mà bạn nhập vào? Chào mừng đến với cơn ác mộng tồi tệ nhất của nhà phát triển: Tấn công chuỗi cung ứng phần mềm.
Kẻ tấn công không còn phí thời gian tìm cách vượt qua tường lửa của bạn. Thay vào đó, chúng cài cửa hậu độc hại vào các gói mã nguồn mở phổ biến (trên npm, PyPI hoặc GitHub). Khi bạn chạy lệnh pip install hoặc npm install đơn giản, bạn vô tình đưa phần mềm độc hại của chúng thẳng vào máy chủ của mình!
Để thực thi Quy tắc 27, bạn phải bảo vệ các phần phụ thuộc bằng ba lớp phòng thủ tuyệt đối sau:
1️⃣ Khóa các phần phụ thuộc: Luôn sử dụng tệp khóa (như package-lock.json hoặc requirements.txt kèm mã băm nghiêm ngặt) để đảm bảo không có mã ngoài dự kiến hoặc đã bị chỉnh sửa nào được tải xuống trong quá trình triển khai.
2️⃣ Tự động quét lỗ hổng bảo mật: Tích hợp các công cụ như Snyk, GitHub Dependabot hoặc OWASP Dependency-Check vào quy trình làm việc của bạn. Chúng sẽ ngay lập tức phát hiện và chặn các thư viện bị xâm phạm hoặc lỗi thời.
3️⃣ Xác minh nguồn gốc: Trước khi tin tưởng một gói mới, hãy kiểm tra những người duy trì gói đó, tần suất cập nhật và cảnh giác với hành vi giả mạo tên gần giống (Typosquatting)—kẻ xấu đặt tên cho các gói độc hại gần giống với các gói nổi tiếng, chẳng hạn như requsts thay vì requests.
Đừng để một thư viện bên thứ ba đáng tin cậy trở thành con ngựa thành Troy trong hạ tầng của bạn
#BTC
Điều gì sẽ xảy ra nếu mối đe dọa lớn nhất đối với hệ thống của bạn không phải là mã nguồn của bạn, mà là những thư viện mã nguồn mở đáng tin cậy mà bạn nhập vào? Chào mừng đến với cơn ác mộng tồi tệ nhất của nhà phát triển: Tấn công chuỗi cung ứng phần mềm.
Kẻ tấn công không còn phí thời gian tìm cách vượt qua tường lửa của bạn. Thay vào đó, chúng cài cửa hậu độc hại vào các gói mã nguồn mở phổ biến (trên npm, PyPI hoặc GitHub). Khi bạn chạy lệnh pip install hoặc npm install đơn giản, bạn vô tình đưa phần mềm độc hại của chúng thẳng vào máy chủ của mình!
Để thực thi Quy tắc 27, bạn phải bảo vệ các phần phụ thuộc bằng ba lớp phòng thủ tuyệt đối sau:
1️⃣ Khóa các phần phụ thuộc: Luôn sử dụng tệp khóa (như package-lock.json hoặc requirements.txt kèm mã băm nghiêm ngặt) để đảm bảo không có mã ngoài dự kiến hoặc đã bị chỉnh sửa nào được tải xuống trong quá trình triển khai.
2️⃣ Tự động quét lỗ hổng bảo mật: Tích hợp các công cụ như Snyk, GitHub Dependabot hoặc OWASP Dependency-Check vào quy trình làm việc của bạn. Chúng sẽ ngay lập tức phát hiện và chặn các thư viện bị xâm phạm hoặc lỗi thời.
3️⃣ Xác minh nguồn gốc: Trước khi tin tưởng một gói mới, hãy kiểm tra những người duy trì gói đó, tần suất cập nhật và cảnh giác với hành vi giả mạo tên gần giống (Typosquatting)—kẻ xấu đặt tên cho các gói độc hại gần giống với các gói nổi tiếng, chẳng hạn như requsts thay vì requests.
Đừng để một thư viện bên thứ ba đáng tin cậy trở thành con ngựa thành Troy trong hạ tầng của bạn
#BTC