SlideShare a Scribd company logo
// …. and That’s all.
   Part 1: Mobile Application Security

   Part 2: Pentesting Mobile Application

   Part 3: Owasp Top Ten Mobile Application Risk

   Part 4: Case Study & Demonstrations.
   Introduction to Mobile Application Security.
   Mobile Security Stack.
   Mobile Threat Model
   Modus Operandi for Mobile Application Audit.
   Roadblocks
   Future of Mobile Application Security
   Modern mobile applications run on mobile devices
    that have the functionality of a desktop or laptop
    running a general purpose operating system.

   In this respect many of the risks are similar to those of
    traditional spyware, Trojan software, and insecurely
    designed apps.

   Mobile devices are designed around personal and
    communication functionality which makes the mobile
    application and mobile security risks different from
    the top traditional computing risks.
   Infrastructure Layer
     Lowest Layer
     Protocols
      ▪ CDMA,GSM
      ▪ GPS
      ▪ SMS,MMS
   Hardware Layer
     Smartphone/Tablet
     Firmware
   Operating System Layer
     Symbian S40/S60
     Froyo,Gingerbread
   Application Layer
1.    Dynamic Analysis
     1. Debug the Running App (on device or in emulator)
     2. Analyze Network Traffic
     3. Analyze Remote Services (Http/SOAP/etc)

2.    Static Anlysis
     1.    Get Application
          1. Extract application from device
          2. Receive application package from developers
     2.    Source code review
     3.    Reverse engineering
     4.    Disassembly
     5.    Patching
   OWASP guidelines, procedures for testing are not yet available like Web
    applications.
   Mobile application also includes vulnerabilities in the underlying
    architecture (OS & Vendor specific) unlike web application in which only
    application vulnerabilities are concerned.
   Applications can use various modes of communications like
    SMS,MMS,EDGE, GPRS,3G and WiFi due to which security testing
    becomes difficult.
   Simulator's have their own limitations:
     Can not simulate SMS communication (In case of communicating with SMS Gateway )
      though, they provide mechanism to send & receive sms between simulators.
     Simulator’s don’t allow intercepting installed applications traffic.
     ( It has to be done, forcefully by interjecting an application into running
        simulator to intercept network communication from that process)
   Pen testing Mobile Application – Android
     Background.
     Setting up the Test Environment.
     Setting up a proxy.
     Android Application Penetration Testing Toolkit.
     Reverse Engineering Android Applications
     File Permissions in android
   Android is a Linux based platform developed by
    Google and the open handset alliance.
   Application programming for it is done exclusively in
    java.
   The android operating system software stack consist
    of java applications running on a Dalvik virtual
    machine (DVK).
   The current version as of august 2010 is 2.2. there are
    over 90,00 application available in the android market.
   There are several ways to test mobile application e.g:
     Using burp with a proxy.
     Using a phone emulator with a proxy.
     Using a phone to test and proxy outgoing phone data to
      a PC.
   Requirements:
       Computer running a Windows OS.
       Java 6
       Eclipse SDk – Helios/Indigo
       Android 3.5 SDK
       Burp! Proxy
   If Application using is using HTTP(s), or is a
    website that you are testing on Android
    browser, the next step is to setup a proxy tool
    such as Burp!

   There are 4 main ways of setting up such a
    proxy:
   Specify the proxy details when starting the
    emulator using the command below. This
    command is to use a proxy listening on port
    8080
   Emulator -avd testavd -http-proxy http://localhost:8080
   The second option is to specify the proxy details in the emulator
    APN setting as shown below:
   Home-> Menu-> Wireless & networks > Mobile Network -> Access
    Point Names

   Update the following:

NAME: Internet
APN: Internet
Proxy: IP address of your
Computer
USERNAME: <N/A>
PASSWORD:<N/A>
   The third option is to specify it using the adb shell
    using the export command to set an environment
    variable, for example:

   Export HTTP_PROXY=http://localhost:8080
   Final alternative is by changing the proxy setting in
    the settings database from where the android web
    browser reads. The settings database uses SQLite.

   Familiarity with basic SQL commands is
    recommended if your plan to use this method.
    Change the hostname and port information
    appropriately using the below command:
 Dynamic Analysis Tools
  ▪   ADB
  ▪   Manifest Explorer
  ▪   Intent Sniffer
  ▪   Busybox
  ▪   Strace
  ▪   Procrank
 Static Analysis
  ▪ Disassembly
      ▪ Dex2jar
      ▪ Baksmali
  ▪ Reverse Engineering
      ▪ JD-GUI
1.   ADB
2.   Manifest Explorer
3.   Intent Sniffer
4.   Busy box
5.   Strace
6.   Procrank
   Android Debug Bridge: It is part of the Android SDK. It has
    it’s own shell, which allows you to execute linux commands
    such as ls –l . The android developer’s guide lists the full
    range of ADB commands but we highlight a few below:

   ADB could be used to locate all the emulators and android
    devices connected to the computer to the computer using
    the command below:
   adb devices
   In our case the command found one instance
    of the emulator running. If multiple instances
    are running you can use the –s option in order
    to run commands against a specific device or
    emulator.
   Adb –s emulator-5554 install Foobar.apk
   Another important provided by the adb is to
    push or pull files to and from the
    device/Emulator.
   Every application running on android has an
    AndroidManifest.xml file. This file is very
    important from a security perspective as it
    defines the permission an application request.
    The Manifest Explorer tool is a utility that allows
    you to review this xml file with ease when
    testing it is important to verify that the
    application follows the principle of “Least
    privilege” and does not use permission that are
    ot required for it to function.
   Intent is a mechanism in android to move
    data process. It forms the core of android’s
    Inter process Communication (IPC). Inetnts
    could indicate a number of actions such as
    startservice, sendbroadcast etc. The Intent
    Sniffer tool performs monitoring of Intents.
   Busybox provides some linux commands that
    could be useful during the penetration testing
    process. It extends the capability of android’s
    toolbox. In order to install busybox you can
    go through the following steps:
   Download the busybox
1. Disassembly
   1. Dex2jar
   2. Baksmali
2. Reverse Engineering
   1. Java Application Decompiler (JAD-Gui)
Dissembler: is a computer program that translate
machine language into assembly language ( The
inverse operating of an assembler). A dissembler
differs from a decompiler which targets a high level
language rather than an assembly language.

Reverse Engineering: Reverse engineering involves
reversing a program's machine code (the string of 0s
and 1s that are sent to the logic processor) back into
the source code that it was written in, using
program language statements.
   Android file permission uses the same model as Linux, to check the
    permissions of a file, go to the ADB shell and type ls –l.

   Every .apk file installed on the emulator has its own unique user ID.

   This prevents one application from accessing the other application’s
    data, any file created by the application will be assigned that
    application’s user ID and will not normally accessible to other
    applications.
   Owasp Top Ten Mobile Application Risk’s.
     M1: Insecure Data Storage
     M2: Weak Server Side Controls
     M3: Insufficient Transport Layer Protection
     M4:Client Side Injection
     M5: Poor Authorization & Authentication
     M6: Improper Session Handling
     M7: Security Decision Via Untrusted Inputs
     M8: Side channel Data Leakage
     M9: Broken Cryptography
     M10: Sensitive Information Disclosure.
   Case Study:
     Facebook.apk : Pentesting a real world Application



   Demonstrations:
     Reverse Engineering a first Trojan for Android
      Malware.
1. Anant Srivastav Blog
http://anantshri.info/

2. Ankur Bhargava
Http://www.hakers.info/site/

3. http://www.veracode.com
Mobile application security

More Related Content

What's hot

SOURCE CODE ANALYSIS TO REMOVE SECURITY VULNERABILITIES IN JAVA SOCKET PROGR...
SOURCE CODE ANALYSIS TO REMOVE SECURITY  VULNERABILITIES IN JAVA SOCKET PROGR...SOURCE CODE ANALYSIS TO REMOVE SECURITY  VULNERABILITIES IN JAVA SOCKET PROGR...
SOURCE CODE ANALYSIS TO REMOVE SECURITY VULNERABILITIES IN JAVA SOCKET PROGR...
IJNSA Journal
 
Security Testing Mobile Applications
Security Testing Mobile ApplicationsSecurity Testing Mobile Applications
Security Testing Mobile ApplicationsDenim Group
 
Fuzzing | Null OWASP Mumbai | 2016 June
Fuzzing | Null OWASP Mumbai | 2016 JuneFuzzing | Null OWASP Mumbai | 2016 June
Fuzzing | Null OWASP Mumbai | 2016 June
nullowaspmumbai
 
Detection of vulnerabilities in programs with the help of code analyzers
Detection of vulnerabilities in programs with the help of code analyzersDetection of vulnerabilities in programs with the help of code analyzers
Detection of vulnerabilities in programs with the help of code analyzers
PVS-Studio
 
Web Application Testing for Today’s Biggest and Emerging Threats
Web Application Testing for Today’s Biggest and Emerging ThreatsWeb Application Testing for Today’s Biggest and Emerging Threats
Web Application Testing for Today’s Biggest and Emerging Threats
Alan Kan
 
Ids 008 buffer overflow
Ids 008 buffer overflowIds 008 buffer overflow
Ids 008 buffer overflow
jyoti_lakhani
 
Security testing in mobile applications
Security testing in mobile applicationsSecurity testing in mobile applications
Security testing in mobile applications
Jose Manuel Ortega Candel
 
PROP - P ATRONAGE OF PHP W EB A PPLICATIONS
PROP - P ATRONAGE OF  PHP W EB  A PPLICATIONSPROP - P ATRONAGE OF  PHP W EB  A PPLICATIONS
PROP - P ATRONAGE OF PHP W EB A PPLICATIONS
ijcsit
 
Null Mumbai Meet_Android Reverse Engineering by Samrat Das
Null Mumbai Meet_Android Reverse Engineering by Samrat DasNull Mumbai Meet_Android Reverse Engineering by Samrat Das
Null Mumbai Meet_Android Reverse Engineering by Samrat Das
nullowaspmumbai
 
sri indu 1213 it
sri indu 1213 itsri indu 1213 it
sri indu 1213 it
jignash
 
Effectiveness of AV in Detecting Web Application Backdoors
Effectiveness of AV in Detecting Web Application BackdoorsEffectiveness of AV in Detecting Web Application Backdoors
Effectiveness of AV in Detecting Web Application Backdoors
n|u - The Open Security Community
 
MALWARE DETECTION USING MACHINE LEARNING ALGORITHMS AND REVERSE ENGINEERING O...
MALWARE DETECTION USING MACHINE LEARNING ALGORITHMS AND REVERSE ENGINEERING O...MALWARE DETECTION USING MACHINE LEARNING ALGORITHMS AND REVERSE ENGINEERING O...
MALWARE DETECTION USING MACHINE LEARNING ALGORITHMS AND REVERSE ENGINEERING O...
IJNSA Journal
 
Sandboxing (Distributed computing)
Sandboxing (Distributed computing)Sandboxing (Distributed computing)
Sandboxing (Distributed computing)Sri Prasanna
 
Reading Group Presentation: Why Eve and Mallory Love Android
Reading Group Presentation: Why Eve and Mallory Love AndroidReading Group Presentation: Why Eve and Mallory Love Android
Reading Group Presentation: Why Eve and Mallory Love Android
Michael Rushanan
 
Pentesting Android Applications
Pentesting Android ApplicationsPentesting Android Applications
Pentesting Android Applications
Cláudio André
 
Getting started with android
Getting started with androidGetting started with android
Getting started with android
Vandana Verma
 
IRJET- Development of Uncrackable Software
IRJET- Development of Uncrackable SoftwareIRJET- Development of Uncrackable Software
IRJET- Development of Uncrackable Software
IRJET Journal
 

What's hot (19)

SOURCE CODE ANALYSIS TO REMOVE SECURITY VULNERABILITIES IN JAVA SOCKET PROGR...
SOURCE CODE ANALYSIS TO REMOVE SECURITY  VULNERABILITIES IN JAVA SOCKET PROGR...SOURCE CODE ANALYSIS TO REMOVE SECURITY  VULNERABILITIES IN JAVA SOCKET PROGR...
SOURCE CODE ANALYSIS TO REMOVE SECURITY VULNERABILITIES IN JAVA SOCKET PROGR...
 
Mobile App Security Testing -2
Mobile App Security Testing -2Mobile App Security Testing -2
Mobile App Security Testing -2
 
Security Testing Mobile Applications
Security Testing Mobile ApplicationsSecurity Testing Mobile Applications
Security Testing Mobile Applications
 
Fuzzing | Null OWASP Mumbai | 2016 June
Fuzzing | Null OWASP Mumbai | 2016 JuneFuzzing | Null OWASP Mumbai | 2016 June
Fuzzing | Null OWASP Mumbai | 2016 June
 
Detection of vulnerabilities in programs with the help of code analyzers
Detection of vulnerabilities in programs with the help of code analyzersDetection of vulnerabilities in programs with the help of code analyzers
Detection of vulnerabilities in programs with the help of code analyzers
 
Web Application Testing for Today’s Biggest and Emerging Threats
Web Application Testing for Today’s Biggest and Emerging ThreatsWeb Application Testing for Today’s Biggest and Emerging Threats
Web Application Testing for Today’s Biggest and Emerging Threats
 
Ids 008 buffer overflow
Ids 008 buffer overflowIds 008 buffer overflow
Ids 008 buffer overflow
 
Security testing in mobile applications
Security testing in mobile applicationsSecurity testing in mobile applications
Security testing in mobile applications
 
Android security
Android securityAndroid security
Android security
 
PROP - P ATRONAGE OF PHP W EB A PPLICATIONS
PROP - P ATRONAGE OF  PHP W EB  A PPLICATIONSPROP - P ATRONAGE OF  PHP W EB  A PPLICATIONS
PROP - P ATRONAGE OF PHP W EB A PPLICATIONS
 
Null Mumbai Meet_Android Reverse Engineering by Samrat Das
Null Mumbai Meet_Android Reverse Engineering by Samrat DasNull Mumbai Meet_Android Reverse Engineering by Samrat Das
Null Mumbai Meet_Android Reverse Engineering by Samrat Das
 
sri indu 1213 it
sri indu 1213 itsri indu 1213 it
sri indu 1213 it
 
Effectiveness of AV in Detecting Web Application Backdoors
Effectiveness of AV in Detecting Web Application BackdoorsEffectiveness of AV in Detecting Web Application Backdoors
Effectiveness of AV in Detecting Web Application Backdoors
 
MALWARE DETECTION USING MACHINE LEARNING ALGORITHMS AND REVERSE ENGINEERING O...
MALWARE DETECTION USING MACHINE LEARNING ALGORITHMS AND REVERSE ENGINEERING O...MALWARE DETECTION USING MACHINE LEARNING ALGORITHMS AND REVERSE ENGINEERING O...
MALWARE DETECTION USING MACHINE LEARNING ALGORITHMS AND REVERSE ENGINEERING O...
 
Sandboxing (Distributed computing)
Sandboxing (Distributed computing)Sandboxing (Distributed computing)
Sandboxing (Distributed computing)
 
Reading Group Presentation: Why Eve and Mallory Love Android
Reading Group Presentation: Why Eve and Mallory Love AndroidReading Group Presentation: Why Eve and Mallory Love Android
Reading Group Presentation: Why Eve and Mallory Love Android
 
Pentesting Android Applications
Pentesting Android ApplicationsPentesting Android Applications
Pentesting Android Applications
 
Getting started with android
Getting started with androidGetting started with android
Getting started with android
 
IRJET- Development of Uncrackable Software
IRJET- Development of Uncrackable SoftwareIRJET- Development of Uncrackable Software
IRJET- Development of Uncrackable Software
 

Viewers also liked

Android Security
Android SecurityAndroid Security
Android Security
Suminda Gunawardhana
 
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
chaitrabhat777
 
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
Pragati Rai
 
From java to android a security analysis
From java to android  a security analysisFrom java to android  a security analysis
From java to android a security analysis
Pragati Rai
 
SecureDroid: An Android Security Framework Extension for Context-Aware policy...
SecureDroid: An Android Security Framework Extension for Context-Aware policy...SecureDroid: An Android Security Framework Extension for Context-Aware policy...
SecureDroid: An Android Security Framework Extension for Context-Aware policy...
Giuseppe La Torre
 
[Presentation] Automated Model-Based Android GUI Testing using Multi-Level GU...
[Presentation] Automated Model-Based Android GUI Testing using Multi-Level GU...[Presentation] Automated Model-Based Android GUI Testing using Multi-Level GU...
[Presentation] Automated Model-Based Android GUI Testing using Multi-Level GU...
Young-Min Baek
 
Android security
Android securityAndroid security
Android securityKrazy Koder
 
Inter-process communication of Android
Inter-process communication of AndroidInter-process communication of Android
Inter-process communication of Android
Tetsuyuki Kobayashi
 
Android security in depth
Android security in depthAndroid security in depth
Android security in depth
Sander Alberink
 
Automated Security Analysis of Android & iOS Applications with Mobile Securit...
Automated Security Analysis of Android & iOS Applications with Mobile Securit...Automated Security Analysis of Android & iOS Applications with Mobile Securit...
Automated Security Analysis of Android & iOS Applications with Mobile Securit...
Ajin Abraham
 
Understanding android security model
Understanding android security modelUnderstanding android security model
Understanding android security model
Pragati Rai
 

Viewers also liked (12)

Android Security
Android SecurityAndroid Security
Android Security
 
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
 
From java to android a security analysis
From java to android  a security analysisFrom java to android  a security analysis
From java to android a security analysis
 
SecureDroid: An Android Security Framework Extension for Context-Aware policy...
SecureDroid: An Android Security Framework Extension for Context-Aware policy...SecureDroid: An Android Security Framework Extension for Context-Aware policy...
SecureDroid: An Android Security Framework Extension for Context-Aware policy...
 
[Presentation] Automated Model-Based Android GUI Testing using Multi-Level GU...
[Presentation] Automated Model-Based Android GUI Testing using Multi-Level GU...[Presentation] Automated Model-Based Android GUI Testing using Multi-Level GU...
[Presentation] Automated Model-Based Android GUI Testing using Multi-Level GU...
 
Android security
Android securityAndroid security
Android security
 
Inter-process communication of Android
Inter-process communication of AndroidInter-process communication of Android
Inter-process communication of Android
 
Android security in depth
Android security in depthAndroid security in depth
Android security in depth
 
Automated Security Analysis of Android & iOS Applications with Mobile Securit...
Automated Security Analysis of Android & iOS Applications with Mobile Securit...Automated Security Analysis of Android & iOS Applications with Mobile Securit...
Automated Security Analysis of Android & iOS Applications with Mobile Securit...
 
Understanding android security model
Understanding android security modelUnderstanding android security model
Understanding android security model
 
Android security
Android securityAndroid security
Android security
 

Similar to Mobile application security

Manish Chasta - Securing Android Applications
Manish Chasta - Securing Android ApplicationsManish Chasta - Securing Android Applications
Manish Chasta - Securing Android ApplicationsPositive Hack Days
 
Getting started with Android pentesting
Getting started with Android pentestingGetting started with Android pentesting
Getting started with Android pentesting
Minali Arora
 
Android pentesting
Android pentestingAndroid pentesting
Android pentesting
Mykhailo Antonishyn
 
A case study of malware detection and removal in android apps
A case study of malware detection and removal in android appsA case study of malware detection and removal in android apps
A case study of malware detection and removal in android apps
ijmnct
 
Android Overview
Android OverviewAndroid Overview
Android Overview
Raju Kadam
 
Android
AndroidAndroid
Android
aktash12
 
Google android white paper
Google android white paperGoogle android white paper
Google android white paperSravan Reddy
 
Android pentesting
Android pentestingAndroid pentesting
Android pentesting
Mykhailo Antonishyn
 
Final_Presentation_FlowDroid
Final_Presentation_FlowDroidFinal_Presentation_FlowDroid
Final_Presentation_FlowDroidKruti Sharma
 
Mediating Applications on the Android System
Mediating Applications on the Android SystemMediating Applications on the Android System
Mediating Applications on the Android SystemNizar Maan
 
Garbage Management using Android Smartphone
Garbage Management using Android SmartphoneGarbage Management using Android Smartphone
Garbage Management using Android Smartphone
ijsrd.com
 
Mobile testingartifacts
Mobile testingartifactsMobile testingartifacts
Mobile testingartifactsPragya Rastogi
 
Android security
Android securityAndroid security
Android security
Dr Amira Bibo
 
Android security
Android securityAndroid security
Android security
Dr Amira Bibo
 
Android 101 Session @thejunction32
Android 101 Session @thejunction32Android 101 Session @thejunction32
Android 101 Session @thejunction32
Eden Shochat
 
Advanced malware analysis training session8 introduction to android
Advanced malware analysis training session8 introduction to androidAdvanced malware analysis training session8 introduction to android
Advanced malware analysis training session8 introduction to android
Cysinfo Cyber Security Community
 
Hacking android apps by srini0x00
Hacking android apps by srini0x00Hacking android apps by srini0x00
Hacking android apps by srini0x00
srini0x00
 
Advanced Malware Analysis Training Session 8 - Introduction to Android
Advanced Malware Analysis Training Session 8 - Introduction to AndroidAdvanced Malware Analysis Training Session 8 - Introduction to Android
Advanced Malware Analysis Training Session 8 - Introduction to Android
securityxploded
 
Learn mobile app testing in simple way
Learn mobile app testing in simple way Learn mobile app testing in simple way
Learn mobile app testing in simple way
Mobile Pundits
 

Similar to Mobile application security (20)

Manish Chasta - Securing Android Applications
Manish Chasta - Securing Android ApplicationsManish Chasta - Securing Android Applications
Manish Chasta - Securing Android Applications
 
Getting started with Android pentesting
Getting started with Android pentestingGetting started with Android pentesting
Getting started with Android pentesting
 
Android pentesting
Android pentestingAndroid pentesting
Android pentesting
 
A case study of malware detection and removal in android apps
A case study of malware detection and removal in android appsA case study of malware detection and removal in android apps
A case study of malware detection and removal in android apps
 
Android Overview
Android OverviewAndroid Overview
Android Overview
 
Android
AndroidAndroid
Android
 
Google android white paper
Google android white paperGoogle android white paper
Google android white paper
 
Android pentesting
Android pentestingAndroid pentesting
Android pentesting
 
Final_Presentation_FlowDroid
Final_Presentation_FlowDroidFinal_Presentation_FlowDroid
Final_Presentation_FlowDroid
 
Mediating Applications on the Android System
Mediating Applications on the Android SystemMediating Applications on the Android System
Mediating Applications on the Android System
 
Garbage Management using Android Smartphone
Garbage Management using Android SmartphoneGarbage Management using Android Smartphone
Garbage Management using Android Smartphone
 
Mobile testingartifacts
Mobile testingartifactsMobile testingartifacts
Mobile testingartifacts
 
Android security
Android securityAndroid security
Android security
 
Android security
Android securityAndroid security
Android security
 
Android 101 Session @thejunction32
Android 101 Session @thejunction32Android 101 Session @thejunction32
Android 101 Session @thejunction32
 
Advanced malware analysis training session8 introduction to android
Advanced malware analysis training session8 introduction to androidAdvanced malware analysis training session8 introduction to android
Advanced malware analysis training session8 introduction to android
 
Hacking android apps by srini0x00
Hacking android apps by srini0x00Hacking android apps by srini0x00
Hacking android apps by srini0x00
 
Untitled 1
Untitled 1Untitled 1
Untitled 1
 
Advanced Malware Analysis Training Session 8 - Introduction to Android
Advanced Malware Analysis Training Session 8 - Introduction to AndroidAdvanced Malware Analysis Training Session 8 - Introduction to Android
Advanced Malware Analysis Training Session 8 - Introduction to Android
 
Learn mobile app testing in simple way
Learn mobile app testing in simple way Learn mobile app testing in simple way
Learn mobile app testing in simple way
 

Recently uploaded

Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
Thiyagu K
 
Francesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptxFrancesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptx
EduSkills OECD
 
Introduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp NetworkIntroduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp Network
TechSoup
 
Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345
beazzy04
 
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXXPhrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
MIRIAMSALINAS13
 
Home assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfHome assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdf
Tamralipta Mahavidyalaya
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
Nguyen Thanh Tu Collection
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
EugeneSaldivar
 
special B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdfspecial B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdf
Special education needs
 
Acetabularia Information For Class 9 .docx
Acetabularia Information For Class 9  .docxAcetabularia Information For Class 9  .docx
Acetabularia Information For Class 9 .docx
vaibhavrinwa19
 
The basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptxThe basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptx
heathfieldcps1
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
Jisc
 
Supporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptxSupporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptx
Jisc
 
2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...
Sandy Millin
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
MysoreMuleSoftMeetup
 
The Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdfThe Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdf
kaushalkr1407
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
Jisc
 
Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.
Ashokrao Mane college of Pharmacy Peth-Vadgaon
 
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup   New Member Orientation and Q&A (May 2024).pdfWelcome to TechSoup   New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
TechSoup
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
Pavel ( NSTU)
 

Recently uploaded (20)

Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
 
Francesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptxFrancesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptx
 
Introduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp NetworkIntroduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp Network
 
Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345
 
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXXPhrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
 
Home assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfHome assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdf
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
 
special B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdfspecial B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdf
 
Acetabularia Information For Class 9 .docx
Acetabularia Information For Class 9  .docxAcetabularia Information For Class 9  .docx
Acetabularia Information For Class 9 .docx
 
The basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptxThe basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptx
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
 
Supporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptxSupporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptx
 
2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
 
The Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdfThe Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdf
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
 
Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.
 
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup   New Member Orientation and Q&A (May 2024).pdfWelcome to TechSoup   New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
 

Mobile application security

  • 1. // …. and That’s all.
  • 2.
  • 3. Part 1: Mobile Application Security  Part 2: Pentesting Mobile Application  Part 3: Owasp Top Ten Mobile Application Risk  Part 4: Case Study & Demonstrations.
  • 4.
  • 5. Introduction to Mobile Application Security.  Mobile Security Stack.  Mobile Threat Model  Modus Operandi for Mobile Application Audit.  Roadblocks  Future of Mobile Application Security
  • 6. Modern mobile applications run on mobile devices that have the functionality of a desktop or laptop running a general purpose operating system.  In this respect many of the risks are similar to those of traditional spyware, Trojan software, and insecurely designed apps.  Mobile devices are designed around personal and communication functionality which makes the mobile application and mobile security risks different from the top traditional computing risks.
  • 7. Infrastructure Layer  Lowest Layer  Protocols ▪ CDMA,GSM ▪ GPS ▪ SMS,MMS  Hardware Layer  Smartphone/Tablet  Firmware  Operating System Layer  Symbian S40/S60  Froyo,Gingerbread  Application Layer
  • 8.
  • 9. 1. Dynamic Analysis 1. Debug the Running App (on device or in emulator) 2. Analyze Network Traffic 3. Analyze Remote Services (Http/SOAP/etc) 2. Static Anlysis 1. Get Application 1. Extract application from device 2. Receive application package from developers 2. Source code review 3. Reverse engineering 4. Disassembly 5. Patching
  • 10.
  • 11.
  • 12. OWASP guidelines, procedures for testing are not yet available like Web applications.  Mobile application also includes vulnerabilities in the underlying architecture (OS & Vendor specific) unlike web application in which only application vulnerabilities are concerned.  Applications can use various modes of communications like SMS,MMS,EDGE, GPRS,3G and WiFi due to which security testing becomes difficult.  Simulator's have their own limitations:  Can not simulate SMS communication (In case of communicating with SMS Gateway ) though, they provide mechanism to send & receive sms between simulators.  Simulator’s don’t allow intercepting installed applications traffic.  ( It has to be done, forcefully by interjecting an application into running simulator to intercept network communication from that process)
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19. Pen testing Mobile Application – Android  Background.  Setting up the Test Environment.  Setting up a proxy.  Android Application Penetration Testing Toolkit.  Reverse Engineering Android Applications  File Permissions in android
  • 20. Android is a Linux based platform developed by Google and the open handset alliance.  Application programming for it is done exclusively in java.  The android operating system software stack consist of java applications running on a Dalvik virtual machine (DVK).  The current version as of august 2010 is 2.2. there are over 90,00 application available in the android market.
  • 21.
  • 22. There are several ways to test mobile application e.g:  Using burp with a proxy.  Using a phone emulator with a proxy.  Using a phone to test and proxy outgoing phone data to a PC.  Requirements:  Computer running a Windows OS.  Java 6  Eclipse SDk – Helios/Indigo  Android 3.5 SDK  Burp! Proxy
  • 23.
  • 24. If Application using is using HTTP(s), or is a website that you are testing on Android browser, the next step is to setup a proxy tool such as Burp!  There are 4 main ways of setting up such a proxy:
  • 25. Specify the proxy details when starting the emulator using the command below. This command is to use a proxy listening on port 8080  Emulator -avd testavd -http-proxy http://localhost:8080
  • 26. The second option is to specify the proxy details in the emulator APN setting as shown below:  Home-> Menu-> Wireless & networks > Mobile Network -> Access Point Names  Update the following: NAME: Internet APN: Internet Proxy: IP address of your Computer USERNAME: <N/A> PASSWORD:<N/A>
  • 27. The third option is to specify it using the adb shell using the export command to set an environment variable, for example:  Export HTTP_PROXY=http://localhost:8080
  • 28. Final alternative is by changing the proxy setting in the settings database from where the android web browser reads. The settings database uses SQLite.  Familiarity with basic SQL commands is recommended if your plan to use this method. Change the hostname and port information appropriately using the below command:
  • 29.
  • 30.  Dynamic Analysis Tools ▪ ADB ▪ Manifest Explorer ▪ Intent Sniffer ▪ Busybox ▪ Strace ▪ Procrank  Static Analysis ▪ Disassembly ▪ Dex2jar ▪ Baksmali ▪ Reverse Engineering ▪ JD-GUI
  • 31. 1. ADB 2. Manifest Explorer 3. Intent Sniffer 4. Busy box 5. Strace 6. Procrank
  • 32. Android Debug Bridge: It is part of the Android SDK. It has it’s own shell, which allows you to execute linux commands such as ls –l . The android developer’s guide lists the full range of ADB commands but we highlight a few below:  ADB could be used to locate all the emulators and android devices connected to the computer to the computer using the command below:  adb devices
  • 33. In our case the command found one instance of the emulator running. If multiple instances are running you can use the –s option in order to run commands against a specific device or emulator.  Adb –s emulator-5554 install Foobar.apk  Another important provided by the adb is to push or pull files to and from the device/Emulator.
  • 34. Every application running on android has an AndroidManifest.xml file. This file is very important from a security perspective as it defines the permission an application request. The Manifest Explorer tool is a utility that allows you to review this xml file with ease when testing it is important to verify that the application follows the principle of “Least privilege” and does not use permission that are ot required for it to function.
  • 35.
  • 36. Intent is a mechanism in android to move data process. It forms the core of android’s Inter process Communication (IPC). Inetnts could indicate a number of actions such as startservice, sendbroadcast etc. The Intent Sniffer tool performs monitoring of Intents.
  • 37. Busybox provides some linux commands that could be useful during the penetration testing process. It extends the capability of android’s toolbox. In order to install busybox you can go through the following steps:  Download the busybox
  • 38. 1. Disassembly 1. Dex2jar 2. Baksmali 2. Reverse Engineering 1. Java Application Decompiler (JAD-Gui)
  • 39. Dissembler: is a computer program that translate machine language into assembly language ( The inverse operating of an assembler). A dissembler differs from a decompiler which targets a high level language rather than an assembly language. Reverse Engineering: Reverse engineering involves reversing a program's machine code (the string of 0s and 1s that are sent to the logic processor) back into the source code that it was written in, using program language statements.
  • 40. Android file permission uses the same model as Linux, to check the permissions of a file, go to the ADB shell and type ls –l.  Every .apk file installed on the emulator has its own unique user ID.  This prevents one application from accessing the other application’s data, any file created by the application will be assigned that application’s user ID and will not normally accessible to other applications.
  • 41.
  • 42.
  • 43.
  • 44. Owasp Top Ten Mobile Application Risk’s.  M1: Insecure Data Storage  M2: Weak Server Side Controls  M3: Insufficient Transport Layer Protection  M4:Client Side Injection  M5: Poor Authorization & Authentication  M6: Improper Session Handling  M7: Security Decision Via Untrusted Inputs  M8: Side channel Data Leakage  M9: Broken Cryptography  M10: Sensitive Information Disclosure.
  • 45.
  • 46. Case Study:  Facebook.apk : Pentesting a real world Application  Demonstrations:  Reverse Engineering a first Trojan for Android Malware.
  • 47. 1. Anant Srivastav Blog http://anantshri.info/ 2. Ankur Bhargava Http://www.hakers.info/site/ 3. http://www.veracode.com