Theo các chuyên gia an ninh mạng tại GitGuardian, người dùng GitHub đã vô tình làm lộ 12,8 triệu dữ liệu nhạy cảm bao gồm secrets và khóa xác thực trong hơn 3 triệu repo công khai (public repositories) trong năm 2023. Phần lớn các secrets bị lộ này vẫn còn hiệu lực sau ít nhất 5 ngày.

Sau khi phát hiện điều này, GitGuardian đã gửi 1,8 triệu email thông báo tới người dùng bị lộ lọt dữ liệu và chỉ có 1,8% trong số đó thực hiện các biện pháp để sửa lỗi.

Các secrets bị lộ bao gồm mật khẩu tài khoản, khóa API, chứng chỉ TLS/SSL, khóa mã hóa, thông tin credential của dịch vụ đám mây, mã thông báo OAuth. Thông qua các dữ liệu nhạy cảm này, kẻ gian có thể truy cập không giới hạn vào các tài nguyên và dịch vụ riêng tư khác nhau của chủ sở hữu, dẫn đến vi phạm dữ liệu và thiệt hại tài chính.

Có thể bạn quan tâm: Phát triển phần mềm an toàn

Hàng triệu secret bị lộ trên GitHub mỗi năm (GitGuardian)

Một báo cáo của Sophos năm 2023 đã chỉ ra rằng, lộ thông tin credentials là nguyên nhân chính dẫn tới 50% trên tổng số các cuộc tấn công mạng. Nguyên nhân thứ hai là khai thác lỗ hổng (vulnerability exploitation), chiếm 23%.

Ngoài ra, GitGuardian cũng có biết, tình trạng lộ secrets trên GitHub, một nền tảng lưu trữ và hợp tác mã nguồn phổ biến nhất thế giới hiện nay, đang có chiều hướng xảy ra ngày càng thường xuyên hơn kể từ năm 2020.

Trong năm 2023, các quốc gia ghi nhận bị lộ lọt dữ liệu nhiều nhất là Ấn Độ, Brazil, Trung Quốc, Pháp, Canada, Việt Nam, Indonesia, Hàn Quốc và Đức.

Trong đó, ngành IT có tình trạng lộ dữ liệu cao nhất, lên đến 65.9%. Tiếp đó là ngành Giáo dục với 20.1%. Các ngành còn lại là khoa học, bán lẻ, sản xuất, tài chính, hành chính công, y tế, giải trí, giao thông vận tải chiếm 14%.

Công cụ phát hiện rò rỉ dữ liệu của GitGuardian đã trả lại kết quả bất ngờ: có tới 45% secrets của các doanh nghiệp đã bị lộ ra ngoài. Cụ thể như sau:

Top 10 generic secrets thường bị lộ lọt nhất (GitGuardian)

Các công cụ dò quét dữ liệu đã có thể xác định và phân loại chúng thành các nhóm cụ thể. Các loại secrets bị phát hiện rò rỉ nhiều nhất bao gồm:

  • Khóa API và khóa Google Cloud của Google,
  • Thông tin đăng nhập cho cơ sở dữ liệu MongoDB,
  • Token cho bot của OpenWeatherMap và Telegram,
  • Thông tin đăng nhập cho cơ sở dữ liệu MySQL và PostgreSQL
  • Các khóa OAuth của GitHub.
Top 10 valid specific secrets (GitGuardian)

2,6% secrets bị lộ sẽ được thu hồi trong vòng một giờ đầu tiên, nhưng có tới 91,6% secrets vẫn có hiệu lực sau 5 ngày (sau đó GitGuardian đã ngừng theo dõi trạng thái của các secrets này).

Riot Games, GitHub, OpenAI và AWS là các đơn vị có cơ chế phản hồi tốt nhất để giúp phát hiện các commit xấu và khắc phục nhanh chóng.

Sự phát triển của AI

Các công cụ AI tiếp tục phát triển bùng nổ vào năm 2023. Điều này cũng được phản ánh thông qua số lượng secrets liên quan đã bị lộ lọt trên GitHub vào năm ngoái.

Theo thống kê của GitGuardian, số lượng khóa API OpenAI bị rò rỉ trên GitHub tăng gấp 1.212 lần so với năm 2022, rò rỉ trung bình 46.441 khóa API mỗi tháng. Đây là mức tăng cao nhất theo báo cáo của GitGuardian.

OpenAI được biết đến với các sản phẩm như ChatGPT và DALL-E, được sử dụng rộng rãi ngoài cộng đồng công nghệ. Nhiều doanh nghiệp và nhân viên nhập thông tin nhạy cảm trên prompt của ChatGPT, điều này là rủi ro rất lớn gây ra tình trạng lộ secrets.

Kho lưu trữ mô hình AI nguồn mở HuggingFace có số lượng bí secrets rò rỉ tăng mạnh, song song với độ phổ biến ngày càng cao của công cụ này với cộng đồng nghiên cứu và phát triển AI.

Biểu đồ thể hiện số lượng key bị leaked hàng tháng (GitGuardian)

Các dịch vụ AI khác như Cohere, Claude, Clarifai, Google Bard, Pinecone và Replicate cũng bị rò rỉ secrets, mặc dù ở mức độ thấp hơn nhiều.

Trong khi những người sử dụng dịch vụ AI cần bảo mật secrets một cách an toàn hơn, GitGuardian cho rằng các công nghệ này cũng có thể được sử dụng để phát hiện và bảo vệ các secrets của người dùng.

GitGuardian nói rằng các mô hình ngôn ngữ lớn (LLM) có thể giúp phân loại các secrets bị rò rỉ nhanh chóng và ít sai sót hơn. Tuy nhiên, ở thời điểm hiện tại, việc triển khai là không hề đơn giản vì sẽ gây ra vấn đề rất lớn về chi phí, thời gian và quy mô hoạt động.

Tháng trước, GitHub đã cho phép bật chế độ bảo vệ mặt định để ngăn chặn việc vô tình làm lộ secrets đẩy code mới lên nền tảng này.

Giải pháp nào cho các developer trước tình trạng lộ lọt secrets ngày càng tăng cao?

Để phòng tránh và kịp thời phản ứng trước các tình huống lộ lọt dữ liệu nhạy cảm (sensitive data) ngày càng phổ biến hiện nay, developer nên cân nhắc sử dụng các trình quản lí dữ liệu (secrets manager) uy tín. Các secrets manager mà developer nên lựa chọn hiện nay là Locker Secret Manager, AWS Secrets Manager, HashiCorp Vault, Google Cloud Secrets Manager, và Azure Key Vault.

Hiện tại, Locker Secrets Manager đang cho phép sử dụng miễn phí. Đây là cơ hội duy nhất để bạn có thể trải nghiệm công cụ. Locker giúp đơn giản hóa việc lưu trữ và quản lý các secrets phục vụ trong phát triển phần mềm như SSH key, API key, mật khẩu cơ sở dữ liệu,… Nhà phát triển có thể truy cập secrets thông qua CLI và SDK lập trình được tích hợp vào mã nguồn của dự án.

Phương thức hoạt động:

  • Lưu trữ các secrets vào kho dữ liệu tập trung (secrets vault)
  • Locker sử dụng mã hóa đầu cuối (end-to-end encryption), mã hóa không thông tin (zero-knowledge encryption) và zero-trust model để bảo mật dữ liệu
  • Khi các ứng dụng thứ 3 muốn truy cập vào secrets trong Locker hoặc ngược lại, Locker sẽ truyền secrets đến các ứng dụng này và đảm bảo đường truyền được mã hóa tuyệt đối

Các tính năng chính của Locker Secrets Manager bao gồm:

  • Lưu trữ và quản lý secrets được mã hóa
  • Phân loại secrets theo môi trường phát triển: dev, stagging, production,…
  • Hỗ trợ SDK lập trình: với các ngôn ngữ phổ biến như Python, Go, JS, C#
  • Hỗ trợ CLI: thuận tiện cho quá trình CI/CD và DevSecOps
  • Kiểm soát chia sẻ và phân quyền secrets cho thành viên trong team
  • Kiểm tra nhật ký truy cập thông qua thời gian, vị trí, IP người dùng
  • Tự động phát hiện secrets không an toàn trong source code và thay thế bằng Locker SDK, xóa lịch sử Git
  • Tự động đổi secrets theo định kỳ

Đăng ký tài khoản và trải nghiệm Locker Secrets Manager tại: https://sm.locker.io/secrets

Nguồn tham khảo: Bleepingcomputer, GitGuardian

Chia sẻ bài viết này