Cách GitHub dọn dẹp hơn 20.000 bí mật để đạt trạng thái ‘Inbox Zero’
Khám phá hành trình 9 tháng của đội ngũ bảo mật GitHub trong việc xử lý hơn 20.000 cảnh báo lộ lọt bí mật (secrets) và bài học kinh nghiệm về quản lý an ninh trong môi trường phát triển phần mềm quy...
Vài năm trước, đội ngũ bảo mật tại GitHub đã khởi động một sáng kiến nhằm đánh giá và cải thiện vệ sinh an toàn thông tin liên quan đến các secrets (khóa API, token, chứng chỉ). Khi triển khai thử nghiệm tính năng Secret Scanning, họ đã phát hiện hơn 20.000 bí mật nằm rải rác trong hơn 15.000 kho lưu trữ (repository). Sau 9 tháng nỗ lực, GitHub đã xử lý thành công toàn bộ các cảnh báo này.
Table Of Content
Loại bỏ nhiễu từ dữ liệu
Con số 20.000 cảnh báo ban đầu gây áp lực lớn, nhưng khi phân tích sâu, đội ngũ bảo mật nhận ra rằng khoảng 18.000 cảnh báo đến từ chỉ 5 repository. Hầu hết trong số đó là các bí mật không còn hoạt động, nằm trong các tệp thử nghiệm (test fixtures) hoặc dữ liệu giả lập. Việc xác định rõ đâu là rủi ro thực tế và đâu là dữ liệu rác là bước đi then chốt để giảm tải khối lượng công việc.
Chiến lược xử lý theo giai đoạn
GitHub không chọn cách xử lý thủ công từng cảnh báo mà áp dụng quy trình vận hành có hệ thống:
- Ngăn chặn từ gốc: Kích hoạt Secret Scanning và Push Protection trên toàn bộ tổ chức, đảm bảo không có thêm bí mật mới nào bị đẩy lên mã nguồn.
- Phân loại và ưu tiên: Sử dụng các tiêu chí để đóng hàng loạt các cảnh báo rủi ro thấp.
- Xác thực trạng thái: Kiểm tra xem các credential còn hiệu lực hay không. GitHub đã xây dựng cơ chế kiểm tra tự động để xác định liệu một token có còn quyền truy cập vào hệ thống hay không trước khi yêu cầu đội ngũ kỹ thuật xử lý.
- Xác định quyền sở hữu: Một thách thức lớn là tìm ra ai là người chịu trách nhiệm cho các bí mật bị lộ. Điều này thúc đẩy GitHub cải thiện hệ thống quản lý quyền sở hữu repository thông qua Custom Properties.
Bài học kinh nghiệm
Từ quá trình này, GitHub rút ra những bài học quan trọng cho các tổ chức khác:
- Đừng hoảng sợ trước con số: Phần lớn các cảnh báo thô thường là dữ liệu không nguy hiểm hoặc đã cũ.
- Kích hoạt đồng bộ: Áp dụng chính sách bảo mật ở cấp độ doanh nghiệp (enterprise) để tránh các lỗ hổng do cấu hình thiếu sót.
- Tận dụng Metadata: Thông tin đi kèm với bí mật giúp giảm đáng kể thời gian điều tra.
- Trách nhiệm chung: Bảo mật không chỉ là việc của đội ngũ Security. Khi đưa việc xử lý bí mật vào chương trình đánh giá sức khỏe kỹ thuật (Engineering Fundamentals), các đội ngũ phát triển sẽ chủ động hơn trong việc khắc phục.
Hiện nay, nhiều tính năng mà GitHub phải tự xây dựng thủ công trong quá trình này, như kiểm tra hiệu lực của token hay xác định quyền sở hữu, đã được tích hợp sẵn vào sản phẩm GitHub Advanced Security, giúp các tổ chức khác có thể triển khai nhanh chóng và hiệu quả hơn.
Nguồn tham khảo: GitHub Blog



No Comment! Be the first one.