I am part of the growing security team at a company for sneaker enthusiasts and collectors. The business is preparing to launch a mobile app that makes it easy for their customers to buy and sell shoes. I am performing a threat model of the application using the PASTA framework.
Objectives
Go through each of the seven stages of the framework to identify security requirements for the new sneaker company app.
Results
Threat Model
Stages
Information
1. Define business and security objectives
User data is being collected and stored through the app. They want users to feel that data is being protected and kept private. Interaction between buyers and sellers should be easy with zero friction. Proper payment handling is important to avoid legal issues, so compliance with PCI DSS is critical.
2. Define the technical scope
Technologies used by the app:
API - the app is built by combining several third-party software components
PKI - the app uses AES and RSA encryption algorithms to encrypt sensitive user data and to facilitate key exchange
SHA256 - used to protect user passwords
SQL - used to query sneaker inventory and seller information from a database
I prioritize SQL over other technologies because SQL injection attacks are common attack methods that threat actors use to compromise and exfiltrate sensitive data from databases. This prioritization coincides with the company's concern with data privacy.
Prepared statements and input validation to prevent injection attacks
NGFW and IDS/IPS to help mitigate the impact DDoS attacks
MFA to improve access controls
Code signing to help detect tampering with the app’s source code by internal or external threats
1 For the sake of brevity, the data diagram and attack tree have been truncated. In real-world scenarios, these diagrams are much more detailed and complex.