Download presentation
Presentation is loading. Please wait.
Published byLouisa Long Modified over 9 years ago
1
User Interface Toolkit Mechanisms For Securing Interface Elements Franziska Roesner, James Fogarty, Tadayoshi Kohno Computer Science & Engineering DUB Group, Security & Privacy Research Lab University of Washington
2
Like us on Facebook! User Interface Toolkits Ease interface design and implementation. Provide developers with flexibility and expressivity. Assumption: Developers have full control of an interface. New Challenge: Modern interfaces include elements implemented by different developers. Ad from ad library Social button from Facebook library 2 Map from Google library
3
Like us on Facebook! Attack #1: Programmatic Click Fraud 3 Ad Server App Developer User Click Programmatic Click
4
Like us on Facebook! Attack #2: Size Manipulation 4 Android requires applications to display a camera preview in order to take a photo. 1 pixel X 1 pixel camera preview
5
Attack #3: Eavesdropping 5 NEW! Login with your Google account! Interface Layout Tree Background {App} LoginBox {Google} Text {App} Interface Layout Tree Background {App} LoginBox {Google} Text {App} Terminology: Code from different developers is in different trust groups.
6
Interface Layout Tree Background {App} LoginBox {Google} Text {App} Attack #3: Eavesdropping 6 App Developer p@ssw0rd NEW! Login with your Google account! ********
7
Like us on Facebook! Attack #4: Display Takeover 7 Widget parent = adWidget.getParent(); parent.removeChildren(); parent.addChild(fullScreenAd); Ad Library Code
8
An Opportunity for Toolkits These vulnerabilities are in the user interface. Existing solutions come at the expense of interface usability and flexibility. 8 Addressing these vulnerabilities in the user interface toolkit provides better security and enables new interfaces.
9
Desired Security Properties 1.Display Integrity 2.Input Integrity 3.Intent Integrity 4.Data Isolation 5.UI-to-API Links 9
10
Desired Security Properties 1.Display Integrity 2.Input Integrity 3.Intent Integrity 4.Data Isolation 5.UI-to-API Links 10
11
Desired Security Properties 1.Display Integrity 2.Input Integrity 3.Intent Integrity 4.Data Isolation 5.UI-to-API Links 11 Protect the display of interface elements across trust groups. Like us on Facebook! Recall the attacks: Size Manipulation Display Takeover
12
Recall the attack: Programmatic Click Fraud Like us on Facebook! Desired Security Properties 1.Display Integrity 2.Input Integrity 3.Intent Integrity 4.Data Isolation 5.UI-to-API Links 12 Prevent programmatic interaction with interface elements across trust groups.
13
Desired Security Properties 1.Display Integrity 2.Input Integrity 3.Intent Integrity 4.Data Isolation 5.UI-to-API Links 13 Protect displayed content and input across trust groups. Recall the attack: Eavesdropping NEW! Login with your Google account!
14
Architecting a Toolkit for Security 14 Techniques: Isolating trust groups Interface layout tree invariants Model-level event listeners Composition across trust groups Flexible feedback (for drag-and-drop, lenses) Goals: (1) Achieve our desired security properties. (2) Maintain usability and developer flexibility.
15
Architecting a Toolkit for Security 15 Techniques: Isolating trust groups Interface layout tree invariants Model-level event listeners Composition across trust groups Flexible feedback (for drag-and-drop, lenses) Goals: (1) Achieve our desired security properties. (2) Maintain usability and developer flexibility.
16
Interface Layout Tree Vulnerabilities 16 (1) Insecure Layout: Parent elements can manipulate the layout of the child elements. Recall the attack: Size Manipulation Size Request Problem: In a traditional layout tree, there is no guarantee of a trusted path to every node.
17
Interface Layout Tree Vulnerabilities 17 Input Events (2) Insecure Input: Parents can eavesdrop on or modify events intended for children. Recall the attack: Eavesdropping NEW! Login with your Google account! Problem: In a traditional layout tree, there is no guarantee of a trusted path to every node.
18
Interface Layout Tree Invariants Solution: Introduce new invariants: 1.The root node of an application’s layout tree must be a system node. 2.Only system nodes may have children of a different trust group. 18 system Input Events Size Request system
19
Interface Layout Tree Invariants How to do visual embedding? 19 Solution: Introduce a system-trusted proxy node into the layout tree. The proxy node is introduced automatically and can be transparent to the developer. NEW! Login with your Google account! Background {App} LoginBo x {Google} Text {App} Proxy {System} Root {System} Background {App} LoginBox {Google} Text {App} Root {System}
20
More in the paper! Techniques for flexibility – Exposing model-level APIs across trust groups – Composing trust groups in one interface element – Supporting feedback (drag-and-drop, lenses) 20 NEW! Login with your Google account! Prototype implementations for Android and a web browser Login token Like us on Facebook!
21
Conclusion Questions for future work and discussions: – What are appropriate defaults for access to APIs across trust groups? – What new interfaces will a secure toolkit enable? 21 A security-aware toolkit architecture can achieve security properties while maintaining developer flexibility.
22
User Interface Toolkit Mechanisms For Securing Interface Elements Franziska Roesner, James Fogarty, Tadayoshi Kohno Computer Science & Engineering DUB Group, Security & Privacy Research Lab University of Washington franzi@cs.washington.edu This work was supported by the NSF under Graduate Research Fellowship award DGE-0718124 as well as awards CNS-0846065 and IIS-1053868.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.