Web and Mobile Security

Join the Eristotle Certified Cyber Security Professional Pathway to study this course and prepare for your Eristotle Certified Cyber Security Professional (ECCSP) certification exam.

The purpose of this Knowledge Area is to provide an overview of security mechanisms, attacks and defences in modern web and mobile ecosystems. This overview is intended for use in academic courses and to guide industry professionals interested in this area.

Web and mobile security have become the primary means through which many users interact with the Internet and computing systems. Hence, their impact on overall information security is significant due to the sheer prevalence of web and mobile applications (apps). Covering both web and mobile security, this Knowledge Area emphasises the intersection of their security mechanisms, vulnerabilities and mitigations. Both areas share a lot in common and have experienced a rapid evolution in the features and functionalities offered by their client side applications (apps). This phenomenon, sometimes called appification, is a driver in modern web and mobile ecosystems. Web and mobile client apps typically interact with server side application interfaces using web technologies. This second phenomenon, also sometimes called webification, equally affects both web and mobile ecosystems. In the 1990s, web and mobile security had a strong focus on server-side and infrastructure security. Web browsers were mostly used to render and display static websites without dynamic content. The focus on the server-side prevailed even with the rise of early scripting languages such as Perl and PHP. However, web content became more dynamic in the 2000s, and server-side security had to address injection attacks. Similarly to web browsers, early mobile devices had limited functionality and were mostly used to make calls or send SMS. Mobile security back then focused on access control, calls and SMS security.

The rise of modern web and mobile platforms brought notable changes. A significant amount of web application code is no longer executed on the server-side but runs in the browser. Web browser support for Java, Adobe Flash, JavaScript and browser plugins and extensions brought many new features to the client, which prompted a drastic change of the attack surface on the web. New types of attacks such as Cross-Site Scripting emerged and plugins proved to be vulnerable, e.g. Adobe Flash browser plugins are known for being an attractive target for attackers. In response to these new threats, browser vendors and website developers and operators took measures. For instance, Google Chrome disabled the Adobe Flash plugin by default in 2019 [1] and new security best practices were developed [2]. Similarly to web browsers, mobile devices became smarter and more feature-rich. Smartphones and tablets are equipped with sensors, including motion, GPS and cameras. They have extensive computing power, storage capacity and are connected to the Internet 24-7. Modern Android and iOS devices run full-blown operating systems and increasingly feature-rich and complex application frameworks. Mobile apps can request access to all the devices’ resources and sensors using permission based access control, and process highly sensitive user information. Being powerful, feature-rich, and connected makes mobile clients promising and attractive targets for attackers.

Modern web and mobile ecosystems are the primary drivers for the rise of appification and the “there is an app for everything” motto sums up many of the technological and security developments in recent years. The appification trend resulted in millions of apps ranging from simple flashlight apps to online social network apps, from online banking apps to mobile and browser-based games. It also sparked the merging of technologies and security mechanisms used in web and mobile applications. Both ecosystems are typically client-server oriented.

Web browsers and mobile apps communicate with back-end services often using web focused technologies. Communication is mostly based on the Hypertext Transfer Protocol (HTTP) and its secure extension HTTPS. Both web-browsers and mobile applications tend to primarily exchange Hyptertext Markup Language (HTML), JSON and XML documents and both make extensive use of the JavaScript programming language, on the server- and the client-side. Webification describes the conversion to these web technologies.

The sheer amount of applications in modern web and mobile ecosystems also impacted the software distribution model, which moved away from website downloads to centralised application stores, which allow developers to publish, advertise and distribute their software, and users to download new apps and app updates. The centralised software distribution had a positive impact on update frequencies and speed for both web and mobile.

This Knowledge Area focuses on the appification trend and an introduction to the core technologies of the webification phenomenon. Figure 1 provides an overview of the entities involved and their interactions.

The web and mobile ecosystem, split between client side and server side. Developers publish apps and push updates to an app store, which performs security checks and installs sandboxed apps onto a mobile device. Users interact with the mobile device and with isolated websites in a web browser. The browser exchanges HTTPS requests and responses with a web server, the mobile device exchanges data with the application server, and developers and operations staff develop the web applications and configure the infrastructure.
Figure 1: Web and Mobile Ecosystem

After introducing core technologies and concepts, we describe important security mechanisms and illustrate how they differ from non-web and non-mobile ecosystems. Software and content isolation are crucial security mechanisms and aim to protect apps and websites from malicious access. While isolation is understood in relation to traditional operating systems (cf. the Operating Systems & Virtualisation CyBOK Knowledge Area [3]), specifics for web and mobile platforms will be outlined.

Modern web and mobile platforms introduced new forms of access control based on permission dialogues. Whilst a more general discussion of access control is included in the Authentication, Authorisation & Accountability CyBOK Knowledge Area [4], this Knowledge

Area discusses web and mobile specifics. Web and mobile applications make extensive use of the HTTP and HTTPS protocols. Hence, we will discuss the Web Public-Key Infrastructure

(PKI) and HTTPS extending the Transport Layer Security (TLS) section in the Network Security CyBOK Knowledge Area [5]. Similarly, we will discuss web and mobile-specific authentication aspects, referring readers to the Authentication, Authorisation & Accountability CyBOK Knowledge Area [4] for a more general discussion of authentication. Finally, we address frequent software updates as a crucial security measure. While software updates are equally important in traditional computer systems, the centralisation[1]of web and mobile ecosystems, introduces new challenges and opportunities.

The following sections focus on web and mobile-specific client and server-side security aspects. However, we will not address common software vulnerabilities (cf. the Software Security CyBOK Knowledge Area [6]) and operating system security (cf. Operating Systems & Virtualisation CyBOK Knowledge Area [3]) in general. Section 3 first covers phishing and clickjacking attacks and defenses. Both affect web and mobile clients and exploit human difficulties in correctly parsing URLs or identifying changes in the visual appearance of websites. As feature-rich web and mobile clients store sensitive data, we will then discuss clientside storage security issues and mitigations. Finally, Section 3 discusses physical attacks on mobile clients, including smudge attacks and shoulder surfing. Section 4 addresses serverside challenges, starting with an overview of frequent injection attacks. We discuss SQL and command injection attacks that allow malicious users to manipulate database queries to storage backends of web applications and commands that are executed. This is followed by a discussion of cross-site scripting and cross-site request forgery attacks and common server-side misconfigurations that might lead to vulnerable service backends.

Overall, the discussion of client- and server-side security challenges aims to serve as the underlining of the natural split between entities in web and mobile ecosystems. Additionally, the chosen aspects illustrate the difference between the web and mobile world from other ecosystems.

Due to its focus on the intersection of both web and mobile security, this Knowledge Area does not cover aspects that are unique to either web or mobile such as mobile device security, mobile network (i. e., 2G/3G/4G/5G) security (see Physical Layer and Telecommunications Security CyBOK Knowledge Area [7]), and mobile malware. Some of these aspects are discussed in the Hardware Security CyBOK Knowledge Area [8], the Malware & Attack Technologies CyBOK Knowledge Area [9] and the Network Security CyBOK Knowledge Area [5]. We also do not discuss side-channel attacks; the concept and examples for side-channel security are given in the Hardware Security CyBOK Knowledge Area [8].


[1] There are only a limited number of widely used web browsers and application stores.

Not Enrolled

Course Includes

  • 5 Lessons
  • 15 Topics