xBook: Redesigning Privacy Control in Social xBook: Redesigning Privacy Control in Social Networking Platforms Networking Platforms
Kapil Singh, Sumeer Bhola and Wenke Lee
xBook: Redesigning Privacy Control in Social xBook: Redesigning - - PowerPoint PPT Presentation
xBook: Redesigning Privacy Control in Social xBook: Redesigning Privacy Control in Social Networking Platforms Networking Platforms Kapil Singh, Sumeer Bhola and Wenke Lee Social networking is growing 2 Privacy concerns are growing
xBook: Redesigning Privacy Control in Social xBook: Redesigning Privacy Control in Social Networking Platforms Networking Platforms
Kapil Singh, Sumeer Bhola and Wenke Lee
2
3
networks
4
networks
Op-Ed: Post a photo, wear a pirate hat on myspace, and say goodbye to your career
5
networks
Mayor in MySpace photo flap asked to resign Op-Ed: Post a photo, wear a pirate hat on myspace, and say goodbye to your career
6
networks
Hoover Police officers arrest Facebook burglary suspects Mayor in MySpace photo flap asked to resign Op-Ed: Post a photo, wear a pirate hat on myspace, and say goodbye to your career
7
third party applications.
– Set of APIs allow an application to have access to user content and integrate into user’s profile
8
Trusted domain Application
9
No control over who can develop and deploy an application. No control over who can develop and deploy an application.
Trusted domain Application
10
No control over who can develop and deploy an application. No control over who can develop and deploy an application. Minimal or no control on what these applications can access. Minimal or no control on what these applications can access.
Trusted domain Application
11
No control over who can develop and deploy an application. No control over who can develop and deploy an application. Minimal or no control on what these applications can access. Minimal or no control on what these applications can access. No control on what an application can do with what it can access No control on what an application can do with what it can access. .
Trusted domain External entities (e.g. Ad agencies) Application
12
13
14
Facebook’s privacy policy is insufficient…
If you, your friends, or members of your network use any third-party applications developed using the Facebook Platform ("Platform Applications"), those Platform Platform Applications may access and share certain information about you Applications may access and share certain information about you with others with others in accordance with your privacy settings. You may opt-out of any sharing of certain or all information through Platform Applications on the Privacy Settings page. In addition, third party developers who have created and operate Platform Applications ("Platform Developers"), may also have access to your personal information (excluding you may also have access to your personal information (excluding your r contact information) if you permit Platform Applications to acce contact information) if you permit Platform Applications to access your data. ss your data. Before allowing any Platform Developer to make any Platform Application available to you, Facebook requires the Platform Developer to enter into an agreement which, among
collection, use, and storage of your information. However, while we have undertaken contractual and technical steps to restrict possible misuse of such information by such Platform Developers, we of course cannot and do not guarantee that all Platform we of course cannot and do not guarantee that all Platform Developers will abide by such agreements. Please note that Developers will abide by such agreements. Please note that Facebook Facebook does not does not screen or approve Platform Developers and cannot control how suc screen or approve Platform Developers and cannot control how such Platform h Platform Developers use any personal information that they may obtain in Developers use any personal information that they may obtain in connection with connection with Platform Applications. Platform Applications. If you, your friends, or members of your network use any third-party applications developed using the Facebook Platform ("Platform Applications"), those Platform Platform Applications may access and share certain information about you Applications may access and share certain information about you with others with others in accordance with your privacy settings. You may opt-out of any sharing of certain or all information through Platform Applications on the Privacy Settings page. In addition, third party developers who have created and operate Platform Applications ("Platform Developers"), may also have access to your personal information (excluding you may also have access to your personal information (excluding your r contact information) if you permit Platform Applications to acce contact information) if you permit Platform Applications to access your data. ss your data. Before allowing any Platform Developer to make any Platform Application available to you, Facebook requires the Platform Developer to enter into an agreement which, among
collection, use, and storage of your information. However, while we have undertaken contractual and technical steps to restrict possible misuse of such information by such Platform Developers, we of course cannot and do not guarantee that all Platform we of course cannot and do not guarantee that all Platform Developers will abide by such agreements. Please note that Developers will abide by such agreements. Please note that Facebook Facebook does not does not screen or approve Platform Developers and cannot control how suc screen or approve Platform Developers and cannot control how such Platform h Platform Developers use any personal information that they may obtain in Developers use any personal information that they may obtain in connection with connection with Platform Applications. Platform Applications.
15
– “Top Friends” application allowed access to the profile of anyone using the application. – “We expect expect third-party apps to follow the rules the users set” – director at Facebook.
– “Google confirms Adsense ads, security problems in Facebook applications”
16
– “Top Friends” application allowed access to the profile of anyone using the application. – “We expect expect third-party apps to follow the rules the users set” – director at Facebook.
– “Google confirms Adsense ads, security problems in Facebook applications”
No enforcement, because it is not possible in the No enforcement, because it is not possible in the current architecture! current architecture!
17
presence of third party applications.
– Prevent data leaks out to external entities. – Provide user-user access control (for data flowing through an application). – Protection of application’s proprietary data.
18
Trusted domain
19
Pull the applications into the trusted xBook xBook domain. domain.
Trusted domain (xBook)
20
Pull the applications into the trusted xBook xBook domain. domain.
Monitor the applications at runtime in the browser.
Trusted domain (xBook)
21
Pull the applications into the trusted xBook xBook domain. domain.
Monitor the applications at runtime in the browser.
Allow applications access to any user data, but require require require require them to them to make use of that data explicit. make use of that data explicit.
Trusted domain (xBook)
Pre-declared access
22
Pull the applications into the trusted xBook xBook domain. domain.
Monitor the applications at runtime in the browser.
Allow applications access to any user data, but require require require require them to them to make use of that data explicit. make use of that data explicit.
Use information flow techniques to prevent data leaks by the applications. applications.
External entities Trusted domain (xBook)
Pre-declared access
External entities
23
xBook Architecture
xbook Server Cloud
xBook User data
xBook
xBook xBook platform divided into client platform divided into client-
side and server-
side.
24
xBook Architecture
xbook Server Cloud
xBook User data
xBook
App A App A
xBook xBook platform divided into client platform divided into client-
side and server-
side. An application is split into multiple components. An application is split into multiple components.
25
X X
Evil Ad network Evil Ad network
xBook Architecture
xbook Server Cloud
xBook User data
xBook
App A App A
xBook xBook platform divided into client platform divided into client-
side and server-
side. An application is split into multiple components. An application is split into multiple components. xBook xBook mediates all component communication. mediates all component communication.
26
Example Application Example Application Example Application Example Application
User profile
27
www.horoscope.com www.horoscope.com
Example Application Example Application Example Application Example Application
User profile
horoscope
birthday
28
www.horoscope.com www.horoscope.com
Example Application Example Application Example Application Example Application
User profile maps.google.com maps.google.com
horoscope
birthday
map
address
29
www.horoscope.com www.horoscope.com
Example Application Example Application Example Application Example Application
User profile maps.google.com maps.google.com
horoscope
birthday
map
address birthday address
30
User User’ ’s view s view xBook xBook view view
Information provided by application
maps.goo maps.google.com gle.com addres address C3 C3 <n <non
e> full p full profile ile C2 C2 www.horoscope.co www.horoscope.com bi birthd rthday ay C1 C1
<non
e> C0 C0 External Entity External Entity Data Data Com Component nent
31
Application’s manifest
User User’ ’s view s view xBook xBook view view
Information provided by application
maps.goo maps.google.com gle.com addres address www.horoscope.co www.horoscope.com bi birthd rthday ay External Entity External Entity Data Data maps.goo maps.google.com gle.com addres address C3 C3 <n <non
e> full p full profile ile C2 C2 www.horoscope.co www.horoscope.com bi birthd rthday ay C1 C1
<non
e> C0 C0 External Entity External Entity Data Data Com Component nent
32
Application’s manifest
User User’ ’s view s view xBook xBook view view
Information provided by application
maps.goo maps.google.com gle.com addres address www.horoscope.co www.horoscope.com bi birthd rthday ay External Entity External Entity Data Data maps.goo maps.google.com gle.com addres address C3 C3 <n <non
e> full p full profile ile C2 C2 www.horoscope.co www.horoscope.com bi birthd rthday ay C1 C1
<non
e> C0 C0 External Entity External Entity Data Data Com Component nent
33
User’s platform policies (eg. Access to friends) Component Labels
Application’s manifest
User User’ ’s view s view xBook xBook view view
Information provided by application
maps.goo maps.google.com gle.com addres address www.horoscope.co www.horoscope.com bi birthd rthday ay External Entity External Entity Data Data maps.goo maps.google.com gle.com addres address C3 C3 <n <non
e> full p full profile ile C2 C2 www.horoscope.co www.horoscope.com bi birthd rthday ay C1 C1
<non
e> C0 C0 External Entity External Entity Data Data Com Component nent
34
– ADsafe: Object capability subset of JavaScript
from the subset.
– Prevents the component from having direct access to the DOM elements of the page.
the page services.
35
Client-side Confinement – DOM Isolation
C2 C2 C1 C1 C3 C3
User’s application view
36
Client-side Confinement – DOM Isolation
C2 C2 C1 C1 C3 C3
User’s application view
37
Client-side Confinement – EventListeners
Capture Phase Bubble Phase
Target e1
C2 C2 C3 C3 C1 C1
38
C1 C1 C2 C2
Client-side Confinement – EventListeners
Capture Phase Bubble Phase
Target e1 e2
C3 C3
A DOM element belonging to a component can receive an event only if:
e3
39
maps.google.com maps.google.com
map
address address
Symmetric communication Symmetric communication
C3 C3
40
maps.google.com maps.google.com
map
address address ADS ADS AD links AD links
Symmetric communication Symmetric communication
C3 C3
41
Problem: C3 cannot communicate with the Ad links. Problem: C3 cannot communicate with the Ad links.
maps.google.com maps.google.com
map
address address ADS ADS AD links AD links
Symmetric communication Symmetric communication
C3 C3
42
maps.google.com maps.google.com address address
Asymmetric Communication Asymmetric Communication
C3 C3
43
maps.google.com maps.google.com ADS ADS
map
address address
Asymmetric Communication Asymmetric Communication
C3 C3 AD links AD links Unconfined Unconfined
44
maps.google.com maps.google.com ADS ADS
map
address address
Asymmetric Communication Asymmetric Communication
C3 C3 AD links AD links Unconfined Unconfined
45
maps.google.com maps.google.com ADS ADS
map
address address
Asymmetric Communication Asymmetric Communication
C3 C3 AD links AD links Unconfined Unconfined
46
– Facebook data feeds xBook’s user data – Available at http://apps.facebook.com/myxbook – Users need to trust only xBook as an application
47
– Facebook data feeds xBook’s user data – Available at http://apps.facebook.com/myxbook – Users need to trust only xBook as an application
– User attraction: Applications developed over xBook provide greater privacy guarantees! – Future potential: Porting xBook as an application on any social networking platform will automatically port all xBook applications.
48
applications
– developed two sample applications to show the applicability of the APIs. – Overhead: 4.2% (horoscope), 3.1% (utility application)
49
T u0 u1 . . . S(a0, u0) C(a0, u0) C(a0) S(a0) ┴
User labels get priority over application labels Server-side labels gets priority over client-side labels
50
S0
{ S(a { S(a0
0): }
): } S(a S(a0
0)
)
address
X X X X
u1 data u0 data
X X
C0
{ } { } C(a C(a0
0, u
, u0
0)
)
Internet C1
{ T: C(a { T: C(a0
0, u
, u0
0) }
) } C(a C(a0
0, u
, u0
0)
)
C3
{ T: C(a { T: C(a0
0, u
, u0
0),
), google google } } C(a C(a0
0, u
, u0
0)
)
S1
{ S(a { S(a0
0): ; T: C(a
): ; T: C(a0
0, u
, u0
0) }
) } S(a S(a0
0, u
, u0
0)
)
app data
{ S(a { S(a0
0): }
): }
X X
51
X X X X
C0
{ } { } C(a C(a0
0, u
, u0
0)
)
Internet
X X
C3
{ T: C(a { T: C(a0
0, u
, u0
0),
), google google } } C(a C(a0
0, u
, u0
0)
) address
S0
{ S(a { S(a0
0): }
): } S(a S(a0
0)
) L(server L(server, app0) , app0)
u1 data u0 data
C1
{ T: C(a { T: C(a0
0, u
, u0
0) }
) } C(a C(a0
0, u
, u0
0)
)
S1
{ S(a { S(a0
0): ; T: C(a
): ; T: C(a0
0, u
, u0
0) }
) } S(a S(a0
0, u
, u0
0)
)
app data
{ S(a { S(a0
0): }
): }
X X
L(server L(server, app0) , app0) L(server L(server, app0, user0) , app0, user0) L(client L(client, app0, user0) , app0, user0)
52
S0
{ S(a { S(a0
0): }
): } S(a S(a0
0)
)
X X
{ S(a { S(a0
0): }
): }
X X
C0
{ } { } C(a C(a0
0, u
, u0
0)
)
Internet
X X
C1
{ T: C(a { T: C(a0
0, u
, u0
0) }
) } C(a C(a0
0, u
, u0
0)
)
C3
{ T: C(a { T: C(a0
0, u
, u0
0),
), google google } } C(a C(a0
0, u
, u0
0)
) address
X X
u1 data u0 data
S1
{ S(a { S(a0
0): ; T: C(a
): ; T: C(a0
0, u
, u0
0) }
) } S(a S(a0
0, u
, u0
0)
)
app data
L(server L(server, app0, user0) , app0, user0)
53
privacy in social networks in view of third party applications.
user data, while still preventing them from leaking the data.
developed and is available online.
applications.
54
Thank You. Thank You. Thank You. Thank You. Questions? Questions? Questions? Questions? ksingh@cc.gatech.edu ksingh@cc.gatech.edu