• No results found

Tutorial on Smartphone Security

N/A
N/A
Protected

Academic year: 2021

Share "Tutorial on Smartphone Security"

Copied!
42
0
0

Loading.... (view fulltext now)

Full text

(1)

Tutorial on Smartphone Security

Wenliang (Kevin) Du

Professor

[email protected]

(2)

Smartphone Usage

(3)

Smartphone Applications

(4)

Overview

» Built-in Protections (iOS and Android)

» Jailbreaking and Rooting

» Security Risks

» Malware

» Suggestions

(5)

Protections: Apple versus Google

» Approval Processes

» Access Control

» Data Protection

(6)

Approval Process

Apps

Apple

Code review, testing, etc.

Installation App Distribution

Apps

Other 3rd Party stores

(7)

Apple’s App Development Process

Registration Certificate

Accountability, Code Integrity Issued by Apple

App development App Developer

(8)

Public Key Encryption and PKI

» Traditional Encryption: Secret Key Encryption

> The same key is used for encryption and decryption

> The key must be secret

> Algorithms: AES, DES

» Public Key Encryption

> Public Key: public, used for encryption

> Private key: secret, used for decryption

> Algorithms: RSA

(9)

Public Key Encryption

Public Key: KeyPub Private Key: KeyPriv

KeyPub

M1

M2

M3

Decryption using KeyPriv

Enc(M2)

Algorithm: RSA, ElGamal

(10)

Digital Signature using Public Key

Public Key: KeyPub Private Key: KeyPriv

M, Signature

Verify M is

written by Alice.

Alice

(M, KeyPriv)  Signature

KeyPub

KeyPub

M’, Signature Verify M’ is NOT written by Alice.

Algorithm: RSA, ElGamal, DSA

(11)

Digital Signature using Public Key

Du’s Private Key Digital Signature S

Du’s Public Key Du

Question: How do you know the public key is Du’s?

Everybody can verify whether the code is written by Du or not.

(12)

Digital Certificate and PKI

Public Key

Name: Kevin Du M:

M, VeriSign’s Private Key Example: VeriSign

Digital Signature S

VeriSign’s Public Key

Verification By everybody

Digital Ceritificate:

Public Key

Name: Kevin Du

Some other information VeriSign’s Signature

Usually preloaded in browsers and OS M

(13)

The Whole Process

(14)

Weakness of PKI

» We trust CAs (Certificate Authority)

» CAs can be compromised

> July 10 – July 20, 2011: DigiNotar’s system was hacked

> 500 rogue certificates were issued by hackers

– Google, Skype, Mozilla, Microsoft

> Microsoft remove this CA from its OS

> Google and Mozilla block all DigiNotar’s digital certificate

> DigiNotar filed for bankruptcy in September 2011.

(15)

Apple’s App Development Process

Registration Certificate

Accountability, Code Integrity Issued by Apple

App development App Developer

(16)

Google’s App Development Process

Certificate

Accountability, Code Integrity Issued by a

trusted party

App development

Anonymous Certificate (self-signed)

No Accountability, No Code Integrity

Only for Android Market, Not for 3rd party market App Developer

(17)

Access Control

» We’ve Learned: Downloaded programs are dangerous

> Virus, Worms

> Trojan, Backdoors

» Apps are downloaded programs.

» Need to control their access.

(18)

Unix Security Basics: Users

» Normal Users

> uid: user ID

> Users are separated from each other

» Root Users (Administrator, Superuser)

> uid = 0

> Root has all the privileges

> if (uid ==0) do privileged operations

(19)

Unix File Permission

-rwxr-x--- 2 richard staff 12040 Aug 20 1996 mydata.txt

owner group others

(20)

Access Control

System Resources

Isolations

- Isolations among Apps

- Isolation between App and System

GPS

(21)

Isolation among Apps

Uid = 6001 Uid = 6009 Uid = 7003

• Each App runs as a separate user (normal user)

• Access control is enforced by the underlying Linux File permission: rw-rw----

(22)

Break The Isolation among Apps

Uid = 1020 Uid = 6009

Security Check

• Data sharing among apps

• Use the functionalities of other apps

(23)

Isolation Between App and System

System Resources

• Each app runs as a normal user

• Only root can directly access system resources

GPS

OS Kernel Hardware

(24)

Allow Apps to Access System Resources

System Resources GPS

OS Kernel

Hardware Privileged Deputy (e.g. system

services)

Security Check

(25)

Access Control

System Resources

Permissions Controlled How to cross the isolation boundary?

- Between Apps

- Between App and System GPS

(26)

Permission-Based Access Control

Execution Installation

User

A B C A B C

Declare Permissions

(Android defines 100+ permissions)

Can only use

GPS, Internet Alert: Ask once SMS, Email, Call: Ask every time Many Others: Granted

(27)

Permission Examples in Android

ACCESS_FINE_LOCATION Access GPS

BLUETOOTH Connect to Bluetooth device CALL_PHONE Directly make phone calls

CAMERA Use camera

INTERNET Access to the Internet

READ_CONTACTS Read user’s contacts data WRITE_CONTACTS Write contacts data

READ_CALENDAR Read user’s calendar data

READ_SMS Read SMS messages

SEND_SMS Send SMS messages

(28)

Android’s Permission System

I need: INTERNET Device ID

Accept ! Wireless fraud

This is where the problem is.

(29)

Malware: Malicious Software

» Malware: Malicious Software

> Information Stealer (spyware)

> Money Stealer (e.g. make phone calls)

> Control the phone (e.g. bot)

» How do malware attack?

(30)

Malicious web sites

How Malware Attacks Systems

Privilege Escalation (Jailbreaking/Rooting)

Malicious Apps

Abusing the given privileges

• Stealing personal info.

• Making expensive phone call

Suggestion: patch your system, read reviews, check developer’s reputation.

Malicious PDF files

(31)

Example: Attacks Through Browser

» The user visits a malicious or infected website

» Code in the page exploit a vulnerability in WebKit, the engine of browsers (CVE-2010-1807)

» The attack then exploits a Skype vulnerability (CVE-2011-1717)

> allows local users to read sensitive files including

contacts, conversation transcripts, voicemail, and so on.

(32)

Jailbreaking and Rooting

Apple’s Control

Jailbreak

Unapproved Apps

Google’s Control

Rooting

Apps with More power

More control Custom OS

They are legal, but they bring more security risks.

Custom OS

Suggestion: don’t do it if you don’t have to.

(33)

A Typical Attack on Android

Legitimate Developer

Malicious Developer

Android Market, or

3rd-Party Markets Cases:

MYOURNET (21 apps) Droid Dream (>58 apps)

Suggestions:

Read reviews

Check developers Check permissions Install virus scan Victim

(34)

Example: Fake Angry Birds Space

» Faked one available on various Android app marketplaces, not Google’s market

» Trojan Horse: Andr/KongFu-L

» Use GingerBreak exploit to gain root access

» Install malicious code

(35)

Attack on Web: A Design Flaw

3rd Party App: Not by FB

Malicious App Contents

Damage:

- Delete Friends

- Steal info. In Facebook - Post messages

Affect most systems

- iOS, Android, Windows Phone

Suggestion:

Use 1st party or trusted 3rd party apps to access Web accounts

WebView

(36)

Data Protection

(37)

Recent Studies (March 2012)

» American lost $30B worth of smartphones.

» Only 50% lost phones are returned.

» Nearly all who found the lost phones tried to access the information on the phone.

» 22% of the respondents lost their phones.

» 70% didn’t use password protection.

(38)

Consequence of Device Loss

Email Facebook

Other Accounts Online

Banking Company

WiFi Amazon

Data

Lock the phone does not help much.

Cloud Services

Remote wipe has limited power.

(39)

Data Encryption

iPhone 3GS

Encryption is useless

iPhone 4

Password, PIN

PIN: easily crackable 4 digit PIN = 14 bits

Strong encryption: 128 bits Suggestion: don’t lose your phone

(40)

Apple v.s. Google

» Tight Control: Apple

> Control on iOS code

> Code checking, accountability √

> Control on the app market √

» Loose Control: Google

> Open source: public scrutiny, contribution by others √

> No code checking, no accountability

> So far, Android has more malwares than iOS

(41)

Summary of Suggestions

» Don’t root/jailbreak if not necessary

» Be more careful when downloading Android Apps

» Avoid 3rd-party Android market

» Paid apps turned free: check the developers

» PIN doesn’t protect your data much

(42)

Questions?

References

Related documents

development freelance how to run android games on windows 7 pc nexus 7 developer options kitkat android app development rules how to make an app for apple ipod android

Code the app with MaaS360 SDK for configurable security layer Upload app to MaaS360 MAM portal App available on Enterprise app store App deployed to user User

The app’s Settings screen is used to configure VoIP, export system configurations and eventlogs, upgrade the app, and view information about the device, local project, and

Primary care practice has equipment and an established patient base to practice full scope medical optometry.. Qualified candidates should demonstrate excellent leadership

tvOS leverages many of the security features found in iOS, such as direct software updates from Apple, vetted and secure App Store apps, app data protection with App Sandboxing and

Even development tools like Mono, which are designed to maximise your development effort and provide multi platform development support, are likely to require you to build your

The Apple ID that was used to purchase an app or to redeem a VPP (Volume Purchasing Program) code owned that app for.. time and

Keywords: admission factors; MBA; EMBA; Graduate Management Admission Test; GMAT GPA; GRE; master of business administration; graduate student success; performance; work