From 4caa0d72ebc935a3dbb3da6cf6d0877a251cd032 Mon Sep 17 00:00:00 2001 From: Adrian Ludwig Date: Wed, 21 Sep 2011 15:38:55 -0700 Subject: [PATCH] Update existing security FAQ and Developer Overview Change-Id: I9102a92908a8ebe314f83638569d0257dcfe3d45 --- docs/html/guide/topics/security/security.jd | 25 +++--- docs/html/resources/faq/security.jd | 84 ++++++++++----------- 2 files changed, 55 insertions(+), 54 deletions(-) diff --git a/docs/html/guide/topics/security/security.jd b/docs/html/guide/topics/security/security.jd index 2e31940fdc29d..1fd9ba011ce11 100644 --- a/docs/html/guide/topics/security/security.jd +++ b/docs/html/guide/topics/security/security.jd @@ -20,6 +20,10 @@ page.title=Security and Permissions +

This document describes how application developers can use the +security features provided by Android. A more general Android Security +Overview is provided in the Android Open Source Project.

Android is a privilege-separated operating system, in which each application runs with a distinct system identity (Linux user ID and group @@ -41,7 +45,7 @@ includes reading or writing the user's private data (such as contacts or e-mails), reading or writing another application's files, performing network access, keeping the device awake, etc.

-

Because the kernel sandboxes applications from each other, applications +

Because Android sandboxes applications from each other, applications must explicitly share resources and data. They do this by declaring the permissions they need for additional capabilities not provided by the basic sandbox. Applications statically declare the permissions they @@ -50,11 +54,11 @@ application is installed. Android has no mechanism for granting permissions dynamically (at run-time) because it complicates the user experience to the detriment of security.

-

The kernel is solely responsible for sandboxing applications from each -other. In particular the Dalvik VM is not a security boundary, and any app -can run native code (see the Android NDK). -All types of applications — Java, native, and hybrid — are -sandboxed in the same way and have the same degree of security from each +

The application sandbox does not depend on the technology used to build +an application. In particular the Dalvik VM is not a security boundary, and +any app can run native code (see the Android +NDK). All types of applications — Java, native, and hybrid — +are sandboxed in the same way and have the same degree of security from each other.

@@ -220,12 +224,13 @@ permission:

You can look at the permissions currently defined in the system with the -shell command adb shell pm list permissions. In particular, -the '-s' option displays the permissions in a form roughly similar to how the -user will see them:

+Settings app and the shell command adb shell pm list permissions. +To use the Settings app, go to Settings > Applications. Pick an app and +scroll down to see the permissions that the app uses. For developers, the adb '-s' +option displays the permissions in a form similar to how the user will see them:

-$ adb shell pm list permissions -s      
+$ adb shell pm list permissions -s
 All Permissions:
 
 Network communication: view Wi-Fi state, create Bluetooth connections, full
diff --git a/docs/html/resources/faq/security.jd b/docs/html/resources/faq/security.jd
index b0d832b5ad432..52ee0d9d133cb 100644
--- a/docs/html/resources/faq/security.jd
+++ b/docs/html/resources/faq/security.jd
@@ -7,8 +7,7 @@ parent.link=index.html
     
  • Is Android Secure?
  • I think I found a security flaw. How do I report it?
  • -
  • How can I stay informed of Android security - announcements?
  • +
  • How can I stay informed about Android security?
  • How do I securely use my Android phone?
  • I think I found malicious software being distributed for Android. How can I help?
  • @@ -26,9 +25,15 @@ Android Open Source Project. We are dedicated to building and maintaining one of the most secure mobile platforms available while still fulfilling our goal of opening the mobile device space to innovation and competition.

    -

    The Android Platform provides a rich A comprehensive overview of the Android +security model and Android security processes is provided in the Android +Open Source Project Website.

    + +

    Application developers play an important part in the security of Android. +The Android Platform provides developers with a rich security model -that allows developers to request the capabilities, or access, needed by their +that to request the capabilities, or access, needed by their application and to define new capabilities that other applications can request. The Android user can choose to grant or deny an application's request for certain capabilities on the handset.

    @@ -49,27 +54,17 @@ can protect your message using our PGP key.

    -

    We appreciate researchers practicing responsible disclosure by emailing us -with a detailed summary of the issue and keeping the issue confidential while +

    We appreciate researchers practicing responsible disclosure by emailing us +with a detailed summary of the issue and keeping the issue confidential while users are at risk. In return, we will make sure to keep the researcher informed of our progress in issuing a fix and will properly credit the reporter(s) when -we announce the patch. We will always move swiftly to mitigate or fix an -externally-reported flaw and will publicly announce the fix once patches are -available to users.

    +we provide the patch. We will always move swiftly to mitigate or fix an +externally-reported flaw and provide updates to users.

    -

    How can I stay informed of Android -security announcements?

    +

    How can I stay informed about Android security?

    -

    An important part of sustainably securing a platform, such as, Android is -keeping the user and security community informed of bugs and fixes. We will -publicly announce security bugs when the fixes are available via postings to -the android-security-announce -group on Google Groups. You can subscribe to this group as you would a mailing -list and view the archives here.

    - -

    For more general discussion of Android platform security, or how to use +

    For general discussion of Android platform security, or how to use security features in your Android application, please subscribe to android-security-discuss.

    @@ -77,35 +72,39 @@ href="http://groups.google.com/group/android-security-discuss">android-security-

    How do I securely use my Android phone?

    -

    As an open platform, Android allows users to load software from any -developer onto a device. As with a home PC, the user must be +

    Android was designed so that you can safely use your phone without making +any changes to the device or installing any special software. Android applications +run in an Application Sandbox that limits access to sensitive information or data +with the users permission.

    + +

    To fully benefit from the security protections in Android, it is important that +users only download and install software from known sources.

    + +

    As an open platform, Android allows users to visit any website and load +software from any developer onto a device. As with a home PC, the user must be aware of who is providing the software they are downloading and must decide whether they want to grant the application the capabilities it requests. This decision can be informed by the user's judgment of the software developer's trustworthiness, and where the software came from.

    -

    Despite the security protections in Android, it is important -for users to only download and install software from developers they trust. -More details on how Android users can make smart security decisions will be -released when consumer devices become available.

    -

    I think I found malicious software being distributed for Android. How can I help?

    -

    Like any other open platform, it will be possible for unethical developers +

    Like any other platform, it will be possible for unethical developers to create malicious software, known as malware, for Android. If you -think somebody is trying to spread malware, please let us know at security@android.com. Please include as much detail about the application as possible, with the location it is being distributed from and why you suspect it of being malicious software.

    -

    The term malicious software is subjective, and we cannot make an +

    The term malicious software is subjective, and we cannot make an exhaustive definition. Some examples of what the Android Security Team believes to be malicious software is any application that: