SlideShare a Scribd company logo
Mobile Application Security Testing
3 Angles to perform a successful security
testing
1. Client Side Checks;
2. Dynamic / Runtime / Local Storage / DB /
SD Checks &
3. Static Code Analysis (a.k.a Reverse Engg.)
By : Abhilash @ IBM
Static Code Analysis
Why Static Code Analysis is required ?
In Lay-man terms  Code analysis
of ApK file….
M1, M4, M5,
 M1 : Improper Platform Usage : Android Intents,
permissions
 M4 : Insecure Authorization : Identifying Session keys,
session mgmt. logic
 M5 – Insufficient Cryptography : covering cryptographic
keys (like Md5, SHA keys) and encryption logic
M7, M8, M9,M10
 M7 – Client Code Quality : like buffer overflows, format string
vulnerabilities, and various other code-level mistakes
 M8 – Code Tampering : covers binary patching, local resource
modification, method hooking and dynamic memory
modification.
 M9 – Reverse Engineering : analysis of libraries, algorithms,
and other assets.
 M10 – Extraneous Functionality : Hidden backdoor
functionalities , commented code (accidently left by
developer)
7/10 M’s are covered in Static Code
Analysis
Which is >50%
Fetching APK
 For enterprise / intranet Applications  Product Team
 Via Online
 https://apkpure.com/
 http://apps.evozi.com/apk-
downloader/?id=com.vng.g6.a.zombie
https://play.google.com/store/apps/details?id=com
.vng.g6.a.zombie&hl=en
Conversion of APK to Source Code
 Manual via dex2jar/Apktool
 http://stackoverflow.com/questions/12732882/reverse-engineering-from-an-apk-
file-to-a-project
 Via Online
 http://www.javadecompilers.com/apk
 Apk files are nothing but zip files.
 Zip files contains resources and assembled java code
 But unzip will miss classes.dex and resources.arsc files
ANDROID APP STRUCTURE
Methods to perform Code Analysis
 Manual
 Automated
Manual Code Analysis
Installing and Configuring Text Editors
 Android Studio (or)
 Sublime Text
Why Sublime Text ?
Goto Anything functionality
Search of Key strokes
Quick File Switching
 Demo
Mobile Application Security Testing (Static Code Analysis) of Android App
What needs to be looked :
Samples - hardcoded passwords
Mobile Application Security Testing (Static Code Analysis) of Android App
Samples - Encryption
Mobile Application Security Testing (Static Code Analysis) of Android App
Mobile Application Security Testing (Static Code Analysis) of Android App
Mobile Application Security Testing (Static Code Analysis) of Android App
Automated Code Analysis
 MobSF (Mobile Security Framework)
 QARK (Quick Android Review Kit)
 ApkTool
 & Many more…… both commercial and open source tools
available…
*These are open source tools
Installing and Configuring MobSF
 Demo
Mobile Application Security Testing (Static Code Analysis) of Android App
Mobile Application Security Testing (Static Code Analysis) of Android App
Installing and Configuring QARK
 Demo
Mobile Application Security Testing (Static Code Analysis) of Android App
Mobile Application Security Testing (Static Code Analysis) of Android App
Installing and Configuring ApkTool
 Demo
Mobile Application Security Testing (Static Code Analysis) of Android App
Mobile Application Security Testing (Static Code Analysis) of Android App
Android Intents
 An intent is a Messaging
Object
 which can be used to
request an Action from
an another App
Component.
 App Components can be
 Activities ; Services ;
 Broadcast Receivers ;
 Content Providers
 2 types of Intents
 Explicit
 Implicit
Some of the uses of Intents are
 Start a Service
 Launch an Activity
 Display a web page
 Display List of Contacts
 Broadcast a Message and
 Many More …………………………….
Doubt !!!
Y intents are used Y not APIs ?
API Intent
API calls are Synchronous Intent based calls are
Asynchronous
API calls are compile-time
binding
Intent based calls are run-
time binding
BUT …. Intents can similarly be
used as APIs  Explicit
Implicit Intents
 Implicit intents
are often used
to activate
components in
other
applications.
 Doesn’t Specify
the
Component…
Common Flaws
 Dangerous to send/broadcast sensitive information / data
across implicit intents
 Since unprivileged implicit intent can use the same
data
 Intercept your data
 Malicious Injection at
 Broadcast Level
 Activity Level
 Service Launch
Explicit Intents
 An explicit intent is most
commonly used when
launching an activity (from
another one) within the
same application.
 Specifies the component
Example
Next Time 
 Playing around Intents
 Deep-drive in Intent Filters
 Malicious Intents
 Intent Spoofing and intent traffic analysis
 Prevention techniques
 Self signing of Android app for reverse engg.
Thankyou….

More Related Content

What's hot (20)

PPTX
Android pentesting
Mykhailo Antonishyn
 
PPTX
Android pentesting the hackers-meetup
kunwaratul hax0r
 
PPTX
AppSec EU 2016: Automated Mobile Application Security Assessment with MobSF
Ajin Abraham
 
PDF
Getting started with Android pentesting
Minali Arora
 
PDF
Nullcon Goa 2016 - Automated Mobile Application Security Testing with Mobile ...
Ajin Abraham
 
PDF
Android pentesting
Mykhailo Antonishyn
 
PPTX
Ssrf
Ilan Mindel
 
PDF
Hacking and Defending APIs - Red and Blue make Purple.pdf
Matt Tesauro
 
PPTX
security misconfigurations
Megha Sahu
 
PDF
Mobile Application Penetration Testing
BGA Cyber Security
 
PPTX
iOS Application Static Analysis - Deepika Kumari.pptx
deepikakumari643428
 
PPT
Android Security
Suminda Gunawardhana
 
PPTX
Pentesting Android Apps using Frida (Beginners)
Chandrapal Badshah
 
PDF
Android application security testing
Mykhailo Antonishyn
 
PDF
Security Testing Mobile Applications
Denim Group
 
PPTX
Vulnerabilities in modern web applications
Niyas Nazar
 
PPTX
Network forensics and investigating logs
anilinvns
 
PPTX
OWASP Top 10 2021 Presentation (Jul 2022)
TzahiArabov
 
PDF
Pwning mobile apps without root or jailbreak
Abraham Aranguren
 
Android pentesting
Mykhailo Antonishyn
 
Android pentesting the hackers-meetup
kunwaratul hax0r
 
AppSec EU 2016: Automated Mobile Application Security Assessment with MobSF
Ajin Abraham
 
Getting started with Android pentesting
Minali Arora
 
Nullcon Goa 2016 - Automated Mobile Application Security Testing with Mobile ...
Ajin Abraham
 
Android pentesting
Mykhailo Antonishyn
 
Hacking and Defending APIs - Red and Blue make Purple.pdf
Matt Tesauro
 
security misconfigurations
Megha Sahu
 
Mobile Application Penetration Testing
BGA Cyber Security
 
iOS Application Static Analysis - Deepika Kumari.pptx
deepikakumari643428
 
Android Security
Suminda Gunawardhana
 
Pentesting Android Apps using Frida (Beginners)
Chandrapal Badshah
 
Android application security testing
Mykhailo Antonishyn
 
Security Testing Mobile Applications
Denim Group
 
Vulnerabilities in modern web applications
Niyas Nazar
 
Network forensics and investigating logs
anilinvns
 
OWASP Top 10 2021 Presentation (Jul 2022)
TzahiArabov
 
Pwning mobile apps without root or jailbreak
Abraham Aranguren
 

Viewers also liked (20)

PDF
Gursev kalra _mobile_application_security_testing - ClubHack2009
ClubHack
 
PPTX
Anonymous Security Scanning and Browsing
Abhilash Venkata
 
PDF
Mobile application security – effective methodology, efficient testing! hem...
owaspindia
 
PPT
IBM AppScan Standard - The Web Application Security Solution
hearme limited company
 
PPT
Mathematics ppt on trigonometry
niks957
 
PDF
How to scale mobile application security testing
NowSecure
 
PPTX
Cybersecurity Best Practices in Financial Services
John Rapa
 
ODP
Mobile Apps Security Testing -1
Krisshhna Daasaarii
 
PPTX
Static Application Security Testing Strategies for Automation and Continuous ...
Kevin Fealey
 
PPTX
Web and Mobile Application Security
Prateek Jain
 
PPTX
Basic Guide For Mobile Application Testing
Sourabh Kasliwal
 
PPTX
The curious case of mobile app security.pptx
Ankit Giri
 
PDF
Mobile Application Security Testing, Testing for Mobility App | www.idexcel.com
Idexcel Technologies
 
PDF
Mobile Application Security
cclark_isec
 
PPTX
Some application of trignometry
shivujagga
 
PPTX
SMAC
Mphasis
 
PPT
Martin Peat and Dawn Jordan, Strategic Projects Team - Open Forum Events' NHS...
Alexis May
 
PDF
Encuentro de directores: Acoso escolar
Educación Innovación
 
PDF
HOMO SAPIENS or HOMO BRUTUS: HUMAN ONTOLOGY: On the Essence of Human Beings
Azamat Abdoullaev
 
PDF
An AI Bot will Build and Run your next site… eventually
Ronald Ashri
 
Gursev kalra _mobile_application_security_testing - ClubHack2009
ClubHack
 
Anonymous Security Scanning and Browsing
Abhilash Venkata
 
Mobile application security – effective methodology, efficient testing! hem...
owaspindia
 
IBM AppScan Standard - The Web Application Security Solution
hearme limited company
 
Mathematics ppt on trigonometry
niks957
 
How to scale mobile application security testing
NowSecure
 
Cybersecurity Best Practices in Financial Services
John Rapa
 
Mobile Apps Security Testing -1
Krisshhna Daasaarii
 
Static Application Security Testing Strategies for Automation and Continuous ...
Kevin Fealey
 
Web and Mobile Application Security
Prateek Jain
 
Basic Guide For Mobile Application Testing
Sourabh Kasliwal
 
The curious case of mobile app security.pptx
Ankit Giri
 
Mobile Application Security Testing, Testing for Mobility App | www.idexcel.com
Idexcel Technologies
 
Mobile Application Security
cclark_isec
 
Some application of trignometry
shivujagga
 
SMAC
Mphasis
 
Martin Peat and Dawn Jordan, Strategic Projects Team - Open Forum Events' NHS...
Alexis May
 
Encuentro de directores: Acoso escolar
Educación Innovación
 
HOMO SAPIENS or HOMO BRUTUS: HUMAN ONTOLOGY: On the Essence of Human Beings
Azamat Abdoullaev
 
An AI Bot will Build and Run your next site… eventually
Ronald Ashri
 
Ad

Similar to Mobile Application Security Testing (Static Code Analysis) of Android App (20)

PPTX
Android Penetration testing - Day 2
Mohammed Adam
 
PPTX
Rapid Android Application Security Testing
Nutan Kumar Panda
 
PPTX
Droidcon mobile security
Judy Ngure
 
PDF
Android "Fight Club" : In pursuit of APPiness -- null Humla Delhi Chapter
Abhinav Mishra
 
PDF
Reading Group Presentation: Why Eve and Mallory Love Android
Michael Rushanan
 
PPTX
MOBISEC 2018 - 08 - Reverse Engineering.pptx
Enigma58
 
PDF
Getting Started With Hacking Android & iOS Apps? Tools, Techniques and resources
OWASP Delhi
 
PDF
Getting started with hacking android & i os apps tools, techniques and re...
n|u - The Open Security Community
 
PDF
Security testing in mobile applications
Jose Manuel Ortega Candel
 
PPTX
Security Vulnerabilities in Mobile Applications (Kristaps Felzenbergs)
TestDevLab
 
PPTX
18-mobile-malware.pptx
sundar110567
 
PDF
PTS2022-Talk-19-MobSF-for-penetration-testers_0.pdf
Shadowman Kung
 
PDF
Android Application Security
Chong-Kuan Chen
 
PDF
User Expectations in Mobile App Security
Tao Xie
 
PPT
Mobile code mining for discovery and exploits nullcongoa2013
Blueinfy Solutions
 
PDF
DEF CON 24 - Dinesh and Shetty - practical android application exploitation
Felipe Prado
 
PDF
mobsf.pdf
Taseen Ali
 
PDF
Android Security - Common Security Pitfalls in Android Applications
BlrDroid
 
PDF
DEF CON 27 - workshop - POLOTO - hacking the android apk
Felipe Prado
 
PPTX
Mobile application security
Shubhneet Goel
 
Android Penetration testing - Day 2
Mohammed Adam
 
Rapid Android Application Security Testing
Nutan Kumar Panda
 
Droidcon mobile security
Judy Ngure
 
Android "Fight Club" : In pursuit of APPiness -- null Humla Delhi Chapter
Abhinav Mishra
 
Reading Group Presentation: Why Eve and Mallory Love Android
Michael Rushanan
 
MOBISEC 2018 - 08 - Reverse Engineering.pptx
Enigma58
 
Getting Started With Hacking Android & iOS Apps? Tools, Techniques and resources
OWASP Delhi
 
Getting started with hacking android & i os apps tools, techniques and re...
n|u - The Open Security Community
 
Security testing in mobile applications
Jose Manuel Ortega Candel
 
Security Vulnerabilities in Mobile Applications (Kristaps Felzenbergs)
TestDevLab
 
18-mobile-malware.pptx
sundar110567
 
PTS2022-Talk-19-MobSF-for-penetration-testers_0.pdf
Shadowman Kung
 
Android Application Security
Chong-Kuan Chen
 
User Expectations in Mobile App Security
Tao Xie
 
Mobile code mining for discovery and exploits nullcongoa2013
Blueinfy Solutions
 
DEF CON 24 - Dinesh and Shetty - practical android application exploitation
Felipe Prado
 
mobsf.pdf
Taseen Ali
 
Android Security - Common Security Pitfalls in Android Applications
BlrDroid
 
DEF CON 27 - workshop - POLOTO - hacking the android apk
Felipe Prado
 
Mobile application security
Shubhneet Goel
 
Ad

Mobile Application Security Testing (Static Code Analysis) of Android App

  • 1. Mobile Application Security Testing 3 Angles to perform a successful security testing 1. Client Side Checks; 2. Dynamic / Runtime / Local Storage / DB / SD Checks & 3. Static Code Analysis (a.k.a Reverse Engg.) By : Abhilash @ IBM
  • 2. Static Code Analysis Why Static Code Analysis is required ? In Lay-man terms  Code analysis of ApK file….
  • 3. M1, M4, M5,  M1 : Improper Platform Usage : Android Intents, permissions  M4 : Insecure Authorization : Identifying Session keys, session mgmt. logic  M5 – Insufficient Cryptography : covering cryptographic keys (like Md5, SHA keys) and encryption logic
  • 4. M7, M8, M9,M10  M7 – Client Code Quality : like buffer overflows, format string vulnerabilities, and various other code-level mistakes  M8 – Code Tampering : covers binary patching, local resource modification, method hooking and dynamic memory modification.  M9 – Reverse Engineering : analysis of libraries, algorithms, and other assets.  M10 – Extraneous Functionality : Hidden backdoor functionalities , commented code (accidently left by developer)
  • 5. 7/10 M’s are covered in Static Code Analysis Which is >50%
  • 6. Fetching APK  For enterprise / intranet Applications  Product Team  Via Online  https://apkpure.com/  http://apps.evozi.com/apk- downloader/?id=com.vng.g6.a.zombie https://play.google.com/store/apps/details?id=com .vng.g6.a.zombie&hl=en
  • 7. Conversion of APK to Source Code  Manual via dex2jar/Apktool  http://stackoverflow.com/questions/12732882/reverse-engineering-from-an-apk- file-to-a-project  Via Online  http://www.javadecompilers.com/apk  Apk files are nothing but zip files.  Zip files contains resources and assembled java code  But unzip will miss classes.dex and resources.arsc files
  • 9. Methods to perform Code Analysis  Manual  Automated
  • 11. Installing and Configuring Text Editors  Android Studio (or)  Sublime Text Why Sublime Text ? Goto Anything functionality Search of Key strokes Quick File Switching  Demo
  • 13. What needs to be looked :
  • 14. Samples - hardcoded passwords
  • 21.  MobSF (Mobile Security Framework)  QARK (Quick Android Review Kit)  ApkTool  & Many more…… both commercial and open source tools available… *These are open source tools
  • 22. Installing and Configuring MobSF  Demo
  • 25. Installing and Configuring QARK  Demo
  • 28. Installing and Configuring ApkTool  Demo
  • 31. Android Intents  An intent is a Messaging Object  which can be used to request an Action from an another App Component.  App Components can be  Activities ; Services ;  Broadcast Receivers ;  Content Providers  2 types of Intents  Explicit  Implicit
  • 32. Some of the uses of Intents are  Start a Service  Launch an Activity  Display a web page  Display List of Contacts  Broadcast a Message and  Many More …………………………….
  • 33. Doubt !!! Y intents are used Y not APIs ? API Intent API calls are Synchronous Intent based calls are Asynchronous API calls are compile-time binding Intent based calls are run- time binding BUT …. Intents can similarly be used as APIs  Explicit
  • 34. Implicit Intents  Implicit intents are often used to activate components in other applications.  Doesn’t Specify the Component…
  • 35. Common Flaws  Dangerous to send/broadcast sensitive information / data across implicit intents  Since unprivileged implicit intent can use the same data  Intercept your data  Malicious Injection at  Broadcast Level  Activity Level  Service Launch
  • 36. Explicit Intents  An explicit intent is most commonly used when launching an activity (from another one) within the same application.  Specifies the component
  • 38. Next Time   Playing around Intents  Deep-drive in Intent Filters  Malicious Intents  Intent Spoofing and intent traffic analysis  Prevention techniques  Self signing of Android app for reverse engg.

Editor's Notes

  • #4: side-channel data leakage - vulnerabilities from the OS, frameworks, compiler environment, new hardware, etc
  • #8: https://github.com/androguard/androguard
  • #39: https://www.appvigil.co/blog/2015/04/intent-spoofing-vulnerability-in-android-apps/ https://github.com/pwntester/OWASP-GoatDroid-Dolphis