Introduction to Android Swapnil Pathak www.SecurityXploded.com Advanced Malware Analysis Training Series.

Slides:



Advertisements
Similar presentations
Android Application Development A Tutorial Driven Course.
Advertisements

Android architecture overview
Disclaimer The Content, Demonstration, Source Code and Programs presented here is "AS IS" without any warranty or conditions.
Disclaimer The Content, Demonstration, Source Code and Programs presented here is "AS IS" without any warranty or conditions.
Disclaimer The Content, Demonstration, Source Code and Programs presented here is "AS IS" without any warranty or conditions.
Disclaimer The Content, Demonstration, Source Code and Programs presented here is "AS IS" without any warranty or conditions.
DEPARTMENT OF COMPUTER ENGINEERING
This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
ANDROID PROGRAMMING MODULE 1 – GETTING STARTED
Emerging Platform#4: Android Bina Ramamurthy.  Android is an Operating system.  Android is an emerging platform for mobile devices.  Initially developed.
Android Introduction Platform Overview.
Mobile Application Development with ANDROID Tejas Lagvankar UMBC 29 April 2009.
Mobile Application Development with ANDROID. Agenda Mobile Application Development (MAD) Intro to Android platform Platform architecture Application building.
About me Yichuan Wang Android Basics Credit goes to Google and UMBC.
Disclaimer The Content, Demonstration, Source Code and Programs presented here is "AS IS" without any warranty or conditions.
Disclaimer The Content, Demonstration, Source Code and Programs presented here is "AS IS" without any warranty or conditions.
Authors: William Enck The Pennsylvania State University Peter Gilbert Duke University Byung-Gon Chun Intel Labs Landon P. Cox Duke University Jaeyeon Jung.
© Keren Kalif Intro to Android Development Written by Keren Kalif, Edited by Liron Blecher Contains slides from Google I/O presentation.
All Your Droid Are Belong To Us: A Survey of Current Android Attacks 단국대학교 컴퓨터 보안 및 OS 연구실 김낙영
Disclaimer The Content, Demonstration, Source Code and Programs presented here is "AS IS" without any warranty or conditions.
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
Disclaimer The Content, Demonstration, Source Code and Programs presented here is "AS IS" without any warranty or conditions.
APKInspector -Static Analysis of Android Applications Student: Yuan Tian Mentor: Cong Zheng Backup Mentor: Anthony Kara Jianwei 08/22/2012.
Copyright© Jeffrey Jongko, Ateneo de Manila University Android.
01. Introduction to Android Prof. Oum Saokosal Master of Engineering in Information Systems, South Korea
ANDROID Presented By Mastan Vali.SK. © artesis 2008 | 2 1. Introduction 2. Platform 3. Software development 4. Advantages Main topics.
Rajab Davudov. Agenda Eclipse, ADT and Android SDK APK file Fundamentals – Activity – Service – Content Provider – Broadcast Receiver – Intent Hello World.
Disclaimer The Content, Demonstration, Source Code and Programs presented here is "AS IS" without any warranty or conditions.
#gsa2012 Android Basics By: Amr Mohsen
Disclaimer The Content, Demonstration, Source Code and Programs presented here is "AS IS" without any warranty or conditions.
Android for Java Developers Denver Java Users Group Jan 11, Mike
Roopa.T PESIT, Bangalore. Source and Credits Dalvik VM, Dan Bornstein Google IO 2008 The Dalvik virtual machine Architecture by David Ehringer.
Disclaimer The Content, Demonstration, Source Code and Programs presented here is "AS IS" without any warranty or conditions.
Overview of Android Application Development
CS378 - Mobile Computing Intents. Allow us to use applications and components that are part of Android System – start activities – start services – deliver.
Disclaimer The Content, Demonstration, Source Code and Programs presented here is "AS IS" without any warranty or conditions.
Disclaimer The Content, Demonstration, Source Code and Programs presented here is "AS IS" without any warranty or conditions.
Android Security Model that Provide a Base Operating System Presented: Hayder Abdulhameed.
ANDROID BY:-AANCHAL MEHTA MNW-880-2K11. Introduction to Android Open software platform for mobile development A complete stack – OS, Middleware, Applications.
1 Java applications reverse engineering Antoni Bertel AUGUST 4, 2015.
Amit Malik SecurityXploded Research Group FireEye Labs.
Created By. Jainik B Patel Prashant A Goswami Gujarat Vidyapith Computer Department Ahmedabad.
Disclaimer The Content, Demonstration, Source Code and Programs presented here is "AS IS" without any warranty or conditions.
Android System Security Xinming Ou. Android System Basics An open-source operating system for mobile devices (AOSP, led by Google) – Consists of a base.
Wireless and Mobile Security
1 Android Workshop Platform Overview. 2 What is Android?  Android is a software stack for mobile devices that includes an operating system, middleware.
By: Collin Molnar. Overview  Intro to Android  Security basics  Android architecture  Application isolation  Application permissions  Physical access.
Java & The Android Stack: A Security Analysis Pragati Ogal Rai Mobile Technology Evangelist PayPal, eBay Java.
ANDROID OS Ravi Soni MTech (CS) III Sem. W HAT IS A NDROID ? Android is a software stack for mobile devices that includes an operating system, middleware.
The Ingredients of Android Applications. A simple application in a process In a classical programming environment, the OS would load the program code.
Presented by: Saurabh Kumar Sinha (MRT07UGBIT 186) IT VII Semester, Shobhit University Meerut.
Google. Android What is Android ? -Android is Linux Based OS -Designed for use on cell phones, e-readers, tablet PCs. -Android provides easy access to.
Introduction to Android Programming
Introduction to Android Chapter 1 1. Objectives Understand what Android is Learn the differences between Java and Android Java Examine the Android project.
A presentation on Android and Android project Around Me
Module 51 (Mobile Device Fundamentals - Android)
Android Mobile Application Development
Android Application -Architecture.
Android 01: Fundamentals
Visit for more Learning Resources
Android Runtime – Dalvik VM
APK Downloader
CMPE419 Mobile Application Development
Application Development A Tutorial Driven Course
CHAPTER 1 Introduction Chapter objectives: Understand what Android is
Android Platform, Android App Basic Components
Emerging Platform#3 Android & Programming an App
Mobile Programming Dr. Mohsin Ali Memon.
CMPE419 Mobile Application Development
Presentation transcript:

Introduction to Android Swapnil Pathak Advanced Malware Analysis Training Series

Disclaimer The Content, Demonstration, Source Code and Programs presented here is "AS IS" without any warranty or conditions of any kind. Also the views/ideas/knowledge expressed here are solely of the trainer’s only and nothing to do with the company or the organization in which the trainer is currently working. However in no circumstances neither the Trainer nor SecurityXploded is responsible for any damage or loss caused due to use or misuse of the information presented here.

Acknowledgement  Special thanks to Null community for their extended support and co-operation.  Special thanks to ThoughtWorks for the beautiful venue.  Thanks to all the trainers who have devoted their precious time and countless hours to make it happen.

Advanced Malware Analysis Training This presentation is part of our Advanced Malware Analysis Training program. Currently it is delivered only during our local meets for FREE of cost. For complete details of this course, visit our Security Training page.Security Training page

Who am I? Swapnil Pathak  Security Researcher  Reversing, Malware Analysis, Exploit Analysis etc. 

Agenda  Introduction  Architecture  Security Features  Application Format  Permissions  Dalvik bytecode  Analysis lab setup  Q & A

Introduction  Linux based OS designed for mobile devices such as smartphones and tablets.  500 million devices activated  1.3 million activations per day by Q3 of 2012  1+ million apps available for download at Google Play Store Source : Wikipedia

Introduction  Mobile malware on the rise, Android most at Risk - McAfee  Android users are prime target for malware – PC World  New Android malware app turns phone into surveillance device - ThreatPost  New Android Trojan app exploits previously unknow flaws, researchers say – Computer World

Android Architecture

Security Features System and Kernel Security - Application Sandbox Each application assigned a unique user id (UID) and executed as a separate process Implemented in kernel, all software above the kernel are run inside the sandbox Memory Management - Hardware based NoExecute (NX) to provide code execution on stack and heap - Address Space Layout Randomization to randomize key locations in memory Permissions Application Signing

Application Format .apk file extension  Similar to archive file can be extracted using 7-zip  Archive contains –AndroidManifest.xml –Classes.dex (Compiled source code) –Res directory –Asset directory –META-INF directory

Application Format  Basic elements of Applications –AndroidManifest.xml : Specifies the permissions requested by the application –Activities : Represents a single screen with user interface –Services : Executes in background in its own process or in the context of another applications process. –Content Providers : Provides access to private and shared data –Broadcast receivers : Code that responds to system wide events –Intent – Actions that activate activity, service and broadcast receivers

Permissions Permissions updated with each OS release. CALL_PHONE – Initiate phone call CAMERA – To access camera on the device INTERNET – To open network sockets. INSTALL_PACKAGES – To install packages. READ_CONTACTS – To read users contact data READ_LOGS – Low level system log files. READ_PHONE_STATE, READ_PROFILE READ_SMS, RECEIVE_SMS,SEND_SMS, WRITE_SMS WRITE_APN_SETTINGS RECORD_AUDIO ACCESS_FINE_LOCATION, ACCESS_COARSE_LOCATION

Dalvik Virtual Machine and Bytecode  Applications programmed in java are compiled into java bytecode (.class files)  dx tool compiles the java bytecode into dalvik bytecode (classes.dex) which is executed on Dalvik virtual machine.  Dalvik VM, an open source software, responsible for running apps.  Register based VM, optimized for low memory requirements.  Consist of virtual registers

Dalvik Virtual Machine and Bytecode.method public add(II)I.limit registers 4 ; this: v1 (Ltest2;) ; parameter[0] : v2 (I) ; parameter[1] : v3 (I) add-int v0,v2,v3 ; v0=v2+v3 return v0.end method

Analysis Setup – Tools of the Trade Android Emulator Smali(assembler)/Baksmali(dissasembler), dedexer Apktool Dex2Jar JD-GUI Androguard Tcpdump-arm Android Reverse Engineering Virtual Machine

Research Projects  Malgenome Project  Appanalysis.org  Sandia MegDroid  HoneyDroid  Understanding the Dalvik bytecode with Dedexer tool – Gabor Paller

Reference Complete Reference Guide for Advanced Malware Analysis Training [Include links for all the Demos & Tools]

Thank You !