Cellular Networks and Mobile Computing COMS 6998-1, Fall 2012 Instructor: Li Erran Li

Slides:



Advertisements
Similar presentations
Enabling Secure Internet Access with ISA Server
Advertisements

Why Eve & Mallory Love Android
Staying in Sync with Cloud 2 Device Messaging. About Me Chris Risner Twitter: chrisrisner.
Guess Who’s Texting You? Evaluating the Security of Smartphone Messaging Applications (NDSS Symposium 2012) Sebastian Schrittwieser, Peter Frühwirt, Peter.
Android Security. N-Degree of Separation Applications can be thought as composed by Main Functionality Several Non-functional Concerns Security is a non-functional.
An Evaluation of the Google Chrome Extension Security Architecture
Key Provisioning Use Cases and Requirements 67 th IETF KeyProv BOF – San Diego Mingliang Pei 11/09/2006.
Aurasium: Practical Policy Enforcement for Android Applications R. Xu, H. Saidi and R. Anderson Presented By: Rajat Khandelwal – 2009CS10209 Parikshit.
It’s always better live. MSDN Events Security Best Practices Part 2 of 2 Reducing Vulnerabilities using Visual Studio 2008.
Security of Mobile Applications Vitaly Shmatikov CS 6431.
Assessing the Threat How much money is lost due to cyber crimes? –Estimates range from $100 million to $100s billions –Why the discrepancy? Companies don’t.
Maintaining and Updating Windows Server 2008
Cellular Networks and Mobile Computing COMS , Spring 2013 Instructor: Li Erran Li
Android Security Enforcement and Refinement. Android Applications --- Example Example of location-sensitive social networking application for mobile phones.
FIREWALL TECHNOLOGIES Tahani al jehani. Firewall benefits  A firewall functions as a choke point – all traffic in and out must pass through this single.
Android Security What is out there? Waqar Aziz. Android Market Share - I 2.
CS 153 Design of Operating Systems Spring 2015 Lecture 24: Android OS.
OWASP Mobile Top 10 Why They Matter and What We Can Do
Presentation By Deepak Katta
Android Declassification Infrastructure Matan David Yuval Evron Project Advisor: Roei Schuster 1.
Understanding Android Security Yinshu Wu William Enck, Machigar Ongtang, and PatrickMcDaniel Pennsylvania State University.
Introduction to Application Penetration Testing
A METHODOLOGY FOR EMPIRICAL ANALYSIS OF PERMISSION-BASED SECURITY MODELS AND ITS APPLICATION TO ANDROID.
LEVERAGING UICC WITH OPEN MOBILE API FOR SECURE APPLICATIONS AND SERVICES Ran Zhou 1 9/3/2015.
박 종 혁 컴퓨터 보안 및 운영체제 연구실 Workshop on Mobile Security Technologies (MoST)
Introduction to SQL Server 2000 Security Dave Watts CTO, Fig Leaf Software
All Your Droid Are Belong To Us: A Survey of Current Android Attacks 단국대학교 컴퓨터 보안 및 OS 연구실 김낙영
Enforcing Concurrent Logon Policies with UserLock.
Threat Management Gateway 2010 Questo sconosciuto? …ancora per poco! Manuela Polcaro Security Advisor.
Erika Chin Adrienne Porter Felt Kate Greenwood David Wagner University of California Berkeley MobiSys 2011.
Cellular Networks and Mobile Computing COMS , Spring 2012 Instructor: Li Erran Li
Protecting Internet Communications: Encryption  Encryption: Process of transforming plain text or data into cipher text that cannot be read by anyone.
INTRODUCTION. The security system is used as in various fields, particularly the internet, communications data storage, identification and authentication.
COMPUTER SECURITY MIDTERM REVIEW CS161 University of California BerkeleyApril 4, 2012.
1 Topic 2: Lesson 3 Intro to Firewalls Summary. 2 Basic questions What is a firewall? What is a firewall? What can a firewall do? What can a firewall.
Fundamentals of Proxying. Proxy Server Fundamentals  Proxy simply means acting on someone other’s behalf  A Proxy acts on behalf of the client or user.
EVALUATING SECURITY OF SMART PHONE MESSAGING APPLICATIONS PRESENTED BY SUDHEER AKURATHI.
Android Security Auditing Slides and projects at samsclass.info.
ADV. NETWORK SECURITY CODY WATSON What’s in Your Dongle and Bank Account? Mandatory and Discretionary Protections of External Resources.
APPLICATION PENETRATION TESTING Author: Herbert H. Thompson Presentation by: Nancy Cohen.
G CITRIXHACKIN. Citrix Presentation Server 4.5 New version is called XenApp/Server Common Deployments Nfuse classic CSG – Citrix Secure Gateway Citrix.
Lecture 16 Page 1 CS 236 Online Web Security CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
Vulnerability Study of the Android Ryan Selley, Swapnil Shinde, Michael Tanner, Madhura Tipnis, Colin Vinson (Group 8)
Yair Grindlinger, CEO and Co-Founder Do you know who your employees are sharing their credentials with? Do they?
Android System Security Xinming Ou. Android System Basics An open-source operating system for mobile devices (AOSP, led by Google) – Consists of a base.
Protecting Browsers from Extension Vulnerabilities Paper by: Adam Barth, Adrienne Porter Felt, Prateek Saxena at University of California, Berkeley and.
FCM Workflow using GCM.
Wireless and Mobile Security
Android Permissions Demystified
Android Permissions Remystified: A Field Study on Contextual Integrity Presenter: Hongyang Zhao Primal Wijesekera (UBC) Arjun Baokar (UC Berkeley) Ashkan.
Dilip Dwarakanath.  The topic I’m about to present was taken from a paper titled “Apple iOS 4 Security Evaluation” written by Dino A Dai Zovi.  Dino.
CHAPTER 2 Laws of Security. Introduction Laws of security enable user make the judgment about the security of a system. Some of the “laws” are not really.
Security API discussion Group Name: SEC Source: Shingo Fujimoto, FUJITSU Meeting Date: Agenda Item: Security API.
IP Security (IPSec) Matt Hermanson. What is IPSec? It is an extension to the Internet Protocol (IP) suite that creates an encrypted and secure conversation.
Carrie Estes Collin Donaldson.  Zero day attacks  “zero day”  Web application attacks  Signing up for a class  Hardening the web server  Enhancing.
THREATS, VULNERABILITIES IN ANDROID OS BY DNYANADA PRAMOD ARJUNWADKAR AJINKYA THORVE Guided by, Prof. Shambhu Upadhyay.
Unit 2 Personal Cyber Security and Social Engineering Part 2.
Android and IOS Permissions Why are they here and what do they want from me?
What’s in Your Dongle and Bank Account? Mandatory and Discretionary Protection of Android External Resources Literature by S. Demetriou et al. Presented.
WHAT THE APP IS THAT? DECEPTION AND COUNTERMEASURES IN THE ANDROID USER INTERFACE.
ArcGIS for Server Security: Advanced
CMSC 345 Defensive Programming Practices from Software Engineering 6th Edition by Ian Sommerville.
Understanding Android Security
Android System Security
Practical Censorship Evasion Leveraging Content Delivery Networks
Introduction to SQL Server 2000 Security
Binder Attack Surface in Android
NSE4-5.4 Dumps
Presented by Hussein Almulla
Understanding Android Security
Presentation transcript:

Cellular Networks and Mobile Computing COMS , Fall 2012 Instructor: Li Erran Li Fall2012/ Lecture 12: Mobile Platform Security: Attacks and Defenses 11/27/12 Cellular Networks and Mobile Computing (COMS ) 1

Mobile Security Attacks and Defenses Inter application communication related attacks – Permission re-delegation (confused deputy attacks) – Collusion attacks System vulnerability based attacks – Control flow attacks (code injection attacks) – Root exploits (e.g. adbd bug used by DroidKungfu malware) Application specific attacks (e.g. texting apps) 11/27/12 Cellular Networks and Mobile Computing (COMS ) 2

Permission Re-delegation: Attacks and Defenses Adrienne Porter Felt 1, Helen J Wang 2, Alexander Moshchuk 2, Steve Hanna 1, Erika Chin 1 1 University of California, Berkeley 2 Microsoft Research 311/27/12 Cellular Networks and Mobile Computing (COMS )

modern client platforms Applications are untrusted, or partially trusted – Isolated from each other, except for IPC – By default, denied access to private devices and data Users explicitly grant permissions for devices, data Each application may have its own set of permissions 411/27/12 Cellular Networks and Mobile Computing (COMS ) Courtesy: Felt et. al

permissions Android, iOS, HTML5, browser extensions… 511/27/12 Cellular Networks and Mobile Computing (COMS ) Courtesy: Felt et. al

permission re-delegation Permission re-delegation occurs when an application without a permission gains additional privileges through another application A special case of the confused deputy problem – Privilege obtained through user permissions 611/27/12 Cellular Networks and Mobile Computing (COMS ) Courtesy: Felt et. al

7 API Settings Demo malware toggleWifi() pressButton(0) Permission System 11/27/12 Cellular Networks and Mobile Computing (COMS ) Courtesy: Felt et. al

Outline Threat model Permission re-delegation is a real problem, and systems should not permit permission re- delegation We propose IPC Inspection as a defense mechanism 811/27/12 Cellular Networks and Mobile Computing (COMS ) Courtesy: Felt et. al

API The permission system Permission system enforces user’s permission policy Malware Deputy toggleWifi() 9 Permission System toggleWifi() 11/27/12 Cellular Networks and Mobile Computing (COMS ) Courtesy: Felt et. al

The deputy Has user authorization Not malicious, but not a security watchdog Exposes public services Confused? Careless? Malware Deputy Malware 10 API Permission System toggleWifi() 11/27/12 Cellular Networks and Mobile Computing (COMS ) Courtesy: Felt et. al

The attacker User installs/runs it, but doesn’t trust it Exploits a deputy to access a resource Malware API Deputy Malware toggleWifi() pressButton(0) 11 Permission System 11/27/12 Cellular Networks and Mobile Computing (COMS ) Courtesy: Felt et. al

Real world permission re-delegation attacks Android case study, precautionary for the future of the web 1211/27/12 Cellular Networks and Mobile Computing (COMS ) Courtesy: Felt et. al

Identifying candidates Two necessary preconditions for an attack: – Has a dangerous permission – Has a public interface Analyzed manifests of 872 Android applications – 16 system apps, 756 most popular, 100 recently uploaded 320 apps (37%) are candidates for attacks 1311/27/12 Cellular Networks and Mobile Computing (COMS ) Courtesy: Felt et. al

Finding exploits Built tool for finding attacks Call graph analysis: find paths from public entry points to protected API calls Manually verified all exploits 14 Public entry points API calls 11/27/12 Cellular Networks and Mobile Computing (COMS ) Courtesy: Felt et. al

attacks Built attacks using 5 of the 16 system apps Found 15 attacks in the 5 applications Several confirmed and fixed This is a lower bound; likely more exist 1511/27/12 Cellular Networks and Mobile Computing (COMS ) Courtesy: Felt et. al

16 API Settings Demo malware wifiManager.setWifiEnabled(true) Message: 0://0#0 Permission System Attack on the settings app com.android.settings.widget. SettingsAppWidgetProvider User pressed button[0] 11/27/12 Cellular Networks and Mobile Computing (COMS ) Courtesy: Felt et. al

More example attacks DeskClock: – Start an internal service – Tell it to infinitely vibrate with a WAKE_LOCK on Phone: – Trigger the “phone call answered” message receiver – Phone call will be silenced, vibrate cancelled 1711/27/12 Cellular Networks and Mobile Computing (COMS ) Courtesy: Felt et. al

Preventing permission re-delegation 1811/27/12 Cellular Networks and Mobile Computing (COMS ) Courtesy: Felt et. al

Our goals We don’t want to rely on application developers for prevention Enable the system to prevent permission re- delegation We don’t want to break applications 1911/27/12 Cellular Networks and Mobile Computing (COMS ) Courtesy: Felt et. al

IPC Inspection When a deputy receives a message, system reduces deputy’s permissions (for the session) to: {requester’s permissions} {deputy’s permissions} A deputy’s current set of permissions captures its communication history Deputy can specify who can(not) send it messages Generalizes stack inspection to IPC calls 2011/27/12 Cellular Networks and Mobile Computing (COMS ) Courtesy: Felt et. al

Handling a potential attack Time-of-use system – Add a new runtime prompt for permission re- delegation Install-time system – Requester must statically ask for necessary permissions – Permission re-delegation is simply blocked at runtime 2111/27/12 Cellular Networks and Mobile Computing (COMS ) Courtesy: Felt et. al

Application instances Deputy might need to service user and multiple app requesters simultaneously Solution: create one instance per request – User interacts with primary instance – When new interaction starts, create a new “application instance” – Each instance has its own set of current permissions – However, instances share app storage, etc. 2211/27/12 Cellular Networks and Mobile Computing (COMS ) Courtesy: Felt et. al

implementation Android implementation: modify PackageManager, ActivityManager – PackageManager installs applications, stores permissions, enforces permission requirements – ActivityManager notifies PackageManager when relevant events happen, e.g. starting Activity, receiving Broadcast Intent A few hundred lines of code 2311/27/12 Cellular Networks and Mobile Computing (COMS ) Courtesy: Felt et. al

evaluation Do we break applications? Do we stop attacks? 2411/27/12 Cellular Networks and Mobile Computing (COMS ) Courtesy: Felt et. al

Broken applications Intentional Deputy5 applications (25%) Requester6 applications (30%) 25 One application is both an intentional deputy and a requester Developers might need to make changes to these applications: Of those requesters: 2 of 6 requesters (10% of apps) need to add permissions 20 Android applications 11/27/12 Cellular Networks and Mobile Computing (COMS ) Courtesy: Felt et. al

Effectiveness at Attack prevention 26 Unintentional Deputy4 applications (20%) IPC Inspection prevents these from being exploited: Also stops all the attacks on the built-in system applications 20 Android applications 11/27/12 Cellular Networks and Mobile Computing (COMS ) Courtesy: Felt et. al

Conclusion Real world permission re-delegation vulnerabilities exist – A third of Android system applications contain permission re- delegation attacks Future systems should be designed to prevent permission re-delegation IPC Inspection: an OS mechanism that prevents permission re-delegation – Install-time: some requesters will need to add permissions 2711/27/12 Cellular Networks and Mobile Computing (COMS ) Courtesy: Felt et. al

Guess Who ’ s Texting You? Evaluating the Security of Smartphone Messaging Applications Sebastian Schrittwieser

Smartphone Messaging Aim at replacing traditional text messaging (SMS) and GSM/CDMA/3G calls Free phone calls and text messages over the Internet Novel authentication concept Phone number used as single authenticating identifier

Internet Telecom infrastructure

Motivation Traditional SMS/talkMessenger/VoIP Apps ProtocolproprietaryHTTP(S), XMPP Security cryptographically sound authentication (SIM card) application depended, much weaker authentication (phone number, IMEI, UDID) Users’ perceptio n SMS/talk

Evaluation Authentication Mechanism and Account Hijacking Sender ID Spoofing / Message Manipulation Unrequested SMS / phone calls User Enumeration Modifying Status Messages

Experimental Setup Samsung Nexus S running Android and Apple iPhone 4 running iOS SSL proxy to read encrypted HTTPS traffic Used to understand the protocol, not for the actual attack (i.e., MITM between victim and server)!

Certificates?

WhatsAppWowTalk ViberForfone TangoEasyTalkVoypi eBuddy XMS HeyTell

WhatsApp Paper: Guess who ’ s texting you? Evaluating the Security of Smartphone Messaging Applications Schrittwieser, S., Frühwirt, P., Kieseberg, P., Leithner, M., Mulazzani, M., Huber, M., Weippl, E., NDSS 2012

WhatsApp Instant Messaging Status messages 23+ million users worldwide (estimation) > 10 billion messages per day Clients available for Android, iOS, Symbian and Blackberry

Authentication in WhatsApp

Attack against authentication

Intercepting the connection between the server and the attacker ’ s phone The victim ’ s phone isn ’ t involved in the attack at all Similar attacks successful in 6 out of 9 tested applications

WowTalk

Free SMS (WhatsApp) Authentication code in HTTPS request can be replaced with arbitrary text No server-side validation (command injection?) Forwarded to SMS proxy and sent via SMS Can be misused for sending free SMS

Status Messages

= = countrycode &me= phonenumber &s= statusmessage

Sender ID spoofing Example: Forfone – Messages are authenticated by IMEI (Android) or UDID (iOS) – Both numbers can be accessed by 3rd party applications Voypi: no authentication at all

User Enumeration Applications upload the user ’ s address book to the server Server compares the contained phone numbers to already registered phone numbers Server returns a subset list containing only phone numbers that are registered Entire user base enumeration?

User Enumeration US area code 619 (Southern San Diego) Number range: +1 (619) XXXXXXX 10 million possible phone numbers Uploaded entire number range in chunks of 5000 numbers each WhatsApp returned a subset containing (active) phone numbers

On vacation Sleeping at work but not doing shit Nicaragua in 4 days!! Heartbroken Missing my love! At work... Bleh. On my way to Ireland! I ’ m never drinking again

User Enumeration Entire Austria (population: 8.3 million) 4 carriers, 12.3 million SIM cards Uploaded entire number range in chunks of 5000 numbers each Server returned WhatsApp users (phone number + status message) in less than 5 hours

Results Account Hijacking Spoofing/Ma nipulation Unrequeste d SMS Enumeration Other Vulnerabiliti es WhatsApp yesnoyes Viber no yes no eBuddy XMS no yes no Tango yes no yes no Voypi yes Forfone noyes no HeyTell yes no limitedno EasyTalk yesnoyes no Wowtalk yesnoyes

Responsible Disclosure Research between spring and fall 2011 Vendors notified in November 2011 Vulnerabilities weren ’ t made public until NDSS WhatsApp fixed some vulnerabilities: – Account hijacking & free SMS – (Modifying status messages)

Independent Results (WhatsApp) Andreas Kurtz (June 2011) – account hijacking SEC Consult Vulnerability Lab (September 2011) – updating arbitrary users' status – account hijacking (brute force) – usage of plain text protocols Several blog posts on WhatsApp security in 2011

Conclusions 6 out of 9 tested applications have broken authentication mechanisms Many other vulnerabilities All identified flaws stem from well-known software design and implementation errors – Trusting the client – No input validation – No/weak authentication mechanisms