Ý nghĩa bảo mật của việc sử dụng một ứng dụng được xây dựng cho trò chơi gỡ lỗi là gì?


7

Tôi vừa gặp một số .apktệp được lưu trữ với các dự án Github được "biên dịch để gỡ lỗi" (nghĩa là đã application-debuggableđặt, có thể kiểm tra bằng cách sử dụng aapt dump badging /path/to/apk | grep debuggable. Không phải là nhà phát triển Android, tôi chỉ có ý tưởng mơ hồ về việc đó là gì (gỡ lỗi mở rộng thông qua ADB) - nhưng đó không phải là câu hỏi ở đây.

Câu hỏi của tôi là từ góc độ người dùng cuối thuần túy: Ý nghĩa (bảo mật) của việc cài đặt / sử dụng một ứng dụng như vậy là gì? Những rủi ro người ta phải nhận thức được là gì?

Tất nhiên tôi đã tìm kiếm trên mạng các gợi ý về điều này, nhưng một lần nữa chỉ nhận được những gợi ý mơ hồ như "bạn sẽ không" và "để phát hành điều này nên được tắt" - không có lý do, không có nền tảng. Đối với điều đó, người ta có thể nghĩ "rõ ràng không có vấn đề gì lớn" - nhưng những lưu ý như Do dành thời gian suy nghĩ về ý nghĩa bảo mật cho người dùng của bạn trong ngữ cảnh này (xem câu trả lời này tại SO) gợi ý khác.

Bất cứ ai ở đây có thể cung cấp một số hiểu biết?


Đọc liên quan về Bảo mật . Lưu ý rằng với các ứng dụng web có thể nghiêm trọng hơn (có khả năng cấp thêm quyền truy cập và rò rỉ dữ liệu của nhiều người dùng cùng một lúc), nhưng nhìn chung nó giống với những gì tôi đã nói dưới đây - chắc chắn có vấn đề, nhưng chúng hầu hết là tiềm năng hiệu ứng hơn là lỗ thật.
Matthew Đọc

1
Chỉ cần một lưu ý phụ, bạn cũng có thể kiểm tra xem một ứng dụng có thể gỡ lỗi từ tùy chọn Nhà phát triển hay không - Chọn ứng dụng gỡ lỗi (ít nhất là trên ROM stock Nexus). Gói ứng dụng có thể gỡ lỗi luôn được hiển thị trên LogCat (so với gói ứng dụng phát hành trống), giúp dễ dàng xác định những gì nó đang làm (cho dù là nhà phát triển, người dùng cuối và kẻ tấn công).
Andrew T.

@AndrewT. Cảm ơn lời giải thích đó! Tôi thường tự hỏi làm thế nào để giải thích cấu hình đó. Nếu điều đó mang lại khả năng "kiểm tra rủi ro" (tốt nhất là không có nhiều kiến ​​thức về nhà phát triển), thì đó là điều tốt để biết. Thậm chí tốt hơn nếu người ta có thể tắt cờ gỡ lỗi của ứng dụng từ đó :)
Izzy

1
@AndrewT. yêu cầu làm rõ: ý của bạn là "luôn hiển thị trên LogCat" là gì? Bạn có thể cho một vài chi tiết về điều đó? Điều này chỉ áp dụng cho "logcat qua ADB", hay nó cũng được hiển thị cho các ứng dụng khác?
Izzy

1
@MatthewRead Con trỏ tốt để kiểm tra Bảo mật, btw. Cũng xem ở đó: Vô hiệu hóa chế độ gỡ lỗi của ứng dụng Android như một cách thực hành bảo mật - điều này khiến nó trông có vẻ là vấn đề của nhà phát triển hơn là cho người dùng (mặc dù sau đó cũng có thể bị ảnh hưởng, nếu phát hiện ra lỗ hổng;)
Izzy

Câu trả lời:


5

Thực sự không có bất kỳ vấn đề bẩm sinh nào khi chạy ứng dụng gỡ lỗi. Nếu ai đó lấy điện thoại đã mở khóa của bạn, bật Chế độ nhà phát triển và bắt đầu gỡ lỗi, họ có thể lấy thông tin nhạy cảm từ bộ nhớ của ứng dụng một cách dễ dàng hơn một chút - nhưng điều đó không thực tế và dễ bị phản đối với màn hình khóa.

Thông tin gỡ lỗi cũng sẽ khiến việc sử dụng bảo mật thông qua che khuất khó khăn hơn, điều mà tất cả chúng ta đều biết là không bảo mật thực sự. Điều này rõ ràng thậm chí không phải là một yếu tố khi nói đến các ứng dụng nguồn mở, vì chúng có thể chỉ cần kiểm tra nguồn để tìm ra lỗ hổng.

Tuy nhiên, chi tiết cụ thể về đường dẫn mã bạn đã thêm để gỡ lỗi chắc chắn có thể là lỗ hổng bảo mật. Có thể để kiểm tra và xác minh, phiên bản gỡ lỗi ghi mật khẩu của người dùng ra để đăng nhập, chẳng hạn như họ đăng nhập. Có rất nhiều PII có thể được phơi bày theo cách này.

Đối với người dùng cuối, tất cả những gì bạn biết là có khả năng ứng dụng tùy ý rò rỉ thông tin nếu đó là phiên bản gỡ lỗi. Trừ khi bạn đang tự tìm kiếm nó, bạn sẽ không thể nhìn thấy nó. Đó có lẽ là lý do đủ để tránh các ứng dụng như vậy - đôi khi vì một nhà phát triển không biết sự khác biệt giữa các phiên bản Phát hành và Gỡ lỗi có lẽ cũng không bảo vệ dữ liệu của bạn một cách thành thạo.

Dan Hulme cũng đưa ra một điểm tốt trong trò chuyện : Phiên bản gỡ lỗi có thể sẽ không được ký chính xác, có nghĩa là nó có thể được "nâng cấp" từ một nguồn độc hại. Tôi một lần nữa sẽ cho rằng đây là một sự cố không thể xảy ra, nhưng đó là một điểm khác chống lại nó.


Cảm ơn, Matthew! Vì vậy, nếu được hỏi bởi một người dùng trung bình: bạn có khuyến khích mạnh mẽ việc sử dụng một ứng dụng như vậy không, chỉ cần đề nghị "cẩn thận" hoặc một cái gì đó ở giữa?
Izzy

1
@Izzy Tôi sẽ khuyên vừa phải chống lại nó. Đưa ra lựa chọn giữa gỡ lỗi so với phát hành, luôn luôn chọn phát hành tất nhiên. Nhưng nếu bạn đã thực hiện các biện pháp phòng ngừa thích hợp như không sử dụng cùng một mật khẩu ở nơi khác và nó không phải là thứ gì đó quan trọng như e-mail / Twitter / bank / v.v., thì có lẽ nó sẽ không thành vấn đề.
Matthew Đọc

1
"Đưa ra lựa chọn giữa gỡ lỗi so với phát hành" Tôi không cần phải hỏi :) Vấn đề là, một số dự án ở đó chỉ cung cấp phiên bản gỡ lỗi và không có sự hiện diện trong Playstore hoặc trên F-Droid. Nhưng câu cuối cùng trong bản chỉnh sửa của bạn có một điểm hay: nhà phát triển cũng có thể có "lỗ hổng bảo mật ở những nơi khác". Vì vậy, nó đáng để "lời khuyên mạnh mẽ chống lại" với nền tảng này - nhưng không mạnh bằng "sẵn sàng cài đặt phần mềm độc hại". Cảm ơn một lần nữa! Tôi sẽ chấp nhận câu trả lời của bạn sau đó (tất nhiên vẫn mở cho những hiểu biết khác - như những người từ Andrew trong nhận xét của anh ấy về câu hỏi của tôi :)
Izzy
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.