Uni App Security Notes

Notes for the Anwendungssicherheit (app security) course at HdM Stuttgart

Felicitas Pojtinger

2022-02-01

1.1 Introduction

Please check out Jakob’s notes for more detailed study materials!

1.1.1 Contributing

These study materials are heavily based on professor Heuzeroth’s “Anwendungssicherheit” lecture at HdM Stuttgart.

Found an error or have a suggestion? Please open an issue on GitHub (github.com/pojntfx/uni-appsecurity-notes):

QR code to source repository

If you like the study materials, a GitHub star is always appreciated :)

1.1.2 License

AGPL-3.0 license badge

Uni App Security Notes (c) 2022 Felicitas Pojtinger and contributors

SPDX-License-Identifier: AGPL-3.0

1.2 Organization

1.3 Overview

1.3.1 Elements of a Secure Development Process

Primary purpose: Analysis of the data flow; data is both protected by the GDPR and represents value of the corportation

1.3.2 Support Hierarchy

1.4 Basics

1.4.1 What is Secure Software?

1.4.2 What is Security?

1.4.3 CISSP Domains/Certificates

1.4.4 Why Security?

1.4.5 Common Terms

  1. Threat agent gives rise to threat
  2. Threat exploits vulnerability
  3. Vulnerability leads to risk
  4. Risk can damage asset and causes exposure
  5. Exposure can be countermeasured by a safeguard
  6. Safeguard directly affects threat agent

1.4.6 Threat Agents

1.4.7 Researching Vulnerabilities

1.4.8 CVSS Metrics

Results in a number which can be used to classify the vulnerability.

1.4.9 Balancing Security

1.4.10 Writing Secure Software

1.4.11 Finishing Thoughts

1.5 Web Application Security

1.5.2 Components of Web Environments

1.5.3 Targets

1.5.4 Risks in the Layered Architecture

1.5.5 Methods to find Vulnerabilities

1.5.6 Pentesting Process

  1. Pre-Attack Phase
    1. Rules of engagement must be noted in a contract
    2. Customer’s requirements need to be queried
    3. Enumeration
      1. Passive: Enumerating without having access to client’s network
      2. Active: Scanning
  2. Attack Phase:
    1. Perimeter breach
    2. Access
    3. Exploit/privilege escalation
    4. Keeping access
    5. Removing all traces
  3. Post-Attack Phase:
    1. Restoring the pre-attack state
    2. Writing the report
    3. Posting recommendations on how to continue (i.e. fixing the vulnerabilities)