Control-Flow integrity in web applications

  • Authors:
  • Bastian Braun;Patrick Gemein;Hans P. Reiser;Joachim Posegga

  • Affiliations:
  • Institute of IT-Security and Security Law (ISL), University of Passau, Germany;Institute of IT-Security and Security Law (ISL), University of Passau, Germany;Institute of IT-Security and Security Law (ISL), University of Passau, Germany;Institute of IT-Security and Security Law (ISL), University of Passau, Germany

  • Venue:
  • ESSoS'13 Proceedings of the 5th international conference on Engineering Secure Software and Systems
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Modern web applications frequently implement complex control flows, which require the users to perform actions in a given order. Users interact with a web application by sending HTTP requests with parameters and in response receive web pages with hyperlinks that indicate the expected next actions. If a web application takes for granted that the user sends only those expected requests and parameters, malicious users can exploit this assumption by crafting harming requests. We analyze recent attacks on web applications with respect to user-defined requests and identify their root cause in the missing explicit control-flow definition and enforcement. Based on this result, we provide our approach, a control-flow monitor that is applicable to legacy as well as newly developed web applications. It expects a control-flow definition as input and provides guarantees to the web application concerning the sequence of incoming requests and carried parameters. It protects the web application against race condition exploits, a special case of control-flow integrity violation. Moreover, the control-flow monitor supports modern browser features like multi-tabbing and back button usage. We evaluate our approach and show that it induces a negligible overhead.