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
In a nutshell
  • 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.

Portfolioinventory and riskDesignthreat modelBuildsecure coding and scanningReleasesigned, gatedRunmonitor and respond

How it works

Evaluating the security posture of an application portfolio

  1. Inventory every application: owner, data handled, exposure (internet, internal), technology, hosting, dependencies and identities used.
  2. Tier by business criticality and data sensitivity so effort goes where risk is highest.
  3. Assess each against baselines: authentication method, secrets handling, patch level, dependency vulnerabilities, logging, network exposure and recovery.
  4. Use tooling to gather evidence rather than questionnaires alone:
SourceInsight
Defender for CloudPosture of Azure, AWS and GCP workloads, attack paths
Defender for Cloud DevOps securityCode, dependency, secret and infrastructure as code findings in Azure DevOps, GitHub and GitLab
Defender for Cloud AppsCloud discovery and SaaS app risk, and app governance for OAuth apps
Microsoft EntraApp registrations, enterprise applications, credentials and permissions, sign in logs
Vulnerability and dependency scanningKnown vulnerable components, with SBOM information
  1. 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.

  1. Define scope and draw a data flow diagram: external entities, processes, data stores, data flows and trust boundaries.
  2. Identify threats for each element, commonly with STRIDE:
LetterThreatViolated propertyTypical mitigation
SSpoofing identityAuthenticationStrong authentication, managed identities, certificates
TTamperingIntegritySigning, hashing, input validation, access control
RRepudiationNon repudiationAudit logging, tamper evident logs
IInformation disclosureConfidentialityEncryption, least privilege, data classification
DDenial of serviceAvailabilityRate limiting, autoscale, DDoS protection, WAF
EElevation of privilegeAuthorizationLeast privilege, validation, separation of duties
  1. Rate and prioritize risks (likelihood and impact, or a scheme such as DREAD).
  2. Decide the response: mitigate, transfer, accept or avoid, and record the decision.
  3. 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.

PhasePractices
TrainingSecure coding training for developers
RequirementsSecurity and privacy requirements, risk assessment
DesignThreat modeling, secure design reviews, attack surface reduction
ImplementationApproved tools, banned APIs, secure coding standards, code review, secret scanning
VerificationSAST, SCA, DAST, fuzzing, penetration testing
ReleaseFinal security review, incident response plan, signed artifacts
ResponseMonitoring, 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

RequirementTechnology
Authenticate users and appsMicrosoft Entra ID, managed identities, workload identity federation
Protect against web attacksAzure WAF on Application Gateway or Front Door
Protect and govern APIsAzure API Management, Defender for APIs
Store secrets and keysAzure Key Vault
Find vulnerabilities in code and dependenciesGitHub Advanced Security, Defender for DevOps, Dependabot
Protect running workloadsDefender for Cloud plans (App Service, Containers, Servers)
Detect and investigate attacksApplication Insights, Sentinel, Defender XDR
Control third party SaaS appsDefender for Cloud Apps
Enforce configurationAzure 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.
Exam tip

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.