discovering and exploiting novel security vulnerabilities in apple

116
DISCOVERING AND EXPLOITING NOVEL SECURITY VULNERABILITIES IN APPLE ZEROCONF (Xiaolong Bai, Luyi Xing) (co-first authors), Nan Zhang , XiaoFeng Wang , Xiaojing Liao , Tongxin Li , Shi-Min Hu Tsinghua University, Indiana University Bloomington Georgia Institute of Technology, Peking University 1

Upload: trinhnhi

Post on 29-Jan-2017

231 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: discovering and exploiting novel security vulnerabilities in apple

DISCOVERINGANDEXPLOITINGNOVELSECURITYVULNERABILITIESINAPPLEZEROCONF

(Xiaolong Bai, LuyiXing)(co-firstauthors),NanZhang,XiaoFengWang,Xiaojing Liao,Tongxin Li,Shi-MinHu

TsinghuaUniversity,IndianaUniversityBloomingtonGeorgiaInstituteofTechnology,

PekingUniversity 1

Page 2: discovering and exploiting novel security vulnerabilities in apple

Who are we ?

• SystemSecurityLab,IndianaUniversityBloomington– Focus on novel problems in system security– High-impact publications on IEEE S&P, ACM CCS, Usenix Security, NDSS– http://sit.soic.indiana.edu/en/

• Our advisor: Prof. XiaoFeng Wang– Top10authorsonleadingsecurityvenuesforthepast10years– http://www.informatics.indiana.edu/xw7/

2

Page 3: discovering and exploiting novel security vulnerabilities in apple

Who are we ?

• We have two talks on Black Hat USA 2016– Luyi Xing and Xiaolong Bai, DISCOVERINGANDEXPLOITINGNOVELSECURITYVULNERABILITIESINAPPLEZEROCONF, August 4, JasmineBallroom, 12:10- 13:00

– NanZhang, DANGEROUSHARE:HANGINGATTRIBUTEREFERENCESHAZARDSDUETOVENDORCUSTOMIZATION,August 4, SouthSeasGH, 17:00- 17:25

3

Page 4: discovering and exploiting novel security vulnerabilities in apple

4

DISCOVERINGANDEXPLOITINGNOVELSECURITYVULNERABILITIESINAPPLEZEROCONF

Page 5: discovering and exploiting novel security vulnerabilities in apple

ZeroConf

5

• Zero Configuration Networking• Automatically configures a usable computer network– Nomanualconfiguration– Nospecificconfigurationserver

• Designed to reduceusers’ burden– Setting up a new network– Use a new service.

Page 6: discovering and exploiting novel security vulnerabilities in apple

ZeroConf

6

• Bonjourprotocol– zero-configurationnetworkingoverIPthatApplehassubmittedtotheIETF.

• Goals:–Withlittleornoconfiguration– toadddevices/servicestoalocalnetwork– Existingdevicescanautomaticallyfindandconnecttothosenewdevices/services

Page 7: discovering and exploiting novel security vulnerabilities in apple

Bonjour

7

• Administrators– noneedtoassignIP,hostnames,servicenamestonetworkservices(e.g.,printer)

• Whenusingaservice,userssimply– asktoseewhatnetworkservicesareavailable– andchoosefromthelistofautomaticallydiscoveredservices.

Page 8: discovering and exploiting novel security vulnerabilities in apple

Howabouttraditionalconfigurednetwork?

8

Page 9: discovering and exploiting novel security vulnerabilities in apple

9

MustConfigure:– IP– Printername,

• e.g.,lh135-soic.ads.iu.edu– DNSserver

Traditionally

Page 10: discovering and exploiting novel security vulnerabilities in apple

10

Traditionally

MustConfigure:– IP– Printername,

• e.g.,lh135-soic.ads.iu.edu– DNSserver

Page 11: discovering and exploiting novel security vulnerabilities in apple

FeaturesofBonjour

11

1. Serviceconfiguresitself– IP,hostname,serviceinstancename

2. Clientsautomaticallydiscoveravailableservices– Nopre-knowledgeoftheservice’sname,hostnameorIP

Page 12: discovering and exploiting novel security vulnerabilities in apple

1.ZeroConf Concept2.So,how?

12

Page 13: discovering and exploiting novel security vulnerabilities in apple

FeaturesofBonjour

13

1. Serviceconfiguresitself– IP,hostname,serviceinstancename

2. Clientsautomaticallydiscoveravailableservices– Nopre-knowledgeoftheservice’sname,hostnameorIP

Page 14: discovering and exploiting novel security vulnerabilities in apple

14

Addanewprintertoanetwork

Page 15: discovering and exploiting novel security vulnerabilities in apple

15

IsanybodyusingIPfe80::abcd:1234....?

Aprinterconfiguresitself

Page 16: discovering and exploiting novel security vulnerabilities in apple

16

No?Great,I’lltakeit.

IPfe80::abcd:1234

Aprinterconfiguresitself

Page 17: discovering and exploiting novel security vulnerabilities in apple

17

AnybodyusinghostnameHP9FE5.host.local?

IPfe80::abcd:1234

Aprinterconfiguresitself

Page 18: discovering and exploiting novel security vulnerabilities in apple

18

No?Wonderful,I’lltakeit.

IPfe80::abcd:1234

HostnameHP9FE5.host.local

Aprinterconfiguresitself

Page 19: discovering and exploiting novel security vulnerabilities in apple

19

AnybodyhavingaprintingservicenamedHP-Service-9FE5?

Aprinterconfiguresitself

IPfe80::abcd:1234

HostnameHP9FE5.host.local

ServiceInstanceNameHP-Service-9FE5

Page 20: discovering and exploiting novel security vulnerabilities in apple

20

IPfe80::abcd:1234

HostnameHP9FE5.host.local

ServiceInstanceNameHP-Service-9FE5

Aprinterfinishes configuringitself

Page 21: discovering and exploiting novel security vulnerabilities in apple

21

1. Serviceconfiguresitself– IP,hostname,serviceinstancename

2. Clientsautomaticallydiscoveravailableservices– Nopre-knowledgeoftheservice’sname,hostnameorIP

FeaturesofBonjour

Twophases:DiscoveryandResolution

Page 22: discovering and exploiting novel security vulnerabilities in apple

22

Automaticallyfindtheprinter:Discovery

Q1:Anyonehasaprinterservice? A1:

IhaveHP-Service-9FE5

Page 23: discovering and exploiting novel security vulnerabilities in apple

23

Q1:Anyonehasaprinterservice?

Q2:SoonwhichhostisthisHP-Service-9FE5?

A2:It’sonhostHP9fe5.host.local

Automaticallyfindtheprinter:Resolution

A1:IhaveHP-Service-9FE5

Page 24: discovering and exploiting novel security vulnerabilities in apple

24

Q1:Anyonehasaprinterservice?

Q2:SoonwhichhostisthisHP-Service-9FE5?

A2:It’sonhostHP9fe5.host.local

Automaticallyfindtheprinter:Resolution

A1:IhaveHP-Service-9FE5

Q3:WhatistheaddressofNPI9fe5.host.local?

A3:Itsaddress isfe80::abcd:1234

Page 25: discovering and exploiting novel security vulnerabilities in apple

Added/Saved theprintertoyourlist

25

IPfe80::abcd:1234

HostnameHP9FE5.host.local

ServiceInstanceNameHP-Service-9FE5

Page 26: discovering and exploiting novel security vulnerabilities in apple

Added/Saved theprintertoyourlist

26

IPfe80::abcd:1234

HostnameHP9FE5.host.local

ServiceInstanceNameHP-Service-9FE5

Apple:

Applicationsstoreserviceinstancenames,soiftheIP,port, or hostnamechanged,theapplicationcanstillconnect.

Page 27: discovering and exploiting novel security vulnerabilities in apple

ServiceinstancenameHP-Service-9FE5issaved

27

IPfe80::abcd:1234

HostnameHP9FE5.host.local

ServiceInstanceNameHP-Service-9FE5

Savedprinter=AprinterwhoownsservicenameHP-Service-9FE5

Page 28: discovering and exploiting novel security vulnerabilities in apple

Adversary Model

28

• Onadevice(malwareinfected)inyourlocalnetwork• Aimstointerceptsecrets/filestransferredbetweenuninfected devices

Page 29: discovering and exploiting novel security vulnerabilities in apple

Adversary Model

29

• YourMac/printerareun-infected• Stealyourprintingdocuments?

Page 30: discovering and exploiting novel security vulnerabilities in apple

30

1.ZeroConf Concept2.ZeroConf How3. ZeroConf Breaking

Printer

Page 31: discovering and exploiting novel security vulnerabilities in apple

1.ZeroConf Concept2.ZeroConf How3. ZeroConf Breaking

Case1:AttackBonjour

31

Page 32: discovering and exploiting novel security vulnerabilities in apple

AttackBonjour

• Twoexamples• Printer– PrintersusingBonjour

• PhotoSync– SynchronizingphotosbetweenMacandiPhoneusingBonjour

• Notan application-specificorservice-specificproblem– Vulnerabilities in the design of Bonjourprotocol

32

Page 33: discovering and exploiting novel security vulnerabilities in apple

33

Adeviceinfectedbymalware

IPHostnameServiceInstanceName

HP-Service-9FE5

Page 34: discovering and exploiting novel security vulnerabilities in apple

34

Adeviceinfectedbymalware

IhaveaprintingserviceinstancenamedHP-Service-9FE5

IPHostnameServiceInstanceName

HP-Service-9FE5

ServiceInstanceNameHP-Service-9FE5

Page 35: discovering and exploiting novel security vulnerabilities in apple

35

Adeviceinfectedbymalware

xf

IPHostnameServiceInstanceName

HP-Service-9FE5

ServiceInstanceNameHP-Service-9FE5

IhaveaprintingserviceinstancenamedHP-Service-9FE5

Page 36: discovering and exploiting novel security vulnerabilities in apple

36

Savedprinter=AprinterwhoownsservicenameHP-Service-9FE5

NewServiceNameHP-Service-9FE5(2)

xServiceInstanceNameHP-Service-9FE5

Page 37: discovering and exploiting novel security vulnerabilities in apple

37

Three Changing Attributes:– IP– Hostname– ServiceInstanceName

Apple:Applicationsstoreserviceinstancenames,soiftheIP,port, or hostnamechanged,theapplicationcanstillconnect.

Whyithappens?

Page 38: discovering and exploiting novel security vulnerabilities in apple

38

• Anyonecanclaimanyvalueofthethreeattributes• Theprotocolonlyguaranteesnoduplicates.

Lackofauthentication

Three Changing Attributes:– IP– Hostname– ServiceInstanceName

Page 39: discovering and exploiting novel security vulnerabilities in apple

Ifnotsavingserviceinstancenames,isitsecureenough?

39

Page 40: discovering and exploiting novel security vulnerabilities in apple

AttackBonjour

• PhotoSync– SynchronizingphotosbetweenMacandiPhoneusingBonjour

• Notsavingserviceinstancename– Clientdiscoversandresolvestheservereachtime

40

Page 41: discovering and exploiting novel security vulnerabilities in apple

Normally

• Discovery:Clientbrowsesforserver

41

WhohasPhotoSync service

ClientServer

means broadcast

Page 42: discovering and exploiting novel security vulnerabilities in apple

Normally

• Discovery:Serverrespondswithserviceinstancename

42

WhohasPhotoSync service

Ihave.serviceinstancename:abcd

means broadcast

ClientServer

Page 43: discovering and exploiting novel security vulnerabilities in apple

Normally

• Resolution1:Clientqueriesforthehostnameoftheservice

43

WhohasPhotoSync service

Ihave.serviceinstancename:abcd

Whatisthehostname ofabcd

means broadcast

ClientServer

Page 44: discovering and exploiting novel security vulnerabilities in apple

Normally

• Resolution1:Serverrespondswiththehostname

44

WhohasPhotoSync service

Ihave.serviceinstancename:abcd

Whatisthehostname ofabcd

Its hostname isMacbook

means broadcast

ClientServer

Page 45: discovering and exploiting novel security vulnerabilities in apple

Normally

• Resolution2:Clientqueriesfortheaddressofthehost

45

WhohasPhotoSync service

Ihave.serviceinstancename:abcd

Whatisthehostname ofabcd

Its hostname isMacbook

Whatistheaddress ofMacbook

means broadcast

ClientServer

Page 46: discovering and exploiting novel security vulnerabilities in apple

Normally

• Resolution2:Serverrespondswithitsaddress

46

WhohasPhotoSync service

Ihave.serviceinstancename:abcd

Whatisthehostname ofabcd

Its hostname isMacbook

Whatistheaddress ofMacbook

Itsaddress is 192.168.0.1

means broadcast

ClientServer

Page 47: discovering and exploiting novel security vulnerabilities in apple

WhatCanGoWrong?

• Anothermalware-infecteddevicespoofstheclient– SuccessfulMan-in-the-Middle

• DuringResolution– Serviceinstancenametohostname– Hostnametoaddress

47

Page 48: discovering and exploiting novel security vulnerabilities in apple

WhatCanGoWrong?

• Attack1:serviceinstancenametohostname

48

What is the host name ofservice instance abcd

Client

Server

Attacker

Page 49: discovering and exploiting novel security vulnerabilities in apple

WhatCanGoWrong?

• Attack1:serviceinstancenametohostname

49

Client

Server

Attacker

The host name of serviceinstance abcd is Macbook

The host name of serviceinstance abcd is Mallory

Page 50: discovering and exploiting novel security vulnerabilities in apple

WhatCanGoWrong?

• Attack1:serviceinstancenametohostname

50

Client

Server

AttackerConnect

Page 51: discovering and exploiting novel security vulnerabilities in apple

WhatCanGoWrong?

• Attack1:serviceinstancenametohostname

51

Client

Server

AttackerConnect

Connect

Page 52: discovering and exploiting novel security vulnerabilities in apple

WhatCanGoWrong?

• Attack2:serviceinstancenametohostname

52

What is the address ofhost Macbook

Client

Server

Attacker

Page 53: discovering and exploiting novel security vulnerabilities in apple

WhatCanGoWrong?

• Attack2:serviceinstancenametohostname

53

Client

Server

Attacker

The address of host Macbookis 192.168.0.1

The address of host Macbookis 192.168.0.100

Page 54: discovering and exploiting novel security vulnerabilities in apple

WhatCanGoWrong?

• Attack2:serviceinstancenametohostname

54

Client

Server

AttackerConnect

Page 55: discovering and exploiting novel security vulnerabilities in apple

WhatCanGoWrong?

• Attack2:serviceinstancenametohostname

55

Client

Server

AttackerConnect

Connect

Page 56: discovering and exploiting novel security vulnerabilities in apple

Demo

56

• https://www.youtube.com/watch?v=WUWusqgqFr0&feature=youtu.be

Page 57: discovering and exploiting novel security vulnerabilities in apple

57

FundamentalProblem

• Lackofauthentication• Anyonecanclaimanyvalueoftheidentificationattributes• Theprotocolonlyguaranteesnoduplicates,butnotsecurity.

Isiteasytoprovideauthentication?

Page 58: discovering and exploiting novel security vulnerabilities in apple

1.ZeroConf Concept2.ZeroConf How3.ZeroConf Breaking

Case2:Airdrop

58

Page 59: discovering and exploiting novel security vulnerabilities in apple

59

AirdropbetweenAppledevices

• WithAirDrop,youcansharephotos,videos,websites,locations,andmorewithpeoplenearbywithanAppledevice.

Page 60: discovering and exploiting novel security vulnerabilities in apple

60

Jeff’sMacbook:Q1:Anyonehasanairdropservice?

Alice’siPhone:

AttackAirdrop

Ihaveaservicenamedabcd.airdrop.service

Page 61: discovering and exploiting novel security vulnerabilities in apple

61

AttackAirdrop

Jeff’sMacbook:Q2:SoonwhichhostisAlice’sservice?

Page 62: discovering and exploiting novel security vulnerabilities in apple

62

AttackAirdrop

Alice’siPhone:A2:It’sonhostAlices.iphone.local

Jeff’sMacbook:Q2:SoonwhichhostisAlice’sservice?

Bob’siMac:A2:It’sonhostBobs.imac.local

Page 63: discovering and exploiting novel security vulnerabilities in apple

63

Alice’siPhonehasservicenamedabcd.airdrop.tcp,whichisonhostBobs.imac.local

Jeff’sMacbook:Q2:SoonwhichhostisAlice’sservice?

Bob’siMac:A2:It’sonhostBobs.imac.local

Alice’siPhone:A2:It’sonhostAlices.iphone.local

Page 64: discovering and exploiting novel security vulnerabilities in apple

64

DoesTLShelp?

Jeff’sMacbook:Connecthttps://Bobs.imac.local

Alice’siPhone:A2:It’sonhostAlices.iphone.local

Bob’siMac:A2:It’sonhostBobs.imac.local

Page 65: discovering and exploiting novel security vulnerabilities in apple

TLSinAirdrop

65

Servercertificateissuedtoappleid.CDEF…

https://Bobs.imac.local

Bob’siMac

Jeff’sMacbook

Servercertificateissuedtoappleid.ABCD…

https://Alices.iphone.local

Alice’siPhone

Page 66: discovering and exploiting novel security vulnerabilities in apple

Sothecertificateinairdropcanhardlybeusedforauthentication.

66

Servercertificateissuedtoappleid.CDEF…

https://Bobs.imac.local

Bob’siMac

Jeff’sMacbook

Servercertificateissuedtoappleid.ABCD…

https://Alices.iphone.local

Alice’siPhone

Page 67: discovering and exploiting novel security vulnerabilities in apple

Domainshouldmatchthecertificate

67

https://google.com

Certificateissuedtogoogle.com

Jeff’sMacbook

Bob’siMac

https://Bobs.imac.local

Servercertificateissuedtoappleid.CDEF…

xf

xf

Page 68: discovering and exploiting novel security vulnerabilities in apple

68

Servercertificateissuedtoappleid.CDEF…

https://Bobs.imac.local

Bob’siMac

Jeff’sMacbook

Servercertificateissuedtoappleid.ABCD…

https://Alices.iphone.local

Alice’siPhone

Domainshouldmatchthecertificate

Page 69: discovering and exploiting novel security vulnerabilities in apple

69

What’swrongwithTLSinAirdrop

• Thecertificateinairdropcannotbeusedforauthentication– E.g,certificateshouldbeissuedtoAlice– butindeedissuedtoappleid.ABCD…

• ThecertificateshouldbeissuedtoWHAT?

Page 70: discovering and exploiting novel security vulnerabilities in apple

What’swrongwithTLSinAirdrop

• Issuethecertificatetothedomain(hostname)?– No.Hostnamemaychange andnotrepresentingauser

• Issuethecertificatetotheuser’sname?– No.Namecanbeduplicated

• Issuethecertificatetotheuser’ssocialsecuritynumber?– No.socialsecuritynumberistooprivate

70

Page 71: discovering and exploiting novel security vulnerabilities in apple

71

What’swrongwithTLSinAirdrop

• Linkingahumantohercertificateiscomplicated– challengeinfindinganyidentifiableinformationthatare• well-known• noprivacyimplication• andunique

Page 72: discovering and exploiting novel security vulnerabilities in apple

Demo

72

• https://www.youtube.com/watch?v=2JEJLpvnRO4

Page 73: discovering and exploiting novel security vulnerabilities in apple

TechnicalDetails

• Airdropservicedaemon:/usr/libexec/sharingd– ResponsibleforBonjourprocessandhttpsconnection

• Notethernet interface,Appleprivateinterface– awdl0:AppleWirelessDirectLink– Device-to-devicedirectlink

73

Page 74: discovering and exploiting novel security vulnerabilities in apple

TechnicalDetails

• Howtoworkonthisinterface?– sharingd usesanApple-privatesocketoptionSO_RECV_ANYIF(0x1104)

74

Page 75: discovering and exploiting novel security vulnerabilities in apple

75

SomecustomizedZeroConf protocols

• FileDrop– TCPpacketsfordiscovery– ellipticcurvecryptographyforsecurity– Failedinauthentication• challengeinlinkingahumantoherpublickey

Page 76: discovering and exploiting novel security vulnerabilities in apple

76

1.ZeroConf Concept2.ZeroConf How3. ZeroConf Breaking

Case3:Apple’sVulnerableframework

Page 77: discovering and exploiting novel security vulnerabilities in apple

Apple’sVulnerableframework

77

• Multipeer Connectivity(MC)– AframeworkforautomaticservicediscoverybetweennearbydevicesacrossWi-FiandBluetoothwithoutconfiguration

• Objecttoidentifyeachapp:peerID– displayName (public)&uniqueID (private)

Page 78: discovering and exploiting novel security vulnerabilities in apple

• AutomaticServiceDiscoveryWithoutConfiguration– ServersadvertisepeerIDs

Normally

78

Server

Server Client

peerIDdisplayName:AliceuniqueID:8573a

peerIDdisplayName:BobuniqueID:6c5b3

Page 79: discovering and exploiting novel security vulnerabilities in apple

• AutomaticServiceDiscoveryWithoutConfiguration– ServersadvertisepeerIDs,ClientbrowsepeerIDs (showdisplayName)

Normally

79

peerIDdisplayName:AliceuniqueID:8573a

peerIDdisplayName:BobuniqueID:6c5b3

Alice

Bob

Server

Server Client

Page 80: discovering and exploiting novel security vulnerabilities in apple

• EvenifservershavethesamedisplayName

Normally

80

peerIDdisplayName:AliceuniqueID:abcde

peerIDdisplayName:AliceuniqueID:54321

Server

Server Client

Page 81: discovering and exploiting novel security vulnerabilities in apple

• EvenifservershavethesamedisplayName– uniqueIDs generatedbyMCwillalwaysbedifferent

Normally

81

peerIDdisplayName:AliceuniqueID:abcde

peerIDdisplayName:AliceuniqueID:54321

Server

Server Client

Page 82: discovering and exploiting novel security vulnerabilities in apple

• EvenifservershavethesamedisplayName– uniqueIDs generatedbyMCwillalwaysbedifferent

Normally

82

Alice

Alice

peerIDdisplayName:AliceuniqueID:abcde

peerIDdisplayName:AliceuniqueID:54321

Server

Server Client

Page 83: discovering and exploiting novel security vulnerabilities in apple

• Attackeractsasbothclientandserver– BrowseandacquirepeerID objectfromvictimserver

WhatCanGoWrong?

83

peerIDdisplayName:AliceuniqueID:abcde

Server

Client&Server Client

Page 84: discovering and exploiting novel security vulnerabilities in apple

• Attackeractsasbothclientandserver– AdvertiseusingthesamepeerID object

WhatCanGoWrong?

84

Alice

peerIDdisplayName:AliceuniqueID:abcde

peerIDdisplayName:AliceuniqueID:abcde

Server

Client&Server Client

Page 85: discovering and exploiting novel security vulnerabilities in apple

• ClientcannotdistinguishbecauseofsameuniqueID

WhatCanGoWrong?

85

Alice

AnUpdate?

peerIDdisplayName:AliceuniqueID:abcde

peerIDdisplayName:AliceuniqueID:abcde

Server

Client&Server Client

Page 86: discovering and exploiting novel security vulnerabilities in apple

• ClientcannotdistinguishbecauseofsameuniqueID• Clientmapstheonlypeertoattacker’saddress(MitM)

WhatCanGoWrong?

86

Alice

peerIDdisplayName:AliceuniqueID:abcde

peerIDdisplayName:AliceuniqueID:abcde

Server

Client&Server Client

Page 87: discovering and exploiting novel security vulnerabilities in apple

• MitM attacker– First acts as client browsing for advertising servers– Once found a server, advertise using the same peerID

Technical Details

87

Page 88: discovering and exploiting novel security vulnerabilities in apple

IfnotusingpeerID toforidentification,isitsecureenough?

88

Page 89: discovering and exploiting novel security vulnerabilities in apple

89

1.ZeroConf Concept2.ZeroConf How3. ZeroConf Breaking

Case4:MCinQQ

Page 90: discovering and exploiting novel security vulnerabilities in apple

MCinQQ

• PopularinstantmessagingsoftwareinCN– 829millionactiveaccounts (Wikipedia)

• Face-To-FaceTransfer– TransferfilesbetweennearbypeersbyusingMultipeer Connectivity

• NotusingpeerID foridentification– CustomizeduniqueQQID

90

FacetoFaceTransfer

SendFile

Recv File

Page 91: discovering and exploiting novel security vulnerabilities in apple

• ReceiveradvertisesitsQQID

Normally

91

Receiver

ReceiverSender

Lookingforreceiver

MyQQIDis1234

MyQQIDis4321

Page 92: discovering and exploiting novel security vulnerabilities in apple

• SenderbrowsesforreceiversandfoundtheirQQIDs

Normally

92

Receiver

ReceiverSender

FoundReceivers:QQID:1234QQID:4321

MyQQIDis1234

MyQQIDis4321

Page 93: discovering and exploiting novel security vulnerabilities in apple

• SenderconnectstoreceiverandgivesitsQQID

Normally

93

Receiver

ReceiverSender

FoundReceivers:QQID:1234QQID:4321

MyQQIDis5678

MyQQIDis5678

Connect

Connect

Page 94: discovering and exploiting novel security vulnerabilities in apple

• SenderconnectstoreceiverandgivesitsQQID

Normally

94

Receiver

ReceiverSender

FoundReceivers:QQID:1234QQID:4321

MyQQIDis5678

MyQQIDis5678

Connect

Connect

SenderConnected:QQID:5678

SenderConnected:QQID:5678

Page 95: discovering and exploiting novel security vulnerabilities in apple

• ReceiveradvertisesitsQQID

WhatCanGoWrong?

95

ReceiverSender

Lookingforreceiver

MyQQIDis1234

Attacker

Lookingforreceiver

Page 96: discovering and exploiting novel security vulnerabilities in apple

• Attackerfoundvictimreceiver’sQQID

WhatCanGoWrong?

96

ReceiverSender

Lookingforreceiver

MyQQIDis1234

Attacker

FoundReceiver:QQID:1234

Page 97: discovering and exploiting novel security vulnerabilities in apple

• AttackeradvertiseusingthesameQQID

WhatCanGoWrong?

97

ReceiverSender

Lookingforreceiver

MyQQIDis1234

Attacker

AdvertisingQQID:1234

Page 98: discovering and exploiting novel security vulnerabilities in apple

• SenderfoundonlyoneQQID

WhatCanGoWrong?

98

ReceiverSender

MyQQIDis1234

Attacker

FoundReceiver:QQID:1234

Page 99: discovering and exploiting novel security vulnerabilities in apple

• SenderconnectstoAttacker

WhatCanGoWrong?

99

ReceiverSender Attacker

FoundReceiver:QQID:1234

Connect

QQID:5678

Page 100: discovering and exploiting novel security vulnerabilities in apple

• AttackerconnectstoReceiverusingtheSender’sQQID

WhatCanGoWrong?

100

ReceiverSender Attacker

Connect

QQID:5678

Page 101: discovering and exploiting novel security vulnerabilities in apple

Demo

101

• https://www.youtube.com/watch?v=B71FlD3_vrc

Page 102: discovering and exploiting novel security vulnerabilities in apple

102

1.ZeroConf Concept2.ZeroConf How3. ZeroConf Breaking

Case5:Bluetooth

Page 103: discovering and exploiting novel security vulnerabilities in apple

AllyouriOS notificationsbelongtome

103

• ZeroConf onBluetooth:AppleHandoff– AservicethatletsiOSandOSXsynchronizedatathroughBluetoothwithoutconfiguration

Page 104: discovering and exploiting novel security vulnerabilities in apple

Normally

104

• HandoffcreatesBluetoothChannelwithoutconfiguration– DevicesloggedinwiththesameiCloudaccount– PairingautomaticallythroughiCloudaccount

Bluetooth

Page 105: discovering and exploiting novel security vulnerabilities in apple

WhatCanGoWrong?

• BluetoothZeroConf:Noapp-levelauthentication• AppleNotificationCenterService(ANCS)– designedforBluetoothaccessoriestoaccessnotificationsoniOSdevices

105

Bluetooth

Page 106: discovering and exploiting novel security vulnerabilities in apple

WhatCanGoWrong?

• BluetoothZeroConf:Noapp-levelauthentication• AppleNotificationCenterService(ANCS)• ThroughBluetoothchannelcreatedbyHandoff

106

Bluetooth

Page 107: discovering and exploiting novel security vulnerabilities in apple

WhatCanGoWrong?

• BluetoothZeroConf:Noapp-levelauthentication• AppleNotificationCenterService(ANCS)• ThroughBluetoothchannelcreatedbyHandoff

107

Bluetooth

Page 108: discovering and exploiting novel security vulnerabilities in apple

Demo

108

• https://www.youtube.com/watch?v=c5viAzAs0Uo

Page 109: discovering and exploiting novel security vulnerabilities in apple

Summaryofattacks

• AttacksonAppleZeroConf channels– Bonjour (Printer,PhotoSync)– Airdrop– CustomizedZeroConf protocols (Filedrop)– Multipeer Connectivity(MCBrowserViewController,QQ)– Handoff

• Allvulnerabilitieswerereportedtovendors,acknowledgedbymostvendors

109

Page 110: discovering and exploiting novel security vulnerabilities in apple

110

1.ZeroConf Concept2.ZeroConf How3.ZeroConf Breaking4.Impact

Page 111: discovering and exploiting novel security vulnerabilities in apple

Impact

111

• Measurement–Weanalyzed61popularMacandiOSappsworkingwithZeroConf– 88.5%arevulnerabletoman-in-the-middleorimpersonationattacks

ZeroConfChannels

Vulnerable/Sampled SensitiveInformationLeaked

Bonjour 18/22 files,directoriesandclipboardsynced,documentsprinted,instantmessage

MC 24/24 filesandphotostransferred,instantmessage

BLE 10/13 Usernameandpassword forOSX

Customizedprotocols 2/2 remote keyboardinputandfilestransferred

Page 112: discovering and exploiting novel security vulnerabilities in apple

112

1.ZeroConf Concept2.ZeroConf How3.ZeroConf Breaking4.Impact5.ProtectingZeroConf

Page 113: discovering and exploiting novel security vulnerabilities in apple

ProtectingZeroConf

113

• Problem:linkahumantohercertificateiscomplicated• SpeakingoutYourCertificate(SPYC)– Voicebiometricstiescertificatetoidentity

Page 114: discovering and exploiting novel security vulnerabilities in apple

SpeakingOutYourCertificate

114

Hashh

Partitiontokn-bitsegments

Δ1||Δ2||…||Δk

nk mostsignificantbits

<w1, w2, …, wk>Wordslistlinkingtothecertificate

Page 115: discovering and exploiting novel security vulnerabilities in apple

ProtectingZeroConf

115

• Challenge:linkahumantohercertificate• SpeakingoutYourCertificate(SPYC)– Voicebiometricstiescertificatetoidentity– HumanSubjectStudy:convenientandeffective

Page 116: discovering and exploiting novel security vulnerabilities in apple

Conclusion

116

• Apple’sZeroConf techniquesarenotsecureasexpected– Theusability-orienteddesignaffectssecurity

• Addressingsuchsecurityrisksisnontrivial– Challengeinbindingahumantohercertificate

• OurDefense:SPYC– Voicebiometricstiescertificatetoidentity