SlideShare une entreprise Scribd logo
1  sur  14
Télécharger pour lire hors ligne
Security & Permissions
Topics
• Android security design principles
• Permissions
• Application signing
Android Security
Design Principles
Android Security via Linux
• Android is a multi-process system, in which
each application (and parts of the system) runs
in its own process.
• Most security between applications and the
system is enforced at the process level through
standard Linux facilities, such as user and
group IDs that are assigned to applications.
Android Security “Over” Linux
• Additional finer-grained security features are
provided through a "permission" mechanism
> Enforces restrictions on the specific operations that a
particular process can perform, and per-URI
permissions for granting ad-hoc access to specific
pieces of data.
Android Security Design Principles
• No application, by default, has permission to
perform any operations that would adversely
impact other applications, the operating system,
or the user.
> 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
• An application's process is a secure sandbox
> It can't disrupt other applications, except by explicitly
declaring the permissions it needs for additional
capabilities not provided by the basic sandbox.
Permissions
Permissions
• The permissions an application requests can be
handled by the operating in various ways,
> Typically by automatically allowing or disallowing
based on certificates or by prompting the user.
• The permissions required by an application are
declared statically in that application, so they
can be known up-front at install time and will
not change after that.
Declaring Permissions
• To make use of protected features of the
device, you must include in your
AndroidManifest.xml one or more <uses-
permission> tags declaring the permissions
that your application needs.
• For example, an application that needs to
monitor incoming SMS messages would specify:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.app.myapp" >
<uses-permission android:name="android.permission.RECEIVE_SMS" />
</manifest>
When Permissions Are Granted?
• At application install time, permissions
requested by the application are granted to it
by the package installer, based on checks
against the signatures of the applications
declaring those permissions and/or interaction
with the user.
> No checks with the user are done while an
application is running
Enforcing Permissions
• To enforce your own permissions, you must first declare
them in your AndroidManifest.xml using one or more
<permission> tags.
• For example, an application that wants to control who can
start one of its activities could declare a permission for this
operation as follows:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.me.app.myapp" >
<permission android:name="com.me.app.myapp.permission.DEADLY_ACTIVITY"
android:label="@string/permlab_deadlyActivity"
android:description="@string/permdesc_deadlyActivity"
android:permissionGroup="android.permission-group.COST_MONEY"
android:protectionLevel="dangerous" />
</manifest>
Application Signing
Application Signing
• All Android applications (.apk files) must be
signed with a certificate whose private key is
held by their developer
> This certificate identifies the author of the
application.
> The certificate does not need to be signed by a
certificate authority: it is perfectly allowable, and
typical, for Android applications to use self-signed
certificates.
> The certificate is used only to establish trust
relationships between applications, not for wholesale
control over whether an application can be installed.
Thank you

Contenu connexe

Tendances

Pertemuan 14 keamanan sistem operasi
Pertemuan 14 keamanan sistem operasiPertemuan 14 keamanan sistem operasi
Pertemuan 14 keamanan sistem operasinewbie2019
 
Signature Enterprise
Signature EnterpriseSignature Enterprise
Signature EnterpriseBioslimdisk
 
Windows Security in Operating System
Windows Security in Operating SystemWindows Security in Operating System
Windows Security in Operating SystemMeghaj Mallick
 
Client /server security overview
Client /server security overviewClient /server security overview
Client /server security overviewMohamed Sayed
 
Security & Protection in Operating System
Security & Protection in Operating SystemSecurity & Protection in Operating System
Security & Protection in Operating SystemMeghaj Mallick
 
Best practices to secure Windows10 with already included features
Best practices to secure Windows10 with already included featuresBest practices to secure Windows10 with already included features
Best practices to secure Windows10 with already included featuresAlexander Benoit
 
Five ways to Securing and Hardening your Windows 10 system
Five ways to Securing and Hardening your Windows 10 systemFive ways to Securing and Hardening your Windows 10 system
Five ways to Securing and Hardening your Windows 10 systemFemi Baiyekusi
 
Web application security part 01
Web application security part 01Web application security part 01
Web application security part 01G Prachi
 
Security in Windows operating system
Security in Windows operating systemSecurity in Windows operating system
Security in Windows operating systemabdullah roomi
 
Security Testing In Application Authentication
Security Testing In Application AuthenticationSecurity Testing In Application Authentication
Security Testing In Application AuthenticationRapidValue
 
e-capture.net feature tour
e-capture.net feature toure-capture.net feature tour
e-capture.net feature tourStijn Van Loo
 
E capture movie (PDF version)
E capture movie (PDF version)E capture movie (PDF version)
E capture movie (PDF version)Stijn Van Loo
 
Security curator presentation_eng
Security curator presentation_engSecurity curator presentation_eng
Security curator presentation_engatompark2
 
Operating system and security
Operating system and securityOperating system and security
Operating system and securityABHAY PATHAK
 
OPERATING SYSTEM SECURITY
OPERATING SYSTEM SECURITYOPERATING SYSTEM SECURITY
OPERATING SYSTEM SECURITYRohitK71
 

Tendances (20)

Software
SoftwareSoftware
Software
 
Iraje brochure v17 master
Iraje brochure v17 masterIraje brochure v17 master
Iraje brochure v17 master
 
Pertemuan 14 keamanan sistem operasi
Pertemuan 14 keamanan sistem operasiPertemuan 14 keamanan sistem operasi
Pertemuan 14 keamanan sistem operasi
 
SCEP 2012 inside SCCM 2012
SCEP 2012 inside SCCM 2012SCEP 2012 inside SCCM 2012
SCEP 2012 inside SCCM 2012
 
Signature Enterprise
Signature EnterpriseSignature Enterprise
Signature Enterprise
 
Windows Security in Operating System
Windows Security in Operating SystemWindows Security in Operating System
Windows Security in Operating System
 
Client /server security overview
Client /server security overviewClient /server security overview
Client /server security overview
 
Security & Protection in Operating System
Security & Protection in Operating SystemSecurity & Protection in Operating System
Security & Protection in Operating System
 
Best practices to secure Windows10 with already included features
Best practices to secure Windows10 with already included featuresBest practices to secure Windows10 with already included features
Best practices to secure Windows10 with already included features
 
Five ways to Securing and Hardening your Windows 10 system
Five ways to Securing and Hardening your Windows 10 systemFive ways to Securing and Hardening your Windows 10 system
Five ways to Securing and Hardening your Windows 10 system
 
Web application security part 01
Web application security part 01Web application security part 01
Web application security part 01
 
Security awareness rgesit
Security awareness rgesitSecurity awareness rgesit
Security awareness rgesit
 
Security in Windows operating system
Security in Windows operating systemSecurity in Windows operating system
Security in Windows operating system
 
Security Testing In Application Authentication
Security Testing In Application AuthenticationSecurity Testing In Application Authentication
Security Testing In Application Authentication
 
e-capture.net feature tour
e-capture.net feature toure-capture.net feature tour
e-capture.net feature tour
 
E capture movie (PDF version)
E capture movie (PDF version)E capture movie (PDF version)
E capture movie (PDF version)
 
Security curator presentation_eng
Security curator presentation_engSecurity curator presentation_eng
Security curator presentation_eng
 
AM Side details
AM Side detailsAM Side details
AM Side details
 
Operating system and security
Operating system and securityOperating system and security
Operating system and security
 
OPERATING SYSTEM SECURITY
OPERATING SYSTEM SECURITYOPERATING SYSTEM SECURITY
OPERATING SYSTEM SECURITY
 

En vedette

Permission use analysis for vetting undesirable behavior in
Permission use analysis for vetting undesirable behavior inPermission use analysis for vetting undesirable behavior in
Permission use analysis for vetting undesirable behavior inchaitrabhat777
 
Java & The Android Stack: A Security Analysis
Java & The Android Stack: A Security AnalysisJava & The Android Stack: A Security Analysis
Java & The Android Stack: A Security AnalysisPragati Rai
 
Intents and PendingIntents in Android application development
Intents and PendingIntents in Android application developmentIntents and PendingIntents in Android application development
Intents and PendingIntents in Android application developmentMaryadelMar85
 
Android graphics
Android graphicsAndroid graphics
Android graphicsKrazy Koder
 
Android permission system
Android permission systemAndroid permission system
Android permission systemShivang Goel
 
Tips dan Third Party Library untuk Android - Part 1
Tips dan Third Party Library untuk Android - Part 1Tips dan Third Party Library untuk Android - Part 1
Tips dan Third Party Library untuk Android - Part 1Ibnu Sina Wardy
 
Security threats in Android OS + App Permissions
Security threats in Android OS + App PermissionsSecurity threats in Android OS + App Permissions
Security threats in Android OS + App PermissionsHariharan Ganesan
 
Android training day 4
Android training day 4Android training day 4
Android training day 4Vivek Bhusal
 
Web Services and Android - OSSPAC 2009
Web Services and Android - OSSPAC 2009Web Services and Android - OSSPAC 2009
Web Services and Android - OSSPAC 2009sullis
 
Sandbox Introduction
Sandbox IntroductionSandbox Introduction
Sandbox Introductionmsimkin
 
Anatomizing online payment systems: hack to shop
Anatomizing online payment systems: hack to shopAnatomizing online payment systems: hack to shop
Anatomizing online payment systems: hack to shopAbhinav Mishra
 
Android permission system
Android permission systemAndroid permission system
Android permission systemShivang Goel
 
Android secuirty permission - upload
Android secuirty   permission - uploadAndroid secuirty   permission - upload
Android secuirty permission - uploadBin Yang
 
Inter-process communication of Android
Inter-process communication of AndroidInter-process communication of Android
Inter-process communication of AndroidTetsuyuki Kobayashi
 
Android AsyncTask Tutorial
Android AsyncTask TutorialAndroid AsyncTask Tutorial
Android AsyncTask TutorialPerfect APK
 
Android 6.0 permission change
Android 6.0 permission changeAndroid 6.0 permission change
Android 6.0 permission change彥彬 洪
 

En vedette (20)

Permission use analysis for vetting undesirable behavior in
Permission use analysis for vetting undesirable behavior inPermission use analysis for vetting undesirable behavior in
Permission use analysis for vetting undesirable behavior in
 
Java & The Android Stack: A Security Analysis
Java & The Android Stack: A Security AnalysisJava & The Android Stack: A Security Analysis
Java & The Android Stack: A Security Analysis
 
Intents and PendingIntents in Android application development
Intents and PendingIntents in Android application developmentIntents and PendingIntents in Android application development
Intents and PendingIntents in Android application development
 
Android graphics
Android graphicsAndroid graphics
Android graphics
 
Android(1)
Android(1)Android(1)
Android(1)
 
Android permission system
Android permission systemAndroid permission system
Android permission system
 
Tips dan Third Party Library untuk Android - Part 1
Tips dan Third Party Library untuk Android - Part 1Tips dan Third Party Library untuk Android - Part 1
Tips dan Third Party Library untuk Android - Part 1
 
Security threats in Android OS + App Permissions
Security threats in Android OS + App PermissionsSecurity threats in Android OS + App Permissions
Security threats in Android OS + App Permissions
 
Android training day 4
Android training day 4Android training day 4
Android training day 4
 
Web Services and Android - OSSPAC 2009
Web Services and Android - OSSPAC 2009Web Services and Android - OSSPAC 2009
Web Services and Android - OSSPAC 2009
 
Sandbox Introduction
Sandbox IntroductionSandbox Introduction
Sandbox Introduction
 
Anatomizing online payment systems: hack to shop
Anatomizing online payment systems: hack to shopAnatomizing online payment systems: hack to shop
Anatomizing online payment systems: hack to shop
 
Android permission system
Android permission systemAndroid permission system
Android permission system
 
Android secuirty permission - upload
Android secuirty   permission - uploadAndroid secuirty   permission - upload
Android secuirty permission - upload
 
Inter-process communication of Android
Inter-process communication of AndroidInter-process communication of Android
Inter-process communication of Android
 
Android AsyncTask Tutorial
Android AsyncTask TutorialAndroid AsyncTask Tutorial
Android AsyncTask Tutorial
 
Json Tutorial
Json TutorialJson Tutorial
Json Tutorial
 
Android 6.0 permission change
Android 6.0 permission changeAndroid 6.0 permission change
Android 6.0 permission change
 
Android new permission model
Android new permission modelAndroid new permission model
Android new permission model
 
Basic Android Push Notification
Basic Android Push NotificationBasic Android Push Notification
Basic Android Push Notification
 

Similaire à Android Security & Permissions Explained

Android Penetration Testing - Day 1
Android Penetration Testing - Day 1Android Penetration Testing - Day 1
Android Penetration Testing - Day 1Mohammed Adam
 
Android Permissions DemystifiedAdrienne Porter Felt, Erika.docx
Android Permissions DemystifiedAdrienne Porter Felt, Erika.docxAndroid Permissions DemystifiedAdrienne Porter Felt, Erika.docx
Android Permissions DemystifiedAdrienne Porter Felt, Erika.docxdurantheseldine
 
Advance Android application development workshop day 3
Advance Android application development workshop day 3Advance Android application development workshop day 3
Advance Android application development workshop day 3cresco
 
Security testing of mobile applications
Security testing of mobile applicationsSecurity testing of mobile applications
Security testing of mobile applicationsGTestClub
 
Hello android world
Hello android worldHello android world
Hello android worldeleksdev
 
Data Transfer between activities and Database
Data Transfer between activities and Database Data Transfer between activities and Database
Data Transfer between activities and Database faiz324545
 
Understanding Android Security
Understanding Android SecurityUnderstanding Android Security
Understanding Android SecurityAsanka Dilruk
 
Mobile Security for the Enterprise
Mobile Security for the EnterpriseMobile Security for the Enterprise
Mobile Security for the EnterpriseWill Adams
 
Stop the Evil, Protect the Endpoint
Stop the Evil, Protect the EndpointStop the Evil, Protect the Endpoint
Stop the Evil, Protect the EndpointBeyondTrust
 
Attribute-based Permission Model for Android Smartphones
Attribute-based Permission Model for Android SmartphonesAttribute-based Permission Model for Android Smartphones
Attribute-based Permission Model for Android SmartphonesIJCSIS Research Publications
 
Android_Nougats_security_issues_and_solutions.pdf
Android_Nougats_security_issues_and_solutions.pdfAndroid_Nougats_security_issues_and_solutions.pdf
Android_Nougats_security_issues_and_solutions.pdfTalha Naqash
 
Attack surface analysis of Tizen devices
Attack surface analysis of Tizen devicesAttack surface analysis of Tizen devices
Attack surface analysis of Tizen devicesRyo Jin
 

Similaire à Android Security & Permissions Explained (20)

Android Security
Android SecurityAndroid Security
Android Security
 
Android Security
Android SecurityAndroid Security
Android Security
 
Android Penetration Testing - Day 1
Android Penetration Testing - Day 1Android Penetration Testing - Day 1
Android Penetration Testing - Day 1
 
Android Permissions DemystifiedAdrienne Porter Felt, Erika.docx
Android Permissions DemystifiedAdrienne Porter Felt, Erika.docxAndroid Permissions DemystifiedAdrienne Porter Felt, Erika.docx
Android Permissions DemystifiedAdrienne Porter Felt, Erika.docx
 
Untitled 1
Untitled 1Untitled 1
Untitled 1
 
Mobile security
Mobile securityMobile security
Mobile security
 
Advance Android application development workshop day 3
Advance Android application development workshop day 3Advance Android application development workshop day 3
Advance Android application development workshop day 3
 
Security testing of mobile applications
Security testing of mobile applicationsSecurity testing of mobile applications
Security testing of mobile applications
 
Hello android world
Hello android worldHello android world
Hello android world
 
Data Transfer between activities and Database
Data Transfer between activities and Database Data Transfer between activities and Database
Data Transfer between activities and Database
 
Understanding Android Security
Understanding Android SecurityUnderstanding Android Security
Understanding Android Security
 
Unit - III.pptx
Unit - III.pptxUnit - III.pptx
Unit - III.pptx
 
Securing Android
Securing AndroidSecuring Android
Securing Android
 
Mobile Security for the Enterprise
Mobile Security for the EnterpriseMobile Security for the Enterprise
Mobile Security for the Enterprise
 
Stop the Evil, Protect the Endpoint
Stop the Evil, Protect the EndpointStop the Evil, Protect the Endpoint
Stop the Evil, Protect the Endpoint
 
Attribute-based Permission Model for Android Smartphones
Attribute-based Permission Model for Android SmartphonesAttribute-based Permission Model for Android Smartphones
Attribute-based Permission Model for Android Smartphones
 
Android_Nougats_security_issues_and_solutions.pdf
Android_Nougats_security_issues_and_solutions.pdfAndroid_Nougats_security_issues_and_solutions.pdf
Android_Nougats_security_issues_and_solutions.pdf
 
Attack surface analysis of Tizen devices
Attack surface analysis of Tizen devicesAttack surface analysis of Tizen devices
Attack surface analysis of Tizen devices
 
128-ch4.pptx
128-ch4.pptx128-ch4.pptx
128-ch4.pptx
 
IJET-V3I1P9
IJET-V3I1P9IJET-V3I1P9
IJET-V3I1P9
 

Plus de Krazy Koder (20)

2310 b xd
2310 b xd2310 b xd
2310 b xd
 
2310 b xd
2310 b xd2310 b xd
2310 b xd
 
2310 b xd
2310 b xd2310 b xd
2310 b xd
 
2310 b xc
2310 b xc2310 b xc
2310 b xc
 
2310 b xb
2310 b xb2310 b xb
2310 b xb
 
2310 b 17
2310 b 172310 b 17
2310 b 17
 
2310 b 16
2310 b 162310 b 16
2310 b 16
 
2310 b 16
2310 b 162310 b 16
2310 b 16
 
2310 b 15
2310 b 152310 b 15
2310 b 15
 
2310 b 15
2310 b 152310 b 15
2310 b 15
 
2310 b 14
2310 b 142310 b 14
2310 b 14
 
2310 b 13
2310 b 132310 b 13
2310 b 13
 
2310 b 12
2310 b 122310 b 12
2310 b 12
 
2310 b 11
2310 b 112310 b 11
2310 b 11
 
2310 b 10
2310 b 102310 b 10
2310 b 10
 
2310 b 09
2310 b 092310 b 09
2310 b 09
 
2310 b 08
2310 b 082310 b 08
2310 b 08
 
2310 b 08
2310 b 082310 b 08
2310 b 08
 
2310 b 08
2310 b 082310 b 08
2310 b 08
 
2310 b 07
2310 b 072310 b 07
2310 b 07
 

Android Security & Permissions Explained

  • 2. Topics • Android security design principles • Permissions • Application signing
  • 4. Android Security via Linux • Android is a multi-process system, in which each application (and parts of the system) runs in its own process. • Most security between applications and the system is enforced at the process level through standard Linux facilities, such as user and group IDs that are assigned to applications.
  • 5. Android Security “Over” Linux • Additional finer-grained security features are provided through a "permission" mechanism > Enforces restrictions on the specific operations that a particular process can perform, and per-URI permissions for granting ad-hoc access to specific pieces of data.
  • 6. Android Security Design Principles • No application, by default, has permission to perform any operations that would adversely impact other applications, the operating system, or the user. > 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 • An application's process is a secure sandbox > It can't disrupt other applications, except by explicitly declaring the permissions it needs for additional capabilities not provided by the basic sandbox.
  • 8. Permissions • The permissions an application requests can be handled by the operating in various ways, > Typically by automatically allowing or disallowing based on certificates or by prompting the user. • The permissions required by an application are declared statically in that application, so they can be known up-front at install time and will not change after that.
  • 9. Declaring Permissions • To make use of protected features of the device, you must include in your AndroidManifest.xml one or more <uses- permission> tags declaring the permissions that your application needs. • For example, an application that needs to monitor incoming SMS messages would specify: <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.app.myapp" > <uses-permission android:name="android.permission.RECEIVE_SMS" /> </manifest>
  • 10. When Permissions Are Granted? • At application install time, permissions requested by the application are granted to it by the package installer, based on checks against the signatures of the applications declaring those permissions and/or interaction with the user. > No checks with the user are done while an application is running
  • 11. Enforcing Permissions • To enforce your own permissions, you must first declare them in your AndroidManifest.xml using one or more <permission> tags. • For example, an application that wants to control who can start one of its activities could declare a permission for this operation as follows: <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.me.app.myapp" > <permission android:name="com.me.app.myapp.permission.DEADLY_ACTIVITY" android:label="@string/permlab_deadlyActivity" android:description="@string/permdesc_deadlyActivity" android:permissionGroup="android.permission-group.COST_MONEY" android:protectionLevel="dangerous" /> </manifest>
  • 13. Application Signing • All Android applications (.apk files) must be signed with a certificate whose private key is held by their developer > This certificate identifies the author of the application. > The certificate does not need to be signed by a certificate authority: it is perfectly allowable, and typical, for Android applications to use self-signed certificates. > The certificate is used only to establish trust relationships between applications, not for wholesale control over whether an application can be installed.