SDLC Aman, Alat SAST, dan DAST
Integrasikan keamanan ke dalam siklus hidup pengembangan perangkat lunak menggunakan analisis statis (SAST), analisis dinamis (DAST), dan pemodelan ancaman sejak tahap awal pengembangan.
SDLC Aman, Alat SAST, dan DAST adalah pelajaran Cloud & IT Cert Prep gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cloud & IT Cert Prep, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cloud & IT Cert Prep mencakup 4 pelajaran total.
Apa Itu SSDLC yang Aman?
Siklus Hidup Pengembangan Perangkat Lunak yang Aman (SSDLC) mengintegrasikan aktivitas Security ke setiap fase pengembangan perangkat lunak — mulai dari requirement, design, coding, pengujian, deployment, hingga pemeliharaan. SDLC tradisional memperlakukan Security sebagai gerbang tahap akhir, yang mahal dan tidak efektif. Filosofi SSDLC yang aman adalah menemukan dan memperbaiki kerentanan sedini mungkin, karena cacat yang ditemukan saat design jauh lebih murah untuk diperbaiki daripada cacat yang ditemukan di lingkungan produksi.
Menggeser Security ke Tahap Awal Pengembangan
Shift left berarti memindahkan Security ke tahap yang lebih awal (ke sebelah kiri pada lini masa pengembangan), bukan menambahkannya secara tergesa-gesa di akhir. Dalam praktiknya, hal ini berarti memasukkan requirement Security ke dalam user story, melakukan pemodelan ancaman selama design, melakukan tinjauan kode dan SAST selama pengembangan, serta menjalankan DAST sebelum rilis. Team yang menerapkan shift left menemukan kerentanan saat biaya perbaikannya paling rendah — selama pengembangan, bukan di lingkungan produksi.
Pemodelan Ancaman: STRIDE dan PASTA
Pemodelan ancaman secara sistematis mengidentifikasi dan mendokumentasikan ancaman Security selama fase design. Model STRIDE mengategorikan ancaman menjadi: Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, dan Elevation of Privilege. PASTA (Process for Attack Simulation and Threat Analysis) adalah metodologi yang berfokus pada risiko dan menyimulasikan tujuan Attacker. Model ancaman menghasilkan mitigasi yang diprioritaskan sebelum satu baris kode pun ditulis.
# STRIDE threat categories (mnemonic)
# S - Spoofing identity
# T - Tampering with data
# R - Repudiation of actions
# I - Information disclosure
# D - Denial of service
# E - Elevation of privilegePengujian Security Aplikasi Statis (SAST)
SAST (pengujian kotak putih) menganalisis kode sumber, bytecode, atau biner tanpa menjalankan aplikasi, untuk mencari pola coding yang terkait dengan kerentanan yang telah diketahui. Alat SAST dapat memindai seluruh basis kode dengan cepat dan melaporkan masalah seperti kredensial yang di-hardcode, titik injeksi SQL, serta deserialisasi yang tidak aman. Alat ini berjalan di dalam IDE atau pipeline CI dan melaporkan temuan beserta nomor file dan baris, sehingga perbaikannya mudah dilakukan.
# Example: running Semgrep SAST in CI
semgrep --config=auto --error src/
# Common SAST tools:
# - Checkmarx, Veracode, Fortify (commercial)
# - Semgrep, SonarQube, Bandit (open source)
# - GitHub CodeQL (integrated with GitHub Actions)Keterbatasan SAST: Positif Palsu
Keterbatasan utama SAST adalah kecenderungannya menghasilkan positif palsu — menandai kode sebagai rentan padahal sebenarnya aman. Kelelahan akibat peringatan ini menyebabkan pengembang mengabaikan temuan tanpa menyelidikinya. Alat SAST juga tidak dapat mendeteksi masalah konfigurasi saat runtime, kelemahan Authentication yang bergantung pada perilaku runtime, atau kerentanan dalam pemanggilan API pihak ketiga. SAST paling efektif jika dipadukan dengan pelatihan pengembang agar temuan dapat diprioritaskan dan ditangani secara akurat.
Pengujian Security Aplikasi Dinamis (DAST)
DAST (pengujian kotak hitam) menguji aplikasi yang sedang berjalan dengan mengirimkan muatan serangan ke endpoint HTTP-nya dan menganalisis respons untuk mencari indikator kerentanan. DAST tidak memerlukan akses ke kode sumber — aplikasi diuji sebagaimana Attacker mengujinya. DAST sangat efektif menemukan masalah saat runtime seperti bypass Authentication, XSS yang tercermin dalam respons, dan kesalahan konfigurasi Server. Alat DAST mencakup OWASP ZAP, Burp Suite, dan Netsparker.
# Running OWASP ZAP baseline scan against a URL
docker run -t owasp/zap2docker-stable zap-baseline.py \
-t https://staging.example.com \
-r zap-report.html
# ZAP sends probe requests and analyzes responses
# without requiring source code accessSAST vs DAST: Pendekatan yang Saling Melengkapi
SAST dan DAST saling melengkapi, bukan bersaing. SAST menemukan masalah pada tingkat kode sejak awal dan terintegrasi dengan IDE, tetapi tidak memiliki visibilitas terhadap perilaku runtime. DAST menemukan kerentanan saat runtime dan tidak memerlukan kode sumber, tetapi tidak dapat memindai jalur kode yang tidak dipicu oleh probe otomatisnya. Penggunaan keduanya secara bersamaan — SAST dalam pipeline CI dan DAST terhadap lingkungan staging — memaksimalkan cakupan kerentanan di seluruh SDLC.
Pengujian Security Aplikasi Interaktif (IAST)
IAST menggabungkan aspek SAST dan DAST dengan menginstrumentasikan aplikasi saat runtime. Agen IAST berjalan di dalam aplikasi (pada Server), mengamati eksekusi kode saat lalu lintas pengujian mengalir melaluinya. IAST dapat menghubungkan input pengguna yang tercemar melalui jalur kode ke titik tujuan sensitif — sehingga menemukan kerentanan dengan tingkat positif palsu yang lebih rendah daripada SAST murni. IAST sangat efektif pada aplikasi Java dan .NET serta terintegrasi secara alami ke dalam pelaksanaan pengujian fungsional.
Analisis Komposisi Perangkat Lunak (SCA)
Analisis Komposisi Perangkat Lunak (SCA) mengidentifikasi pustaka sumber terbuka dan Dependency pihak ketiga dalam aplikasi, lalu memeriksanya terhadap basis data kerentanan (NVD, OSV). Karena aplikasi modern dapat menarik ratusan Dependency — banyak di antaranya secara transitif — alat SCA seperti OWASP Dependency-Check, Snyk, dan Renovate sangat penting untuk menemukan CVEs yang telah diketahui sebelum dieksploitasi oleh Attacker dalam rantai pasokan Anda.
# OWASP Dependency-Check (scans project dependencies)
dependency-check --project myapp --scan ./target --format HTML
# Snyk CLI
snyk test # finds vulnerabilities in package.json / requirements.txt
snyk monitor # continuously monitors for new CVEsSecurity dalam Pipeline CI/CD
Mengintegrasikan alat Security ke dalam pipeline CI/CD memastikan tidak ada kode yang mencapai lingkungan produksi tanpa melewati gerbang Security. Pipeline DevSecOps yang umum menjalankan: SAST pada setiap commit, SCA saat Dependency berubah, pemindaian image Container sebelum dikirim ke registry, pemindaian IaC untuk Terraform/CloudFormation, serta DAST terhadap deployment staging. Check Security yang gagal akan memblokir build dan menegakkan budaya Security secara default.
# GitHub Actions example — security gate in CI
jobs:
security:
steps:
- uses: actions/checkout@v4
- name: Run SAST
run: semgrep --config=auto --error .
- name: SCA check
run: snyk test --severity-threshold=high
- name: Container scan
run: trivy image myapp:latest --exit-code 1Praktik Tinjauan Kode yang Aman
Alat otomatis tidak dapat menggantikan tinjauan kode oleh manusia yang berfokus pada logika Security. Tinjauan oleh rekan kerja harus memverifikasi bahwa: Check Authentication dan otorisasi berada di tempat yang tepat, penanganan error tidak membocorkan Information sensitif, fungsi kriptografi menggunakan algoritme dan parameter yang disetujui, serta logika bisnis tidak dapat dilewati. Security champion dalam Team pengembangan — pengembang yang telah mendapat pelatihan Security — menjembatani kesenjangan antara Team Security dan Engineering.
Pemeriksaan Singkat
Uji pemahaman Anda tentang konsep CompTIA Security+ (SY0-701) dari lesson ini.
Ringkasan Lesson
Dalam lesson ini Anda mempelajari: SSDLC yang aman mengintegrasikan Security di seluruh fase pengembangan, bukan menambahkannya secara tergesa-gesa di akhir, SAST menganalisis kode tanpa eksekusi, sedangkan DAST menguji aplikasi yang sedang berjalan, serta SCA mengidentifikasi Dependency sumber terbuka yang rentan dan gerbang Security CI/CD menerapkan temuan secara otomatis. Berikutnya kita akan membahas layanan Directory dengan LDAP dan Active Directory.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “SDLC Aman, Alat SAST, dan DAST” gratis?
Ya — teks lengkap “SDLC Aman, Alat SAST, dan DAST” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cloud & IT Cert Prep, upgrade ke CoddyKit PRO. Kursus Cloud & IT Cert Prep mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “SDLC Aman, Alat SAST, dan DAST”?
Integrasikan keamanan ke dalam siklus hidup pengembangan perangkat lunak menggunakan analisis statis (SAST), analisis dinamis (DAST), dan pemodelan ancaman sejak tahap awal pengembangan. Kamu berlatih Cloud & IT Cert Prep dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Cloud & IT Cert Prep?
Tidak diperlukan pengalaman sebelumnya. Cloud & IT Cert Prep di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “SDLC Aman, Alat SAST, dan DAST” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Cloud & IT Cert Prep ini?
Ya. Setiap pelajaran Cloud & IT Cert Prep menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Injeksi SQL dan Injeksi Perintah
- Cross-Site Scripting (XSS) dan CSRF
- Autentikasi Rusak dan Deserialisasi Tidak Aman
- SDLC Aman, Alat SAST, dan DAST