Certificate-based resource alteration prevention using a public key infrastructure

  • The shift from purely static server-side websites to rich web services in the modern World Wide Web entailed so-called single page applications. These are JavaScript programs that run mostly server independent in the client's browser and dynamically change the visible elements, requesting additional resources only when they are needed. Unfortunately, security issues were only of secondary importance in this evolution, leading to numerous client-side attacks nowadays to steal sensitive user data such as credit card data or even passwords. In addition to well-known cross-channel attacks such as cross-site scripting or cross-side request forgery, this also includes resource tampering, which was originally more ascribed to server-side attacks, but which explicitly enables client-side attacks through the distribution of script resources by third party content distribution networks. While existing work deals basically only with attacks by malicious third parties, we assume in this thesisThe shift from purely static server-side websites to rich web services in the modern World Wide Web entailed so-called single page applications. These are JavaScript programs that run mostly server independent in the client's browser and dynamically change the visible elements, requesting additional resources only when they are needed. Unfortunately, security issues were only of secondary importance in this evolution, leading to numerous client-side attacks nowadays to steal sensitive user data such as credit card data or even passwords. In addition to well-known cross-channel attacks such as cross-site scripting or cross-side request forgery, this also includes resource tampering, which was originally more ascribed to server-side attacks, but which explicitly enables client-side attacks through the distribution of script resources by third party content distribution networks. While existing work deals basically only with attacks by malicious third parties, we assume in this thesis that the publisher of the application can be in cahoots with the adversary. The resulting attack, targeting a specific or small group of clients, is called a resource alteration attack, as the application files can be legitimately modified to reveal user information. In this work, we present a novel approach based on a public key infrastructure to prevent such attacks, even if multiple parties within our system have been compromised. Hash values of application resources are embedded in certificates, which are validated by certificate authorities. Thereafter, they are stored on one or more synchronizing log servers in an authenticated data structure, the Merkle Tree. Such a tree is able to generate unforgeable proofs regarding its content and consistency of insertions, whereby the existence of a certificate can be proven beyond doubt and verified by the client. We modify and extend an existing protocol that allows certificate authorities to monitor modification and query processes, signing the proof responses on approval. This allows any malicious party to be identified and held accountable in the event of inconsistencies. We also present an efficient monitoring procedure that does not require a Merkle Tree to be built and maintained locally, so that instead of only dedicated monitors, the client can also ensure global consistency of multiple log servers. An analysis of our proposal shows that the level of security scales in the number of certificate authorities involved, and in the case of a secure connection between publisher and client, both the former and at least one log server must be compromised in addition to the authorities for a successful attack. Furthermore, we encourage security experts to publish their analysis results for an application in our system with a certificate as well. Since we expect casual users to have not taken far-reaching security precautions against common client-side attacks, experts can additionally specify assertions in the analysis certificates to provide additional protection and confidence. These are then verified by our browser extension, which already queries certificates and verifies associated proofs.show moreshow less

Download full text files

Export metadata

Statistics

Number of document requests

Additional Services

Share in Twitter Search Google Scholar
Metadaten
Author:Philip LenzenGND
URN:urn:nbn:de:bvb:384-opus4-639171
Frontdoor URLhttps://opus.bibliothek.uni-augsburg.de/opus4/63917
URL:https://www.researchgate.net/publication/330541097_Certificate-based_Resource_Alteration_Prevention_using_a_Public_Key_Infrastructure
Advisor:Bernhard Bauer
Type:Master's Thesis
Language:English
Year of first Publication:2019
Publishing Institution:Universität Augsburg
Granting Institution:Universität Augsburg, Fakultät für Angewandte Informatik
Date of final exam:2019/01/14
Release Date:2019/10/28
Tag:security; public-key infrastructure; certificate validation; tamper protection; web security
DOI:https://doi.org/10.13140/RG.2.2.33939.94240
Institutes:Fakultät für Angewandte Informatik
Fakultät für Angewandte Informatik / Institut für Informatik
Fakultät für Angewandte Informatik / Institut für Software & Systems Engineering
Fakultät für Angewandte Informatik / Institut für Informatik / Lehrstuhl für Softwaretechnik
Fakultät für Angewandte Informatik / Institut für Informatik / Lehrstuhl für Softwaretechnik / Lehrstuhl für Softwaretechnik
Dewey Decimal Classification:0 Informatik, Informationswissenschaft, allgemeine Werke / 00 Informatik, Wissen, Systeme / 000 Informatik, Informationswissenschaft, allgemeine Werke
Licence (German):CC-BY-SA 4.0: Creative Commons: Namensnennung - Weitergabe unter gleichen Bedingungen (mit Print on Demand)