SlideShare a Scribd company logo
Putting the Smart in Smartphones:
           Security Testing Mobile Applications




© Copyright 2011 Denim Group - All Rights Reserved
My Background
 • Dan Cornell, founder and CTO of Denim Group
 • Software developer by background (Java, .NET, etc)
 • OWASP San Antonio, Global Membership Committee

 • Denim Group
         – Build software with special security, performance, reliability
           requirements
         – Help organizations deal with the risk associated with their software
                  • Code reviews and application assessments
                  • SDLC consulting
                  • Secure development training – instructor-led and eLearning

© Copyright 2011 Denim Group - All Rights Reserved                                1
Agenda
    •       Introduction and Overview
    •       Mobile Application Threat Model
    •       Testing Approaches
    •       Example Application
    •       Data at Rest
    •       Data in Motion
    •       Tainted Inputs
    •       Conclusions / Questions




© Copyright 2011 Denim Group - All Rights Reserved   2
Smart Phones, Dumb Apps
 • Lots of media focus on device and platform security
         – Important because successful attacks give tremendous attacker leverage
 • Most organizations:
         –     Accept realities of device and platform security
         –     Concerned about the security of their custom applications
         –     Concerned about sensitive data on the device because of their apps
         –     Concerned about network-available resources that support their apps


 • Who has mobile application deployed for customers?

 • Who has had mobile applications deployed without their knowledge?
         – *$!%$# marketing department…


© Copyright 2011 Denim Group - All Rights Reserved                                   3
Some Assumptions for Developers
 • Smartphone applications are essentially thick-client applications
         –     That people carry in their pockets
         –     And drop in toilets
         –     And put on eBay when the new iPhone comes out
         –     And leave on airplanes
         –     And so on…


 • Attackers will be able to access:
         – Target user (victim) devices
         – Your application binaries


 • What else should you assume they know or will find out?


© Copyright 2011 Denim Group - All Rights Reserved                     4
Generic Mobile Application Threat Model




© Copyright 2011 Denim Group - All Rights Reserved   5
Testing the Security of Mobile Applications
 • IMPORTANT: It is really the system as a whole you care about
         –     Application plus…
         –     3rd party web services
         –     Enterprise services
         –     And so on


 • The most “interesting” weaknesses and vulnerabilities we find are in
   mobile applications’ interactions with supporting services

 • Mobile applications are different than web applications
         – Can’t just fire up an automated scanner and turn up a bunch of SQL injection and
           XSS vulnerabilities
         – Usually…

© Copyright 2011 Denim Group - All Rights Reserved                                            6
Testing the Security of Mobile Applications
 Type of Analysis                                    Activities
 Static Analysis
       Source Code                                   Source code scanning
                                                     Manual source code review
       Binary                                        Reverse engineering
 Dynamic Analysis                                    Debugger execution
                                                     Traffic capture via proxy
 Forensic Analysis                                   File permission analysis
                                                     File content analysis




© Copyright 2011 Denim Group - All Rights Reserved                               7
Testing the Security of Mobile Applications
                                                     • Know you enemy
                                                        – So you can properly
                                                          characterize risk
                                                     • How can attackers gain
                                                       unauthorized access?
                                                        – Attacker steals or accesses
                                                          a lost device
                                                        – Malicious application
                                                        – Attacker reverse engineers
                                                          an application to access
                                                          corporate resources
                                                        – And so on…
© Copyright 2011 Denim Group - All Rights Reserved                                      8
Pandemobium Stock Trader Application
 • Android and iOS versions
 • Functionality
         –     Log in
         –     Track stock tips
         –     Make stock trades
         –     Get stock tips
         –     Share stock tips




© Copyright 2011 Denim Group - All Rights Reserved   9
Let’s Take Apart Some Apps: Android
 • Example of static                                 • axml2xml.pl
                                                       –   http://code.google.com/p/android-random/downloads/detail?name=axml2xml.pl

   binary analysis
                                                     • dedexer
                                                       – http://dedexer.sourceforge.net/
 • Application structure                             • dex2jar
         –     AndroidManifest.xml                     – http://code.google.com/p/dex2jar/

         –     assets/                               • JD-GUI
         –     res/                                    – http://java.decompiler.free.fr/

         –     classes.dex                           • SQLite Browser
                                                       – http://java.decompiler.free.fr/

© Copyright 2011 Denim Group - All Rights Reserved                                                                                     10
Let’s Take Apart Some Apps: iOS
 • More static binary                                • otool
                                                        –   http://developer.apple.com/library/mac/#documentat
   analysis                                                 ion/Darwin/Reference/ManPages/man1/otool.1.html


                                                     • plutil
                                                        –   http://developer.apple.com/library/mac/#documentat

 • Application structure                                    ion/Darwin/Reference/ManPages/man1/plutil.1.html



         – Application binary                        • IDA-PRO
                                                        – http://www.hex-rays.com/idapro/
         – plist files
                                                     • iPad File Explorer
         – Other resources                              – http://www.ipadfileexplorer.com/




© Copyright 2011 Denim Group - All Rights Reserved                                                               11
Identifying Potential Storage Issues
 • Static analysis
         – Identify functions that
           store data locally on the
           device
 • Forensic analysis
         – Run the application and
           look at artifacts it
           creates



© Copyright 2011 Denim Group - All Rights Reserved   12
Data in Motion
                                                     • 3rd Party Services
                                                     • Enterprise Services




© Copyright 2011 Denim Group - All Rights Reserved                           13
Identifying Services In Use
 • Look for URL
   connections
 • Look for network
   connections
 • Look for web controls




© Copyright 2011 Denim Group - All Rights Reserved   14
Tainted Inputs
                                                     • Mobile Browser
                                                       Content Handling




© Copyright 2011 Denim Group - All Rights Reserved                        15
Android: Identifying Content Handlers
 • Look in AndroidManifest.xml
 • Look for <intent-filter> tags:
 <intent-filter>
     <action android:name="android.intent.action.VIEW" />
     <category android:name="android.intent.category.DEFAULT" />
     <category android:name="android.intent.category.BROWSABLE" />
     <data android:scheme=“the_scheme" />
 </intent-filter>


 • But what apps export intents?
         – http://www.openintents.org/




© Copyright 2011 Denim Group - All Rights Reserved                   16
iOS: Identifying Content Handlers
 • Look in Info.plist
 • Look for <key>CFBundleURLSchemes</key>
 <array>
     <dict>
          <key>CFBundleURLSchemes</key>
          <array>
              <string>the_scheme</string>
          </array>
     </dict>
 </array>


 • But what apps handle custom schemes?
         – http://handleopenurl.com/

© Copyright 2011 Denim Group - All Rights Reserved   17
Testing the Security of Content Handlers
 • How to reach them?
         – Get a user to click: <a
           href=“the_scheme://stuff?pa
           ram=value” />
         – Get a user to visit a
           malicious web page:
           <iframe
           src=“the_scheme://stuff?par
           am=value” />
 • Approaches:
         – Fuzzing
         – Targeted attacks
© Copyright 2011 Denim Group - All Rights Reserved   18
But How Bad is SQL Injection in Mobile Apps?
                                                     • Probably not as bad as
                                                       SQL injection for web
                                                       applications
                                                        – Probably
                                                     • Remember DREAD:
                                                        –   Damage Potential
                                                        –   Reproducibility
                                                        –   Exploitability
                                                        –   Affected Users
                                                        –   Discoverability


© Copyright 2011 Denim Group - All Rights Reserved                              19
The End




© Copyright 2011 Denim Group - All Rights Reserved   20
Conclusions and Questions
 Dan Cornell
 dan@denimgroup.com
 Twitter: @danielcornell

 www.denimgroup.com
 www.smartphonesdumbapps.com
 (210) 572-4400




© Copyright 2011 Denim Group - All Rights Reserved   21

More Related Content

What's hot (20)

PPTX
Azure WAF
Cheah Eng Soon
 
PPTX
Android Security
Arqum Ahmad
 
PDF
Checkmarx meetup API Security - API Security top 10 - Erez Yalon
Adar Weidman
 
ZIP
Android Application Development
Benny Skogberg
 
PDF
Mobile Application Penetration Testing
BGA Cyber Security
 
PPTX
Introduction to Android ppt
Taha Malampatti
 
PPTX
Mobile Application Security
Ishan Girdhar
 
PDF
Android security and penetration testing | DIVA | Yogesh Ojha
Yogesh Ojha
 
PDF
Microsoft Azure Security Overview
Alert Logic
 
PDF
Mobile Application Security
cclark_isec
 
PDF
OWASP API Security Top 10 - API World
42Crunch
 
PPTX
OAuth in the Wild
Victor Rentea
 
PPTX
Building secure applications with keycloak
Abhishek Koserwal
 
PPTX
Pentesting Android Apps using Frida (Beginners)
Chandrapal Badshah
 
PPT
Android Application Development Using Java
amaankhan
 
PPTX
Sandbox
ayush_nitt
 
PPTX
Hacking google cloud run
Aviv Laufer
 
PDF
A Tour of Google Cloud Platform
Colin Su
 
PPTX
Android architecture
Saurabh Kukreja
 
PPTX
Introduction to Google Cloud Platform
dhruv_chaudhari
 
Azure WAF
Cheah Eng Soon
 
Android Security
Arqum Ahmad
 
Checkmarx meetup API Security - API Security top 10 - Erez Yalon
Adar Weidman
 
Android Application Development
Benny Skogberg
 
Mobile Application Penetration Testing
BGA Cyber Security
 
Introduction to Android ppt
Taha Malampatti
 
Mobile Application Security
Ishan Girdhar
 
Android security and penetration testing | DIVA | Yogesh Ojha
Yogesh Ojha
 
Microsoft Azure Security Overview
Alert Logic
 
Mobile Application Security
cclark_isec
 
OWASP API Security Top 10 - API World
42Crunch
 
OAuth in the Wild
Victor Rentea
 
Building secure applications with keycloak
Abhishek Koserwal
 
Pentesting Android Apps using Frida (Beginners)
Chandrapal Badshah
 
Android Application Development Using Java
amaankhan
 
Sandbox
ayush_nitt
 
Hacking google cloud run
Aviv Laufer
 
A Tour of Google Cloud Platform
Colin Su
 
Android architecture
Saurabh Kukreja
 
Introduction to Google Cloud Platform
dhruv_chaudhari
 

Viewers also liked (20)

PDF
Mobile Application Security Testing, Testing for Mobility App | www.idexcel.com
Idexcel Technologies
 
PDF
Mobile application security – effective methodology, efficient testing! hem...
owaspindia
 
PPTX
Pentesting iOS Applications
jasonhaddix
 
PDF
Reverse Engineering iOS apps
Max Bazaliy
 
PDF
Nullcon Goa 2016 - Automated Mobile Application Security Testing with Mobile ...
Ajin Abraham
 
PPTX
Hacking and securing ios applications
Satish b
 
ODP
Mobile Apps Security Testing -1
Krisshhna Daasaarii
 
PPT
iOS Application Penetration Testing for Beginners
RyanISI
 
PDF
I Want More Ninja – iOS Security Testing
Jason Haddix
 
PPTX
Basic Guide For Mobile Application Testing
Sourabh Kasliwal
 
PPTX
The curious case of mobile app security.pptx
Ankit Giri
 
PDF
Android Security & Penetration Testing
Subho Halder
 
PPTX
Drozer - An Android Application Security Tool
nullowaspmumbai
 
PDF
Security testing in mobile applications
Jose Manuel Ortega Candel
 
PDF
How to scale mobile application security testing
NowSecure
 
PPTX
Cybersecurity Best Practices in Financial Services
John Rapa
 
PDF
Gursev kalra _mobile_application_security_testing - ClubHack2009
ClubHack
 
PPT
Mobile application security and threat modeling
Shantanu Mitra
 
PDF
35602787 mobile-application-testing
praveen kumar yechuri
 
ODP
Mobile Apps Security Testing -3
Krisshhna Daasaarii
 
Mobile Application Security Testing, Testing for Mobility App | www.idexcel.com
Idexcel Technologies
 
Mobile application security – effective methodology, efficient testing! hem...
owaspindia
 
Pentesting iOS Applications
jasonhaddix
 
Reverse Engineering iOS apps
Max Bazaliy
 
Nullcon Goa 2016 - Automated Mobile Application Security Testing with Mobile ...
Ajin Abraham
 
Hacking and securing ios applications
Satish b
 
Mobile Apps Security Testing -1
Krisshhna Daasaarii
 
iOS Application Penetration Testing for Beginners
RyanISI
 
I Want More Ninja – iOS Security Testing
Jason Haddix
 
Basic Guide For Mobile Application Testing
Sourabh Kasliwal
 
The curious case of mobile app security.pptx
Ankit Giri
 
Android Security & Penetration Testing
Subho Halder
 
Drozer - An Android Application Security Tool
nullowaspmumbai
 
Security testing in mobile applications
Jose Manuel Ortega Candel
 
How to scale mobile application security testing
NowSecure
 
Cybersecurity Best Practices in Financial Services
John Rapa
 
Gursev kalra _mobile_application_security_testing - ClubHack2009
ClubHack
 
Mobile application security and threat modeling
Shantanu Mitra
 
35602787 mobile-application-testing
praveen kumar yechuri
 
Mobile Apps Security Testing -3
Krisshhna Daasaarii
 
Ad

Similar to Security Testing Mobile Applications (20)

PDF
Mobile Application Security Code Reviews
Denim Group
 
PDF
Mobile Browser Content Handling
Denim Group
 
PDF
Designing Secure Mobile Apps
Denim Group
 
PDF
Smart Phones Dumb Apps
Denim Group
 
PDF
Developing Secure Mobile Applications
Denim Group
 
PDF
Software Security for Project Managers: What Do You Need To Know?
Denim Group
 
PDF
Skeletons in the Closet: Securing Inherited Applications
Denim Group
 
PPTX
Pentesting iPhone applications
Satish b
 
PPTX
Thread Fix Tour Presentation Final Final
Robin Lutchansky
 
PPTX
How to Test Security and Vulnerability of Your Android and iOS Apps
Bitbar
 
PDF
Reading Group Presentation: Why Eve and Mallory Love Android
Michael Rushanan
 
PDF
Benchmarking Web Application Scanners for YOUR Organization
Denim Group
 
PDF
Top Strategies to Capture Security Intelligence for Applications
Denim Group
 
PDF
Hybrid Analysis Mapping: Making Security and Development Tools Play Nice Toge...
Denim Group
 
PDF
Brief Tour about Android Security
National Cheng Kung University
 
PDF
Securing Android
Marakana Inc.
 
PPTX
iOS application (in)security
iphonepentest
 
PDF
Android Camp 2011 @ Silicon India
Avinash Birnale
 
PDF
Application Security Program Management with Vulnerability Manager
Denim Group
 
PDF
Deep Dive Into Android Security
Marakana Inc.
 
Mobile Application Security Code Reviews
Denim Group
 
Mobile Browser Content Handling
Denim Group
 
Designing Secure Mobile Apps
Denim Group
 
Smart Phones Dumb Apps
Denim Group
 
Developing Secure Mobile Applications
Denim Group
 
Software Security for Project Managers: What Do You Need To Know?
Denim Group
 
Skeletons in the Closet: Securing Inherited Applications
Denim Group
 
Pentesting iPhone applications
Satish b
 
Thread Fix Tour Presentation Final Final
Robin Lutchansky
 
How to Test Security and Vulnerability of Your Android and iOS Apps
Bitbar
 
Reading Group Presentation: Why Eve and Mallory Love Android
Michael Rushanan
 
Benchmarking Web Application Scanners for YOUR Organization
Denim Group
 
Top Strategies to Capture Security Intelligence for Applications
Denim Group
 
Hybrid Analysis Mapping: Making Security and Development Tools Play Nice Toge...
Denim Group
 
Brief Tour about Android Security
National Cheng Kung University
 
Securing Android
Marakana Inc.
 
iOS application (in)security
iphonepentest
 
Android Camp 2011 @ Silicon India
Avinash Birnale
 
Application Security Program Management with Vulnerability Manager
Denim Group
 
Deep Dive Into Android Security
Marakana Inc.
 
Ad

More from Denim Group (20)

PDF
Long-term Impact of Log4J
Denim Group
 
PDF
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Denim Group
 
PDF
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Denim Group
 
PDF
Optimizing Security Velocity in Your DevSecOps Pipeline at Scale
Denim Group
 
PDF
Application Asset Management with ThreadFix
Denim Group
 
PDF
OWASP San Antonio Meeting 10/2/20
Denim Group
 
PDF
AppSec Fast and Slow: Your DevSecOps CI/CD Pipeline Isn’t an SSA Program
Denim Group
 
PDF
Using Collaboration to Make Application Vulnerability Management a Team Sport
Denim Group
 
PDF
Managing Penetration Testing Programs and Vulnerability Time to Live with Thr...
Denim Group
 
PDF
Security Champions: Pushing Security Expertise to the Edges of Your Organization
Denim Group
 
PDF
The As, Bs, and Four Cs of Testing Cloud-Native Applications
Denim Group
 
PDF
An Updated Take: Threat Modeling for IoT Systems
Denim Group
 
PPTX
Continuous Authority to Operate (ATO) with ThreadFix – Bringing Commercial In...
Denim Group
 
PDF
A New View of Your Application Security Program with Snyk and ThreadFix
Denim Group
 
PDF
Enabling Developers in Your Application Security Program With Coverity and Th...
Denim Group
 
PDF
AppSec in a World of Digital Transformation
Denim Group
 
PDF
The As, Bs, and Four Cs of Testing Cloud-Native Applications
Denim Group
 
PDF
Enabling Developers in Your Application Security Program With Coverity and Th...
Denim Group
 
PDF
AppSec in a World of Digital Transformation
Denim Group
 
PDF
Enumerating Enterprise Attack Surface
Denim Group
 
Long-term Impact of Log4J
Denim Group
 
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Denim Group
 
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Denim Group
 
Optimizing Security Velocity in Your DevSecOps Pipeline at Scale
Denim Group
 
Application Asset Management with ThreadFix
Denim Group
 
OWASP San Antonio Meeting 10/2/20
Denim Group
 
AppSec Fast and Slow: Your DevSecOps CI/CD Pipeline Isn’t an SSA Program
Denim Group
 
Using Collaboration to Make Application Vulnerability Management a Team Sport
Denim Group
 
Managing Penetration Testing Programs and Vulnerability Time to Live with Thr...
Denim Group
 
Security Champions: Pushing Security Expertise to the Edges of Your Organization
Denim Group
 
The As, Bs, and Four Cs of Testing Cloud-Native Applications
Denim Group
 
An Updated Take: Threat Modeling for IoT Systems
Denim Group
 
Continuous Authority to Operate (ATO) with ThreadFix – Bringing Commercial In...
Denim Group
 
A New View of Your Application Security Program with Snyk and ThreadFix
Denim Group
 
Enabling Developers in Your Application Security Program With Coverity and Th...
Denim Group
 
AppSec in a World of Digital Transformation
Denim Group
 
The As, Bs, and Four Cs of Testing Cloud-Native Applications
Denim Group
 
Enabling Developers in Your Application Security Program With Coverity and Th...
Denim Group
 
AppSec in a World of Digital Transformation
Denim Group
 
Enumerating Enterprise Attack Surface
Denim Group
 

Security Testing Mobile Applications

  • 1. Putting the Smart in Smartphones: Security Testing Mobile Applications © Copyright 2011 Denim Group - All Rights Reserved
  • 2. My Background • Dan Cornell, founder and CTO of Denim Group • Software developer by background (Java, .NET, etc) • OWASP San Antonio, Global Membership Committee • Denim Group – Build software with special security, performance, reliability requirements – Help organizations deal with the risk associated with their software • Code reviews and application assessments • SDLC consulting • Secure development training – instructor-led and eLearning © Copyright 2011 Denim Group - All Rights Reserved 1
  • 3. Agenda • Introduction and Overview • Mobile Application Threat Model • Testing Approaches • Example Application • Data at Rest • Data in Motion • Tainted Inputs • Conclusions / Questions © Copyright 2011 Denim Group - All Rights Reserved 2
  • 4. Smart Phones, Dumb Apps • Lots of media focus on device and platform security – Important because successful attacks give tremendous attacker leverage • Most organizations: – Accept realities of device and platform security – Concerned about the security of their custom applications – Concerned about sensitive data on the device because of their apps – Concerned about network-available resources that support their apps • Who has mobile application deployed for customers? • Who has had mobile applications deployed without their knowledge? – *$!%$# marketing department… © Copyright 2011 Denim Group - All Rights Reserved 3
  • 5. Some Assumptions for Developers • Smartphone applications are essentially thick-client applications – That people carry in their pockets – And drop in toilets – And put on eBay when the new iPhone comes out – And leave on airplanes – And so on… • Attackers will be able to access: – Target user (victim) devices – Your application binaries • What else should you assume they know or will find out? © Copyright 2011 Denim Group - All Rights Reserved 4
  • 6. Generic Mobile Application Threat Model © Copyright 2011 Denim Group - All Rights Reserved 5
  • 7. Testing the Security of Mobile Applications • IMPORTANT: It is really the system as a whole you care about – Application plus… – 3rd party web services – Enterprise services – And so on • The most “interesting” weaknesses and vulnerabilities we find are in mobile applications’ interactions with supporting services • Mobile applications are different than web applications – Can’t just fire up an automated scanner and turn up a bunch of SQL injection and XSS vulnerabilities – Usually… © Copyright 2011 Denim Group - All Rights Reserved 6
  • 8. Testing the Security of Mobile Applications Type of Analysis Activities Static Analysis Source Code Source code scanning Manual source code review Binary Reverse engineering Dynamic Analysis Debugger execution Traffic capture via proxy Forensic Analysis File permission analysis File content analysis © Copyright 2011 Denim Group - All Rights Reserved 7
  • 9. Testing the Security of Mobile Applications • Know you enemy – So you can properly characterize risk • How can attackers gain unauthorized access? – Attacker steals or accesses a lost device – Malicious application – Attacker reverse engineers an application to access corporate resources – And so on… © Copyright 2011 Denim Group - All Rights Reserved 8
  • 10. Pandemobium Stock Trader Application • Android and iOS versions • Functionality – Log in – Track stock tips – Make stock trades – Get stock tips – Share stock tips © Copyright 2011 Denim Group - All Rights Reserved 9
  • 11. Let’s Take Apart Some Apps: Android • Example of static • axml2xml.pl – http://code.google.com/p/android-random/downloads/detail?name=axml2xml.pl binary analysis • dedexer – http://dedexer.sourceforge.net/ • Application structure • dex2jar – AndroidManifest.xml – http://code.google.com/p/dex2jar/ – assets/ • JD-GUI – res/ – http://java.decompiler.free.fr/ – classes.dex • SQLite Browser – http://java.decompiler.free.fr/ © Copyright 2011 Denim Group - All Rights Reserved 10
  • 12. Let’s Take Apart Some Apps: iOS • More static binary • otool – http://developer.apple.com/library/mac/#documentat analysis ion/Darwin/Reference/ManPages/man1/otool.1.html • plutil – http://developer.apple.com/library/mac/#documentat • Application structure ion/Darwin/Reference/ManPages/man1/plutil.1.html – Application binary • IDA-PRO – http://www.hex-rays.com/idapro/ – plist files • iPad File Explorer – Other resources – http://www.ipadfileexplorer.com/ © Copyright 2011 Denim Group - All Rights Reserved 11
  • 13. Identifying Potential Storage Issues • Static analysis – Identify functions that store data locally on the device • Forensic analysis – Run the application and look at artifacts it creates © Copyright 2011 Denim Group - All Rights Reserved 12
  • 14. Data in Motion • 3rd Party Services • Enterprise Services © Copyright 2011 Denim Group - All Rights Reserved 13
  • 15. Identifying Services In Use • Look for URL connections • Look for network connections • Look for web controls © Copyright 2011 Denim Group - All Rights Reserved 14
  • 16. Tainted Inputs • Mobile Browser Content Handling © Copyright 2011 Denim Group - All Rights Reserved 15
  • 17. Android: Identifying Content Handlers • Look in AndroidManifest.xml • Look for <intent-filter> tags: <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme=“the_scheme" /> </intent-filter> • But what apps export intents? – http://www.openintents.org/ © Copyright 2011 Denim Group - All Rights Reserved 16
  • 18. iOS: Identifying Content Handlers • Look in Info.plist • Look for <key>CFBundleURLSchemes</key> <array> <dict> <key>CFBundleURLSchemes</key> <array> <string>the_scheme</string> </array> </dict> </array> • But what apps handle custom schemes? – http://handleopenurl.com/ © Copyright 2011 Denim Group - All Rights Reserved 17
  • 19. Testing the Security of Content Handlers • How to reach them? – Get a user to click: <a href=“the_scheme://stuff?pa ram=value” /> – Get a user to visit a malicious web page: <iframe src=“the_scheme://stuff?par am=value” /> • Approaches: – Fuzzing – Targeted attacks © Copyright 2011 Denim Group - All Rights Reserved 18
  • 20. But How Bad is SQL Injection in Mobile Apps? • Probably not as bad as SQL injection for web applications – Probably • Remember DREAD: – Damage Potential – Reproducibility – Exploitability – Affected Users – Discoverability © Copyright 2011 Denim Group - All Rights Reserved 19
  • 21. The End © Copyright 2011 Denim Group - All Rights Reserved 20
  • 22. Conclusions and Questions Dan Cornell [email protected] Twitter: @danielcornell www.denimgroup.com www.smartphonesdumbapps.com (210) 572-4400 © Copyright 2011 Denim Group - All Rights Reserved 21