1 of 28

SOFSEC1 – Software Security

M7- Deployment and Maintenance

Securing Systems Beyond Development

Prof. Justin Pineda

Mar 2026

2 of 28

Motivation

  • Software is most vulnerable after deployment
  • Real users + real attackers = real risk
  • Poor maintenance = silent failure

3 of 28

“Which is riskier: bad code or unmaintained code?”

4 of 28

Learning Objectives

By the end, you should be able to:

  • Explain secure deployment principles
  • Identify risks in production environments
  • Apply maintenance and patching strategies

5 of 28

What is Deployment?

Process of releasing software to production

Includes:

  • Infrastructure setup
  • Configuration
  • Integration

Transition from controlled uncontrolled environment

6 of 28

Deployment Environments

  • Development
  • Testing / QA
  • Staging
  • Production

Key Risk:

❗ Configuration mismatch

7 of 28

Common Deployment Risks

8 of 28

Secure Deployment Principles

  • Least privilege
  • Secure defaults
  • Environment isolation
  • Secrets management

9 of 28

Configuration Management

  • Standardized configurations
  • Version-controlled infrastructure

10 of 28

Secrets Management

Avoid:

  • Hardcoded API keys
  • Plaintext credentials

Use:

  • Vaults (e.g., HashiCorp Vault)
  • Environment variables

11 of 28

CI/CD and Security

Pipeline includes:

  • Build
  • Test
  • Security scanning
  • Deployment

Security Integration:

  • SAST
  • DAST
  • SCA

12 of 28

13 of 28

DevOps vs DevSecOps

  • DevOps: Speed
  • DevSecOps: Speed + Security

Shift Left:

  • Security early in pipeline

14 of 28

Monitoring in Production

  • Logs
  • Metrics
  • Alerts

Examples:

  • Failed logins
  • Traffic spikes
  • Unusual behavior

15 of 28

Logging and Visibility

  • Centralized logging
  • SIEM integration
  • Audit trails

16 of 28

Incident Detection

Detection sources:

  • IDS/IPS
  • Logs
  • User reports

Indicators:

  • Unauthorized access
  • Suspicious activity

17 of 28

18 of 28

Patch Management

  • Regular updates
  • Fix vulnerabilities
  • Reduce attack surface

Challenges:

  • Downtime
  • Compatibility

19 of 28

Maintenance Activities

  • Bug fixes
  • Performance tuning
  • Security updates
  • Dependency updates

20 of 28

Technical Debt vs Security Debt

  • Technical Debt affects performance
  • Security Debt affects risk

Examples:

  • Outdated libraries
  • Weak encryption

21 of 28

Real-World Scenario

Scenario:

  • App deployed successfully
  • Logs disabled
  • Patch delayed

Result:

  • Undetected breach

Where did the failure occur?

22 of 28

Summary

  • Deployment introduces real-world risk
  • Misconfiguration is a major threat
  • Continuous monitoring is critical
  • Maintenance = security lifecycle

23 of 28

Knowledge Check 1

Which is the biggest deployment risk?

A. Code complexity

B. Misconfiguration

C. UI design

D. Documentation

24 of 28

Knowledge Check 2

What does DevSecOps emphasize?

A. Removing testing

B. Security integration

C. Slower releases

D. Manual processes

25 of 28

Knowledge Check 3

Why is logging important?

A. UI design

B. Debugging only

C. Detection and evidence

D. Storage

26 of 28

Knowledge Check 4

What is security debt?

A. Performance issue

B. Design flaw

C. Accumulated risk

D. Coding style

27 of 28

Knowledge Check 5

What is the goal of patching?

A. Improve UI

B. Add features

C. Fix vulnerabilities

D. Increase storage

28 of 28

Key Takeaways

  • Deployment is where systems become exposed
  • Security failures are often operational, not technical
  • Monitoring + patching = survival
  • Secure systems require continuous effort