Threat modeling with STRIDE
The STRIDE threat model defines threats in six categories, which are spoofing, tampering, repudiation, information disclosure, denial of service, and elevation of privilege. It's normally used to assess the architecture design.
The threat STRIDE model and general security mitigation are summarized in the following table. In addition to STRIDE, it's also suggested to include privacy in the analysis:
STRIDE threats | Mitigation |
Spoofing | Authentication such as credentials, certificates, and SSH |
Tampering | Integrity (HASH256, digital signature) |
Repudiation | Authentication, logging |
Information Disclosure | Confidentiality (encryption, ACL) |
Denial of Service | Availability (load balance, buffer, message queue) |
Elevation of Privilege | Authorization (ACL) |
Privacy (additionally included) | Data masking, access control, user consent, removal |
The analysis of STRIDE analysis normally involves the entity (user, admin, external application), the process (web server, FTP, service), the data store (database...