Cộng đồng Python đang tích cực thảo luận về việc triển khai PEP 740, một tiêu chuẩn mới cho xác thực có thể kiểm chứng bằng mật mã trong phân phối gói, với nhiều phản ứng trái chiều về tính cần thiết và hiệu quả của nó trong việc ngăn chặn các cuộc tấn công chuỗi cung ứng.
Tiềm năng và thực tế của xác thực gói
PEP 740 giới thiệu phương pháp xác thực mật mã liên kết trực tiếp các gói đã xuất bản với kho mã nguồn của chúng, đảm bảo rằng những gì nhà phát triển đẩy lên chính xác là những gì người dùng tải xuống. Hiện tại, chỉ có 6% trong số 360 gói được tải xuống nhiều nhất trên PyPI cung cấp xác thực, trong khi 77% được tải lên lần cuối trước khi tính năng xác thực ra đời. Việc triển khai này tận dụng Sigstore và tích hợp với Trusted Publishers, khiến nó đặc biệt thuận tiện cho các dự án sử dụng GitHub Actions.
Tình trạng Xác thực hiện tại của các Gói trên PyPI (360 Gói hàng đầu):
- Xanh lá (có xác thực): 6%
- Không màu (tải lên trước khi có xác thực): 77%
- Vàng (chưa có xác thực): 17%
Bảo mật chuỗi cung ứng: Phòng ngừa và ưu tiên
Một cuộc tranh luận đáng kể đã nổi lên xung quanh việc đầu tư vào hệ thống xác thực so với các biện pháp bảo mật khác. Trong khi một số thành viên cộng đồng chỉ ra rằng các cuộc tấn công chuỗi cung ứng tương đối hiếm so với việc đánh cắp thông tin đăng nhập và lừa đảo, những người ủng hộ hệ thống cho rằng tác động tiềm tàng của những cuộc tấn công như vậy biện minh cho khoản đầu tư này. Các ví dụ nổi bật như sự cố SolarWinds cho thấy mặc dù không thường xuyên xảy ra, những vi phạm chuỗi cung ứng có thể gây ra hậu quả nghiêm trọng.
Thách thức và lo ngại trong triển khai
Việc áp dụng PEP 740 phải đối mặt với một số trở ngại. Những người duy trì gói nhỏ có thể thấy đường cong học tập khá dốc, đặc biệt nếu họ không sử dụng GitHub Actions. Một số thành viên cộng đồng bày tỏ lo ngại về sự phụ thuộc ngày càng tăng vào cơ sở hạ tầng của GitHub và Microsoft, coi mô hình Trusted Publisher có khả năng tập trung hóa quyền kiểm soát đối với hệ sinh thái gói Python.
Các Tính Năng Bảo Mật Chính:
- Xác minh mã hóa nguồn gói
- Tích hợp với hệ thống Sigstore
- Hỗ trợ Nhà Phát Hành Đáng Tin Cậy
- Tương thích với quy trình làm việc của GitHub Actions
Ý nghĩa tương lai
Mặc dù PEP 740 đại diện cho một bước tiến trong bảo mật gói, cộng đồng nhấn mạnh rằng đây không phải là giải pháp hoàn chỉnh. Hệ thống không thể ngăn chặn mã độc được đưa vào bởi những người duy trì hợp pháp hoặc bảo vệ chống lại các kho mã nguồn bị xâm phạm. Tuy nhiên, nó bổ sung một lớp quan trọng vào hệ thống bảo mật, tương tự như cách HTTPS trở thành tiêu chuẩn cho bảo mật web.
Nó giống như HTTPS so với HTTP cho các gói của bạn. Không sao nếu bạn không quan tâm, nhưng việc có các tiêu chuẩn bảo mật cao hơn giúp ích cho tất cả chúng ta và hy vọng không gây quá nhiều khó khăn cho các nhà cung cấp trong khi hầu như vô hình đối với người dùng cuối.
Cuộc thảo luận nhấn mạnh một xu hướng rộng lớn hơn trong bảo mật phần mềm: nhu cầu cân bằng giữa việc triển khai thực tế với lý tưởng bảo mật, và thách thức trong việc bảo vệ chống lại các mối đe dọa có tác động cao nhưng tần suất thấp.
Nguồn tham khảo: Are we PEP 740 yet?