SlideShare a Scribd company logo
[email_address] @s_harit O ut S marting SmartPhones
echo whoami Senior Security Analyst @SensePost (awesome company BTW) 7+ years in InfoSec Specialize in Web App & Network security Part time Reverse Engineer (is that even possible???) Certified Ethical Hacker (as if it matters) Can do 50 Push-ups in one go (and faint)
Why does everyone rant about SmartPhone security Understanding iPhone Application layout Decrypting iPhone apps & what can we achieve  Android Architecture Android Permission Model & Sandbox Analyzing Android Apps - Deep sea diving Practical Attacks on Android Demos And more Demos Introducing Manifestor.py
Why care??? Smartphones are growing in popularity by minute Windows 7  (Dell, HTC, LG etc.), iPhone (Apple), Android (Google, HTC, Samsung, Motorola etc.) means growth in mobile applications (According to Juniper Research, mobile application market is expected to reach $32 billion by 2015) means loads of mobile application development (from barcode scanner to angry birds to mobile BANKING) means tons of lines of code (plus bad programming) equals to VULNERABILITIES - programmatic, environmental, configurational and so on
I once had an iPhone...
iPhone Binary Format IPA file - basically a zip archive Location of app binary on iPhone: Payload/MyApp.app/MyApp Based on Mach-O (Mach Object) file format Sandbox: Apps restricted to their own private directory and memory pages Apps are encrypted Decrypted by iPhone loader on run-time
Reverse Engineering iPhone Apps
Decrypting iPhone Binary What do I need: Jailbroken iPhone (Yes, it ’ s a necessity of life) iPhone SDK (Otool) Hex Editor (0xED, HexWorkshop, etc. etc.) Ida Pro (Optional) - Version 5.2 - 5.6 Finding an app root dir on iPhone sudo find / | grep iApp.app myApp.app contains iApp, actual binary “ crypt ”  load command responsible for decryption otool -l iApp | grep crypt
Decrypting iPhone Binary What do I need: Jailbroken iPhone (Yes, it ’ s a necessity of life) iPhone SDK (Otool) Hex Editor (0xED, HexWorkshop, etc. etc.) Ida Pro (Optional) - Version 5.2 - 5.6 Finding an app root dir on iPhone sudo find / | grep iApp.app myApp.app contains iApp, actual binary “ crypt ”  load command responsible for decryption otool -l iApp | grep crypt
Decrypting iPhone Binary Locate  “ cryptid ”  in actual binary, and flip it to  “ 0 ” Do it, NOW “ cryptid ”  is now  “ 0 ” . What does this mean? Not decrypted yet Next, run the app on iPhone and take a memory dump Actaul code starts at 0x2000 Size of encrypted data - 942080 (0xE6000) So, we need to dump from 0x2000 to 0xE8000. Guess why? :-) Run app on iPhone, ssh into iPhone, use gdb gdb -p PID dump memory iApp.bin 0x2000 0xE8000 Pull iApp.bin on local machine Overwrite bin file on initial binary file (where we  “ cryptid ”  was set to  “ 0 ” ) Don ’ t forget -  “ cryptoff ”  was 4096 (0x1000) Sorted :-) For all technical details, please refer to SensePost blog: http://sensepost.com/blog/6254.html
I have an Android phone... ...and I love it :-)
Android Architecture
Android Security Model Linux kernel Linux-Like permission model Applications run with their own uid:gid (something like multi-user system) Applications may share a uid (must be signed with same key) App permissions are defined in AndroidManifest.xml Manually reviewed / accepted by user on install (Really??? What if I am a runway model?) Applications can be self-signed.
AndroidManifest.xml One for each app Declares Java package name for the application Describes components of the application - activities, services, broadcast receivers, content providers Declares permissions required to access protected parts of APIs Declares permissions required by other applications to interact
Activity User-focused task Almost always interacts with user Displays a button, text box etc. Runs within app ’ s process Stack based - new activity is placed at top Activity states: active, paused, stopped, resumed
Intents Basically messages between components such as activities, services etc. Like passing parameters to API calls, except it ’ s asynchronous Run-time binding Start an activity with startActivity() Similarly sendBroadcast(), startService(Intent) and so on Start an Activity
Broadcast Receiver Communication between Apps and System Messages sent as Intents Dynamic creation through context.registerReceiver()  Static declaration through receiver tag in AndroidManifest.xml Can be exported with <intent-filter> tag in AndroidManifest.xml Access permissions can be enforced by either sender or receiver Apps can register to receive intents without special privileges ;-)
Service Long running background process Can run in its own process, Or in context of another application ’ s process Can be started with an intent Can be secured by adding a Permission check to their <service> tag Careful while sending sensitive data
Understanding Android App
Apps run in Dalvik Virtual Machine - One DVM for each app DVM is register based, not stack based DVM ensures application isolation One application cannot access data of another application Hmmm,  “ cannot ”  or  “ SHOULD not ” Unique UID for each application Apps written in  Java , then compiled to Dalvik byte code No Solid code obfuscator for android platform Even if there is one, no-one uses it Permissions are declared in AndroidManifest.xml Permissions displayed to user on download - Accept or Reject.  TRICKY!!! Everyone sitting in this room may care, what about others??? What about installing via  “ adb ”  - Cracked apps ( “ adb install malicious.apk ” ) permission.INTERNET - Very common but that ’ s all they need :-) Easy to publish malicious app on Android Market
APK File Format Application package file for Android Variant of JAR file format Contains (unzip AndroidApp.apk): AndroidManifest.xml META-INF directory Classes.dex Res directory resources.arsc
Decompiling Android Apps
Analyzing HTTP Traffic
Bypassing Lock Pattern
 
 
Insecure Data Storage
All your data is Mine
Manifestor.py
Manifestor
Lets Sum It Up FACTS : SmartPhone industry is rapidly growing and will continue to grow Provide plethora of features & functionalities Apps for anything & everything Developed by unexperienced young developers Whats Required: Standardization of application development In-built secure APIs within SDK Need for strong threat model Domain based testing
QUESTIONS
References http://www.juniperresearch.com/shop/products/whitepaper/pdf/MAS10_White%20Paper.pdf http://developer.apple.com/library/mac/#documentation/DeveloperTools/Conceptual/MachORuntime/Reference/reference.html http://developer.android.com/guide/basics/what-is-android.html www.slideshare.net/JackMannino/owasp-top-10-mobile-risks https://www.owasp.org/index.php/OWASP_Mobile_Security_Project#tab=Top_Ten_Mobile_Risks developer.android.com/sdk/ code.google.com/p/android-apktool/ https://www.facebook.com/HTC/posts/10150307320018084

More Related Content

PDF
Mobile application security tools
QTMContent
 
PPT
CONFidence 2015: iOS Hacking: Advanced Pentest & Forensic Techniques - Omer S...
PROIDEA
 
PDF
Android malware overview, status and dilemmas
Tech and Law Center
 
PDF
Mobile Application Security Testing, Testing for Mobility App | www.idexcel.com
Idexcel Technologies
 
PDF
Android Malware: Study and analysis of malware for privacy leak in ad-hoc net...
IOSR Journals
 
PDF
Is My App Secure ?
Herman Duarte
 
PPT
Android presentation
Imam Raza
 
PPTX
Understanding android security model
Pragati Rai
 
Mobile application security tools
QTMContent
 
CONFidence 2015: iOS Hacking: Advanced Pentest & Forensic Techniques - Omer S...
PROIDEA
 
Android malware overview, status and dilemmas
Tech and Law Center
 
Mobile Application Security Testing, Testing for Mobility App | www.idexcel.com
Idexcel Technologies
 
Android Malware: Study and analysis of malware for privacy leak in ad-hoc net...
IOSR Journals
 
Is My App Secure ?
Herman Duarte
 
Android presentation
Imam Raza
 
Understanding android security model
Pragati Rai
 

What's hot (20)

PPT
First Steps in Android
Rich Helton
 
ODP
Mobile Apps Security Testing -3
Krisshhna Daasaarii
 
PDF
Improving Mobile Authentication for Public Safety and First Responders
Priyanka Aash
 
PPTX
Java & The Android Stack: A Security Analysis
Pragati Rai
 
PPT
Mobile Application Security – Effective methodology, efficient testing!
espheresecurity
 
PDF
C# Cookware - presented at CukeUp! 2014
Manuel Pais
 
PPTX
Droidcon mobile security
Judy Ngure
 
PDF
Mobile Threats and Trends Changing Mobile App Security
DevOps.com
 
PPTX
Android malware analysis
Jason Ross
 
PDF
Crack ios firmware-nlog2n
nlog2n
 
PPTX
Security threats in Android OS + App Permissions
Hariharan Ganesan
 
PPTX
Bypass Security Checking with Frida
Satria Ady Pradana
 
PDF
Android Malware Detection Mechanisms
Talha Kabakus
 
PPTX
Barcode scanning on Android
Pietro F. Maggi
 
PPTX
Attacking Proprietary Android Vendor Customizations
Roberto Natella
 
PDF
Mobile Application Security
cclark_isec
 
PDF
Android reverse engineering: understanding third-party applications. OWASP EU...
Internet Security Auditors
 
PDF
Android chat in the cloud
firenze-gtug
 
PPTX
Mobile security
Stefaan
 
PPTX
From Reversing to Exploitation
Satria Ady Pradana
 
First Steps in Android
Rich Helton
 
Mobile Apps Security Testing -3
Krisshhna Daasaarii
 
Improving Mobile Authentication for Public Safety and First Responders
Priyanka Aash
 
Java & The Android Stack: A Security Analysis
Pragati Rai
 
Mobile Application Security – Effective methodology, efficient testing!
espheresecurity
 
C# Cookware - presented at CukeUp! 2014
Manuel Pais
 
Droidcon mobile security
Judy Ngure
 
Mobile Threats and Trends Changing Mobile App Security
DevOps.com
 
Android malware analysis
Jason Ross
 
Crack ios firmware-nlog2n
nlog2n
 
Security threats in Android OS + App Permissions
Hariharan Ganesan
 
Bypass Security Checking with Frida
Satria Ady Pradana
 
Android Malware Detection Mechanisms
Talha Kabakus
 
Barcode scanning on Android
Pietro F. Maggi
 
Attacking Proprietary Android Vendor Customizations
Roberto Natella
 
Mobile Application Security
cclark_isec
 
Android reverse engineering: understanding third-party applications. OWASP EU...
Internet Security Auditors
 
Android chat in the cloud
firenze-gtug
 
Mobile security
Stefaan
 
From Reversing to Exploitation
Satria Ady Pradana
 
Ad

Similar to Outsmarting smartphones (20)

PPT
Outsmarting SmartPhones
saurabhharit
 
PDF
Reading Group Presentation: Why Eve and Mallory Love Android
Michael Rushanan
 
PDF
Introduction to Android Development and Security
Kelwin Yang
 
PPTX
Untitled 1
Sergey Kochergan
 
PPTX
Android Security Humla Part 1
Nikhil Kulkarni
 
PPTX
Security testing of mobile applications
GTestClub
 
PPTX
[Wroclaw #1] Android Security Workshop
OWASP
 
PPTX
Android Security
Arqum Ahmad
 
PPTX
Android village @nullcon 2012
hakersinfo
 
PPTX
Security Vulnerabilities in Mobile Applications (Kristaps Felzenbergs)
TestDevLab
 
PPTX
Mobile security part 1(Android Apps Pentesting)- Romansh yadav
Romansh Yadav
 
PPTX
Hacker Halted 2014 - Reverse Engineering the Android OS
EC-Council
 
PPTX
19-f15-mobile-security.pptx
Jhansigali
 
PDF
Android "Fight Club" : In pursuit of APPiness -- null Humla Delhi Chapter
Abhinav Mishra
 
PPTX
Android security
Midhun P Gopi
 
PPTX
Pentesting iOS Applications
jasonhaddix
 
PDF
2a Analyzing iOS Apps Part 1
Sam Bowne
 
PPTX
Android Penetration Testing - Day 1
Mohammed Adam
 
PDF
600.250 UI Cross Platform Development and the Android Security Model
Michael Rushanan
 
PPT
Module - Programming with android course.ppt
demowork2
 
Outsmarting SmartPhones
saurabhharit
 
Reading Group Presentation: Why Eve and Mallory Love Android
Michael Rushanan
 
Introduction to Android Development and Security
Kelwin Yang
 
Untitled 1
Sergey Kochergan
 
Android Security Humla Part 1
Nikhil Kulkarni
 
Security testing of mobile applications
GTestClub
 
[Wroclaw #1] Android Security Workshop
OWASP
 
Android Security
Arqum Ahmad
 
Android village @nullcon 2012
hakersinfo
 
Security Vulnerabilities in Mobile Applications (Kristaps Felzenbergs)
TestDevLab
 
Mobile security part 1(Android Apps Pentesting)- Romansh yadav
Romansh Yadav
 
Hacker Halted 2014 - Reverse Engineering the Android OS
EC-Council
 
19-f15-mobile-security.pptx
Jhansigali
 
Android "Fight Club" : In pursuit of APPiness -- null Humla Delhi Chapter
Abhinav Mishra
 
Android security
Midhun P Gopi
 
Pentesting iOS Applications
jasonhaddix
 
2a Analyzing iOS Apps Part 1
Sam Bowne
 
Android Penetration Testing - Day 1
Mohammed Adam
 
600.250 UI Cross Platform Development and the Android Security Model
Michael Rushanan
 
Module - Programming with android course.ppt
demowork2
 
Ad

More from SensePost (20)

PDF
objection - runtime mobile exploration
SensePost
 
PPTX
Vulnerabilities in TN3270 based Application
SensePost
 
PDF
Ruler and Liniaal @ Troopers 17
SensePost
 
PDF
Introducing (DET) the Data Exfiltration Toolkit
SensePost
 
PPTX
ZaCon 2015 - Zombie Mana Attacks
SensePost
 
PPTX
Improvement in Rogue Access Points - SensePost Defcon 22
SensePost
 
PDF
Heartbleed Overview
SensePost
 
PDF
Botconf 2013 - DNS-based Botnet C2 Server Detection
SensePost
 
PPTX
Rat a-tat-tat
SensePost
 
PDF
Hacking Z-Wave Home Automation Systems
SensePost
 
PPTX
Offence oriented Defence
SensePost
 
PPTX
Threats to machine clouds
SensePost
 
PPTX
Inside .NET Smart Card Operating System
SensePost
 
PDF
SNMP : Simple Network Mediated (Cisco) Pwnage
SensePost
 
PPT
Its Ok To Get Hacked
SensePost
 
PPT
Web Application Hacking
SensePost
 
PDF
Putting the tea back into cyber terrorism
SensePost
 
PPT
Major global information security trends - a summary
SensePost
 
PPT
Attacks and Defences
SensePost
 
PDF
Corporate Threat Modeling v2
SensePost
 
objection - runtime mobile exploration
SensePost
 
Vulnerabilities in TN3270 based Application
SensePost
 
Ruler and Liniaal @ Troopers 17
SensePost
 
Introducing (DET) the Data Exfiltration Toolkit
SensePost
 
ZaCon 2015 - Zombie Mana Attacks
SensePost
 
Improvement in Rogue Access Points - SensePost Defcon 22
SensePost
 
Heartbleed Overview
SensePost
 
Botconf 2013 - DNS-based Botnet C2 Server Detection
SensePost
 
Rat a-tat-tat
SensePost
 
Hacking Z-Wave Home Automation Systems
SensePost
 
Offence oriented Defence
SensePost
 
Threats to machine clouds
SensePost
 
Inside .NET Smart Card Operating System
SensePost
 
SNMP : Simple Network Mediated (Cisco) Pwnage
SensePost
 
Its Ok To Get Hacked
SensePost
 
Web Application Hacking
SensePost
 
Putting the tea back into cyber terrorism
SensePost
 
Major global information security trends - a summary
SensePost
 
Attacks and Defences
SensePost
 
Corporate Threat Modeling v2
SensePost
 

Recently uploaded (20)

PDF
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
PDF
Cloud-Migration-Best-Practices-A-Practical-Guide-to-AWS-Azure-and-Google-Clou...
Artjoker Software Development Company
 
PDF
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
PDF
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PDF
Doc9.....................................
SofiaCollazos
 
PDF
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
PPTX
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
PDF
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
PDF
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
PDF
Event Presentation Google Cloud Next Extended 2025
minhtrietgect
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PDF
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
PDF
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
PDF
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
PDF
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
PDF
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
PPTX
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
Cloud-Migration-Best-Practices-A-Practical-Guide-to-AWS-Azure-and-Google-Clou...
Artjoker Software Development Company
 
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
Doc9.....................................
SofiaCollazos
 
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
Event Presentation Google Cloud Next Extended 2025
minhtrietgect
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 

Outsmarting smartphones

  • 1. [email_address] @s_harit O ut S marting SmartPhones
  • 2. echo whoami Senior Security Analyst @SensePost (awesome company BTW) 7+ years in InfoSec Specialize in Web App & Network security Part time Reverse Engineer (is that even possible???) Certified Ethical Hacker (as if it matters) Can do 50 Push-ups in one go (and faint)
  • 3. Why does everyone rant about SmartPhone security Understanding iPhone Application layout Decrypting iPhone apps & what can we achieve Android Architecture Android Permission Model & Sandbox Analyzing Android Apps - Deep sea diving Practical Attacks on Android Demos And more Demos Introducing Manifestor.py
  • 4. Why care??? Smartphones are growing in popularity by minute Windows 7 (Dell, HTC, LG etc.), iPhone (Apple), Android (Google, HTC, Samsung, Motorola etc.) means growth in mobile applications (According to Juniper Research, mobile application market is expected to reach $32 billion by 2015) means loads of mobile application development (from barcode scanner to angry birds to mobile BANKING) means tons of lines of code (plus bad programming) equals to VULNERABILITIES - programmatic, environmental, configurational and so on
  • 5. I once had an iPhone...
  • 6. iPhone Binary Format IPA file - basically a zip archive Location of app binary on iPhone: Payload/MyApp.app/MyApp Based on Mach-O (Mach Object) file format Sandbox: Apps restricted to their own private directory and memory pages Apps are encrypted Decrypted by iPhone loader on run-time
  • 8. Decrypting iPhone Binary What do I need: Jailbroken iPhone (Yes, it ’ s a necessity of life) iPhone SDK (Otool) Hex Editor (0xED, HexWorkshop, etc. etc.) Ida Pro (Optional) - Version 5.2 - 5.6 Finding an app root dir on iPhone sudo find / | grep iApp.app myApp.app contains iApp, actual binary “ crypt ” load command responsible for decryption otool -l iApp | grep crypt
  • 9. Decrypting iPhone Binary What do I need: Jailbroken iPhone (Yes, it ’ s a necessity of life) iPhone SDK (Otool) Hex Editor (0xED, HexWorkshop, etc. etc.) Ida Pro (Optional) - Version 5.2 - 5.6 Finding an app root dir on iPhone sudo find / | grep iApp.app myApp.app contains iApp, actual binary “ crypt ” load command responsible for decryption otool -l iApp | grep crypt
  • 10. Decrypting iPhone Binary Locate “ cryptid ” in actual binary, and flip it to “ 0 ” Do it, NOW “ cryptid ” is now “ 0 ” . What does this mean? Not decrypted yet Next, run the app on iPhone and take a memory dump Actaul code starts at 0x2000 Size of encrypted data - 942080 (0xE6000) So, we need to dump from 0x2000 to 0xE8000. Guess why? :-) Run app on iPhone, ssh into iPhone, use gdb gdb -p PID dump memory iApp.bin 0x2000 0xE8000 Pull iApp.bin on local machine Overwrite bin file on initial binary file (where we “ cryptid ” was set to “ 0 ” ) Don ’ t forget - “ cryptoff ” was 4096 (0x1000) Sorted :-) For all technical details, please refer to SensePost blog: http://sensepost.com/blog/6254.html
  • 11. I have an Android phone... ...and I love it :-)
  • 13. Android Security Model Linux kernel Linux-Like permission model Applications run with their own uid:gid (something like multi-user system) Applications may share a uid (must be signed with same key) App permissions are defined in AndroidManifest.xml Manually reviewed / accepted by user on install (Really??? What if I am a runway model?) Applications can be self-signed.
  • 14. AndroidManifest.xml One for each app Declares Java package name for the application Describes components of the application - activities, services, broadcast receivers, content providers Declares permissions required to access protected parts of APIs Declares permissions required by other applications to interact
  • 15. Activity User-focused task Almost always interacts with user Displays a button, text box etc. Runs within app ’ s process Stack based - new activity is placed at top Activity states: active, paused, stopped, resumed
  • 16. Intents Basically messages between components such as activities, services etc. Like passing parameters to API calls, except it ’ s asynchronous Run-time binding Start an activity with startActivity() Similarly sendBroadcast(), startService(Intent) and so on Start an Activity
  • 17. Broadcast Receiver Communication between Apps and System Messages sent as Intents Dynamic creation through context.registerReceiver() Static declaration through receiver tag in AndroidManifest.xml Can be exported with <intent-filter> tag in AndroidManifest.xml Access permissions can be enforced by either sender or receiver Apps can register to receive intents without special privileges ;-)
  • 18. Service Long running background process Can run in its own process, Or in context of another application ’ s process Can be started with an intent Can be secured by adding a Permission check to their <service> tag Careful while sending sensitive data
  • 20. Apps run in Dalvik Virtual Machine - One DVM for each app DVM is register based, not stack based DVM ensures application isolation One application cannot access data of another application Hmmm, “ cannot ” or “ SHOULD not ” Unique UID for each application Apps written in Java , then compiled to Dalvik byte code No Solid code obfuscator for android platform Even if there is one, no-one uses it Permissions are declared in AndroidManifest.xml Permissions displayed to user on download - Accept or Reject. TRICKY!!! Everyone sitting in this room may care, what about others??? What about installing via “ adb ” - Cracked apps ( “ adb install malicious.apk ” ) permission.INTERNET - Very common but that ’ s all they need :-) Easy to publish malicious app on Android Market
  • 21. APK File Format Application package file for Android Variant of JAR file format Contains (unzip AndroidApp.apk): AndroidManifest.xml META-INF directory Classes.dex Res directory resources.arsc
  • 25.  
  • 26.  
  • 28. All your data is Mine
  • 31. Lets Sum It Up FACTS : SmartPhone industry is rapidly growing and will continue to grow Provide plethora of features & functionalities Apps for anything & everything Developed by unexperienced young developers Whats Required: Standardization of application development In-built secure APIs within SDK Need for strong threat model Domain based testing
  • 33. References http://www.juniperresearch.com/shop/products/whitepaper/pdf/MAS10_White%20Paper.pdf http://developer.apple.com/library/mac/#documentation/DeveloperTools/Conceptual/MachORuntime/Reference/reference.html http://developer.android.com/guide/basics/what-is-android.html www.slideshare.net/JackMannino/owasp-top-10-mobile-risks https://www.owasp.org/index.php/OWASP_Mobile_Security_Project#tab=Top_Ten_Mobile_Risks developer.android.com/sdk/ code.google.com/p/android-apktool/ https://www.facebook.com/HTC/posts/10150307320018084