Systematic approach to uncover GUI logic flaws
First Claim
1. A method comprising:
- A processor examining graphic user interface (GUI) logic;
identifying flaws in the logic that expose security damage;
mapping a visual invariant to a program invariant;
discovering inputs to the GUI logic that include a user action and an execution context to cause the program invariant to be violated; and
uncovering browser address bar spoofing by examining for logic correctness as to navigation functionality that includes loading a new page, travelling back in the history log, and opening a new window.
2 Assignments
0 Petitions
Accused Products
Abstract
To achieve end-to-end security, traditional machine-to-machine security measures are insufficient if the integrity of the graphical user interface (GUI) is compromised. GUI logic flaws are a category of software vulnerabilities that result from logic flaws in GUI implementation. The invention described here is a technology for uncovering these flaws using a systematic reasoning approach. Major steps in the technology include: (1) mapping a visual invariant to a program invariant; (2) formally modeling the program logic, the user actions and the execution context, and systematically exploring the possibilities of violations of the program invariant; (3) finding real spoofing attacks based on the exploration.
16 Citations
16 Claims
-
1. A method comprising:
-
A processor examining graphic user interface (GUI) logic; identifying flaws in the logic that expose security damage; mapping a visual invariant to a program invariant; discovering inputs to the GUI logic that include a user action and an execution context to cause the program invariant to be violated; and uncovering browser address bar spoofing by examining for logic correctness as to navigation functionality that includes loading a new page, travelling back in the history log, and opening a new window. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method comprising:
-
A processor examining graphic user interface (GUI) logic; identifying flaws in the logic that expose security damage; mapping a visual invariant to a program invariant; discovering inputs to GUI logic that include user actions and an execution context to cause the program invariant to be violated, the discovering comprising document object trees, active scripts, and user actions that cause the visual invariant to be violated; and constructing real visual spoofing attacks based on the inputs to GUI logic. - View Dependent Claims (12, 13)
-
-
14. A method comprising:
-
A processor generating a webpage that includes a canonical document object model tree; loading the webpage through a browser, wherein an action sequence performed by the browser is simulated, and states of the browser are tracked; and checking for spoofs when the loading is performed by examining graphic user interface (GUI) logic and identifying flaws in the logic that expose security damage, the action sequence and the checking for spoofs implemented using binary instrumentation tools. - View Dependent Claims (15, 16)
-
Specification