SDLC
SDLC (Software Development Life Cycle) — cykl życia oprogramowania, sformalizowana sekwencja faz wytwarzania: planowanie, analiza, projektowanie, implementacja, testowanie, wdrożenie, utrzymanie. Secure SDLC (SSDLC) uzupełnia cykl o kontrole bezpieczeństwa w każdej fazie.
Co to jest SDLC?
SDLC (Software Development Life Cycle) to cykl życia oprogramowania — sformalizowana sekwencja faz wytwarzania, testowania i utrzymania aplikacji. SDLC standaryzuje proces, umożliwia kontrolę jakości, przewidywalność budżetu i harmonogramu oraz spełnienie wymogów regulacyjnych (ISO 27001, PCI DSS, SOC 2, NIS2).
7 faz SDLC
- Planning — cele biznesowe, budżet, harmonogram, kickoff
- Requirements analysis — user stories, use cases, wymagania niefunkcjonalne (wydajność, bezpieczeństwo, zgodność)
- Design — architektura, UX/UI, model danych, wybór stosu technologicznego, threat modeling
- Implementation — kodowanie, code review, unit testy, SAST scanning
- Testing — integration, UAT, performance, security (DAST, pentest)
- Deployment — release plan, rollback plan, monitoring configuration
- Maintenance — patching, rozwój, incident response, deprecation
Modele SDLC
| Model | Charakterystyka | Kiedy używać |
|---|---|---|
| Waterfall | Liniowy, sztywne fazy | Wymagania znane, regulacyjne (MIL, aerospace) |
| V-Model | Waterfall + testy per faza | Safety-critical, medyczne |
| Incremental | Przyrostowe dostarczanie modułów | Duże projekty, fazowalne |
| Spiral | Iteracyjny z focus na ryzyku | Wysokie ryzyko, R&D |
| Agile/Scrum | Iteracje 2-4 tyg, adaptacyjne | Zmienność wymagań, startupy |
| DevOps/DevSecOps | Continuous delivery + security | SaaS, produkty cyfrowe |
Secure SDLC (SSDLC) — security per faza
Requirements → bezpieczeństwo jako wymaganie niefunkcjonalne (OWASP ASVS levels) Design → threat modeling (STRIDE, PASTA, LINDDUN), security architecture review Implementation → secure coding standards (OWASP Top 10, CWE Top 25), SAST (SonarQube, Checkmarx), SCA (Snyk, Dependabot) Testing → DAST (OWASP ZAP, Burp), IAST, penetration testing, fuzz testing Deployment → secure CI/CD (signed artifacts, SBOM, policy-as-code, OPA), IaC scanning (Checkov, Terrascan) Maintenance → vulnerability management, patch management, security monitoring (SIEM), incident response
Dlaczego SSDLC?
Koszt naprawy podatności w zależności od fazy wykrycia:
| Wykrycie w fazie | Koszt względny |
|---|---|
| Requirements | 1× |
| Design | 5-10× |
| Implementation | 10-20× |
| Testing | 20-50× |
| Production | 100-1000× |
Shift-left security = wykrywanie podatności jak najwcześniej → największa oszczędność.
Standardy Secure SDLC
- OWASP SAMM — Software Assurance Maturity Model (ocena dojrzałości, 5 domen)
- BSIMM — benchmark oparty na 130+ organizacjach
- Microsoft SDL — 12 praktyk, historyczny lider
- NIST SSDF (SP 800-218) — Secure Software Development Framework (obowiązkowy dla dostawców federalnych USA od 2024)
- ISO/IEC 27034 — application security framework
- PCI Secure SLC — dla aplikacji płatniczych
Sprawdź nasze usługi
Najczęściej zadawane pytania
+ Co to jest SDLC?
SDLC (Software Development Life Cycle) to sformalizowany cykl życia oprogramowania — sekwencja faz od pomysłu do utrzymania produkcyjnego: planowanie, analiza wymagań, projektowanie, implementacja, testowanie, wdrożenie, utrzymanie. SDLC standaryzuje proces, pozwala na kontrolę jakości i zgodność z wymogami regulacyjnymi (ISO 27001, PCI DSS, SOC 2).
+ Jakie są fazy SDLC?
Standardowy SDLC obejmuje 7 faz: (1) Planning — definicja celów, harmonogramu, budżetu, (2) Requirements analysis — zbieranie i formalizacja wymagań funkcjonalnych i niefunkcjonalnych, (3) Design — architektura, projekt techniczny, wybór technologii, (4) Implementation — pisanie kodu, (5) Testing — unit, integration, security, UAT, (6) Deployment — wdrożenie na produkcję, (7) Maintenance — utrzymanie, poprawki, rozwój.
+ Czym SDLC różni się od SSDLC?
SDLC opisuje sam proces wytwarzania, SSDLC (Secure SDLC) dodaje kontrole bezpieczeństwa w każdej fazie: threat modeling w design, security requirements w requirements, SAST/SCA w implementation, DAST i pentest w testing, security monitoring w maintenance. SSDLC wymusza shift-left security — wykrywanie podatności wcześniej kosztuje 10-100× mniej niż po wdrożeniu.
+ SDLC a Agile — czy się wykluczają?
Nie. SDLC to ramy (fazy i cele), Agile to metoda wykonywania (iteracje). W Agile każdy sprint to mini-SDLC: planning → design → implement → test → deploy → review. Nowoczesne SDLC (DevSecOps) łączą Agile sprinty z automatyzacją: CI/CD pipelines z bramkami jakości, Infrastructure-as-Code, continuous security testing. Model V, Waterfall to tradycyjne podejście — sztywne, ale wymagane w niektórych regulacjach (MIL-STD, DO-178C).
+ Jakie standardy opisują Secure SDLC?
Najważniejsze: (1) OWASP SAMM (Software Assurance Maturity Model) — ramy oceny dojrzałości security w SDLC, 5 domen, 4 poziomy, (2) BSIMM (Building Security In Maturity Model) — benchmark 100+ praktyk na podstawie 130+ organizacji, (3) Microsoft SDL — 12 praktyk bezpieczeństwa, (4) NIST SSDF (SP 800-218) — Secure Software Development Framework, wymóg ustawy Executive Order 14028 dla dostawców rządowych USA, (5) ISO/IEC 27034 — standard application security.