Why Eve and Mallory Love Android An Analysis of Android SSL (In)Security



Similar documents
Why Eve and Mallory Love Android An Analysis of Android SSL (In)Security

Sascha Fahl, Marian Harbach, Matthew Smith. Usable Security and Privacy Lab Leibniz Universität Hannover

The Need for a Usable TLS PKI

SSL implementieren aber sicher!

Is Your SSL Website and Mobile App Really Secure?

AndroSSL: A Platform to Test Android Applications Connection Security

LBSEC.

SSL Considerations for CAS: Planning, Management, and Troubleshooting. Marvin Addison Middleware Services Virginia Tech October 13, 2010

SSL/TLS: The Ugly Truth

Cleaning Encrypted Traffic


Lynn Margaret Batten. IT Security Research Services & Deakin University, Melbourne, Australia. June 2015

Best Practice Guide (SSL Implementation) for Mobile App Development 最 佳 行 事 指 引. Jointly published by. Publication version 1.

You re FREE Guide SSL. (Secure Sockets Layer) webvisions

Security Guide. BlackBerry Enterprise Service 12. for ios, Android, and Windows Phone. Version 12.0

SSL EXPLAINED SSL EXPLAINED

SSL, PKI and Secure Communication

Web Security: Encryption & Authentication

Understanding Digital Certificates and Secure Sockets Layer (SSL)

z/tpf FTP Client Support

Cloud Computing for Education Workshop

PROTECTING DATA IN TRANSIT WITH ENCRYPTION IN M-FILES

BlackBerry Enterprise Service 10. Universal Device Service Version: Administration Guide

Configuring Secure Socket Layer (SSL)

Enabling SSL and Client Certificates on the SAP J2EE Engine

Mobile Application Security

Using EMC Unisphere in a Web Browsing Environment: Browser and Security Settings to Improve the Experience

To Pin or Not to Pin Helping App Developers Bullet Proof Their TLS Connections

Configuration Guide. BlackBerry Enterprise Service 12. Version 12.0

Network Configuration Settings

A Study of SSL Proxy Attacks on Android and ios Mobile Applications

ISY994 Series Network Security Configuration Guide Requires firmware version Requires Java 1.7+

AppConnect FAQ for MobileIron Technology Partners! AppConnect Overview

Implementing Secure Sockets Layer (SSL) on i

An Application Package Configuration Approach to Mitigating Android SSL Vulnerabilities

Setting Up SSL on IIS6 for MEGA Advisor

Stopping secure Web traffic from bypassing your content filter. BLACK BOX

Configuration Guide BES12. Version 12.1

SECURING MOBILE APPLICATIONS

KonyOne Server Prerequisites _ MS SQL Server

Lepide Active Directory Self Service. Configuration Guide. Follow the simple steps given in this document to start working with

Implementing Secure Sockets Layer on iseries

Mobile Application Hacking for Android and iphone. 4-Day Hands-On Course. Syllabus

DMH remote access. Table of Contents. Project : remote_access_dmh Date: 29/05/12 pg. 1

Talk Internet User Guides Controlgate Administrative User Guide

BEGINNER S GUIDE TO SSL CERTIFICATES: Making the best choice when considering your online security options

MobileIron Support. Table of Contents. 1. Introduction. 2. Supported Features. Version November 2015

Auditing the Security and Management of Smart Devices. ISACA Dallas Meeting February 13, 2014

Symantec Mobile Management 7.2 SP3 MR1 Release Notes

White Paper. Anywhere, Any Device File Access with IT in Control. Enterprise File Serving 2.0

CA Service Desk Manager - Mobile Enabler 2.0

Secure Socket Layer (SSL) Machines included: Contents 1: Basic Overview

CHAPTER 7 SSL CONFIGURATION AND TESTING

How to Prevent Secure Web Traffic (HTTPS) from Crippling Your Content Filter. A Cymphonix White Paper

Workday Mobile Security FAQ

BlackBerry Enterprise Service 10. Secure Work Space for ios and Android Version: Security Note

Man-in-the-Middle Attack on T-Mobile Wi-Fi Calling

Chapter 17. Transport-Level Security

Legal notices. Legal notices. For legal notices, see

beginners guide Beginners Guide Certificates the best decision when considering your online security options.

MAC Web Based VPN Connectivity Details and Instructions

Angel Dichev RIG, SAP Labs

Citrix Receiver for Mobile Devices Troubleshooting Guide

Sophos Mobile Control Installation prerequisites form

DEF CON 19: Getting SSLizzard. Nicholas J. Percoco Trustwave SpiderLabs Paul Kehrer Trustwave SSL

The Benefits of SSL Content Inspection ABSTRACT

Cloud Services. Introduction...2 Overview...2. Security considerations Installation...3 Server Configuration...4

Troubleshooting BlackBerry Enterprise Service 10 version Instructor Manual

$920+ GST Paid Annually. e-commerce Website Hosting Service HOSTING:: WHAT YOU GET WORDPRESS:: THEME + PLUG-IN UPDATES

Administration Guide. BlackBerry Enterprise Service 12. Version 12.0

Start the HTTP Administration Server. Sign On to the Administration Server

What s Your HTTPS Grade? A Case Study of HTTPS/SSL at Mid Michigan Community College. Brandon bkish@midmich.edu

Mobile Device Penetration Testing Framework and Platform for the Mobile Device Security Course

Securing the SSL/TLS channel against man-in-the-middle attacks: Future technologies - HTTP Strict Transport Security and Pinning of Certs

Setting Up groov Mobile Apps. Introduction. Setting Up groov Mobile Apps. Using the ios Mobile App

N-CAP Users Guide Everything You Need to Know About Using the Internet! How Electronic Payment Works

Storgrid EFS Access all of your business information securely from any device

Installing an SSL Certificate Provided by a Certificate Authority (CA) on the BlueSecure Controller (BSC)

How To Configure SSL VPN in Cyberoam

Web Application Entity Session Management using the eid Card Frank Cornelis 03/03/2010. Fedict All rights reserved

Secure Transfers. Contents. SSL-Based Services: HTTPS and FTPS 2. Generating A Certificate 2. Creating A Self-Signed Certificate 3

Secure Socket Layer. Introduction Overview of SSL What SSL is Useful For

SSL Guide. (Secure Socket Layer)

END-TO-END SSL SETUP SAP WEB DISPATCHER Helps you to setup the End-To-End SSL Scenario for SAP Web Dispatcher

Device-Centric Authentication and WebCrypto

Secure Web Appliance. SSL Intercept

The increasing popularity of mobile devices is rapidly changing how and where we

Smart Policy - Web Collector. Version 1.1

Remote Desktop Gateway. Accessing a Campus Managed Device (Windows Only) from home.

Integrated SSL Scanning

PowerChute TM Network Shutdown Security Features & Deployment

HTTPS HTTP. ProxySG Web Server. Client. ProxySG TechBrief Reverse Proxy with SSL. 1 Technical Brief

Ciphermail for BlackBerry Quick Start Guide

Generating and Installing SSL Certificates on the Cisco ISA500

Transcription:

Why Eve and Mallory Love Android An Analysis of Android SSL (In)Security Sascha Fahl Marian Harbach Thomas Muders Lars Baumgärtner Bernd Freisleben Matthew Smith

Some Android Facts 330 million devices (as of Q1 2012) 930,000 activations per day (as of Q1 2012) 450,000 apps (as of June 2012) Market Share (Q2 2012) 67% Android ios RIM Symbian Windows Phone Seite 2

Appification There s an App for Everything Seite 3

What do Most Apps Have in Common? They share data over the Internet Some of them secure transfer using: SSL (Secure Sockets Layer protocol) (Transport Layer Security (TLS) protocol) Seite 4

SSL Usage on Android The default Android API implements correct certificate validation. What could possibly go wrong? Seite 5

SSL Usage on Android A server needs a certificate that was signed by a trusted Certificate Authority (~130 pre-installed CAs) Seite 6

SSL Usage on Android A server needs a certificate that was signed by a trusted Certificate Authority (~130 pre-installed CAs) Some are quite strange... Seite 7

SSL Usage on Android A server needs a certificate that was signed by a trusted Certificate Authority (~130 pre-installed CAs) For non-trusted certificates a custom workaround is needed Seite 8

What about using a non-trusted certificate? Q: Does anyone know how to accept a self signed cert in Java on the Android? A code sample would be perfect. A: Use the EasyX509TrustManager library hosted on code.google.com. Q: I am getting an error of javax.net.ssl.sslexception: Not trusted server certificate. I want to simply allow any certificate to work, regardless whether it is or is not in the Android key chain. I have spent 40 hours researching and trying to figure out a workaround for this issue. A: Look at this tutorialhttp ://blog.antoine.li/index.php/2010/10/android-trusting-ssl-certificate stackoverflow.com Seite 9

Our Analysis downloaded 13,500 popular and free Apps from Google s Play Market built MalloDroid which is an androguard extension to analyze possible SSL problems in Android Apps broken TrustManager implementations accept all Hostnames Eve/Mallory Webserver Seite 10

Static Code Analysis Results 92,8 % Apps use INTERNET permission 91,7 % of networking API calls HTTP(S) related 0,8 % exclusively HTTPS URLs 46,2 % mix HTTP and HTTPS 17,28 % of all Apps that use HTTPS include code that fails in SSL certificate validation 1070 include critical code 790 accept all certificates 284 accept all hostnames Seite 11

Trusting all Certificates Correct SSL certificate validation is so easy Only a (costly) trusted CA signed certificate required What some Apps do: Seite 12

Allowing all Hostnames What other Apps do: Check CA signature, but allow mallory.com for google.com Seite 13

TrustManager Implementations 22 different TrustManager implementations NonValidatingTrustManager FakeTrustManager EasyX509TrustManager NaiveTrustManager TrustManager DummyTrustManager SimpleTrustManager AcceptAllTrustManager OpenTrustManager and all turn effective certificate validation off Seite 14

Manual App Testing Results cherry-picked 100 Apps 21 Apps trust all certificates 20 Apps accept all hostnames What we found: Seite 15

Manual App Testing Results 39 185 million affected installs! What we found: Seite 16

BankDroid Swedish banking app Support for ~60 banks/payment services PayPal Steam Wallet Eurocard Swedbank Seite 17

BankDroid - Aftermath 26 out of 41 broken Deliberately broken NO user warning Seite 18

Anti-Virus Zoner AV Anti-Virus App for Android Awarded best free Anti- Virus App for Android by av-test.org Seite 19

Zoner AV Virus signature updates via HTTPS GET The good thing: It uses SSL Unfortunately: The wrong way Does not check the update s authenticity! static&final!hostnameverifier!do_not_verify!=!new!hostnameverifier()!!!! {!!!!!!! public&boolean!verify(string!paramstring,!sslsession!paramsslsession)!! {!!!!!!!!!!!!!return&true;!!!!!!! }!! };! Seite 20

Zoner AV We did the following Seite 21

More Examples Remote Control App Remote Code Injection Unlocking Rental Cars Seite 22

How Do (Good) Apps React to MITMAs? Technically Usability Flickr Facebook Seite 23

Browser Warning Messages All do SSL certificate validation correctly All do SSL certificate validation correctly and warn the user if something and warn goes the user wrong. if something goes wrong. Seite 24

SSL Warning Messages Android Stock Browser All do SSL certificate validation correctly and warn the user if something goes wrong. Seite 25

Online Survey To find out if the Browser s warning messages help the users presented an SSL warning message To see if users know when they are surfing on an SSL protected website half of the participants HTTP half of the participants HTTPS and warn the user if something goes wrong. Seite 26

Online Survey - Results 745 participants 47.5% of non-it experts believed they were using a secure Internet connection...although it was plain HTTP. ~50% had not seen an SSL warning message on their phone before. The risk users were warned against was rated with 2.86 (sd=.94) on a scale between 1 and 5 Many participants stated they did not care about warning messages at all. Seite 27

Our Recommendations Integrate SSL certificate validation testing into the development process Inform the user INTERNET_SSL and INTERNET_PLAIN permission global SSL warning message Move SSL handling to the OS Developers should not have to write code to use SSL SSL via config instead of code (still enough room for error) Seite 28