SlideShare a Scribd company logo
Android Security
Nikhil P Kulkarni | @nikchillz
HISTORY OF ANDROID
▪ Android Inc.founded in Palo Alto,california ,united states in October 2003 by Andy
Rubin[co-founder of danger ],rich miner[co-founder of wildfire communication
Inc.],nick sears[once VP at T-mobile],
▪ and Chris white[headed design and interface development at web TV] to
develop.
▪ Initially backed by google and then ultimately bought by google in 2004
WHAT IS ANDROID?
▪ It is a open source software platform and operating system for mobile devices
▪ Based on the Linux kernel
▪ Developed by Google and later the Open Handset Alliance (OHA)
▪ Allows writing managed code in the Java language
▪ Android has its own virtual machine i.e. DVM(Dalvik Virtual Machine),which is used for
executing the android applicatn.
▪ Google purchased the initial developer of the software , android incorporated in 2005.
Open Handset Alliance
• The open handset alliance(OHA) is a
business alliance of firm to develop
open standard for mobile devices.
• Devoted to advancing open standards
for mobile devices
• Develop technologies that will
significantly lower the cost of developing
and distributing mobile devices and
services.
Open Handset Alliance
ANDROID ARCHITECTURE
The software stack is split into 4 Layers:
• The application layer
• The application framework
• The libraries and runtime
• The kernel
LINUX
KERNEL
•The architecture is based on the Linux2.6 kernel.
• This layer is core of android architecture. It provides
service like power management, memory management,
security etc.
• It helps in software or hardware binding for better
communication.
NATIVE LIBRARIES
• Android has its own libraries, which is written in
C/C++. These libraries cannot be accessed directly.
With the help of application framework, we can access
these libraries. There are many libraries like web
libraries to access web browsers, libraries for android
and video formats etc.
Android Run Time
• The Android Runtime was designed specifically for
Android to meet the needs of running in an embedded
environment where you have limited battery, limited
memory, limited CPU.
• Dalvik is the process virtual machine in Google's
android operating system. It is the software that runs the
apps on android devices. Dalvik is thus an integral part
of android ,which is typically used on mobile devices
such as mobile phones and tablet computers.
• Programs are commonly written in java and compiled to
byte code.
Android Run Time
•This is in blue, meaning that it's written in
the Java programming language.
•The core library contains all of the collection
classes, utilities, IO, all the utilities and tools
that you’ve come to expected to use.
Application Framework
•This is all written in a Java programming language and
the application framework is the toolkit that all
applications use.
•These applications include the ones that come with a
phone like the home applications, or the phone
application.
•It includes applications written by Google, and it
includes apps that will be written by you.
•So, all apps use the same framework and the same
APIs.
Contd…
These are as follows:-
• Activity manager:-It manages the lifecycle of applications. It enable proper
management of all the activities. All the activities are controlled by activity
manager.
• Resource manager:-It provides access to non-code resources such as
graphics etc.
• Notification manager:-It enables all applications to display custom alerts in
status bar.
• Location manager:- It fires alerts when user enters or leaves a specified
geographical location.
• Package manager:-It is use to retrieve the data about installed packages on
device.
• Window manager:-It is use to create views and layouts.
• Telephony manager:-It is use to handle settings of network connection and all
information about services on device.
APPLICATION LAYER
•the final layer on top is Applications.
•It includes the home application the contacts
application , the browser, and apps.
•It is the most upper layer in android architecture.
•All the applications like camera, Google maps,
browser,sms,calendars,contacts are native applications.
These applications works with end user with the help of
application framework to operate.
Android Security Model
▪ Security at the Operating System Level : Thru the Linux Kernel
▪ Application Sandboxing
▪ Secure IPC
▪ Application Signing
▪ Permissions
▪ Google Bouncers
Security at the Operating System Level
▪ Enforcing the Permissions.
▪ Unique UID for each applications.
Exercise
▪ Open up a command prompt
▪ Get an ADB Shell onto the device that is connected to your system.
▪ >adb shell
▪ Check the UID of the different Applications running.
▪ >ps
Application Sandboxing
▪ Each of the Application runs in its own Sandbox.
▪ One Application cannot access the data of the other Application.
▪ /data/data is the directory where you will see all the Application’s Data to be
present.
Exercise
▪ Open the Messaging Application on your Emulator or your device.
▪ Send an SMS to any number.
▪ Once sent, get a ADB Shell onto the Device and navigate to the SMS Application.
▪ >cd /data/data
▪ >cd com.android.providers.telephony
▪ >cd databases
▪ Pull the Database onto your local machine (use a new terminal instance).
▪ >adb pull data/data/com.android.providers.telephony/databases/mmssms.db
▪ Read the Database using the SQLite DB Browser.
Secure IPC
▪ Binders
▪ Services
▪ Intents
▪ Content Providers
Android Permissions
▪ Application Defined but User Granted Permissions.
▪ Permissions are declared by the Developers of the Application.
▪ AndroidManifest.xml file will have all the details related to the Permissions.
▪ The User will be asked to accept/deny the Permissions before the installation of the
Application.
▪ Earlier, we could only Accept All/Deny All, But now we can select which permissions we
want to give to the application.
Exercise
▪ Navigate to the resources folder where the ManifestViewer.apk file is present.
▪ Install the Manifest Viewer Application using the adb command onto your device.
▪ >adb install ManifestViewer.apk
▪ Now once installed, open the application and look into the AndroidManifest.xml
files of any application that is installed onto the Device.
References
▪ http://en.wikipedia.org/wiki/Android_(operating_system)
▪ http://www.openhandsetalliance.com/android_overview.html
▪ http://androidpentesting.com
▪ http://www.android.com

More Related Content

What's hot

android architecture
android architectureandroid architecture
android architecture
Aashita Gupta
 

What's hot (20)

Android application development ppt
Android application development pptAndroid application development ppt
Android application development ppt
 
Mobile computing
Mobile computingMobile computing
Mobile computing
 
android architecture
android architectureandroid architecture
android architecture
 
Introduction to Android
Introduction to AndroidIntroduction to Android
Introduction to Android
 
Google android os
Google android osGoogle android os
Google android os
 
An introduction to Android
An introduction to AndroidAn introduction to Android
An introduction to Android
 
Custom Android App Development – Web Animation India
Custom Android App Development – Web Animation IndiaCustom Android App Development – Web Animation India
Custom Android App Development – Web Animation India
 
Learn Android app development in easy steps
Learn Android app development in easy stepsLearn Android app development in easy steps
Learn Android app development in easy steps
 
Android architechture
Android architechtureAndroid architechture
Android architechture
 
Android
AndroidAndroid
Android
 
How Android is different from other systems – An exploration of the design de...
How Android is different from other systems – An exploration of the design de...How Android is different from other systems – An exploration of the design de...
How Android is different from other systems – An exploration of the design de...
 
Android quick talk
Android quick talkAndroid quick talk
Android quick talk
 
Android Web app
Android Web app Android Web app
Android Web app
 
Android
Android Android
Android
 
Lick my Lollipop
Lick my LollipopLick my Lollipop
Lick my Lollipop
 
Android Application Development Presentation
Android Application Development PresentationAndroid Application Development Presentation
Android Application Development Presentation
 
Android My Seminar
Android My SeminarAndroid My Seminar
Android My Seminar
 
Introduction to Android - Seminar
Introduction to Android - SeminarIntroduction to Android - Seminar
Introduction to Android - Seminar
 
Android report.
Android report.Android report.
Android report.
 
Android Programming
Android ProgrammingAndroid Programming
Android Programming
 

Similar to Android Security Humla Part 1

Androidoverview 100405150711-phpapp01
Androidoverview 100405150711-phpapp01Androidoverview 100405150711-phpapp01
Androidoverview 100405150711-phpapp01
Santosh Sh
 
18ITT61 - Introduction.pptx
18ITT61 - Introduction.pptx18ITT61 - Introduction.pptx
18ITT61 - Introduction.pptx
MugiiiReee
 
Introduction to android sessions new
Introduction to android   sessions newIntroduction to android   sessions new
Introduction to android sessions new
Joe Jacob
 
Android Architecture design programming with java
Android Architecture design programming with javaAndroid Architecture design programming with java
Android Architecture design programming with java
ssuser471dfb
 

Similar to Android Security Humla Part 1 (20)

Android Seminar BY Suleman Khan.pdf
Android Seminar BY Suleman Khan.pdfAndroid Seminar BY Suleman Khan.pdf
Android Seminar BY Suleman Khan.pdf
 
Android ppt
Android ppt Android ppt
Android ppt
 
Android App Developement
Android App DevelopementAndroid App Developement
Android App Developement
 
Android 130923124440-phpapp01
Android 130923124440-phpapp01Android 130923124440-phpapp01
Android 130923124440-phpapp01
 
Android
AndroidAndroid
Android
 
Mobile Application Development powerpoint
Mobile Application Development powerpointMobile Application Development powerpoint
Mobile Application Development powerpoint
 
Android Application Development Training by NITIN GUPTA
Android Application Development Training by NITIN GUPTA Android Application Development Training by NITIN GUPTA
Android Application Development Training by NITIN GUPTA
 
Android technology
Android technology Android technology
Android technology
 
Android Workshop Part 1
Android Workshop Part 1Android Workshop Part 1
Android Workshop Part 1
 
android phone ppt
android phone pptandroid phone ppt
android phone ppt
 
Androidoverview 100405150711-phpapp01
Androidoverview 100405150711-phpapp01Androidoverview 100405150711-phpapp01
Androidoverview 100405150711-phpapp01
 
Android based os
Android based osAndroid based os
Android based os
 
Android Seminar || history || versions||application developement
Android Seminar || history || versions||application developement Android Seminar || history || versions||application developement
Android Seminar || history || versions||application developement
 
18ITT61 - Introduction.pptx
18ITT61 - Introduction.pptx18ITT61 - Introduction.pptx
18ITT61 - Introduction.pptx
 
Introduction to android sessions new
Introduction to android   sessions newIntroduction to android   sessions new
Introduction to android sessions new
 
Android Architecture design programming with java
Android Architecture design programming with javaAndroid Architecture design programming with java
Android Architecture design programming with java
 
document
documentdocument
document
 
Seminar on android app development
Seminar on android app developmentSeminar on android app development
Seminar on android app development
 
Basic of Android App Development
Basic of Android App DevelopmentBasic of Android App Development
Basic of Android App Development
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to android
 

Recently uploaded

Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Peter Udo Diehl
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 

Recently uploaded (20)

UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG Evaluation
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 

Android Security Humla Part 1

  • 1. Android Security Nikhil P Kulkarni | @nikchillz
  • 2. HISTORY OF ANDROID ▪ Android Inc.founded in Palo Alto,california ,united states in October 2003 by Andy Rubin[co-founder of danger ],rich miner[co-founder of wildfire communication Inc.],nick sears[once VP at T-mobile], ▪ and Chris white[headed design and interface development at web TV] to develop. ▪ Initially backed by google and then ultimately bought by google in 2004
  • 3. WHAT IS ANDROID? ▪ It is a open source software platform and operating system for mobile devices ▪ Based on the Linux kernel ▪ Developed by Google and later the Open Handset Alliance (OHA) ▪ Allows writing managed code in the Java language ▪ Android has its own virtual machine i.e. DVM(Dalvik Virtual Machine),which is used for executing the android applicatn. ▪ Google purchased the initial developer of the software , android incorporated in 2005.
  • 4. Open Handset Alliance • The open handset alliance(OHA) is a business alliance of firm to develop open standard for mobile devices. • Devoted to advancing open standards for mobile devices • Develop technologies that will significantly lower the cost of developing and distributing mobile devices and services.
  • 6. ANDROID ARCHITECTURE The software stack is split into 4 Layers: • The application layer • The application framework • The libraries and runtime • The kernel
  • 7.
  • 8. LINUX KERNEL •The architecture is based on the Linux2.6 kernel. • This layer is core of android architecture. It provides service like power management, memory management, security etc. • It helps in software or hardware binding for better communication.
  • 9. NATIVE LIBRARIES • Android has its own libraries, which is written in C/C++. These libraries cannot be accessed directly. With the help of application framework, we can access these libraries. There are many libraries like web libraries to access web browsers, libraries for android and video formats etc.
  • 10. Android Run Time • The Android Runtime was designed specifically for Android to meet the needs of running in an embedded environment where you have limited battery, limited memory, limited CPU. • Dalvik is the process virtual machine in Google's android operating system. It is the software that runs the apps on android devices. Dalvik is thus an integral part of android ,which is typically used on mobile devices such as mobile phones and tablet computers. • Programs are commonly written in java and compiled to byte code.
  • 11. Android Run Time •This is in blue, meaning that it's written in the Java programming language. •The core library contains all of the collection classes, utilities, IO, all the utilities and tools that you’ve come to expected to use.
  • 12. Application Framework •This is all written in a Java programming language and the application framework is the toolkit that all applications use. •These applications include the ones that come with a phone like the home applications, or the phone application. •It includes applications written by Google, and it includes apps that will be written by you. •So, all apps use the same framework and the same APIs.
  • 13. Contd… These are as follows:- • Activity manager:-It manages the lifecycle of applications. It enable proper management of all the activities. All the activities are controlled by activity manager. • Resource manager:-It provides access to non-code resources such as graphics etc. • Notification manager:-It enables all applications to display custom alerts in status bar. • Location manager:- It fires alerts when user enters or leaves a specified geographical location. • Package manager:-It is use to retrieve the data about installed packages on device. • Window manager:-It is use to create views and layouts. • Telephony manager:-It is use to handle settings of network connection and all information about services on device.
  • 14. APPLICATION LAYER •the final layer on top is Applications. •It includes the home application the contacts application , the browser, and apps. •It is the most upper layer in android architecture. •All the applications like camera, Google maps, browser,sms,calendars,contacts are native applications. These applications works with end user with the help of application framework to operate.
  • 15. Android Security Model ▪ Security at the Operating System Level : Thru the Linux Kernel ▪ Application Sandboxing ▪ Secure IPC ▪ Application Signing ▪ Permissions ▪ Google Bouncers
  • 16. Security at the Operating System Level ▪ Enforcing the Permissions. ▪ Unique UID for each applications.
  • 17. Exercise ▪ Open up a command prompt ▪ Get an ADB Shell onto the device that is connected to your system. ▪ >adb shell ▪ Check the UID of the different Applications running. ▪ >ps
  • 18. Application Sandboxing ▪ Each of the Application runs in its own Sandbox. ▪ One Application cannot access the data of the other Application. ▪ /data/data is the directory where you will see all the Application’s Data to be present.
  • 19. Exercise ▪ Open the Messaging Application on your Emulator or your device. ▪ Send an SMS to any number. ▪ Once sent, get a ADB Shell onto the Device and navigate to the SMS Application. ▪ >cd /data/data ▪ >cd com.android.providers.telephony ▪ >cd databases ▪ Pull the Database onto your local machine (use a new terminal instance). ▪ >adb pull data/data/com.android.providers.telephony/databases/mmssms.db ▪ Read the Database using the SQLite DB Browser.
  • 20. Secure IPC ▪ Binders ▪ Services ▪ Intents ▪ Content Providers
  • 21. Android Permissions ▪ Application Defined but User Granted Permissions. ▪ Permissions are declared by the Developers of the Application. ▪ AndroidManifest.xml file will have all the details related to the Permissions. ▪ The User will be asked to accept/deny the Permissions before the installation of the Application. ▪ Earlier, we could only Accept All/Deny All, But now we can select which permissions we want to give to the application.
  • 22. Exercise ▪ Navigate to the resources folder where the ManifestViewer.apk file is present. ▪ Install the Manifest Viewer Application using the adb command onto your device. ▪ >adb install ManifestViewer.apk ▪ Now once installed, open the application and look into the AndroidManifest.xml files of any application that is installed onto the Device.

Editor's Notes

  1. A lightweight capability based remote procedure call mechanism designed for high performance when performing in-process and cross-process calls. Binder is implemented using a custom Linux Driver. Services: Services are the background processes that are running. Example if you are seeing a screen where some task is carried out, you could perform that task without that screen coming up through the background service. Services can also be used to trigger activity. Say you want to start an activity. Services can also be used to interact with other components in your application aswell. Intents: An Intent is a simple message object that represents an “intention” to do something. Let’s say there is an application that has 2 screens, you could use the intents to go from screen 1 to screen 2 using the intents. In simple words, intents are the message that says “Hey, I’m launching you” Example: am start –a android.intent.action.VIEW –d http://www.google.com Content Providers: A ContentProvider is a data storehouse that provides access to the data on the device. Example: Let’s consider the Database example, where we were able to see that the sms application was connected to the SQLite Database. Content Providers act as a pipeline between the Application and the Database.