Design security solutions for applications and data · Topic 2 of 5
Application Security Lifecycle and Threat Modeling
SC-100 applications: evaluating an application portfolio, STRIDE threat modeling, secure development lifecycle and mapping technologies to needs.
- 5 min
- Evaluate the portfolio by inventory, tiering and evidence from Defender for Cloud, DevOps security and Entra.
- STRIDE: Spoofing, Tampering, Repudiation, Information disclosure, Denial of service, Elevation of privilege.
- Threat model at design time with data flow diagrams and trust boundaries.
What it is
Applications are written, built, deployed and run by people and pipelines, and each step can introduce risk. An architect designs security across the whole life cycle, not just the runtime. This topic covers four things: evaluating the security posture of the existing application portfolio, threat modeling to find design weaknesses, a full life cycle strategy and standards and practices for secure development, and mapping technologies to application security requirements.
How it works
Evaluating the security posture of an application portfolio
- Inventory every application: owner, data handled, exposure (internet, internal), technology, hosting, dependencies and identities used.
- Tier by business criticality and data sensitivity so effort goes where risk is highest.
- Assess each against baselines: authentication method, secrets handling, patch level, dependency vulnerabilities, logging, network exposure and recovery.
- Use tooling to gather evidence rather than questionnaires alone:
| Source | Insight |
|---|---|
| Defender for Cloud | Posture of Azure, AWS and GCP workloads, attack paths |
| Defender for Cloud DevOps security | Code, dependency, secret and infrastructure as code findings in Azure DevOps, GitHub and GitLab |
| Defender for Cloud Apps | Cloud discovery and SaaS app risk, and app governance for OAuth apps |
| Microsoft Entra | App registrations, enterprise applications, credentials and permissions, sign in logs |
| Vulnerability and dependency scanning | Known vulnerable components, with SBOM information |
- Prioritize remediation: retire unused apps, fix the highest risk first, and set minimum standards for the rest.
Threat modeling
Threat modeling is a structured way to find security problems at design time, when they are cheapest to fix.
- Define scope and draw a data flow diagram: external entities, processes, data stores, data flows and trust boundaries.
- Identify threats for each element, commonly with STRIDE:
| Letter | Threat | Violated property | Typical mitigation |
|---|---|---|---|
| S | Spoofing identity | Authentication | Strong authentication, managed identities, certificates |
| T | Tampering | Integrity | Signing, hashing, input validation, access control |
| R | Repudiation | Non repudiation | Audit logging, tamper evident logs |
| I | Information disclosure | Confidentiality | Encryption, least privilege, data classification |
| D | Denial of service | Availability | Rate limiting, autoscale, DDoS protection, WAF |
| E | Elevation of privilege | Authorization | Least privilege, validation, separation of duties |
- Rate and prioritize risks (likelihood and impact, or a scheme such as DREAD).
- Decide the response: mitigate, transfer, accept or avoid, and record the decision.
- Validate with testing and review, and update the model when the design changes.
The Microsoft Threat Modeling Tool helps draw diagrams and generate STRIDE threats. Threat model business critical applications first and revisit the model for major changes, since it also drives test cases and monitoring.
A full life cycle strategy for application security
The Microsoft Security Development Lifecycle (SDL) and similar frameworks add security practices to every phase.
| Phase | Practices |
|---|---|
| Training | Secure coding training for developers |
| Requirements | Security and privacy requirements, risk assessment |
| Design | Threat modeling, secure design reviews, attack surface reduction |
| Implementation | Approved tools, banned APIs, secure coding standards, code review, secret scanning |
| Verification | SAST, SCA, DAST, fuzzing, penetration testing |
| Release | Final security review, incident response plan, signed artifacts |
| Response | Monitoring, vulnerability management, patching and incident handling |
Standards and practices for the development process
- Secure coding standards based on the OWASP Top 10 (and the OWASP Application Security Verification Standard as a requirement list) covering input validation, output encoding, authentication, session management, access control and error handling.
- Source control protections: branch protection, required reviews, signed commits, least privilege repository access, secret scanning with push protection.
- Pipeline security: treat pipelines as critical assets, use federated credentials rather than stored secrets, limit service connection scope, run scans as gates, protect agents.
- Dependency management: scan open source components, keep a software bill of materials, use controlled package feeds and pinned versions, and respond to new advisories.
- Infrastructure as code scanning for misconfigurations before deployment.
- Environments: separate dev, test and production, with no real production data in test and controlled access.
- Release controls: approvals, artifact signing, and promotion only of the artifact that passed the gates.
- Runtime feedback: monitoring and bug bounty or vulnerability disclosure, feeding findings back into backlog.
Mapping technologies to application security requirements
| Requirement | Technology |
|---|---|
| Authenticate users and apps | Microsoft Entra ID, managed identities, workload identity federation |
| Protect against web attacks | Azure WAF on Application Gateway or Front Door |
| Protect and govern APIs | Azure API Management, Defender for APIs |
| Store secrets and keys | Azure Key Vault |
| Find vulnerabilities in code and dependencies | GitHub Advanced Security, Defender for DevOps, Dependabot |
| Protect running workloads | Defender for Cloud plans (App Service, Containers, Servers) |
| Detect and investigate attacks | Application Insights, Sentinel, Defender XDR |
| Control third party SaaS apps | Defender for Cloud Apps |
| Enforce configuration | Azure Policy |
A worked scenario
A company has 300 applications and no consistent view of risk. The architect inventories them, tiers by data sensitivity and exposure, uses Defender for Cloud, DevOps security and Entra reports to collect evidence, and finds a dozen internet facing, high data apps with weak authentication and old dependencies. They threat model the top three using STRIDE, require secret scanning, SAST and dependency scanning in pipelines, and set signed artifacts and approvals for release.
What to remember for the exam
- Evaluate the portfolio by inventory, tiering and evidence from Defender for Cloud, DevOps security and Entra.
- STRIDE: Spoofing, Tampering, Repudiation, Information disclosure, Denial of service, Elevation of privilege.
- Threat model at design time with data flow diagrams and trust boundaries.
- Life cycle: training, requirements, design, implementation, verification, release, response. Use SAST, SCA, DAST.
- Secure the pipeline and dependencies as part of the application.
A question that asks for "the earliest and cheapest point to find a design flaw" is threat modeling.
How the exam asks about this
- "Which threat category does an attacker pretending to be another user fall under?" Spoofing.
- "Identify business critical applications for review first." Tier the portfolio by criticality and data sensitivity.
- "Find vulnerabilities in open source packages in a repository." Software composition analysis, for example Dependabot or Defender for DevOps.
- "Ensure only artifacts that passed security checks are deployed." Gated, signed release pipeline.
Common mistakes
Threat modeling after release. It finds expensive problems.
Scanning without owners. Findings need triage and a due date.
Ignoring the pipeline. A compromised build system compromises every release.
Treating OWASP Top 10 as a complete standard. It is awareness, not a full requirement set.
Check yourself
What does the T in STRIDE stand for?
Tampering.
What is drawn in a data flow diagram to show where trust changes?
Trust boundaries.
Which scanning type finds known vulnerable open source components?
Software composition analysis.
Topic 2 of 5 in Design security solutions for applications and data
Test yourself on Design security solutions for applications and data
The full Microsoft SC-100 question bank has 770 questions, with timed practice exams and an explanation for every answer.
This study guide is independent and is not affiliated with, endorsed by, or sponsored by Microsoft. Vendor names, certification names and exam codes are trademarks of their respective owners and are used for identification only.