Mobile Vulnerability Assessment: There's an App for That!

Similar documents
The Real Deal of Android Device Security: The Third Party Collin Mulliner and Jon Oberheide. CanSecWest 2014

The Case for SE Android. Stephen Smalley Trust Mechanisms (R2X) National Security Agency

Don't Root Robots: Breaks in Google's Android platform - Jon Oberheide. Slide # 1

CERTIFIGATE. Front Door Access to Pwning hundreds of Millions of Androids. Avi Bashan. Ohad Bobrov

PatchDroid: Scalable Third-Party Security Patches for Android Devices

Defending Behind The Device Mobile Application Risks

Android Security Data from the Frontlines

Mobile Exploit Intelligence Project

Smartphone Pentest Framework v0.1. User Guide

Tutorial on Smartphone Security

Smartphone Security. A Holistic view of Layered Defenses. David M. Wheeler, CISSP, CSSLP, GSLC. (C) 2012 SecureComm, Inc. All Rights Reserved

Vulnerability Management in Software: Before Patch Tuesday KYMBERLEE PRICE BUGCROWD

Virtualization System Security

Enterprise Mobility Report 08/2015. Creation date: Vlastimil Turzík

Top 8 Steps for Effective Mobile Security

THOUSANDS OF APPS CAN'T BE WRONG: MOBILE APPLICATION ANALYSIS AT SCALE

Moderator: Benjamin McGee, CISSP Cyber Security Lead SAIC

Security Enhanced (SE) Android: Bringing Flexible MAC to Android

Three Ways to Secure Virtual Applications

Why You Need an Application Security Program

Amazon AWS Security Basics

Remote 2014 Monitoring & Control. Securing Mobile Devices November 7 th 2014

DETERMINATION OF THE PERFORMANCE

Mobiliti. Certified Device List MR5 Release. Last Updated November 21, ASP Version

Taking a Proactive Approach to Linux Server Patch Management Linux server patching

With so many web applications, universities have a huge attack surface often without the IT security budgets or influence to back it up.

Crosscheck Web Services Patent Pending Automated SOA Compliance and Security Assessment

Mobile Security Attacks

Streamlining Application Vulnerability Management: Communication Between Development and Security Teams

BUSINESS PROTECTION. PERSONAL PRIVACY. ONE DEVICE.

DOES OPEN MEAN VULNERABLE?

How To Fix A Problem On A Safesos (Mozilla) On A Pc Or Mac Or Mac) On Pc Or Ipad (For Pc Or Pc) On Your Pc Or Laptop On A Mac Or Ipa (For Mac Or Pc

BYOD Guidance: BlackBerry Secure Work Space

Beauty or the Beast: The tale of your mobile app. Rob Kwok, Crittercism

Fourteenforty Research Institute, Inc.

Analysis of advanced issues in mobile security in android operating system

APPLICATION SECURITY RESPONSE: WHEN HACKERS COME A-KNOCKING

Practical Attacks against Mobile Device Management Solutions

How To Get A Text Banking On A Cell Phone On Border State Bank Mobile.Com

Windows Phone 8 Security deep dive

The Virtualization Practice

Threat Modelling for Web Application Deployment. Ivan Ristic (Thinking Stone)

Insecure Internal Storage in Android

Penetration Testing Walkthrough

Business Protection. Personal Privacy. One Device. Enhanced Security for Your Network and Business Intelligence.

Security from the Cloud

Intro to Patching. Thomas Cameron, Chief Architect, Western US, Red Hat twitter: thomasdcameron IRC: choirboy on Freenode

Mobile NFC 101. Presenter: Nick von Dadelszen Date: 31st August 2012 Company: Lateral Security (IT) Services Limited

CS 356 Lecture 25 and 26 Operating System Security. Spring 2013

Reverse Engineering and Computer Security

AGENDA. Background. The Attack Surface. Case Studies. Binary Protections. Bypasses. Conclusions

The Increasing Threat of Malware for Android Devices. 6 Ways Hackers Are Stealing Your Private Data and How to Stop Them

Android Programming and Security

Hack Your SQL Server Database Before the Hackers Do

Pentesting Mobile Applications

Mobile Application Security Sharing Session May 2013

Virtualized In-Cloud Security Services for Mobile Devices

Security Certification of Third- Parties Applications

Mobile Security. Luther Knight Mobility Management Technical Specialist, Europe IOT IBM Security April 28, 2015.

Android Security - Common attack vectors

Android vs. Apple ios Security Showdown Tom Eston

BYOD: End-to-End Security

From Rivals to BFF: WAF & VA Unite OWASP The OWASP Foundation

PREVENTING ZERO-DAY ATTACKS IN MOBILE DEVICES

"It's a Phone First! How to Test Your Five-star Mobile Apps"

Dirty use of USSD codes in cellular networks

A Guide to Consumerization & Building a BYOD Policy June 2012

SECURITY ASPECTS OF OPEN SOURCE

Security and the Smartphone Revolution

Improving Web Vulnerability Scanning. Daniel Zulla

Comparing Application Security Tools

Mandatory Access Control in Linux

Network and Host-based Vulnerability Assessment

Harness Your Robot Army for Total Vulnerability Management

Practical Mac OS X Insecurity. Security Concepts, Problems and Exploits on your Mac

A Look at a Modern Mobile Security Model:

Improving Visibility into your Vulnerability Management Program

Getting Started with the iscan Online Data Breach Risk Intelligence Platform

1. For each of the 25 questions, multiply each question response risk value (1-5) by the number of times it was chosen by the survey takers.

Introduction Jim Rowland, Senior System Architect and Project Manager Daly

Vulnerability analysis

Enterprise Mobility Report 06/2015. Creation date: Vlastimil Turzík

UEFI Firmware Security Best Practices

APPLICATION SECURITY: ONE SIZE DOESN T FIT ALL

Contents III: Contents II: Contents: Rule Set Based Access Control (RSBAC) 4.2 Model Specifics 5.2 AUTH

Closing Keynote Address: When Business Processes Fly the Coop

Is Your SSL Website and Mobile App Really Secure?

WhitePaper. Private Cloud Computing Essentials

Course: Information Security Management in e-governance. Day 1. Session 5: Securing Data and Operating systems

Kaspersky Security for Mobile

APPLICATION SECURITY: FROM WEB TO MOBILE. DIFFERENT VECTORS AND NEW ATTACK

Telecom Testing and Security Certification. A.K.MITTAL DDG (TTSC) Department of Telecommunication Ministry of Communication & IT

Mobile Application Security Report 2015

LinuxCon #1 OpenVAS Open Vulnerability Scanning Free your vulnerabilities!

BYOD Mobile Device Chart

Android WebKit Development: A cautionary tale. Joe Bowser Nitobi joe.bowser@nitobi.com

SourceFireNext-Generation IPS

Anatomy of a Healthcare Data Breach

Web Application Security Payloads. Andrés Riancho Director of Web Security OWASP AppSec USA Minneapolis

Transcription:

Mobile Vulnerability Assessment: There's an App for That! SEPTEMBER 12 14, 2012 GRAND HYATT, SAN FRANCISCO Truth, Lies and Decisions Moving Forward in an Insecure World Jon Oberheide CTO, Duo Security jono@duosecurity.com Organized by

Introduction Jon Oberheide CTO, Duo Security Today Fun with Android security and mobile vulnerability assessment

Agenda Mobile vulnerability assessment X-Ray for Android Preliminary X-Ray Results Wrap-up

Brief History of Vuln Assessment 1992: Chris Klaus creates the Internet Scanner at Georgia Tech

Modern day VA Present day: Many forms of vulnerability assessment, management, mitigation

What about mobile? Mobile?

Ideal mobile security In a perfect world... Why do we need mobile vulnerability assessment? ASOP: Google ships a secure base platform OEM: Samsung doesn't introduce any vulnerabilities in its customization of Android Carrier: T-Mobile rolls out rapid OTA updates to keep users up to date and patched.

The real world In reality: ASOP: Android base platform is far from perfect OEM: Customizations by device OEMs are a large source of vulnerabilities. Carrier: Updates are not made available for months and sometimes even years. All software has bugs, mobile or otherwise. Here's where mobile differs from PC world.

Disclosure & patching process Third-party developer weeks Google Device OEM Carrier days months months Researcher Public days Attackers days

Challenges in patching Why is mobile patching challenging? Complicated software supply chain Testing, testing, testing Risk of bricking devices Inverted economic incentives

What the carriers say "Patches must be integrated and tested for different platforms to ensure the best possible user experience. Therefore, distribution varies by manufacturer and device." - AT&T

Challenges in mobile VA Mobile device software is different Diverse set of software, hardware, configuration No control of software loadset Want to assess your device's vulnerabilities? Rely on version numbers? Rely on exploitation? Diverse set of devices, many device-specific vulnerabilities Want to patch your device's vulnerabilities? Can't patch the device, unless rooted

Privilege escalation vulnerabilities Why are privilege escalation vulnerabilities important? Android security model Permissions framework, sandboxing (uid/gid) Compromise of browser (or other app)!= full control of device Privilege escalation vulnerabilities Unprivileged code execution Privileged code execution Publicly released to allow users to jaibreak their devices Public exploits reused by mobile malware to root victim's devices Private exploits available, but little need currently

Quick trivia What's wrong with the following code? /* Code intended to run with elevated privileges */ do_stuff_as_privileged(); /* Drop privileges to unprivileged user */ setuid(uid); /* Code intended to run with lower privileges */ do_stuff_as_unprivileged(); Assuming a uid/euid=0 process dropping privileges...

Zimperlich vulnerability Return value not checked! setuid(2) can fail: EAGAIN The uid does not match the current uid and uid brings process over its RLIMIT_NPROC resource limit. Android's zygote does fail if setuid does: err = setuid(uid); if (err < 0) { LOGW("cannot setuid(%d): %s", uid, strerror(errno)); } Fork until limit, when setuid fails, app runs as uid 0!

Android privesc vulns at a glance ASHMEM: Android kernel mods, no mprotect check Exploid: no netlink source check, inherited from udev Gingerbreak: no netlink source check, GOT overwrite Levitator: My_First_Kernel_Module.ko, kmem read/write Mempodroid: inherited from upstream Linux kernel RageAgainstTheCage: no setuid retval check Wunderbar: inherited from upstream Linux kernel Zimperlich: no setuid retval check ZergRush: UAF in libsysutils Mobile vulns are nothing special! Same old mistakes, different platform!

Agenda Mobile vulnerability assessment X-Ray for Android Preliminary X-Ray Results Wrap-up

X-Ray for Android X-Ray for Android First app to perform _actual_ vulnerability assessment on mobile Detects 8 of the most common Android privilege escalation vulnerabilities Works without any special privileges or permissions Freely available for end users to run http://xray.io

Static probes Static probes Can identify vulnerabilities using static analysis Send up vulnerable component (eg. binary, library) to service Disassemble and look for patched/vulnerable code paths libdvm.so result Analyze! X-Ray cloud service

Static probe example: Zimperlich

Dynamic probes Dynamic probes Not all vulnerabilities are in software components we can access Example: kernel vulns, kernel image not accessible by X-Ray Probe locally for vulnerability presence! halp! Execute! liblevitator_v1.so result X-Ray cloud service

Dynamic probe example: Levitator

Agenda Mobile vulnerability assessment X-Ray for Android Preliminary X-Ray Results Wrap-up

X-Ray Launch Launched X-Ray app publicly in late July the week of BlackHat Not in Google Play, but download at http://xray.io Scan results collected from users who downloaded and ran the X-Ray app on their Android device 26,257 devices 1,146 models 140 countries

Scary numbers First number spit out during our analysis 75.8% vulnerable WHOA. But we had some known false positives in the probes. After correcting the FPs: 59.8% vulnerable

Methodology How to extrapolate out to global Android population? Selection bias? Google provides stats on Android versions If we saw 98.8% (1020 / 1032) of 2.2 devices were vulnerable, and 2.2 makes up 15.5% of Android globally, that contributes 15.3% to the total % of vulnerable Android devices. http://developer.android.com/about/dashboards/index.html

Breakdown of data Version bucket Vulnerable (X-Ray) Global population (Google) Vulnerable globally (extrapolated) 1.5 100% 0.2% 0.2% 1.6 100% 0.5% 0.5% 2.1 96.7% 4.2% 4.1% 2.2 98.8% 15.5% 15.3% 2.3 100% 0.3% 0.3% 2.3.3 63% 60.3% 38.1% 3.1 0% 0.5% 0% 3.2 0% 1.8% 0% 4.0 21.4% 0.1% 0.02% 4.0.3 9.6% 15.8% 1.4% 4.1 0% 0.5% 0%

Interesting tidbits: version numbers So, should we use version numbers for VA? Data says...no! Not many earlier version numbers that shouldn't be vulnerable, but are. A lot more later version numbers that should be patched, but are still vulnerable! Patch regressions, bad third-party ROMs, etc

Interesting tidbit: affected devices /* * levitator.c... * The vulnerability affects Android devices with the PowerVR SGX chipset * which includes popular models like the Nexus S and Galaxy S series. The * vulnerability was patched in the Android 2.3.6 OTA update. */ mysql> SELECT COUNT(DISTINCT(model)) FROM results WHERE probe='levitator' AND result='vulnerable'; +------------------------+ COUNT(DISTINCT(model)) +------------------------+ 136 +------------------------+ 1 row in set (0.41 sec) mysql> SELECT DISTINCT(model) FROM results WHERE probe='levitator' AND result='vulnerable' AND model LIKE '%Kindle%' +-------------+ model +-------------+ Kindle Fire +-------------+ 1 row in set (0.43 sec) X-Ray gives global visibility into affected device models

Agenda Mobile vulnerability assessment X-Ray for Android Preliminary X-Ray Results Wrap-up

Lessons learned from X-Ray Slow patching is as big as a problem as many suspected X-Ray demonstrates the problem with hard data Mobile VA techniques can't rely on version numbers Positive identification based on the actual code Mobile patching practices need to change somehow Centralized? Third-party ecosystem?

What's next for X-Ray? Additional vulnerability probes Including non-privesc vulns (I'M LOOKING AT YOU WEBKIT) Long-term vulnerable population tracking Update stats as Google updates the version distribution data Is mobile patching improving over time? Patching?!? Exploit the vuln to gain privilege to patch it! Some challenges: stability, warranties, etc

Next steps This is the biggest problem in mobile security today. More public pressure on the responsible parties Top-down from Google Bottom-up from users and companies Open up platform security to third-parties? Allow enterprises, third-parties to offload patching responsibility Better platform security in general, less vulns to patch

Q&A Q&A Contact Information: Jon Oberheide jono@duosecurity.com @jonoberheide