Lỗ hổng Firebase nguy hiểm: Hàng triệu dữ liệu nhạy cảm rò rỉ

Lỗ hổng Firebase nguy hiểm: Hàng triệu dữ liệu nhạy cảm rò rỉ

Một phân tích bảo mật toàn diện đã phát hiện ra một lỗ hổng Firebase lan rộng, ảnh hưởng đến các ứng dụng di động sử dụng Firebase. Hơn 150 ứng dụng phổ biến vô tình làm rò rỉ dữ liệu nhạy cảm của người dùng thông qua các dịch vụ Google Firebase bị cấu hình sai.

Phạm vi của cuộc khủng hoảng bảo mật này vượt xa các sự cố trước đó, có khả năng ảnh hưởng đến hàng nghìn ứng dụng với hàng triệu lượt tải xuống trên toàn thế giới.

Nghiên cứu của các chuyên gia bảo mật trên khoảng 1.200 ứng dụng di động chỉ từ ba danh mục ứng dụng đã cho thấy những khoảng trống đáng báo động trong cách triển khai Firebase.

Nội dung
Quy mô và Rủi ro Bảo Mật từ Cấu hình sai Firebase

Các Loại Dữ liệu và Thông tin Nhạy cảm Bị Lộ
Nguyên nhân gốc rễ của Lỗ hổng Firebase
OpenFirebase: Công cụ phát hiện Lỗ hổng Firebase

Kết quả quét chi tiết của OpenFirebase

Quy mô và Rủi ro Bảo Mật từ Cấu hình sai Firebase

Trong số các ứng dụng sử dụng dịch vụ Firebase – chiếm khoảng 80% tổng số ứng dụng di động – hơn 150 ứng dụng đã bị phát hiện cho phép truy cập hoàn toàn không xác thực vào các kho dữ liệu quan trọng.

Các kho dữ liệu này bao gồm Realtime Databases, Storage Buckets, Firestore databases và các bí mật của Remote Configuration. Các ứng dụng bị lộ không phải là những chương trình ít người dùng.

Nhiều ứng dụng dễ bị tổn thương có số lượt tải xuống vượt quá 100.000, với nhiều ứng dụng đạt 1 triệu, 5 triệu, 10 triệu, 50 triệu hoặc thậm chí 100 triệu lượt tải xuống.

Quy mô này vượt trội đáng kể so với vụ rò rỉ dữ liệu ứng dụng Tea, vốn chỉ ảnh hưởng đến hơn 500.000 lượt tải xuống.

Chúng ta có thể sử dụng Google API sau để truy cập vào nhóm lưu trữ PROJECT_ID.appspot.com:

https://www.googleapis.com/storage/v1/b/PROJECT_ID.appspot.com/o?fields=name

Các tác động trở nên đáng lo ngại hơn khi ngoại suy trên tất cả các danh mục ứng dụng. Chỉ với ba trong tổng số 32-34 danh mục ứng dụng được phân tích, các nhà nghiên cứu ước tính khoảng 4.800 dịch vụ Firebase có thể bị truy cập mà không cần xác thực, chứa một lượng lớn dữ liệu người dùng nhạy cảm.

Các Loại Dữ liệu và Thông tin Nhạy cảm Bị Lộ

Sự đa dạng và mức độ nhạy cảm của dữ liệu bị lộ là đáng kinh ngạc. Các nhà nghiên cứu đã phát hiện:

  • Thông tin chi tiết xử lý thanh toán.
  • Thông tin cá nhân toàn diện của người dùng.
  • Hàng triệu định danh duy nhất.
  • Các cuộc trò chuyện tin nhắn riêng tư.
  • Mật khẩu dạng văn bản rõ (cleartext) cùng với thông tin xác thực được mã hóa.
  • Các gợi ý và truy vấn của người dùng.
  • Các mã thông báo (token) GitHub và Amazon Web Services (AWS) có quyền cao.

Tài liệu Firebase Admin SDK nêu rõ rằng đây là định dạng cũ cho Realtime databases được tạo trước tháng 9 năm 2020.

Những khám phá này làm nổi bật cách các cấu hình sai Firebase có thể làm lộ không chỉ dữ liệu người dùng mà còn cả thông tin xác thực truy cập cơ sở hạ tầng quan trọng, có thể dẫn đến các sự cố xâm phạm tổ chức rộng lớn hơn.

Nguyên nhân gốc rễ của Lỗ hổng Firebase

Lỗ hổng Firebase chính bắt nguồn từ tùy chọn cấu hình “test mode” của Firebase. Khi các nhà phát triển khởi tạo dịch vụ Firebase Storage, Realtime Database hoặc Firestore, họ có thể chọn giữa chế độ sản xuất (production mode) – nơi dữ liệu được giữ riêng tư theo mặc định – hoặc chế độ thử nghiệm (test mode).

Chế độ thử nghiệm làm cho dữ liệu có thể truy cập công khai trong 30 ngày để tạo điều kiện thuận lợi cho việc phát triển nhanh chóng.

Điều đặc biệt đáng lo ngại là các phát hiện về mã thông báo truy cập tài khoản gốc AWS và mã thông báo GitHub cung cấp quyền kiểm soát toàn bộ kho lưu trữ.

Ban đầu, các khóa và ID này được tự động tạo từ tệp google-services.json trong quá trình xây dựng.

Firebase đã cảnh báo rõ ràng các nhà phát triển rằng các quy tắc bảo mật của chế độ thử nghiệm “cho phép bất kỳ ai có tham chiếu đến nhóm lưu trữ của bạn xem, chỉnh sửa và xóa tất cả dữ liệu trong nhóm lưu trữ của bạn trong 30 ngày tới.”

Tuy nhiên, nhiều nhà phát triển chỉ đơn giản là kéo dài các quy tắc cho phép này vượt quá thời hạn 30 ngày thay vì triển khai các cấu hình bảo mật phù hợp.

Các yếu tố bổ sung góp phần gây ra lỗ hổng Firebase bao gồm việc hiểu không đầy đủ về các thực tiễn tốt nhất về quy tắc bảo mật Firebase và sự phụ thuộc vào các ví dụ mã không an toàn gợi ý kiểm soát truy cập quá cho phép cho mục đích thử nghiệm.

OpenFirebase: Công cụ phát hiện Lỗ hổng Firebase

Để khắc phục những hạn chế trong các công cụ bảo mật Firebase hiện có, các nhà nghiên cứu đã phát triển OpenFirebase, một trình quét bảo mật tự động. Công cụ này có khả năng trích xuất cấu hình Firebase từ các gói ứng dụng di động (APK) và kiểm tra quyền truy cập trái phép trên nhiều dịch vụ cùng lúc.

Không giống như các công cụ hiện có thường chỉ kiểm tra các dịch vụ đơn lẻ bằng các phương pháp hạn chế, OpenFirebase quét toàn diện các dịch vụ Firebase Storage, Realtime Databases, Remote Config và Firestore trên nhiều định dạng URL và kết hợp quyền khác nhau.

Công cụ này có thể xử lý các ứng dụng riêng lẻ hoặc tiến hành phân tích hàng loạt trên hàng nghìn ứng dụng. Bạn có thể tìm hiểu thêm về OpenFirebase tại ice0.blog.

Kết quả quét chi tiết của OpenFirebase

OpenFirebase đã cung cấp những cái nhìn sâu sắc về mức độ lan rộng của các cấu hình sai, là một mối đe dọa mạng đáng kể:

  • Firebase Storage: Trong số 937 dự án được quét, 44 nhóm lưu trữ cho phép truy cập công khai, với 386 được bảo vệ đúng cách và 507 trả về lỗi “not found”. Một trường hợp đáng chú ý liên quan đến một ứng dụng với hơn 100 triệu lượt tải xuống lưu trữ ảnh ID người dùng có thể truy cập mà không cần xác thực.
  • Realtime Databases: Phân tích cho thấy 35 cơ sở dữ liệu có thể truy cập công khai trong số 937 dự án, với 277 được bảo vệ đúng cách, 467 không tìm thấy và 158 bị khóa hoặc vô hiệu hóa. Các cơ sở dữ liệu bị lộ chứa thông tin xác thực người dùng, các cuộc trò chuyện, tọa độ vị trí và các thông tin cá nhân nhạy cảm khác.
  • Remote Config: Mức độ lộ diện rộng nhất liên quan đến 383 cấu hình từ xa có thể truy cập công khai, với chỉ 61 được bảo vệ đúng cách. Mặc dù việc lộ Remote Config không phải lúc nào cũng là vấn đề, nhưng khoảng 30 trường hợp chứa các bí mật được mã hóa cứng (hardcoded secrets), khóa API và mã thông báo xác thực.
  • Firestore: Các nhà nghiên cứu đã xác định 50 dự án với các cơ sở dữ liệu Firestore có thể truy cập công khai trong số 929 được quét, với 675 được bảo vệ đúng cách và 122 ở chế độ Datastore. Hai mươi bốn bộ sưu tập cụ thể đã được xác định là có thể truy cập công khai.

Cuộc khủng hoảng bảo mật Firebase đại diện cho một vấn đề mang tính hệ thống ảnh hưởng đến nền tảng của hệ sinh thái ứng dụng di động. Với Firebase cung cấp năng lượng cho khoảng 80% ứng dụng di động, những cấu hình sai phổ biến này tạo ra một bề mặt tấn công rộng lớn đe dọa dữ liệu nhạy cảm của hàng triệu người dùng.

Các tổ chức sử dụng Firebase phải ngay lập tức kiểm toán các cấu hình bảo mật của họ và triển khai kiểm soát truy cập phù hợp để ngăn chặn rò rỉ dữ liệu trái phép, góp phần tăng cường an ninh mạng toàn diện.