MODULE 3: APPLICATION SECURITY

0.0(0)
Studied by 0 people
call kaiCall Kai
Locked
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/55

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 7:03 AM on 7/25/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai
Chat

No analytics yet

Send a link to your students to track their progress

56 Terms

1
New cards

Application Security

is the practice of finding, fixing, and preventing security vulnerabilities at the application layer — across design, code, and runtime — rather than relying solely on network or infrastructure defenses.

2
New cards

Application Security

Covers custom code, open-source components, APIs, and configuration

3
New cards

Application Security

Spans the full lifecycle — not just a pre-release scan

4
New cards

Application Security

Balances developer speed with risk reduction

5
New cards

Confidentiality

Protect sensitive data from unauthorized

access

6
New cards

Integrity

Ensure code and data aren't tampered with

7
New cards

Availability

Keep applications running under attack

8
New cards

OWASP TOP 10

regularly updated industry-standard awareness document that represents a broad consensus on the most critical security risks to web applications.

9
New cards

Open Worldwide Application Security Project

OWASP meaning

10
New cards

OWASP Top 10

A minimum standard for application security programs

11
New cards

OWASP Top 10

A shared vocabulary between developers, testers, and auditors

12
New cards

OWASP Top 10

A prioritization guide — not an exhaustive checklist

13
New cards

Broken access control

Cryptographic Failure

Injection

Insecure Design

Security Misconfiguration

Vulnerable and Outdated Components

Identification and Authentication Failure

Software and Data Integrity Failure

Security logging and monitoring failure

Server side request forgery

OWASP TOP 10

14
New cards

Broken access control

Users can act outside their intended permissions — viewing or modifying data, or invoking functions, that should be restricted.

15
New cards

Broken access control

Enforce access checks server-side, by default deny

Use centralized authorization logic

Log and alert on access-control failures

16
New cards

Cryptographic failure

Sensitive data is exposed due to weak, missing, or misconfigured encryption — in transit or at rest.

17
New cards

Cryptographic failure

Encrypt sensitive data at rest and in transit

Use strong, current algorithms and key management

Avoid storing data that isn't needed

18
New cards

Injection

Untrusted input is sent to an interpreter as part of a command or query, altering execution (e.g., SQL, NoSQL, OS, LDAP injection).

19
New cards

Injection

Use parameterized queries / prepared statements

Validate and sanitize all untrusted input

Apply least-privilege database accounts

20
New cards

Insecure Design

Use threat modeling during design

Apply secure design patterns and reference architectures

Define abuse cases, not just use cases

21
New cards

Insecure Design

Missing or ineffective security controls at the design stage — a flaw no amount of implementation care can fully fix.

22
New cards

Security misconfiguration

Insecure default configurations, incomplete setups, open cloud storage, or verbose error messages expose the application.

23
New cards

Security misconfiguration

Harden and automate secure configuration baselines

Remove unused features, accounts, and sample apps

Keep environments consistent across dev/stage/prod

24
New cards

Vulnerable and outdated components

Using libraries, frameworks, or modules with known vulnerabilities, or components that are unsupported and unpatched.

25
New cards

Vulnerable and outdated components

Maintain an inventory (SBOM) of components

Monitor for and patch known CVEs promptly

Use Software Composition Analysis (SCA) tools

26
New cards

Identification and authentication failure

Enforce multi-factor authentication

Use secure, expiring session tokens

Implement rate limiting and lockouts on login

27
New cards

Identification and authentication failure

Weak session management or authentication allows attackers to compromise passwords, keys, or session tokens.

28
New cards

Software and data integrity failure

Code and infrastructure that don't verify integrity — e.g., unsigned updates, insecure CI/CD pipelines, unsafe deserialization.

29
New cards

Software and data integrity failure

Verify digital signatures for updates and packages

Secure CI/CD pipelines and build integrity

Avoid insecure deserialization of untrusted data

30
New cards

Security logging and monitoring failure

Insufficient logging, detection, and alerting lets breaches go unnoticed — often for months.

31
New cards

Security logging and monitoring failure

Log authentication, access-control, and validation failures

Centralize logs with tamper-evident storage

Establish alerting and incident-response playbooks

32
New cards

Server side request forgery

Validate and allow-list outbound destinations

Segment networks and restrict internal service access

Disable unused URL schemas and redirects

33
New cards

Server side request forgery

An application fetches a remote resource without validating the user-supplied URL, letting attackers reach internal systems.

34
New cards

Secure SDLC

embeds security activities into every phase of software delivery — from planning through maintenance — rather than bolting it on at the end.

35
New cards

shift-left

This ____ approach catches issues earlier, when they're cheaper and faster to fix.

36
New cards

Requirements and planning

Security requirements are defined

alongside functional ones — compliance

needs, data sensitivity, and risk tolerance

are scoped up front.

37
New cards

Requirements and planning

Cheapest phase to fix issues in

38
New cards

Requirements and planning

Define security & compliance requirements

  • GDPR, HIPAA, PCI-DSS, or internal policy as applicable

Classify data sensitivity

  • Identify what needs the strongest protection

Establish risk acceptance criteria

  • Agree on what risk levels require sign-off

39
New cards

Secure Design & Threat Modeling

Teams model how the system could

be attacked before writing code,

choosing architecture and controls

that reduce the attack surface.

40
New cards

Secure Design & Threat Modeling

Threat modeling (e.g., STRIDE)

  • Systematically identify spoofing, tampering, and other threats

Select secure design patterns

  • Reuse vetted authentication, session, and access-control patterns

Define trust boundaries

  • Map where data crosses between components or privilege levels

41
New cards

Secure Development

Developers write code following

secure coding standards, supported

by tooling that catches issues as

they're introduced.

42
New cards

Secure Development

Follow secure coding guidelines

  • Input validation, output encoding, safe APIs

Peer code review with security lens

  • Catch logic flaws automated tools may miss

Run SAST in the IDE / pre-commit

  • Immediate feedback before code is even merged

43
New cards

Testing & Verification

Builds are verified with layered

testing — automated and manual —

before release, combining static,

dynamic, and dependency analysis.

44
New cards

Testing & Verification

Static Application Security Testing

  • Analyze source code without executing it

Dynamic Application Security Testing

  • Probe the running application for exploitable flaws

Software Composition Analysis & pen testing

  • Check dependencies and simulate real attacks

45
New cards

Deployment & Maintenance

Security continues after release —

hardened deployment, continuous

monitoring, and a process for

handling newly discovered issues.

46
New cards

Deployment & Maintenance

Harden production configuration

  • Least privilege, secrets management, network segmentation

Continuous monitoring & logging

  • Detect anomalies and active exploitation quickly

Patch management & incident response

  • A clear path from discovery to fix to disclosure

47
New cards

Static application security testing

WHEN

Early — during development, on source code

HOW

Analyzes code, byte-code, or binaries without running

them

FINDS

Insecure coding patterns, injection flaws, hardcoded

secrets

NEEDS

Access to source co

48
New cards

Dynamic application security testing

WHEN

Later — against a running application

HOW

Sends attacks to the live app, like an external attacker

FINDS

Runtime issues, auth flaws, misconfigurations

NEEDS

A deployed, running instance

49
New cards

SAST

scan source code, bytecode, or binaries “from

the inside” without executing the program — catching

insecure patterns as soon as code is written.

50
New cards

SAST

  • Higher false-positive rate

• Can't catch runtime/config issues

• Language- and framework-specific

• Needs source code access

51
New cards

SAST

Finds issues very early (shift-left)

• Pinpoints the exact file and line

• Scales across the entire codebase

• Integrates into IDE and CI pipelines

52
New cards

SonarQube

Checkmarx

Semgrep

Fortify

SAST examples

53
New cards

DAST

probe a running application “from the outside” — sending real requests to uncover exploitable flaws the way an attacker would find them.

54
New cards

DAST

Runs later — needs a deployed build

• Slower than static scans at scale

• Limited code-level detail on root cause

• May miss code paths not exercised

55
New cards

DAST

Tests the app as attackers experience it

• Language- and framework-agnostic

• Catches runtime and config issues

• Low false-positive rate on confirmed findings

56
New cards

OWASP ZAP

Burp Suite

Acunetix

Netsparker

DAST Examples