Thông tin này dành cho nhà phát triển có (các) ứng dụng chứa lỗ hổng Chèn SQL.
Chuyện gì sẽ xảy ra
Một hoặc nhiều ứng dụng của bạn có chứa lỗ hổng Chèn SQL cần phải khắc phục. 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
- Đă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.
- Cập nhật các ứng dụng bị ảnh hưởng và khắc phục lỗ hổng.
- 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
Các cách triển khai query
, update
và delete
trong ContentProviders
đã xuất có thể dễ bị tấn công bởi lỗ hổng Chèn SQL nếu chúng chuyển đầu vào chưa được dọn dẹp vào câu lệnh SQL. Ứng dụng độc hại có thể cung cấp đầu vào được tạo thủ công nhằm truy cập vào dữ liệu riêng tư hoặc nội dung cơ sở dữ liệu bị hỏng. Bạn có thể khắc phục vấn đề này bằng các cách sau:
Nếu một ContentProvider
bị ảnh hưởng không cần phải hiển thị với các ứng dụng khác:
- Bạn có thể sửa đổi thẻ
<provider>
củaContentProvider
bị ảnh hưởng trong Manifest để đặtandroid:exported=”false”
. Điều này sẽ ngăn các ứng dụng khác gửi Intents đếnContentProvider
bị ảnh hưởng. -
Bạn cũng có thể đặt thuộc tính
android:permission
thành mộtpersmission
vớiandroid:protectionLevel=“signature”
để ngăn các ứng dụng được viết bởi nhà phát triển khác gửi Intents đênContentProvider
bị ảnh hưởng.
Nếu một ContentProvider
bị ảnh hưởng cần phải hiển thị với các ứng dụng khác:
- Bạn có thể ngăn Chèn SQL vào
SQLiteDatabase.query
bằng cách sử dụng chế độ strict với projection map. Chế độ Strict bảo vệ chống lại các mệnh đề lựa chọn độc hại và projection map (bản đồ chiếu) bảo vệ chống lại các mệnh đề chiếu độc hại. Bạn phải sử dụng cả hai tính năng này để đảm bảo rằng các truy vấn của bạn được an toàn. - Bạn có thể ngăn Chèn SQL vào
SQLiteDatabase.update
vàSQLiteDatabase.delete
bằng cách sử dụng mệnh đề lựa chọn sử dụng"?"
làm tham số có thể thay thế và một mảng các đối số lựa chọn riêng biệt. Mệnh đề lựa chọn của bạn không được xây dựng từ đầu vào không đá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.