SlideShare ist ein Scribd-Unternehmen logo
1 von 74
Downloaden Sie, um offline zu lesen
David Rook

Windows Phone 7 Security

SecurityBSides London




Sunday, 22 April 2012
if (slide == introduction)
                   System.out.println("I’m David Rook");

 • Application Security Lead, Realex Payments, Dublin
      CISSP, CISA, GCIH and many other acronyms



 • Security Ninja (@securityninja)

 • Speaker at developer and security conferences

 • Microsoft Developer Security MVP

 • Developed and released Agnitio and the WPAA




Sunday, 22 April 2012
Agenda


  • Smartphones and apps - big numbers, little security?

  • Windows Phone 7 introduction

  • Windows Phone 7 platform security

  • Windows Phone 7 application security

  • Security reviewing Windows Phone 7 apps


Sunday, 22 April 2012
Mobile device sales 2011



                                                                      472 million

                                                        Smartphones
                                                           31%



                                               Mobile
                                                69%


        1.3 billion


Source: http://www.gartner.com/it/page.jsp?id=1924314
 Sunday, 22 April 2012
Smartphone OS market share 2011
                                                        Microsoft
                                                           2%




                                                           RIM
                                                           9%
                                                                 Symbian
                                                                   12%
                                          Android
                                           51%

                                                             iOS
                                                             24%




Source: http://www.gartner.com/it/page.jsp?id=1924314
 Sunday, 22 April 2012
Smartphone OS market share 2011


  • Microsoft has 1.9% of the smartphone market share

        • Smaller market share than something called Bada




Sunday, 22 April 2012
Smartphone OS market share 2011




Sunday, 22 April 2012
Smartphone OS market share 2011


  • Microsoft has 1.9% of the smartphone market share

        • Smaller market share than something called Bada
        • Should I even continue with this talk about Windows Phone 7?




Sunday, 22 April 2012
Smartphone OS market share 2011


  • Microsoft has 1.9% of the smartphone market share

        • Smaller market share than something called Bada
        • Should I even continue with this talk about Windows Phone 7?
        • Similar approach to Android with many devices available




Sunday, 22 April 2012
Smartphone OS market share 2011




Sunday, 22 April 2012
Smartphone OS market share 2011


  • Microsoft has 1.9% of the smartphone market share

        • Smaller market share than something called Bada
        • Should I even continue with this talk about Windows Phone 7?
        • Similar approach to Android with many devices available
        • IDC predict that they will have 20% market share by 2015




Sunday, 22 April 2012
Smartphone OS market share 2011




Sunday, 22 April 2012
Smartphone OS market share 2011


  • Microsoft has 1.9% of the smartphone market share

        • Smaller market share than something called Bada
        • Should I even continue with this talk about Windows Phone 7?
        • Similar approach to Android with many devices available
        • IDC predict that it will have 20% market share by 2015
        • 20% is unlikely but it’s market share will increase in my opinion




Sunday, 22 April 2012
Smartphone OS market share 2011




Sunday, 22 April 2012
Windows Phone 7 Introduction


  • The smartphone from Microsoft

        • First released in late 2010 with 7 updates since then
        • Based on Windows Embedded Compact v6 and v7
        • Minimum “tough but fair” hardware requirements
        • Apps only available via the Windows Phone Marketplace
        • Specifically aimed at the consumer market not enterprise




Sunday, 22 April 2012
Windows Phone 7 Introduction




Sunday, 22 April 2012
Windows Phone 7 Introduction


  • .NET Compact Framework

        • Version of the .NET framework for resource constrained devices
        • Some of the same classes and some mobile specific ones
        • Compiler translates your code into Intermediate Language
        • Apps are JIT compiled and executed by the .NET CLR
        • Only managed .NET code allowed in your apps*




Sunday, 22 April 2012
Windows Phone 7 Introduction
                        private void button1_Click(object sender, RoutedEventArgs e)
                                {
                                    MessageBox.Show("Hello BSides London!");
                                }




Sunday, 22 April 2012
Windows Phone 7 Introduction
                        private void button1_Click(object sender, RoutedEventArgs e)
                                {
                                    MessageBox.Show("Hello BSides London!");
                                }




                                            C# Compiler




Sunday, 22 April 2012
Windows Phone 7 Introduction
                        private void button1_Click(object sender, RoutedEventArgs e)
                                {
                                    MessageBox.Show("Hello BSides London!");
                                }




                                            C# Compiler



                                              Managed
                                               Module




Sunday, 22 April 2012
Windows Phone 7 Introduction
                        private void button1_Click(object sender, RoutedEventArgs e)
                                {
                                    MessageBox.Show("Hello BSides London!");
                                }




                                            C# Compiler



                                              Managed
                                               Module



                                              .NET CLR


Sunday, 22 April 2012
Windows Phone 7 Introduction


  • Windows Phone 7 Kernel Architecture

        • 32bit OS that runs inside a 4GB virtual address space
        • 2GB allocated to the kernel and 2GB to process executing




Sunday, 22 April 2012
Windows Phone 7 Introduction


  • Windows Phone 7 Kernel Architecture

        • 32bit OS that runs inside a 4GB virtual address space
        • 2GB allocated to the kernel and 2GB to process executing
        • That isn’t quite true, the process executing only gets 1GB
        • 1GB is for components commonly mapped into all processes




Sunday, 22 April 2012
Windows Phone 7 Introduction


  • Windows Phone 7 Kernel Architecture
                                         APPLICATIONS
Space
 User




            TELSHELL.EXE       UDEVICES.EXE    SERVICESD.EXE      CPROG.EXE



                        COREDLL/WINSOCK/COMMCRL/WININET
                                              kCoreDLL.DLL
          KERNEL.DLL
Kernel
Space




                           FILESYS.DLL                              Device.DLL
                                            GWES        Network
             OAL.EXE
                          FSDMGR.DLL                                  Drivers

                                          Hardware
Sunday, 22 April 2012
Windows Phone 7 Introduction

                                Process Code
   Process
    Space
               2GB


                                  User DLLs


                             Memory Mapped Files



                                   GWES
   Kernel
   Space




                                   Drivers
               2GB




                                 File System

                                   Kernel


Sunday, 22 April 2012
Windows Phone 7 Introduction

                             Shared System Heap
                                   256MB




                                                   processes
                                                   across all
                                                   Common
                             RAM Backed Mapfiles
                                  256MB
   Process
   Memory




                              Shared User DLLs
               2GB




                                   512MB




                                                   Private to

                                                    process
                                                     each
                                Process Space
                               1GB per process




Sunday, 22 April 2012
Windows Phone 7 Platform Security


  • Windows Phone 7 Security Model

        • Chambers concept to enforce app isolation and least privilege
        • The chambers provide a security boundary to restrict the apps
        • Four chambers and apps run in one of them




Sunday, 22 April 2012
Windows Phone 7 Platform Security


  • Windows Phone 7 Security Model

        • Chambers concept to enforce app isolation and least privilege
        • The chambers provide a security boundary to restrict the apps
        • Four chambers and apps run in one of them
        • Three chambers have fixed permission sets




Sunday, 22 April 2012
Windows Phone 7 Platform Security


  • Windows Phone 7 Security Model

        • Chambers concept to enforce app isolation and least privilege
        • The chambers provide a security boundary to restrict the apps
        • Four chambers and apps run in one of them
        • Three chambers have fixed permission sets
        • The fourth chamber is capabilities based




Sunday, 22 April 2012
Windows Phone 7 Platform Security


       Trusted Computing
          Base (TCB)


          Elevated Rights        Fixed permissions
          Chamber (ERC)


          Standard Rights
          Chamber (SRC)


          Least Privileged
                                 Capabilities based
          Chamber (LPC)

Sunday, 22 April 2012
Windows Phone 7 Platform Security


       Trusted Computing
          Base (TCB)

  • The kernel and kernel-mode drivers run in the TCB chamber
  • Allows processes to have unrestricted access to most resources
  • The TCB chamber can modify policy and enforce the security model
  • Only Microsoft can add signed software to the TCB chamber




Sunday, 22 April 2012
Windows Phone 7 Platform Security


          Elevated Rights
          Chamber (ERC)

  • User-mode drivers and services runs in this chamber
  • Can access all resources except security policy
  • Intended for services and user-mode drivers
  • Only Microsoft can add signed software to the ERC chamber




Sunday, 22 April 2012
Windows Phone 7 Platform Security


          Standard Rights
          Chamber (SRC)

  • The default chamber for pre-installed MS and OEM applications
  • Apps that do not provide device-wide services run in the SRC




Sunday, 22 April 2012
Windows Phone 7 Platform Security


          Least Privileged
          Chamber (LPC)

  • The default chamber for all non-Microsoft applications
  • Least Privileged Chambers are configured using capabilities
  • Capabilities listed in applications WMAppManifest.xml file




Sunday, 22 April 2012
Windows Phone 7 Platform Security


  • Windows Phone 7 Application Capabilities

        • Application capabilities are features that an app uses
        • Apps request permission to access protected APIs during the
          deployment process
        • Default app manifest file includes a list of all the capabilities*
        • WP7 grants security permissions based on the contents of your
          WMAppManifest.xml file*
        • Not everything your app does needs a capability defined




Sunday, 22 April 2012
Windows Phone 7 Platform Security


  • Windows Phone 7 Application Capabilities

        • Capability checks are enforced at runtime
        • Permission set for the apps LPC is created based on the
          capabilities
        • Requests for other resources == UnauthorizedAccessException
        • This exception occurs when the access is attempted not when
          the app is executed




Sunday, 22 April 2012
Windows Phone 7 Platform Security




Sunday, 22 April 2012
Windows Phone 7 Platform Security


  • Windows Phone 7 Capabilities Detection Demo




Sunday, 22 April 2012
Windows Phone 7 Platform Security


  • Windows Phone 7 Application Signing

        • Apart from developer unlocked devices apps must be signed
        • Microsoft automatically signs approved apps
        • Apps must have a valid Microsoft signature to be installed




Sunday, 22 April 2012
Sunday, 22 April 2012
Windows Phone 7 Platform Security


  • Windows Phone 7 Application Sandboxing

        • Apps execute within a restricted LPC as we saw earlier
        • Cannot communicate with other apps on the phone
        • Sandboxed apps aren’t allowed to run in the background
        • No access to native code from within the sandbox
        • All I/O operations are restricted to per app Isolated Storage




Sunday, 22 April 2012
Windows Phone 7 Platform Security


  • Windows Phone 7 Application Isolated Storage

        • Per app Isolated Storage allows apps to keep data “private”
        • Very similar to Isolated Storage in Silverlight
        • No direct access to the file system
        • No access to other apps Isolated Storage
        • Three different ways to use your apps Isolated Storage




Sunday, 22 April 2012
Windows Phone 7 Platform Security




Sunday, 22 April 2012
Windows Phone 7 Application Security


  • Windows Phone 7 Application Security

        • Mobile application security introduces almost no new issues
        • Forget about specific vulnerabilities for one minute
        • Think about the root causes of vulnerabilities, I’ll give you a hand




Sunday, 22 April 2012
Windows Phone 7 Application Security


  •   Input Validation
  •   Output Validation
  •   Error Handling
  •   Authentication and Authorisation
  •   Secure Storage
  •   Secure Communications
  •   Session Management
  •   Secure Resource Access
  •   Auditing and Logging
  •   Privacy
Sunday, 22 April 2012
Windows Phone 7 Application Security


  • Windows Phone 7 Application Security

        • Mobile application security introduces almost no new issues
        • Forget about specific vulnerabilities for one minute
        • Think about the root causes of vulnerabilities, I’ll give you a hand
        • From that list what do you think the top 3 are?




Sunday, 22 April 2012
Windows Phone 7 Application Security


  • Windows Phone 7 Application Security

        • Mobile application security introduces almost no new issues
        • Forget about specific vulnerabilities for one minute
        • Think about the root causes of vulnerabilities, I’ll give you a hand
        • From that list what do you think the top 3 are?
        • My top 3 are:
               • Secure Storage
               • Authentication and Authorisation
               • Secure Resource Access/Privacy



Sunday, 22 April 2012
Windows Phone 7 Application Security


  • OWASP Top 10 Mobile Risks

        • I compared the OWASP top 10 mobile risks to my list
        • 50% Secure Storage/Secure Communications
        • 20% Authentication and Authorisation
        • 0% Privacy*




Sunday, 22 April 2012
Windows Phone 7 Application Security


  • OWASP Mobile Controls

        • Lists the mobile app security controls you should implement
        • I compared each control to the list I showed you, guess what?
        • 26% Secure Storage
        • 16% Authentication and Authorisation
        • 16% Secure Resource Access*/Secure Communications




Sunday, 22 April 2012
Windows Phone 7 Application Security


  • My top 3 in the real world

        • Secure Storage: Facebook, Citibank, LinkedIn, Google Wallet
        • A&A: Foodspotting, Google Wallet, Google (multiple apps)
        • SRA/Privacy: Path, Hipster, Carrier IQ, Ad Libraries




Sunday, 22 April 2012
Windows Phone 7 Application Security


  • My top 3 in the real world

        • Secure Storage: Facebook, Citibank, LinkedIn, Google Wallet
        • A&A: Foodspotting, Google Wallet, Google (multiple apps)
        • SRA/Privacy: Path, Hipster, Carrier IQ, Ad Libraries
        • This doesn’t mean we can ignore all of the other issues




Sunday, 22 April 2012
Windows Phone 7 Application Security


  • Preventing the top 3 in your WP7 apps

        • I can’t cover every principle in this talk
        • With that in mind I'm grouping them to make a "new" top 3
        • Data Security - Secure Storage and Communications




Sunday, 22 April 2012
Windows Phone 7 Application Security


  • Preventing the top 3 in your WP7 apps

        • I can’t cover every principle in this talk
        • With that in mind I'm grouping them to make a "new" top 3
        • Data Security - Secure Storage and Communications
        • Authentication and Authorisation




Sunday, 22 April 2012
Windows Phone 7 Application Security


  • Preventing the top 3 in your WP7 apps

        • I can’t cover every principle in this talk
        • With that in mind I'm grouping them to make a "new" top 3
        • Data Security - Secure Storage and Communications
        • Authentication and Authorisation
        • Data Access/Privacy




Sunday, 22 April 2012
Windows Phone 7 Application Security


  • Windows Phone 7 Data Security

        • Never store data on the device if it really isn’t needed
        • WP7 allows us to encrypt data and databases
        • Only new databases can be encrypted but very easy to do




Sunday, 22 April 2012
Windows Phone 7 Application Security


  • Windows Phone 7 Data Security

        • Never store data on the device if it really isn’t needed
        • WP7 allows us to encrypt data and databases
        • Only new databases can be encrypted but very easy to do
        • DPAPI is used for file/password/pin etc encryption




Sunday, 22 April 2012
Windows Phone 7 Application Security


  • Windows Phone 7 Data Security

        • Never store data on the device if it really isn’t needed
        • WP7 allows us to encrypt data and databases
        • Only new databases can be encrypted but very easy to do
        • DPAPI is used for file/password/pin etc encryption
        • No hashing available and no algorithm selection




Sunday, 22 April 2012
Windows Phone 7 Application Security


  • Windows Phone 7 Data Security

        • The local database encryption is based on a password
        • You create a DB in code and you must include the password
        • The database is encrypted using AES-128




Sunday, 22 April 2012
Windows Phone 7 Application Security


  • Windows Phone 7 Data Security

        • The local database encryption is based on a password
        • You create a DB in code and you must include the password
        • The database is encrypted using AES-128
        • The password is hashed using SHA-256




Sunday, 22 April 2012
Windows Phone 7 Application Security


  • Windows Phone 7 Data Security

        • The local database encryption is based on a password
        • You create a DB in code and you must include the password
        • The database is encrypted using AES-128
        • The password is hashed using SHA-256
        • An encrypted database can be created with two lines of code




Sunday, 22 April 2012
Windows Phone 7 Application Security




   // Create the data context, specify the database file location and password
   DavesDataContext db = new DavesDataContext ("Data Source=isostore:/NinjaSecrets.sdf;Password=NinjaPassword");


   // Create an encrypted database after confirming that it does not exist
   if (!db.DatabaseExists()) db.CreateDatabase();




Sunday, 22 April 2012
Windows Phone 7 Application Security


  • Windows Phone 7 Data Security

        • Saving data to an apps isolated storage is not secure
        • If you want to encrypt data and not a DB you use the DPAPI
        • Use the System.Security.Cryptography.ProtectedData class




Sunday, 22 April 2012
Windows Phone 7 Application Security


  • Windows Phone 7 Data Security

        • Saving data to an apps isolated storage is not secure
        • If you want to encrypt data and not a DB you use the DPAPI
        • Use the System.Security.Cryptography.ProtectedData class
        • Specifically the Protect() and Unprotect() methods




Sunday, 22 April 2012
Windows Phone 7 Application Security


  • Windows Phone 7 Data Security

        • Saving data to an apps isolated storage is not secure
        • If you want to encrypt data and not a DB you use the DPAPI
        • Use the System.Security.Cryptography.ProtectedData class
        • Specifically the Protect() and Unprotect() methods
        • Symmetric encryption (AES) used. Hashing isn’t possible




Sunday, 22 April 2012
Windows Phone 7 Application Security


  • Windows Phone 7 Data Security

        • Every app on a WP7 phone gets its own Encryption Key
        • DPAPI generates and securely stores this for you
        • Calling Protect() or Unprotect() implicitly selects the apps key
        • optionalEntropy parameter can be used to provide extra entropy




Sunday, 22 April 2012
Windows Phone 7 Application Security


  • Encrypted Data Code Sample




Sunday, 22 April 2012
Windows Phone 7 Application Security


  • Windows Phone 7 Data Security

        • Secure Communications is a lot easier!
        • Very little to do with the app code itself in my opinion
        • More to do with good design and a good security code review!
        • Data sent to web services, SQL Azure etc needs protection
        • No client side SSL certs allowed and no VPN functionality




Sunday, 22 April 2012
Windows Phone 7 Application Security


  • Windows Phone 7 Authentication & Authorisation

        • Not just talking about app logon or service authentication
        • Specifically talking about access to data on the device
        • Gaining users authorisation before accessing sensitive data
        • This includes access to users contacts, SMS etc




Sunday, 22 April 2012
Windows Phone 7 Application Security


  • Windows Phone 7 Authentication & Authorisation

        • Not just talking about app logon or service authentication
        • Specifically talking about access to data on the device
        • Gaining users authorisation before accessing sensitive data
        • This includes access to users contacts, SMS etc
        • I know we already "asked" in the WMAppManifest.xml file....




Sunday, 22 April 2012
Windows Phone 7 Application Security


  • Windows Phone 7 Data Access/Privacy

        • Another one which isn’t a platform/framework specific
        • Understand the data accessed by third party libraries
        • Create a privacy policy covering personal data and stick to it!
        • Don’t store historical data on the device beyond required time
        • Audit app communications to check for data leaks




Sunday, 22 April 2012
Windows Phone 7 Application Security


  • Windows Phone App Analyser and Agnitio Demos




Sunday, 22 April 2012
I love questions!




Sunday, 22 April 2012
www.securityninja.co.uk
    http://sourceforge.net/projects/agnitiotool/

                        @securityninja

                        /realexninja

                        /securityninja

                        /realexninja



Sunday, 22 April 2012
QUESTIONS?
              www.securityninja.co.uk
    http://sourceforge.net/projects/agnitiotool/

                        @securityninja

                        /realexninja

                        /securityninja

                        /realexninja



Sunday, 22 April 2012

Weitere ähnliche Inhalte

Was ist angesagt?

Android Development: The Basics
Android Development: The BasicsAndroid Development: The Basics
Android Development: The BasicsMike Desjardins
 
Android and android phones
Android and android phonesAndroid and android phones
Android and android phonesMerries Mapindan
 
Power point activity 2
Power point activity 2Power point activity 2
Power point activity 2ELaii Dancel
 
A first look_at_google_android
A first look_at_google_androidA first look_at_google_android
A first look_at_google_androidThai Kt
 
Android & Android Phones
Android & Android PhonesAndroid & Android Phones
Android & Android Phonesaikxmangubat
 
Android ! BATRA COMPUTRE CENTER
Android ! BATRA COMPUTRE CENTERAndroid ! BATRA COMPUTRE CENTER
Android ! BATRA COMPUTRE CENTERjatin batra
 
Android | Xamarin | Mobile Application development
Android | Xamarin | Mobile Application developmentAndroid | Xamarin | Mobile Application development
Android | Xamarin | Mobile Application developmentKrishnaMildain
 
Android and android phones
Android and android phonesAndroid and android phones
Android and android phonescarizzapantangco
 
Android (Types, Feature,Application etc..)
Android (Types, Feature,Application etc..)Android (Types, Feature,Application etc..)
Android (Types, Feature,Application etc..)Coder Tech
 
2011 android
2011 android2011 android
2011 androidvpedapolu
 
Powerpointactivity2
Powerpointactivity2Powerpointactivity2
Powerpointactivity2Cj Aquino
 

Was ist angesagt? (20)

Android Development: The Basics
Android Development: The BasicsAndroid Development: The Basics
Android Development: The Basics
 
Android and android phones
Android and android phonesAndroid and android phones
Android and android phones
 
Power point activity 2
Power point activity 2Power point activity 2
Power point activity 2
 
A first look_at_google_android
A first look_at_google_androidA first look_at_google_android
A first look_at_google_android
 
Android & Android Phones
Android & Android PhonesAndroid & Android Phones
Android & Android Phones
 
Android
AndroidAndroid
Android
 
Android ! BATRA COMPUTRE CENTER
Android ! BATRA COMPUTRE CENTERAndroid ! BATRA COMPUTRE CENTER
Android ! BATRA COMPUTRE CENTER
 
Android
AndroidAndroid
Android
 
Android | Xamarin | Mobile Application development
Android | Xamarin | Mobile Application developmentAndroid | Xamarin | Mobile Application development
Android | Xamarin | Mobile Application development
 
Mobile operating systems
Mobile operating systemsMobile operating systems
Mobile operating systems
 
Android and android phones
Android and android phonesAndroid and android phones
Android and android phones
 
Android
AndroidAndroid
Android
 
Android
AndroidAndroid
Android
 
Android by LAlitha
Android by LAlithaAndroid by LAlitha
Android by LAlitha
 
Android (Types, Feature,Application etc..)
Android (Types, Feature,Application etc..)Android (Types, Feature,Application etc..)
Android (Types, Feature,Application etc..)
 
Android
AndroidAndroid
Android
 
2011 android
2011 android2011 android
2011 android
 
Powerpointactivity2
Powerpointactivity2Powerpointactivity2
Powerpointactivity2
 
Windows8
Windows8Windows8
Windows8
 
Android 1
Android 1 Android 1
Android 1
 

Andere mochten auch

The Security Risks of Web 2.0 - DEF CON 17
The Security Risks of Web 2.0 - DEF CON 17The Security Risks of Web 2.0 - DEF CON 17
The Security Risks of Web 2.0 - DEF CON 17Security Ninja
 
Injecting simplicity not SQL BSides Las Vegas 2010
Injecting simplicity not SQL BSides Las Vegas 2010Injecting simplicity not SQL BSides Las Vegas 2010
Injecting simplicity not SQL BSides Las Vegas 2010Security Ninja
 
SecurityBSides London - Jedi mind tricks for building application security pr...
SecurityBSides London - Jedi mind tricks for building application security pr...SecurityBSides London - Jedi mind tricks for building application security pr...
SecurityBSides London - Jedi mind tricks for building application security pr...Security Ninja
 
Owasp talk-november-08
Owasp talk-november-08Owasp talk-november-08
Owasp talk-november-08Security Ninja
 
The Principles of Secure Development - BSides Las Vegas 2009
The Principles of Secure Development - BSides Las Vegas 2009The Principles of Secure Development - BSides Las Vegas 2009
The Principles of Secure Development - BSides Las Vegas 2009Security Ninja
 
Dennis Clark & RYAN SEACREST - morning show magic
Dennis Clark & RYAN SEACREST - morning show magicDennis Clark & RYAN SEACREST - morning show magic
Dennis Clark & RYAN SEACREST - morning show magicMyRadioFashion
 
SecurityBSides las vegas - Agnitio
SecurityBSides las vegas - AgnitioSecurityBSides las vegas - Agnitio
SecurityBSides las vegas - AgnitioSecurity Ninja
 
Injecting simplicity not SQL RSA Europe 2010
Injecting simplicity not SQL RSA Europe 2010Injecting simplicity not SQL RSA Europe 2010
Injecting simplicity not SQL RSA Europe 2010Security Ninja
 
SecurityBSides London - Agnitio: it's static analysis but not as we know it
SecurityBSides London - Agnitio: it's static analysis but not as we know itSecurityBSides London - Agnitio: it's static analysis but not as we know it
SecurityBSides London - Agnitio: it's static analysis but not as we know itSecurity Ninja
 

Andere mochten auch (9)

The Security Risks of Web 2.0 - DEF CON 17
The Security Risks of Web 2.0 - DEF CON 17The Security Risks of Web 2.0 - DEF CON 17
The Security Risks of Web 2.0 - DEF CON 17
 
Injecting simplicity not SQL BSides Las Vegas 2010
Injecting simplicity not SQL BSides Las Vegas 2010Injecting simplicity not SQL BSides Las Vegas 2010
Injecting simplicity not SQL BSides Las Vegas 2010
 
SecurityBSides London - Jedi mind tricks for building application security pr...
SecurityBSides London - Jedi mind tricks for building application security pr...SecurityBSides London - Jedi mind tricks for building application security pr...
SecurityBSides London - Jedi mind tricks for building application security pr...
 
Owasp talk-november-08
Owasp talk-november-08Owasp talk-november-08
Owasp talk-november-08
 
The Principles of Secure Development - BSides Las Vegas 2009
The Principles of Secure Development - BSides Las Vegas 2009The Principles of Secure Development - BSides Las Vegas 2009
The Principles of Secure Development - BSides Las Vegas 2009
 
Dennis Clark & RYAN SEACREST - morning show magic
Dennis Clark & RYAN SEACREST - morning show magicDennis Clark & RYAN SEACREST - morning show magic
Dennis Clark & RYAN SEACREST - morning show magic
 
SecurityBSides las vegas - Agnitio
SecurityBSides las vegas - AgnitioSecurityBSides las vegas - Agnitio
SecurityBSides las vegas - Agnitio
 
Injecting simplicity not SQL RSA Europe 2010
Injecting simplicity not SQL RSA Europe 2010Injecting simplicity not SQL RSA Europe 2010
Injecting simplicity not SQL RSA Europe 2010
 
SecurityBSides London - Agnitio: it's static analysis but not as we know it
SecurityBSides London - Agnitio: it's static analysis but not as we know itSecurityBSides London - Agnitio: it's static analysis but not as we know it
SecurityBSides London - Agnitio: it's static analysis but not as we know it
 

Ähnlich wie SecurityBSides London - windows phone 7

android architecture
android architectureandroid architecture
android architectureAashita Gupta
 
Knowledge about android operating system
Knowledge about android operating systemKnowledge about android operating system
Knowledge about android operating systemRachna Beegun
 
Android Code Camp 2012 - eng
Android Code Camp 2012 - engAndroid Code Camp 2012 - eng
Android Code Camp 2012 - engneunet
 
Power Point Presentaton on Android Operating system
Power Point Presentaton on Android Operating systemPower Point Presentaton on Android Operating system
Power Point Presentaton on Android Operating systemSukanta Biswas
 
Andriod (operating system)
Andriod (operating system)Andriod (operating system)
Andriod (operating system)sai praneeth
 
mobile application development mobile application development
mobile application development mobile application developmentmobile application development mobile application development
mobile application development mobile application developmentKamrankhan925215
 
ANDROID technology
ANDROID technologyANDROID technology
ANDROID technologyMe CREATIONS
 
Review On Google Android a Mobile Platform
Review On Google Android a Mobile PlatformReview On Google Android a Mobile Platform
Review On Google Android a Mobile PlatformIOSR Journals
 
Presentation on Android operating system
Presentation on Android operating systemPresentation on Android operating system
Presentation on Android operating systemSalma Begum
 
IRJET - A Literature Review on Android -A Mobile Operating System
IRJET -  	  A Literature Review on Android -A Mobile Operating SystemIRJET -  	  A Literature Review on Android -A Mobile Operating System
IRJET - A Literature Review on Android -A Mobile Operating SystemIRJET Journal
 
presentation2-141101015616-conversion-gate01.pdf
presentation2-141101015616-conversion-gate01.pdfpresentation2-141101015616-conversion-gate01.pdf
presentation2-141101015616-conversion-gate01.pdfimau6
 

Ähnlich wie SecurityBSides London - windows phone 7 (20)

Android
Android Android
Android
 
Presentation1
Presentation1Presentation1
Presentation1
 
android architecture
android architectureandroid architecture
android architecture
 
Knowledge about android operating system
Knowledge about android operating systemKnowledge about android operating system
Knowledge about android operating system
 
Windows mobile
Windows mobileWindows mobile
Windows mobile
 
Android Code Camp 2012 - eng
Android Code Camp 2012 - engAndroid Code Camp 2012 - eng
Android Code Camp 2012 - eng
 
Power Point Presentaton on Android Operating system
Power Point Presentaton on Android Operating systemPower Point Presentaton on Android Operating system
Power Point Presentaton on Android Operating system
 
Comparative Study Of Android VS Windows Phone
Comparative Study Of  Android  VS  Windows PhoneComparative Study Of  Android  VS  Windows Phone
Comparative Study Of Android VS Windows Phone
 
What is Android
What is Android What is Android
What is Android
 
Andriod (operating system)
Andriod (operating system)Andriod (operating system)
Andriod (operating system)
 
mobile application development mobile application development
mobile application development mobile application developmentmobile application development mobile application development
mobile application development mobile application development
 
ANDROID technology
ANDROID technologyANDROID technology
ANDROID technology
 
Review On Google Android a Mobile Platform
Review On Google Android a Mobile PlatformReview On Google Android a Mobile Platform
Review On Google Android a Mobile Platform
 
Chapter1
Chapter1Chapter1
Chapter1
 
Presentation on Android operating system
Presentation on Android operating systemPresentation on Android operating system
Presentation on Android operating system
 
IRJET - A Literature Review on Android -A Mobile Operating System
IRJET -  	  A Literature Review on Android -A Mobile Operating SystemIRJET -  	  A Literature Review on Android -A Mobile Operating System
IRJET - A Literature Review on Android -A Mobile Operating System
 
Android
AndroidAndroid
Android
 
AndroidOverview
AndroidOverviewAndroidOverview
AndroidOverview
 
Mobile app
Mobile appMobile app
Mobile app
 
presentation2-141101015616-conversion-gate01.pdf
presentation2-141101015616-conversion-gate01.pdfpresentation2-141101015616-conversion-gate01.pdf
presentation2-141101015616-conversion-gate01.pdf
 

Mehr von Security Ninja

The Realex Payments Application Story
The Realex Payments Application StoryThe Realex Payments Application Story
The Realex Payments Application StorySecurity Ninja
 
OWASP Birmingham - Mobile Application Security
OWASP Birmingham - Mobile Application SecurityOWASP Birmingham - Mobile Application Security
OWASP Birmingham - Mobile Application SecuritySecurity Ninja
 
BruCON Agnitio Workshop
BruCON Agnitio WorkshopBruCON Agnitio Workshop
BruCON Agnitio WorkshopSecurity Ninja
 
Hack in Paris - Agnitio
Hack in Paris - AgnitioHack in Paris - Agnitio
Hack in Paris - AgnitioSecurity Ninja
 
The Principles of Secure Development - Epicenter Dublin
The Principles of Secure Development - Epicenter DublinThe Principles of Secure Development - Epicenter Dublin
The Principles of Secure Development - Epicenter DublinSecurity Ninja
 
Application security and PCI DSS
Application security and PCI DSSApplication security and PCI DSS
Application security and PCI DSSSecurity Ninja
 
Developing secure web applications
Developing secure web applicationsDeveloping secure web applications
Developing secure web applicationsSecurity Ninja
 
The Principles of Secure Development
The Principles of Secure DevelopmentThe Principles of Secure Development
The Principles of Secure DevelopmentSecurity Ninja
 

Mehr von Security Ninja (9)

Hack in Paris 2013
Hack in Paris 2013Hack in Paris 2013
Hack in Paris 2013
 
The Realex Payments Application Story
The Realex Payments Application StoryThe Realex Payments Application Story
The Realex Payments Application Story
 
OWASP Birmingham - Mobile Application Security
OWASP Birmingham - Mobile Application SecurityOWASP Birmingham - Mobile Application Security
OWASP Birmingham - Mobile Application Security
 
BruCON Agnitio Workshop
BruCON Agnitio WorkshopBruCON Agnitio Workshop
BruCON Agnitio Workshop
 
Hack in Paris - Agnitio
Hack in Paris - AgnitioHack in Paris - Agnitio
Hack in Paris - Agnitio
 
The Principles of Secure Development - Epicenter Dublin
The Principles of Secure Development - Epicenter DublinThe Principles of Secure Development - Epicenter Dublin
The Principles of Secure Development - Epicenter Dublin
 
Application security and PCI DSS
Application security and PCI DSSApplication security and PCI DSS
Application security and PCI DSS
 
Developing secure web applications
Developing secure web applicationsDeveloping secure web applications
Developing secure web applications
 
The Principles of Secure Development
The Principles of Secure DevelopmentThe Principles of Secure Development
The Principles of Secure Development
 

Kürzlich hochgeladen

"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 

Kürzlich hochgeladen (20)

"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 

SecurityBSides London - windows phone 7

  • 1. David Rook Windows Phone 7 Security SecurityBSides London Sunday, 22 April 2012
  • 2. if (slide == introduction) System.out.println("I’m David Rook"); • Application Security Lead, Realex Payments, Dublin CISSP, CISA, GCIH and many other acronyms • Security Ninja (@securityninja) • Speaker at developer and security conferences • Microsoft Developer Security MVP • Developed and released Agnitio and the WPAA Sunday, 22 April 2012
  • 3. Agenda • Smartphones and apps - big numbers, little security? • Windows Phone 7 introduction • Windows Phone 7 platform security • Windows Phone 7 application security • Security reviewing Windows Phone 7 apps Sunday, 22 April 2012
  • 4. Mobile device sales 2011 472 million Smartphones 31% Mobile 69% 1.3 billion Source: http://www.gartner.com/it/page.jsp?id=1924314 Sunday, 22 April 2012
  • 5. Smartphone OS market share 2011 Microsoft 2% RIM 9% Symbian 12% Android 51% iOS 24% Source: http://www.gartner.com/it/page.jsp?id=1924314 Sunday, 22 April 2012
  • 6. Smartphone OS market share 2011 • Microsoft has 1.9% of the smartphone market share • Smaller market share than something called Bada Sunday, 22 April 2012
  • 7. Smartphone OS market share 2011 Sunday, 22 April 2012
  • 8. Smartphone OS market share 2011 • Microsoft has 1.9% of the smartphone market share • Smaller market share than something called Bada • Should I even continue with this talk about Windows Phone 7? Sunday, 22 April 2012
  • 9. Smartphone OS market share 2011 • Microsoft has 1.9% of the smartphone market share • Smaller market share than something called Bada • Should I even continue with this talk about Windows Phone 7? • Similar approach to Android with many devices available Sunday, 22 April 2012
  • 10. Smartphone OS market share 2011 Sunday, 22 April 2012
  • 11. Smartphone OS market share 2011 • Microsoft has 1.9% of the smartphone market share • Smaller market share than something called Bada • Should I even continue with this talk about Windows Phone 7? • Similar approach to Android with many devices available • IDC predict that they will have 20% market share by 2015 Sunday, 22 April 2012
  • 12. Smartphone OS market share 2011 Sunday, 22 April 2012
  • 13. Smartphone OS market share 2011 • Microsoft has 1.9% of the smartphone market share • Smaller market share than something called Bada • Should I even continue with this talk about Windows Phone 7? • Similar approach to Android with many devices available • IDC predict that it will have 20% market share by 2015 • 20% is unlikely but it’s market share will increase in my opinion Sunday, 22 April 2012
  • 14. Smartphone OS market share 2011 Sunday, 22 April 2012
  • 15. Windows Phone 7 Introduction • The smartphone from Microsoft • First released in late 2010 with 7 updates since then • Based on Windows Embedded Compact v6 and v7 • Minimum “tough but fair” hardware requirements • Apps only available via the Windows Phone Marketplace • Specifically aimed at the consumer market not enterprise Sunday, 22 April 2012
  • 16. Windows Phone 7 Introduction Sunday, 22 April 2012
  • 17. Windows Phone 7 Introduction • .NET Compact Framework • Version of the .NET framework for resource constrained devices • Some of the same classes and some mobile specific ones • Compiler translates your code into Intermediate Language • Apps are JIT compiled and executed by the .NET CLR • Only managed .NET code allowed in your apps* Sunday, 22 April 2012
  • 18. Windows Phone 7 Introduction private void button1_Click(object sender, RoutedEventArgs e)         {             MessageBox.Show("Hello BSides London!");         } Sunday, 22 April 2012
  • 19. Windows Phone 7 Introduction private void button1_Click(object sender, RoutedEventArgs e)         {             MessageBox.Show("Hello BSides London!");         } C# Compiler Sunday, 22 April 2012
  • 20. Windows Phone 7 Introduction private void button1_Click(object sender, RoutedEventArgs e)         {             MessageBox.Show("Hello BSides London!");         } C# Compiler Managed Module Sunday, 22 April 2012
  • 21. Windows Phone 7 Introduction private void button1_Click(object sender, RoutedEventArgs e)         {             MessageBox.Show("Hello BSides London!");         } C# Compiler Managed Module .NET CLR Sunday, 22 April 2012
  • 22. Windows Phone 7 Introduction • Windows Phone 7 Kernel Architecture • 32bit OS that runs inside a 4GB virtual address space • 2GB allocated to the kernel and 2GB to process executing Sunday, 22 April 2012
  • 23. Windows Phone 7 Introduction • Windows Phone 7 Kernel Architecture • 32bit OS that runs inside a 4GB virtual address space • 2GB allocated to the kernel and 2GB to process executing • That isn’t quite true, the process executing only gets 1GB • 1GB is for components commonly mapped into all processes Sunday, 22 April 2012
  • 24. Windows Phone 7 Introduction • Windows Phone 7 Kernel Architecture APPLICATIONS Space User TELSHELL.EXE UDEVICES.EXE SERVICESD.EXE CPROG.EXE COREDLL/WINSOCK/COMMCRL/WININET kCoreDLL.DLL KERNEL.DLL Kernel Space FILESYS.DLL Device.DLL GWES Network OAL.EXE FSDMGR.DLL Drivers Hardware Sunday, 22 April 2012
  • 25. Windows Phone 7 Introduction Process Code Process Space 2GB User DLLs Memory Mapped Files GWES Kernel Space Drivers 2GB File System Kernel Sunday, 22 April 2012
  • 26. Windows Phone 7 Introduction Shared System Heap 256MB processes across all Common RAM Backed Mapfiles 256MB Process Memory Shared User DLLs 2GB 512MB Private to process each Process Space 1GB per process Sunday, 22 April 2012
  • 27. Windows Phone 7 Platform Security • Windows Phone 7 Security Model • Chambers concept to enforce app isolation and least privilege • The chambers provide a security boundary to restrict the apps • Four chambers and apps run in one of them Sunday, 22 April 2012
  • 28. Windows Phone 7 Platform Security • Windows Phone 7 Security Model • Chambers concept to enforce app isolation and least privilege • The chambers provide a security boundary to restrict the apps • Four chambers and apps run in one of them • Three chambers have fixed permission sets Sunday, 22 April 2012
  • 29. Windows Phone 7 Platform Security • Windows Phone 7 Security Model • Chambers concept to enforce app isolation and least privilege • The chambers provide a security boundary to restrict the apps • Four chambers and apps run in one of them • Three chambers have fixed permission sets • The fourth chamber is capabilities based Sunday, 22 April 2012
  • 30. Windows Phone 7 Platform Security Trusted Computing Base (TCB) Elevated Rights Fixed permissions Chamber (ERC) Standard Rights Chamber (SRC) Least Privileged Capabilities based Chamber (LPC) Sunday, 22 April 2012
  • 31. Windows Phone 7 Platform Security Trusted Computing Base (TCB) • The kernel and kernel-mode drivers run in the TCB chamber • Allows processes to have unrestricted access to most resources • The TCB chamber can modify policy and enforce the security model • Only Microsoft can add signed software to the TCB chamber Sunday, 22 April 2012
  • 32. Windows Phone 7 Platform Security Elevated Rights Chamber (ERC) • User-mode drivers and services runs in this chamber • Can access all resources except security policy • Intended for services and user-mode drivers • Only Microsoft can add signed software to the ERC chamber Sunday, 22 April 2012
  • 33. Windows Phone 7 Platform Security Standard Rights Chamber (SRC) • The default chamber for pre-installed MS and OEM applications • Apps that do not provide device-wide services run in the SRC Sunday, 22 April 2012
  • 34. Windows Phone 7 Platform Security Least Privileged Chamber (LPC) • The default chamber for all non-Microsoft applications • Least Privileged Chambers are configured using capabilities • Capabilities listed in applications WMAppManifest.xml file Sunday, 22 April 2012
  • 35. Windows Phone 7 Platform Security • Windows Phone 7 Application Capabilities • Application capabilities are features that an app uses • Apps request permission to access protected APIs during the deployment process • Default app manifest file includes a list of all the capabilities* • WP7 grants security permissions based on the contents of your WMAppManifest.xml file* • Not everything your app does needs a capability defined Sunday, 22 April 2012
  • 36. Windows Phone 7 Platform Security • Windows Phone 7 Application Capabilities • Capability checks are enforced at runtime • Permission set for the apps LPC is created based on the capabilities • Requests for other resources == UnauthorizedAccessException • This exception occurs when the access is attempted not when the app is executed Sunday, 22 April 2012
  • 37. Windows Phone 7 Platform Security Sunday, 22 April 2012
  • 38. Windows Phone 7 Platform Security • Windows Phone 7 Capabilities Detection Demo Sunday, 22 April 2012
  • 39. Windows Phone 7 Platform Security • Windows Phone 7 Application Signing • Apart from developer unlocked devices apps must be signed • Microsoft automatically signs approved apps • Apps must have a valid Microsoft signature to be installed Sunday, 22 April 2012
  • 41. Windows Phone 7 Platform Security • Windows Phone 7 Application Sandboxing • Apps execute within a restricted LPC as we saw earlier • Cannot communicate with other apps on the phone • Sandboxed apps aren’t allowed to run in the background • No access to native code from within the sandbox • All I/O operations are restricted to per app Isolated Storage Sunday, 22 April 2012
  • 42. Windows Phone 7 Platform Security • Windows Phone 7 Application Isolated Storage • Per app Isolated Storage allows apps to keep data “private” • Very similar to Isolated Storage in Silverlight • No direct access to the file system • No access to other apps Isolated Storage • Three different ways to use your apps Isolated Storage Sunday, 22 April 2012
  • 43. Windows Phone 7 Platform Security Sunday, 22 April 2012
  • 44. Windows Phone 7 Application Security • Windows Phone 7 Application Security • Mobile application security introduces almost no new issues • Forget about specific vulnerabilities for one minute • Think about the root causes of vulnerabilities, I’ll give you a hand Sunday, 22 April 2012
  • 45. Windows Phone 7 Application Security • Input Validation • Output Validation • Error Handling • Authentication and Authorisation • Secure Storage • Secure Communications • Session Management • Secure Resource Access • Auditing and Logging • Privacy Sunday, 22 April 2012
  • 46. Windows Phone 7 Application Security • Windows Phone 7 Application Security • Mobile application security introduces almost no new issues • Forget about specific vulnerabilities for one minute • Think about the root causes of vulnerabilities, I’ll give you a hand • From that list what do you think the top 3 are? Sunday, 22 April 2012
  • 47. Windows Phone 7 Application Security • Windows Phone 7 Application Security • Mobile application security introduces almost no new issues • Forget about specific vulnerabilities for one minute • Think about the root causes of vulnerabilities, I’ll give you a hand • From that list what do you think the top 3 are? • My top 3 are: • Secure Storage • Authentication and Authorisation • Secure Resource Access/Privacy Sunday, 22 April 2012
  • 48. Windows Phone 7 Application Security • OWASP Top 10 Mobile Risks • I compared the OWASP top 10 mobile risks to my list • 50% Secure Storage/Secure Communications • 20% Authentication and Authorisation • 0% Privacy* Sunday, 22 April 2012
  • 49. Windows Phone 7 Application Security • OWASP Mobile Controls • Lists the mobile app security controls you should implement • I compared each control to the list I showed you, guess what? • 26% Secure Storage • 16% Authentication and Authorisation • 16% Secure Resource Access*/Secure Communications Sunday, 22 April 2012
  • 50. Windows Phone 7 Application Security • My top 3 in the real world • Secure Storage: Facebook, Citibank, LinkedIn, Google Wallet • A&A: Foodspotting, Google Wallet, Google (multiple apps) • SRA/Privacy: Path, Hipster, Carrier IQ, Ad Libraries Sunday, 22 April 2012
  • 51. Windows Phone 7 Application Security • My top 3 in the real world • Secure Storage: Facebook, Citibank, LinkedIn, Google Wallet • A&A: Foodspotting, Google Wallet, Google (multiple apps) • SRA/Privacy: Path, Hipster, Carrier IQ, Ad Libraries • This doesn’t mean we can ignore all of the other issues Sunday, 22 April 2012
  • 52. Windows Phone 7 Application Security • Preventing the top 3 in your WP7 apps • I can’t cover every principle in this talk • With that in mind I'm grouping them to make a "new" top 3 • Data Security - Secure Storage and Communications Sunday, 22 April 2012
  • 53. Windows Phone 7 Application Security • Preventing the top 3 in your WP7 apps • I can’t cover every principle in this talk • With that in mind I'm grouping them to make a "new" top 3 • Data Security - Secure Storage and Communications • Authentication and Authorisation Sunday, 22 April 2012
  • 54. Windows Phone 7 Application Security • Preventing the top 3 in your WP7 apps • I can’t cover every principle in this talk • With that in mind I'm grouping them to make a "new" top 3 • Data Security - Secure Storage and Communications • Authentication and Authorisation • Data Access/Privacy Sunday, 22 April 2012
  • 55. Windows Phone 7 Application Security • Windows Phone 7 Data Security • Never store data on the device if it really isn’t needed • WP7 allows us to encrypt data and databases • Only new databases can be encrypted but very easy to do Sunday, 22 April 2012
  • 56. Windows Phone 7 Application Security • Windows Phone 7 Data Security • Never store data on the device if it really isn’t needed • WP7 allows us to encrypt data and databases • Only new databases can be encrypted but very easy to do • DPAPI is used for file/password/pin etc encryption Sunday, 22 April 2012
  • 57. Windows Phone 7 Application Security • Windows Phone 7 Data Security • Never store data on the device if it really isn’t needed • WP7 allows us to encrypt data and databases • Only new databases can be encrypted but very easy to do • DPAPI is used for file/password/pin etc encryption • No hashing available and no algorithm selection Sunday, 22 April 2012
  • 58. Windows Phone 7 Application Security • Windows Phone 7 Data Security • The local database encryption is based on a password • You create a DB in code and you must include the password • The database is encrypted using AES-128 Sunday, 22 April 2012
  • 59. Windows Phone 7 Application Security • Windows Phone 7 Data Security • The local database encryption is based on a password • You create a DB in code and you must include the password • The database is encrypted using AES-128 • The password is hashed using SHA-256 Sunday, 22 April 2012
  • 60. Windows Phone 7 Application Security • Windows Phone 7 Data Security • The local database encryption is based on a password • You create a DB in code and you must include the password • The database is encrypted using AES-128 • The password is hashed using SHA-256 • An encrypted database can be created with two lines of code Sunday, 22 April 2012
  • 61. Windows Phone 7 Application Security // Create the data context, specify the database file location and password DavesDataContext db = new DavesDataContext ("Data Source=isostore:/NinjaSecrets.sdf;Password=NinjaPassword"); // Create an encrypted database after confirming that it does not exist if (!db.DatabaseExists()) db.CreateDatabase(); Sunday, 22 April 2012
  • 62. Windows Phone 7 Application Security • Windows Phone 7 Data Security • Saving data to an apps isolated storage is not secure • If you want to encrypt data and not a DB you use the DPAPI • Use the System.Security.Cryptography.ProtectedData class Sunday, 22 April 2012
  • 63. Windows Phone 7 Application Security • Windows Phone 7 Data Security • Saving data to an apps isolated storage is not secure • If you want to encrypt data and not a DB you use the DPAPI • Use the System.Security.Cryptography.ProtectedData class • Specifically the Protect() and Unprotect() methods Sunday, 22 April 2012
  • 64. Windows Phone 7 Application Security • Windows Phone 7 Data Security • Saving data to an apps isolated storage is not secure • If you want to encrypt data and not a DB you use the DPAPI • Use the System.Security.Cryptography.ProtectedData class • Specifically the Protect() and Unprotect() methods • Symmetric encryption (AES) used. Hashing isn’t possible Sunday, 22 April 2012
  • 65. Windows Phone 7 Application Security • Windows Phone 7 Data Security • Every app on a WP7 phone gets its own Encryption Key • DPAPI generates and securely stores this for you • Calling Protect() or Unprotect() implicitly selects the apps key • optionalEntropy parameter can be used to provide extra entropy Sunday, 22 April 2012
  • 66. Windows Phone 7 Application Security • Encrypted Data Code Sample Sunday, 22 April 2012
  • 67. Windows Phone 7 Application Security • Windows Phone 7 Data Security • Secure Communications is a lot easier! • Very little to do with the app code itself in my opinion • More to do with good design and a good security code review! • Data sent to web services, SQL Azure etc needs protection • No client side SSL certs allowed and no VPN functionality Sunday, 22 April 2012
  • 68. Windows Phone 7 Application Security • Windows Phone 7 Authentication & Authorisation • Not just talking about app logon or service authentication • Specifically talking about access to data on the device • Gaining users authorisation before accessing sensitive data • This includes access to users contacts, SMS etc Sunday, 22 April 2012
  • 69. Windows Phone 7 Application Security • Windows Phone 7 Authentication & Authorisation • Not just talking about app logon or service authentication • Specifically talking about access to data on the device • Gaining users authorisation before accessing sensitive data • This includes access to users contacts, SMS etc • I know we already "asked" in the WMAppManifest.xml file.... Sunday, 22 April 2012
  • 70. Windows Phone 7 Application Security • Windows Phone 7 Data Access/Privacy • Another one which isn’t a platform/framework specific • Understand the data accessed by third party libraries • Create a privacy policy covering personal data and stick to it! • Don’t store historical data on the device beyond required time • Audit app communications to check for data leaks Sunday, 22 April 2012
  • 71. Windows Phone 7 Application Security • Windows Phone App Analyser and Agnitio Demos Sunday, 22 April 2012
  • 72. I love questions! Sunday, 22 April 2012
  • 73. www.securityninja.co.uk http://sourceforge.net/projects/agnitiotool/ @securityninja /realexninja /securityninja /realexninja Sunday, 22 April 2012
  • 74. QUESTIONS? www.securityninja.co.uk http://sourceforge.net/projects/agnitiotool/ @securityninja /realexninja /securityninja /realexninja Sunday, 22 April 2012