Client-side vulnerabilities and their reduction

This subsection examines how attackers can exploit weaknesses that arise in the user’s interaction with web browsers and mobile devices. These are so‑called client-side problems, as opposed to server-side ones. The client side also includes challenges resulting from the trend of storing increasing amounts of data on the client rather than the server. In addition, some physical attacks are discussed.

Data stored on the client

Client-side storage refers to areas provided by the browser or operating system for websites or mobile applications. Storage is therefore local and does not require server-side resources or an active Internet connection. Because malicious users can manipulate stored data, client-side storage areas must be protected. We consider the issue separately for browsers and mobile devices.

In the browser

Historically, client-side storage in browsers has been used only for storing cookies. However, cookies cannot be used to store large or complex data. With HTML5, more powerful and versatile alternatives exist. These include WebStorage, similar to cookies and storing key–value pairs, and IndexedDB, which functions like a noSQL database and can be used to store documents, other files, and binary large objects (blobs).

To ensure the integrity of sensitive information, such as session data, developers are advised to cryptographically sign the data stored on the client and verify it when retrieving it.

In addition to integrity, another storage-related consideration with WebStorage and IndexedDB is that stored data is not automatically cleared when users leave the website. For session‑like storage, web developers are advised to rely on the sessionStorage object in the WebStorage API.

In mobile applications

Mobile storage security also depends on the type of data and the storage mechanism. For example, an application may use private storage or shared storage such as an SD card. Developers are encouraged to sign and encrypt sensitive information and apply appropriate sanitization of user input. This is especially important for shared storage, which lacks protected access control—unlike an application’s private storage area.

Leakage of sensitive data in Android applications has been studied. For example, in an examination of 1,100 popular Android apps, a significant number were found leaking sensitive user data into publicly readable storage such as log files and SD cards. It has also been found that some sensitive data leaks are intentional, enabling the information to be passed to another cooperating malicious app.

Physical attacks

Physical attacks aim to exploit errors and weaknesses arising from device use.

Smudges on touchscreens
In a smudge attack, an attacker attempts to learn passwords, PIN codes, or patterns entered into a touchscreen device. When authentication information is entered with greasy fingers, traces remain on the screen. By using suitable cameras and image processing software, the attacker can recover the smudge traces and infer information from them. The attacker needs a clear view of the target screen.
Shoulder surfing
Shoulder surfing is a physical attack in which an attacker attempts to obtain confidential information such as passwords, PIN codes, unlock patterns, or credit card numbers. The attacker needs a clear view of the target screen. The attack can be performed either directly by looking over the victim’s shoulder or from a distance using tools such as cameras or telescopes. These attacks are dangerous for mobile device users when they authenticate to the device or network services in public places such as trains, stations, and airports.
What is an IDN attack?
What is clickjacking based on?
The protection of client-side storage
Select all correct statements.
Posting submission...