Logo vi.androidermagazine.com
Logo vi.androidermagazine.com

Quyền ứng dụng Android - cách google làm cho đúng ...

Mục lục:

Anonim

Gần đây có rất nhiều tin tức về sự chậm trễ trong bảo mật hoặc phán đoán - cả hai, thực sự - tại Apple cho phép các ứng dụng iOS mượn dữ liệu liên hệ của bạn và gửi nó đến những phần chưa biết mà không có sự đồng ý của bạn. Apple đã giải quyết vấn đề này cho các thành viên của Quốc hội Hoa Kỳ và sẽ thực hiện các bước để kiểm soát chặt chẽ hơn trong bản cập nhật iOS trong tương lai. Đó là tin tốt, và chúng tôi rất vui khi thấy nó xảy ra.

Nhưng còn Android thì sao? Trong tất cả điều này tập trung vào các ứng dụng làm mọi việc mà không có sự cho phép rõ ràng của người dùng, bạn sẽ thấy mọi người đề cập đến mô hình quyền của Android. Chúng tôi sẽ phá vỡ tất cả cho bạn. Nó không hoàn hảo, nhưng nó hoạt động khá tốt - và chắc chắn tốt hơn là không có hệ thống cấp phép nào cả.

Chúng ta hãy hướng dẫn bạn thông qua các quyền trên Android và cách bạn cần chắc chắn để tham gia.

Theo thiết kế, không có ứng dụng Android nào có quyền thực hiện bất kỳ thao tác nào "ảnh hưởng xấu đến các ứng dụng khác, hệ điều hành hoặc người dùng". Để ứng dụng có quyền truy cập vào những thứ như dữ liệu liên hệ riêng tư, dữ liệu của ứng dụng khác, quyền truy cập mạng hoặc thậm chí một thứ gì đó tầm thường như ghi dữ liệu của chính nó vào bộ lưu trữ thiết bị, ứng dụng phải tuyên bố rằng nó sẽ có quyền để làm như vậy, và sau đó bạn phải chấp nhận sự cho phép đó trước khi bạn có thể cài đặt ứng dụng. Khi bạn cài đặt một ứng dụng, bạn sẽ thấy một danh sách các quyền mà ứng dụng đó đang khai báo.

Và lưu ý rằng chúng tôi nói rằng các ứng dụng đang "khai báo" các quyền và không nhất thiết phải "yêu cầu" chúng. Chúng tôi cho rằng ngữ nghĩa, nhưng không có hộp có nội dung "Này, Jerry! Tôi là một ứng dụng và tôi rất thích cho bạn xem thông tin liên lạc của bạn. Được chứ?" Thay vào đó, các ứng dụng Android trực tiếp hơn, nói rằng "Yo, Jerry. Tôi là một ứng dụng. Đây là danh sách những gì tôi có thể làm, chỉ cần sos ya biết. Hãy lấy nó hoặc bỏ nó."

Các ứng dụng Android tuyên bố những quyền mà họ có quyền truy cập và do đó họ có thể chơi những hộp cát nào. Và bạn có thể chọn chấp nhận chúng và cài đặt ứng dụng hoặc không. Có lý?

Quyền - trả trước và cá nhân trong Android Market

Đây là giao diện nếu bạn cài đặt, giả sử, Đường dẫn. Bạn nhận được danh sách macro các quyền mà Đường dẫn đang khai báo. Nhấn vào một và nó giải thích sự cho phép đó chi tiết hơn một chút.

Đó là giao diện nếu bạn cài đặt bất kỳ ứng dụng nào từ Android Market. Bạn sẽ cần phải cuộn qua danh sách để xem tất cả. Một chút đường xuống là con đường dẫn đến (và những thứ khác) trong tất cả các loại rắc rối trên iOS. Ở dạng Android, bạn có thể thấy rõ Đường dẫn tuyên bố quyền cho "Dữ liệu cá nhân của bạn - đọc dữ liệu liên hệ". Nhấn vào quyền đó và bạn sẽ biết thêm chi tiết:

"Cho phép ứng dụng đọc tất cả dữ liệu liên hệ (địa chỉ) được lưu trên điện thoại của bạn. Các ứng dụng độc hại có thể sử dụng điều này để gửi dữ liệu của bạn cho người khác."

Vì vậy, Path đã nói với bạn rằng nó có quyền truy cập vào dữ liệu liên lạc của bạn. Nó không nhất thiết phải cho bạn biết nó sẽ làm gì với nó (nếu chúng tôi không đưa nó lên, bạn có thực sự muốn biết không?), Nhưng nó cho bạn biết nó có thể đọc được nó.

Các ứng dụng bên ngoài Android Market

Nhưng nếu bạn tải một ứng dụng thì sao? Hoặc sử dụng Amazon Appstore? Các ứng dụng vẫn phải khai báo những quyền mà chúng sử dụng và bạn sẽ thấy danh sách quyền đó khi bạn cài đặt ứng dụng. (Hãy nhớ rằng Amazon Appstore tải các ứng dụng, vì vậy những gì bạn thấy hoàn toàn giống như khi bạn cài đặt một ứng dụng từ e-mail hoặc tải xuống.)

Đây là những gì tải về Gmail sẽ như thế nào. Sự khác biệt thực sự duy nhất giữa việc tải và cài đặt từ Android Market, trong trường hợp có quyền, là khi bạn tải, bạn không nhận được các mô tả quyền chi tiết hơn.

Tại sao những thứ này? Các ứng dụng Android được "sandboxed" - chúng chơi trong không gian riêng của chúng và có các tệp dữ liệu riêng trong hộp cát đó. Họ chỉ có thể chia sẻ chơi trong hộp cát của người khác sau khi xin phép rõ ràng và điều đó được thực hiện thông qua các màn hình bạn thấy ở trên. Khi bạn chấp nhận các quyền đó và cài đặt ứng dụng, bạn sẽ cấp cho ứng dụng đó quyền chơi trong các hộp cát mà ứng dụng nói rằng nó muốn chơi.

Về phía nhà phát triển … và cách người tiêu dùng phải thực hiện phần của họ

Đằng sau hậu trường, các nhà phát triển ứng dụng khai báo các quyền này trong tệp AndroidManifest.xml, đây là một phần bắt buộc của mã nguồn cho ứng dụng Android. Các khai báo này là tĩnh và mỗi một trong số chúng được trình bày cho người dùng như chúng ta đã thấy ở trên. Android không có cách nào để cấp quyền một cách linh hoạt vào thời gian chạy, bởi vì theo các nhà phát triển hệ điều hành Android "nó làm phức tạp trải nghiệm người dùng đến sự bất lợi của bảo mật". Buộc một ứng dụng cho bạn biết những gì nó muốn làm, trả trước và không bao giờ có thể thay đổi - đó là mô hình bảo mật tối đa.

Mặt trái? Đó cũng là cách dễ nhất để người dùng bỏ qua.

Chúng tôi biết tất cả về những gì đã xảy ra với Path trên iOS. Giống như nhiều ứng dụng iOS khác, nó đã sử dụng liên hệ mà không được phép. Không phải cho mục đích bất chính, nhưng dù sao, không có sự cho phép trước, và không hỏi sau. Đường dẫn cho Android đã gửi tất cả các loại dữ liệu đến máy chủ của nó, giống như trên iOS. Nhưng như chúng tôi đã chỉ ra trong bài đăng này, trong Android, Path phải khai báo quyền trước tiên. Hay chính xác hơn, nó tuyên bố sự cho phép và bạn chấp nhận hoặc từ chối nó.

Vấn đề là khi bạn cài đặt một ứng dụng, rất có thể bạn sẽ lướt qua phần quyền. Bạn thực sự không nên, nhưng tất cả chúng ta làm điều đó. Thực tế là các quyền không được viết bằng ngôn ngữ đơn giản là một phần của vấn đề. Nhưng ngay cả khi chúng là như vậy, hầu hết chúng ta sẽ nhấp chuột ngay. Đó là cách nó hoạt động, trên mọi nền tảng. Mặt khác, có những người kỳ quặc vì quyền vì họ không hiểu họ. Một lần nữa, ngôn ngữ thân thiện hơn sẽ giúp ở đây.

Một trong những lựa chọn thay thế là ứng dụng yêu cầu quyền vào thời gian chạy, khi nó muốn làm điều gì đó thì không thể làm bình thường. Chúng tôi đã đọc rằng nhóm Android nghĩ rằng điều này là bất tiện và không an toàn, vì vậy điều đó không có khả năng xảy ra.

Một cách khác là cho phép các quyền được chọn, giống như RIM làm với BlackBerry. Bạn kết thúc với các ứng dụng chỉ hoạt động được một nửa vì bạn đã từ chối quyền, giống như BlackBerry. Không có phương pháp hoàn hảo nào, ngoài việc đọc tất cả khi bạn cài đặt ứng dụng đó và cố gắng hiểu những gì nó yêu cầu và tại sao nó lại yêu cầu nó.

Đó là nơi tất cả chúng ta đến. Một số người trong chúng ta hiểu các quyền của ứng dụng nhiều hơn những người khác và khi một ứng dụng làm điều gì đó không nên làm, bạn sẽ nghe thấy sự phản đối. Đọc các quyền. Đọc các bình luận thị trường. Đọc trung tâm Android. Khi một cái gì đó không ổn, bạn sẽ nghe về nó.

Và một điều cuối cùng …

Một lưu ý đặc biệt cần phải đến đây về các lỗ hổng bảo mật. Mọi chương trình máy tính - và điều đó có nghĩa là mọi hệ điều hành di động cũng vậy - có rất nhiều chương trình. Khi tìm thấy lỗ hổng cho phép ứng dụng bỏ qua mô hình bảo mật, Google sẽ vá nó một cách nhanh chóng. Điều này xảy ra, và nó sẽ luôn xảy ra. Bản cập nhật này được triển khai cho bạn nhanh như thế nào tùy thuộc vào những người tạo ra điện thoại của bạn. Họ xứng đáng được tín dụng khi họ làm điều đó đúng cách, và sự khinh miệt khi họ mất quá nhiều thời gian và làm sai. Đó không phải là thứ sẽ sớm biến mất bất cứ lúc nào và chúng tôi có mặt cùng bạn để gọi một OEM không giữ mọi thứ an toàn và an toàn như họ cần phải có.

Nếu bạn muốn tìm hiểu sâu hơn về các quyền của Android, hãy xem trang nhà phát triển Google trên chúng.