Biện pháp khắc phục cho Lỗ hổng xâm nhập hệ thống Intent

Thông tin này dành cho nhà phát triển có (các) ứng dụng chứa Lỗ hổng xâm nhập hệ thống Intent.

Chuyện gì sẽ xảy ra

Một hoặc nhiều ứng dụng của bạn chứa lỗ hổng xâm nhập hệ thống Intent có thể cho phép các mạng và ứng dụng độc hại truy cập các thành phần riêng tư của ứng dụng.Vui lòng tham khảo thông báo trên Play Console của bạn.Sau thời hạn hiển thị trong Play Console, chúng tôi có thể xóa mọi ứng dụng có lỗ hổng bảo mật chưa được khắc phục khỏi Google Play.

Hành động cần thiết

  1. Đăng nhập vào Play Console và chuyển đến phần Cảnh báo để xem những ứng dụng bị ảnh hưởng và thời hạn giải quyết những vấn đề này.

  2. Cập nhật các ứng dụng bị ảnh hưởng theo các bước nêu bên dưới.

  3. Gửi phiên bản cập nhật của các ứng dụng bị ảnh hưởng.

Sau khi bạn gửi lại, chúng tôi sẽ xem xét lại ứng dụng của bạn. Quá trình này có thể mất vài giờ. Nếu ứng dụng vượt qua quy trình xem xét và được xuất bản thành công thì bạn không cần thực hiện thêm hành động nào. Nếu ứng dụng không vượt qua được quy trình xem xét thì phiên bản ứng dụng mới sẽ không được xuất bản và bạn sẽ nhận được thông báo qua email.

Thông tin chi tiết bổ sung

Những WebView truy cập nội dung web không đáng tin cậy, phân tích liên kết intent:// bằng cách sử dụng Intent.parseUri và gửi những Intent đó bằng startActivity dễ bị tấn công bởi lỗ hổng Intent-Scheme Hijacking. Nội dung web độc hại có thể lừa những WebView này thực hiện việc gửi Intent tùy ý đến các thành phần ứng dụng riêng tư. Điều này có thể dẫn đến việc xâm phạm ứng dụng, chẳng hạn như hành vi lấy cắp dữ liệu ứng dụng riêng tư mà các thành phần đó sử dụng. Xin lưu ý rằng nội dung web không đáng tin cậy bao gồm cả nội dung từ các miền đáng tin cậy được tải qua HTTP.

Bạn nên ngăn chặn lỗ hổng này theo một trong các cách sau:

Tùy chọn 1: Đảm bảo rằng WebViews không thể gửi Intent tùy ý

Các ứng dụng có thể quy định rằng chỉ được gửi các Intent xây dựng bằng Intent.parseUri dưới dạng Intent Implicit đến các thành phần với bộ lọc Intent BROWSABLE bằng cách sử dụng đoạn mã sau:

     // convert Intent scheme URL to Intent object
  Intent intent = Intent.parseUri(url);
  // forbid launching activities without BROWSABLE category
  intent.addCategory("android.intent.category.BROWSABLE");
  // forbid explicit call
  intent.setComponent(null);
  // forbid Intent with selector Intent
  intent.setSelector(null);
  // start the activity by the Intent
  view.getContext().startActivity(intent, -1);

Tùy chọn 2: Đảm bảo rằng WebViews bị ảnh hưởng không tải nội dung web không đáng tin cậy

Nếu một WebView cần phải phân tích cú pháp URL hệ thống intent:// tùy ý, hãy đảm bảo rằng WebView đó không tải nội dung web không đáng tin cậy. Nội dung web không đáng tin cậy bao gồm nội dung web tải qua kết nối không được mã hóa. Nhà phát triển có thể đặt android:usesCleartextTraffic thành false trong Manifest khai của họ hoặc đặt Network Security Config để không cho phép lưu lượng HTTP. Ngoài ra, họ có thể đảm bảo rằng mọi WebView bị ảnh hưởng đều không tải bất kỳ URL nào sử dụng giao thức HTTP bằng loadUrl.

Nhà phát triển nên đảm bảo rằng WebView bị ảnh hưởng không tải các URL không bị hạn chế thu được từ các nguồn không đáng tin cậy (ví dụ: URL thu được từ Intent không tin cậy). 

Chúng tôi sẵn sàng trợ giúp
Nếu có câu hỏi kỹ thuật về lỗ hổng bảo mật, bạn có thể đăng lên Stack Overflow và sử dụng thẻ “android-security”. Để biết rõ các bước cần thực hiện nhằm giải quyết vấn đề này, bạn có thể liên hệ với nhóm hỗ trợ nhà phát triển của chúng tôi.

Thông tin này có hữu ích không?

Chúng tôi có thể cải thiện trang này bằng cách nào?
false
Trình đơn chính
6452521727551630332
true
Tìm kiếm trong Trung tâm trợ giúp
true
true
true
true
true
5016068
false
false